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 # :source:`*` will be skipped
- class
- c:
- func # :c:func:`*` will be skipped
- 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
- Config files
- Handle missing fields.
- Commands for creating a basic config file.
Acknowledge
poglossary
is primarily inspired by those fantastic translator tools collected in poutils and translate toolkit.
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.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50f8fba1def2e62852c5a7f9fa66d79e5efd0a058989a70d3455074fd4c35b8e |
|
MD5 | f55aae7efcc237b6f4fdf2487294d1f4 |
|
BLAKE2b-256 | d4f466e16f63a8ae20d2240e908a72b6763ecaf9468b80f6e89d7715ecd14fdb |