A CLI tool that scans through .po files and searches for mistranslated terms based on user-defined glossary mapping
Project description
poglossary
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
).
Install
To install the current release:
pip3 install poglossary
To 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.
Usage
Config File
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 keypatterns
orrst_tags
as 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 # skip :source:`*`
- class
- c:
- func # -> skip :c:func:`*`
- data
or you can checkout a more detailed configuration in poglossary.example.yml (, which is the config tend to be used in pydoc-zhtw).
Command
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:
Todo
- Functionality
- More handy parameters/options
- CI/CD
- Unit tests
- Static checks (mypy, isort, etc)
- Upload to PyPI
- Config files
- Handle missing fields.
- Commands for creating a basic config file.
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 poglossary-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc0184605d0845e4cbe7eae77971159ddbb53aa1914294ce9ad4ff68e818965c |
|
MD5 | 4dca61ed8b61077f7f4919f6a16e19c7 |
|
BLAKE2b-256 | 93510e6682cceda9a1eaba9c7fd63e84187f6cdce94e608cd32caddc2408b5fc |