Skip to main content

Translation toolset

Project description

Introduction

This package contains a set of tools to help manage translations in Python software.

Babel extraction plugins

lingua contains two extraction plugins for Babel:

Detailed information on using Babel extraction plugins can be found in the Babel documentation.

Translating via spreadsheets

Not all translators are comfortable with using PO-editors such as Poedit or translation tools like Transifex. For them lingua has simple tools to convert PO-files to xls-files and back again. This also has another benefit: it is possible to include multiple languages in a single spreadsheet, which is helpful when translating to multiple similar languages at the same time (for example simplified and traditional chinese).

The format for spreadsheets is simple: the first column lists the canonical text, and all further columns contain a translation for the text, with the language code on the first row. Fuzzy translations are marked in italic.

Converting one or more PO-files to an xls file is done with the po-to-xls command:

po-to-xls -p nl nl.po texts.xls

This will create a new file texts.xls with the Dutch translations. The -p parameter can be given multiple times to include more languages:

po-to-xls -p zh_CN zh_CN.po -p zh_TW zh_TW.po -p nl nl.po texts.xls

This will generate a file with all simplified chinese, traditional chinese and Dutch translations.

Translations can be merged back from a spreadsheet into a PO-file using the xls-to-po command:

xls-to-po nl texts.xls nl.po

This will take the Dutch (nl) translations from texts.xls and use those to upgrade the nl.po file.

Sanity checking

Lingua includes a simple polint tool which performs a few basic checks on PO files. Currently implemented tests are:

  • duplicated message ids (can also be checked with msgfmt). These should never happen and are usually a result of a bug in the message extraction logic.

  • identical translations used for multiple canonical texts. This can happen for valid reasons, for example when the original text is not spelled consistently.

To check a po file simply run polint with the po file as argument:

polint nl.po

Translation:
    ${val} ist keine Zeichenkette
Used for 2 canonical texts:
1       ${val} is not a string
2       "${val}" is not a string

Changelog

1.0b2 - July 18, 2011

  • Update PO-XLS convertors to allow selection of comments to include in the xls files.

  • Correct XML extractor to strip leading and trailing white. This fixes issue 1.

  • Add a very minimal polint tool to perform sanity checks in PO files.

  • Update trove data: Python 2.4 is not supported due to lack of absolute import ability.

1.0b1 - May 13, 2011

  • First release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lingua-1.0b2.tar.gz (11.0 kB view details)

Uploaded Source

File details

Details for the file lingua-1.0b2.tar.gz.

File metadata

  • Download URL: lingua-1.0b2.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for lingua-1.0b2.tar.gz
Algorithm Hash digest
SHA256 00e5daf7da76854d372c5fef855e0d0c47363914bebdc74431b97f6019e47b3d
MD5 bbae737131cc47c4fd11a7d417869af6
BLAKE2b-256 ed15c703679b05f86dfd507db80f59a86021861c87de417bfa069e3eef719107

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page