Tools and API for translation and localization engineering.
Project description
Translate Toolkit
The Translate Toolkit is an essential toolkit for localization engineers. It contains tools and documentation to help localizers convert, count, manipulate, review and debug localization files with less repetitive work.
The software includes programs to convert localization formats to the common PO and XLIFF formats. There are also programs to check and manage PO and XLIFF files. The Toolkit is part of the Translate project, hosted at <https://github.com/translate/translate>.
At its core the software contains Python classes for handling localization storage formats such as DTD, properties, OpenOffice.org GSI/SDF, CSV, MO, Qt .ts, TMX, TBX, WordFast txt, Gettext .mo, Windows RC, PO and XLIFF. It also provides scripts to convert between these formats.
Features
Format converters for localization, translation and software formats, so translators can work in standard translation formats.
Quality assurance tools for pattern searches, language-aware checks, terminology extraction and other review tasks.
Python APIs that can be expanded with new formats, project types, localization tests and language modules.
Important Links
Documentation, also use --help with any of the commands.
The Translate Toolkit is released under the GPL with contributions from many people.
Project goals
The vision of the Translate Project is to be a meta project for localizers built on the premise that your language deserves to be a project on its own right not a poor cousin of the main project.
Most projects are inattentive to the needs and difficulties experienced by localizers. To that end the aim is to work towards creating tools and documentation that allows localizers to focus on what they do best: translating software.
Requirements
The recommended installation is using uv or pip in a virtual environment:
uv pip install translate-toolkit
or:
pip install translate-toolkit
You can also download a stable released version from <https://github.com/translate/translate/releases> and install it manually.
The Toolkit requires Python 3.11 or newer. The required runtime dependencies are lxml>=6.1.0,<7.0 and unicode-segmentation-rs>=0.2.0,<0.3.
There are several optional dependencies for format-specific features and speed ups. They can be requested as extras during installation:
# Install all optional dependencies pip install translate-toolkit[all] # Install selected optional dependencies pip install translate-toolkit[markdown,ini,ical,subtitles,yaml,spellcheck]
Available extras include chardet, fluent, ical, ini, levenshtein, markdown, php, rc, spellcheck, subtitles, toml and yaml. Please check pyproject.toml for the current dependency versions.
Program overview
Use --help to find the syntax and options for all programs.
Converters:
oo2po - convert between OpenOffice.org GSI files and PO oo2xliff - convert between OpenOffice.org GSI files and XLIFF moz2po - convert between Mozilla files and PO csv2po - convert PO format to CSV for editing in a spreadsheet program php2po - PHP localisable string arrays converter. ts2po - convert Qt Linguist (.ts) files to PO txt2po - convert simple text files to PO html2po - convert HTML to PO (beta) md2po - convert Markdown to PO xliff2po - XLIFF (XML Localisation Interchange File Format) converter prop2po - convert Java .properties files to PO po2wordfast - Wordfast Translation Memory converter po2tmx - TMX (Translation Memory Exchange) converter pot2po - PO file initialiser csv2tbx - Create TBX (TermBase eXchange) files from Comma Separated Value (CSV) files ini2po - convert .ini files to PO ical2po - Convert iCalendar files (*.ics) to PO sub2po - Convert many subtitle files to PO rc2po - convert Windows Resource .rc files to PO resx2po - convert .Net Resource (.resx) files to POTools (Quality Assurance):
pofilter - run any of the 40+ checks on your PO files pomerge - merge corrected translations from pofilter back into your existing PO files. poconflicts - identify conflicting use of terms porestructure - restructures po files according to poconflict directives pogrep - find words in PO filesTools (Other):
pocompile - create a Gettext MO files from PO or XLIFF files pocount - count translatable file formats (PO, XLIFF) podebug - Create comment in your PO files' msgstr which can then be used to quickly track down mistranslations as the comments appear in the application. posegment - Break a PO or XLIFF files into sentence segments, useful for creating a segmented translation memory. poswap - uses a translation of another language that you would rather use than English as source language poterminology - analyse PO or POT files to build a list of frequently occurring words and phrases
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file translate_toolkit-3.19.12.tar.gz.
File metadata
- Download URL: translate_toolkit-3.19.12.tar.gz
- Upload date:
- Size: 588.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f23dd444fbe61bdb0856d4a63ee2d08d07b7508f27c628fa48bc256d2f039f7
|
|
| MD5 |
1a655614d4f6a593b5350cfa83f5b239
|
|
| BLAKE2b-256 |
77a675b9552f650a2f44fc9182317fe7f46e4091baae5f2f183b715e19f48749
|
Provenance
The following attestation bundles were made for translate_toolkit-3.19.12.tar.gz:
Publisher:
setup.yml on translate/translate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
translate_toolkit-3.19.12.tar.gz -
Subject digest:
3f23dd444fbe61bdb0856d4a63ee2d08d07b7508f27c628fa48bc256d2f039f7 - Sigstore transparency entry: 1910717441
- Sigstore integration time:
-
Permalink:
translate/translate@a802716215d10d1b5588efa73a3df01fbfb4855a -
Branch / Tag:
refs/tags/3.19.12 - Owner: https://github.com/translate
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
setup.yml@a802716215d10d1b5588efa73a3df01fbfb4855a -
Trigger Event:
push
-
Statement type:
File details
Details for the file translate_toolkit-3.19.12-py3-none-any.whl.
File metadata
- Download URL: translate_toolkit-3.19.12-py3-none-any.whl
- Upload date:
- Size: 809.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1009d35053f5e6a04be738ae5d2dc1f625a24929ab06328a49f2ef2beff0bf97
|
|
| MD5 |
4645366645b448a41101832d52e69111
|
|
| BLAKE2b-256 |
48eacfd5e6689c2535761ebcf127653860db989e931c716c9910420e128c1658
|
Provenance
The following attestation bundles were made for translate_toolkit-3.19.12-py3-none-any.whl:
Publisher:
setup.yml on translate/translate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
translate_toolkit-3.19.12-py3-none-any.whl -
Subject digest:
1009d35053f5e6a04be738ae5d2dc1f625a24929ab06328a49f2ef2beff0bf97 - Sigstore transparency entry: 1910717514
- Sigstore integration time:
-
Permalink:
translate/translate@a802716215d10d1b5588efa73a3df01fbfb4855a -
Branch / Tag:
refs/tags/3.19.12 - Owner: https://github.com/translate
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
setup.yml@a802716215d10d1b5588efa73a3df01fbfb4855a -
Trigger Event:
push
-
Statement type: