Skip to main content

poglossary

Python PyPI

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 key patterns or rst_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:

image

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.

Metadata

Release files for poglossary 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for poglossary 0.1.4
File Size Uploaded
poglossary-0.1.4.tar.gz 7.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for poglossary 0.1.4
File Interpreter ABI Platform
poglossary-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 15.2 kB

Release files / poglossary-0.1.4.tar.gz

Download URL poglossary-0.1.4.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ba2a4f9e9c5a365f2c19bd2ed91ea247d7213299f8aa7065327d9977b401f60f
BLAKE2b-256 checksum
How to use checksums
1c26d5fddcea1761d4536c968505000b5fef9c40c2328a6a08a92b65cf7d6767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.0 Linux/5.11.0-1027-azure

Release files / poglossary-0.1.4-py3-none-any.whl

Download URL poglossary-0.1.4-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50f8fba1def2e62852c5a7f9fa66d79e5efd0a058989a70d3455074fd4c35b8e
BLAKE2b-256 checksum
How to use checksums
d4f466e16f63a8ae20d2240e908a72b6763ecaf9468b80f6e89d7715ecd14fdb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.0 Linux/5.11.0-1027-azure

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page