Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

gettext PO files translate by Yandex translator

Project Description
PoTrans python3 library and console tool


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


# pip3 install potrans

Usage of library

To use it, use must acquire Yandex Translator API key here:
it looks like "trnsl.1.1.20160716T101753Z.a0378f5552843fb4.c5a82afc2a581d1e3717f92d4c753f3f798deb2a"

from potrans import Translator

key = "trnsl.1.1.20160716T101753Z.a0378f5552843fb4.c5a82afc2a581d1e3717f92d4c753f3f798deb2a"
translator = Translator(key)
translator.go_translate("en", "de")

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 ./

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 ./

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

Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
PoTrans-0.1.7-py3-none-any.whl (7.6 kB) Copy SHA256 Checksum SHA256 py3 Wheel Jul 23, 2017
PoTrans-0.1.7.tar.gz (5.6 kB) Copy SHA256 Checksum SHA256 Source Jul 23, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting