Skip to main content

gettext PO files translate by Yandex translator

Project description

========================================
PoTrans python3 library and console tool
========================================

Purpose
-------

Automatically translate gettext's *.po files to specified language, using Yandex Translate

Install
-------

::
# pip3 install potrans


Usage of library
----------------

To use it, use must acquire Yandex Translator API key here: https://tech.yandex.ru/keys/get/?service=trnsl
it looks like "trnsl.1.1.20160716T101753Z.a0378f5552843fb4.c5a82afc2a581d1e3717f92d4c753f3f798deb2a"

::
from potrans import Translator

key = "trnsl.1.1.20160716T101753Z.a0378f5552843fb4.c5a82afc2a581d1e3717f92d4c753f3f798deb2a"
translator = Translator(key)
translator.open_po_file("./en_US.po")
translator.go_translate("en", "de")
translator.save_po_file("./de_DE.po")
translator.save_mo_file("./de_DE.mo")

Usage of console script
-----------------------

Translate from Russian to Italian and save result to po-file:

::
potrans translate -i ./ru_RU.po -il ru -ol it -o ./it_IT.po --key trnsl.1.1.20160716T101753Z.a0378f5552843fb4.c5a82afc2a581d1e3717f92d4c753f3f798deb2a

if you don't like to specify key every time, you can put it into ~/.config/potrans.key:

::
echo "trnsl.1.1.20160716T101753Z.a0378f5552843fb4.c5a82afc2a581d1e3717f92d4c753f3f798deb2a" >> ~/.config/potrans.key

now, you can run the same command without key:

::
potrans translate -i ./ru_RU.po -il ru -ol it -o ./it_IT.po

Translate and save result to *.po and *.mo files:

::
potrans translate -i ./ru_RU.po -il ru -ol it -o ./it_IT.po -om ./it.IT.mo

Translate with outputting all the phrases and it's translate strings:

::
potrans translate --debug -i ./ru_RU.po -il ru -ol it -o ./it_IT.po

Translate, using msgid in case msgstr is empty:

::
potrans translate --usemsgid -i ./ru_RU.po -il ru -ol it -o ./it_IT.po

Just convert *.po to *.mo without translation:

::
potrans convert -i ./ru_RU.po -o ./ru_RU.mo


Change Log
==========
0.1.7 - Fixed bug where empty msgid translation caused error
Added autoreplace to strings like "%d", "%s", " ", "←"

0.1.6 - Changed cli, so, yandex_api key no longer needed to convert *.po to *.mo
Added cli.py script to run package cli interface in development

0.1.5 - Added changelogs to a package info

0.1.4 - Added some info to README.rst

0.1.0 - Initial 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

PoTrans-0.1.7.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

PoTrans-0.1.7-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

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