i18n-translate-sync v1.0.10
i18n-translate-sync
Description
i18n-translate-sync is a command-line tool that helps you manage and synchronize internationalization (i18n) JSON files by automatically translating missing keys and values using the DeepL API. This tool compares your source i18n JSON file with the target i18n JSON files and fills in the gaps with translated content, ensuring that all your language files are consistent and up-to-date.
A valid DeepL API key is required to use this tool.
Getting Started
Installation
Install the package in your project directory:
npm install i18n-translate-syncConfiguration
To start the default configuration walkthrough, run:
i18n-translate-sync --configureThis command will guide you through setting up your configuration and save the settings for future use.
Running the Tool
Once configured, you can run the tool with the default settings by simply executing:
i18n-translate-syncAlternative Configuration
If you prefer not to save the configuration, or if you want to configure the tool for a single run, you can use the --walkthrough option:
i18n-translate-sync --walkthroughThis will prompt you for all necessary inputs for the current session without affecting the saved configuration.
Here's the updated section reflecting the need for specific language codes:
Command-Line Options
You can override the default configuration by providing options directly in the command line:
i18n-translate-sync [options]Here are the available options:
| Option | Description | Default Value |
|---|---|---|
-k, --apiKey <key> | DeepL API key. Required for translation. | DEEPL_API_KEY (from config) |
-sL, --sourceLang <lang> | Source language code (e.g., en-GB, fr). Note that some languages require specific regional codes. | SOURCE_LANG (from config) |
-sP, --sourcePath <path> | Path to the source i18n JSON file. | SOURCE_PATH (from config) |
-tL, --targetLang <langs...> | Target language codes (space-separated, e.g., de, fr, es). Some languages, like en, require specific regional codes such as en-GB. | TARGETS (from config) |
-tP, --targetPath <paths...> | Paths to the target i18n JSON files (space-separated). Corresponds to the target languages. | TARGETS (from config) |
-y, --yes | Proceed without confirmation (useful for automated scripts). | AUTO_CONFIRM (from config) |
-t, --test | Test mode (fills JSON with "test" values instead of actual translations). | TEST_MODE (from config) |
--walkthrough | Run the configuration walkthrough for the current session without saving the configuration. | |
--configure | Set and save default configuration via a walkthrough. |
If any required option is missing or set incorrectly, the tool will throw an error and provide guidance on how to resolve the issue.
Example Usage
To translate missing keys in your en.json source file to de.json and fr.json target files using a specific DeepL API key:
i18n-translate-sync -k your-deepl-api-key -sL en -sP ./i18n/en.json -tL de fr -tP ./i18n/de.json ./i18n/fr.jsonNotes
- This tool is ideal for managing large translation projects where consistency across multiple language files is crucial.
- Make sure your JSON files are valid and well-structured to avoid any issues during translation.
- The test mode (
--test) is particularly useful for setting up or testing your i18n structure before committing to the full translation.