@lingui/cli
Lingui CLI: extracts i18n messages from source code into catalogs and compiles the translated catalogs for the runtime
@lingui/cli is part of Lingui. Lingui is a lightweight, open-source internationalization (i18n) library for JavaScript and TypeScript. It brings compile-time macros and a CLI for message extraction to React, React Native, Vue, SolidJS, Astro, Svelte, and Node.js.
The lingui command reads lingui.config.js (or .ts) from the project root: the source locale, the target locales and where the catalogs live. The installation guide shows the minimal file and the configuration reference lists every option.
Installation
npm install --save-dev @lingui/cli
Usage
lingui extractfinds the messages in the source, merges them into one catalog per locale, keeps existing translations and marks removed messages as obsolete.lingui compilecompiles the translated catalogs into JavaScript modules for the runtime and reports messages with invalid ICU syntax.lingui extract-templatewrites a single.pottemplate with the source messages, for translation platforms that create the locale files themselves.lingui extract-experimentalfollows the imports from each entry point instead of a glob, so a multi-page app gets one catalog per page.
Extraction parses JavaScript and TypeScript out of the box; Vue single-file components need @lingui/extractor-vue. Catalogs are PO files by default, with other formats available as separate packages. To let the bundler compile catalogs instead of running lingui compile, use @lingui/vite-plugin, @lingui/loader or @lingui/metro-transformer.
See the CLI reference for all commands and options.
License
This package is licensed under the MIT license.