This is a simple python library/CLI tool to translate .po files using various APIs.
Project description
poTranslation
Description
This is a simple python library/CLI tool to translate .po
files using various APIs.
Installation
Install and update using pip:
pip install -U poTranslation
Usage
Create a .env
file in your working directory or parent directory with the following content for the API you want to use:
TRANSLATOR_SERVICE=YOUR_TRANSLATOR_SERVICE
MS_API_KEY=YOUR_MS_API_KEY
MS_API_REGION=YOUR_MS_API_REGION
OPENAI_API_KEY=YOUR_OPENAI_API_KEY
CLI Examples
Translate a .po
file
potranslate ./messages.po # translate untranslated text from 'en' to language specified in the .po file, save to ./messages.po
potranslate ./messages.po -s en -l zh # translate from 'en' to 'zh'
potranslate ./messages.po -o ./translated.po # translated .po file, save to ./translated.po
potranslate ./messages.po -F # force translation of all entries
potranslate ./messages.po -w # translate and NOT write to the file
Translate a directory of .po
files
This would work with the .po
files compiled using pybabel compile [options]
[Babel CLI]
potranslate -d app/translations # translate app/translations/<locale>/LC_MESSAGES/<domain>.po
potranslate -d app/translations -l zh # translate app/translations/zh/LC_MESSAGES/<domain>.po
potranslate -d app/translations -D messages # translate app/translations/<locale>/LC_MESSAGES/messages.po
CLI Usage
Usage: potranslate [OPTIONS] [PO_FILE_PATH]
Options:
-s, --source_language TEXT Translate from (language). [default: en]
-l, --locale TEXT Translate to (language). [default: (load from .po file)]
-L, --lang TEXT Programming langrage of formatted string. [default: python]
-o, --output PATH Path to the output file. [default: {po_file_path}]
-e, --env PATH Path to the env file. [default: (load from cwd and parent dir)]
-d, --directory PATH Directory of the PO files.
-D, --domain TEXT Domain of the PO file.
-F, --force Force translation of all entries.
-v, --verbose Enable verbose output.
-q, --quiet Suppress output.
-w, --write Write to the file. [default: True]
-h, --help Show this message and exit.
Features
- Multiple translation services support
- Support for printf-style formatted strings[printf-style]
- Support for
Babel
compiled.po
files [Babel CLI][Bable]
Challenge: Some services require an glossary to be created before translation for formatted strings with placeholders.
License
Distributed under the BSD 3-Clause License. See LICENSE
for more information.
Links
Source Code: https://github.com/StevenGuo42/poTranslation
Issue Tracker: https://github.com/StevenGuo42/poTranslation/issues
PyPI: https://pypi.org/project/poTranslation/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for poTranslation-0.0.3a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 965911276dbba86228609d03572ae076472e51e026724a7bc31a70025f8ddccf |
|
MD5 | 2350db01529340005b86dda657475517 |
|
BLAKE2b-256 | 395ff37b121fa95f3cd262994bb0172585e1d76af617b5f7b6f9d86443c87037 |