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).
npm install @open-xchange/i18next-po-parser
# or
yarn add @open-xchange/i18next-po-parser
import parse from "@open-xchange/i18next-po-parser";
// returns a `Map<string, string>` (namespaces to PO catalog data)
const map = await parse({
project: "Example App",
files: "src/**/*.{js,ts,jsx,tsx}",
});
npm run i18next-po-parser --project "Example App" --files "src/**/*.{js,ts,jsx,tsx}" --output '$NAMESPACE.pot'
# or
yarn i18next-po-parser --project "Example App" --files "src/**/*.{js,ts,jsx,tsx}" --output '$NAMESPACE.pot'