API Reference - CLI (@lingui/cli)¶
@lingui/cli
manages locales, extracts messages from source files into
message catalogs and compiles message catalogs for production use.
Install¶
Install
@lingui/cli
as a development dependency:npm install --save-dev @lingui/cli @babel/core # Or yarn yarn add --dev @lingui/cli @babel/core
Add following scripts to your
package.json
:{ "scripts": { "extract": "lingui extract", "compile": "lingui compile", } }
Global options¶
-
--config
<config>
¶
Path to LinguiJS configuration file. If not set, the default file is loaded as described in LinguiJS configuration reference.
Commands¶
extract
¶
-
lingui extract [files...] [--clean] [--overwrite] [--format <format>] [--locale <locale>] [--convert-from <format>] [--verbose]
¶
This command extracts messages from source files and creates a message catalog for each language using the following steps:
Extract messages from all
*.jsx?
files insidesrcPathDirs
Merge them with existing catalogs in
localeDir
(if any)Write updated message catalogs to
localeDir
-
[files...]
Filters source paths to only extract messages from passed files. For ex:
lingui extract src/components
Will extract only messages from src/components/**/*
files, you can also pass multiple paths.
It’s useful if you want to run extract command on files that are staged, using for example husky
, before commiting will extract messages from staged files:
{ "husky": { "hooks": { "pre-commit": "lingui extract $(git diff --name-only --staged)" } } }
-
--clean
¶
Remove obsolete messages from catalogs. Message becomes obsolete when it’s missing in the source code.
-
--overwrite
¶
Update translations for sourceLocale
from source.
-
--format
<format>
¶
Format of message catalogs (see format
option).
-
--locale
<locale>
¶
Only extract data for the specified locale.
-
--convert-from
<format>
¶
Convert message catalogs from previous format (see format
option).
-
--verbose
¶
Prints additional information.
extract-template
¶
-
lingui extract-template [--verbose]
¶
This command extracts messages from source files and creates a .pot
template file.
-
--verbose
¶
Prints additional information.
compile
¶
-
lingui compile [--strict] [--format <format>] [--verbose] [--namespace <namespace>]
¶
This command compiles message catalogs in localeDir
and outputs
minified Javascript files. Each message is replaced with a function
that returns the translated message when called.
Also, language data (pluralizations) are written to the message catalog as well.
-
--strict
¶
Fail if a catalog has missing translations.
-
--format
<format>
¶
Format of message catalogs (see format
option).
-
--verbose
¶
Prints additional information.
-
--namespace
¶
Specify namespace for compiled message catalogs (also see compileNamespace
for
global configuration).
-
--typescript
¶
Is the same as using compileNamespace
with the value “ts”.
Generates a {compiledFile}.d.ts and the compiled file is generated using the extension .ts