A CLI tool that scans through translation project (.po files) searching for mistranslated terms based on the user-defined glossary mapping.
This project is specially tailored for Python Documentation Translation Project (zh_TW) but can be applied for all translation projects that adopt Portable Object files (.po).
To install the current release:
pip3 install poglossaryTo update it to the latest version, add --upgrade flag to the above commands.
Run poglossary --help and you should see the following output if it's installed sucessfully.
poglossary --help
# Usage: poglossary [OPTIONS] [PATH] [CONFIG_FILE]
# poglossary: check translated content in .po files based on given translation
# mapping
# Arguments:
# [PATH] the path of the directory storing .po files [default: .]
# [CONFIG_FILE] input mapping file [default: ./poglossary.yml]
# Options:
# --excludes PATH the directories that need to be omitted
# --install-completion Install completion for the current shell.
# --show-completion Show completion for the current shell, to copy it or
# customize the installation.
# --help Show this message and exit.A config file in YAML format is required for poglossary, only the following two keys are recognized:
glossary(required): A mapping of untrnaslated term to translated term. The value can be a list if it has multiple translation choices.ignore(optional): If skipping the checking for specific regex patterns or rST syntax is wanted, add the keypatternsorrst_tagsas the example below.
# Sample config file (.yml)
glossary:
exception: 例外
function: 函式
instance: 實例
type: # can be a list of possible translated terms of "type"
- 型別
- 種類
ignore:
patterns:
- "type code(s)?" # "type code" or "type codes" will be skipped
rst_tags:
- source # :source:`*` will be skipped
- class
- c:
- func # :c:func:`*` will be skipped
- dataor you can checkout a more detailed configuration in poglossary.example.yml (, which is the config tend to be used in pydoc-zhtw).
poglossary <source_path> <config_file>poglossary takes in two optional arguments:
source_path: It can be the path of the target PO file or a directory that stores PO files. Defaults to..config_file: The path of the config file. Defaults to./poglossary.yml.
The sample output is shown below:
- Functionality
- More handy parameters/options
- CI/CD
- Unit tests
- Config files
- Handle missing fields.
- Commands for creating a basic config file.
poglossary is primarily inspired by those fantastic translator tools collected in poutils and translate toolkit.
