Skip to main content

Translate en/messages.json (in chrome.i18n format) to other locales.

Project description

> translate-messages

Translate en/messages.json (in chrome.i18n format) to other locales automatically.

Installation

pip install translate-messages

Usage

Run the CLI:

translate-messages [options] # or translate-msgs

If no options are passed, the CLI will:

  1. Prompt for message keys to ignore
  2. Auto-discover closest child _locales dir
  3. Translate found en/messages.json to target languages

Note: Any messages.json in the chrome.i18n format can be used as a source file.

Options

Options can be set by using command-line arguments:

Option Description Example
-d, --locales-dir Name of the folder containing locale files (default: _locales) --locales-dir=_messages
-t, --target-langs Comma-separated list of languages to include (default: all supported_locales) --target-langs=en,es,fr
--exclude-langs Comma-separated list of languages to exclude --exclude-langs=en,es
-k, --keys Comma-separated list of keys to translate --keys=appDesc,err_notFound
--exclude-keys Comma-separated list of keys to ignore --exclude-keys=appName,author
-i, --init Create .translate-msgs.config.jsonc in project root to store defaults
-f, --force Force overwrite of existing config file when using --init
-W, --no-wizard Skip interactive prompts during start-up
-h, --help Show help screen

Examples

Translate everything except appName from _locales/en/messages.json to French and Spanish:

translate-messages --include-langs=fr,es --ignore-keys=appName -W

Translate appDesc + err_notFound keys from _msgs/en/messages.json:

translate-msgs -k appDesc,err_notFound -d _msgs -W

Config file

Use --init to create .translate-msgs.config.jsonc in your project root to set default options.

Example defaults:

{
  "locales_dir": "_locales",
  "target_langs": "",
  "keys": "",
  "exclude_langs": "",
  "exclude_keys": "",
  "force": false,
  "no_wizard": false
}

Note: CLI arguments always override config file.

MIT License

Copyright © 2023–2026 Adam Lui.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Back to top ↑

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

translate_messages-1.2.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

translate_messages-1.2.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file translate_messages-1.2.0.tar.gz.

File metadata

  • Download URL: translate_messages-1.2.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for translate_messages-1.2.0.tar.gz
Algorithm Hash digest
SHA256 6c27ef1e031234847d604cc6fdd2a58833efae6845b19fb0530388e6ad92e302
MD5 41dc8e617db4867138871ecc9b4090fc
BLAKE2b-256 31bc43417880db408fd1fc440d8845b05464608a18eadf11b3c853c3ec77f3dc

See more details on using hashes here.

File details

Details for the file translate_messages-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for translate_messages-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb66bcda47fd1a4a9511d1322659d0106ee08fc360185bd34473203855c9ff89
MD5 d12f19f88b7e2b2c285c27fbe610fb66
BLAKE2b-256 e5d13cacd604f374fa1c91b23e87176c5b90932376e083d4426398fd769f9bc3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page