Skip to content

Automatically gettext *.po-files translater (using Yandex.Translate)

License

Notifications You must be signed in to change notification settings

MihanEntalpo/PoTrans

Folders and files

NameName
Last commit message
Last commit date
May 29, 2024
Aug 9, 2016
May 29, 2024
Aug 9, 2016
Aug 12, 2016
Aug 14, 2016
Jul 23, 2017
Aug 16, 2016
Aug 9, 2016
May 29, 2024

Repository files navigation

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

About

Automatically gettext *.po-files translater (using Yandex.Translate)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published