@open-xchange/i18next-po-parser
A small utility that scans source code for calls of the i18next translation function t() and the react-i18next component <Trans>, extracts all translation keys, and generates the contents for a PO/POT file (GetText translation catalog) containing all extracted strings.
Essentially, this utility glues together the packages i18next-parser (parses source code for t function calls etc.), and gettext-converter (generates the PO file contents from i18next catalog data).
Installation
npm install @open-xchange/i18next-po-parser
yarn add @open-xchange/i18next-po-parser
Usage
API
import { parseSourceFiles } from "@open-xchange/i18next-po-parser";
const map = await parseSourceFiles({
project: "Example App",
files: "src/**/*.{js,ts,jsx,tsx}",
});
CLI
The command line tool generates separate POT files per namespace. The placeholder [NAMESPACE] in the option --output will be replaced with the actual namespaces.
npx i18next-po-parser --project "Example App" --files "src/**/*.{js,ts,jsx,tsx}" --output dist/[NAMESPACE].pot