RkBlog

Hardware, programming and astronomy tutorials and reviews.

polib - zarządzanie tłumaczeniami gettext

Opis modułu polib umożliwiającego edycję i analizę plików językowych Gettext .po i .mo. Za pomocą tego modułu można pobrać nieprzetłumaczone frazy, czy ogólne statystyki tłumaczeń

polib to moduł pythona do zarządzania tłumaczeniami gettexta - plikami *po i *mo. Potrafi na operacje odczytu/zapisu do tych plików oraz umożliwia pozyskanie informacji na temat stanu przetłumaczenia danego pliku .po, co jest przydatne przy tłumaczeniu aplikacji. Instalacja jest prosta, albo za pomocą setuptools albo z poziomu pobranej paczki:
easy_install polib
python setup.py install

polib składa się z 4 klas: POFile, MOFile, POEntry i MOEntry do obsługi plików i wpisów w nich zawartych. pofile umożliwia operacje na plikach .po i zawiera m.in. następujące metody: Właściwości: POEntry posiada następujące właściwości: Pełna dokumentacja dostarczana jest wraz z modułem.

Przykładowy kod

Poniższy kod wyświetli dane na temat danego pliku .po:
import polib

po = polib.pofile('a.po')
print po.percent_translated()
print po.charset()
print po.metadata
Obiekt POFile może iterować otrzymując obiekty POEntry:
import polib

po = polib.pofile('a.po')
for i in po:
	print i.comment
	print i.tcomment
	print i.msgid
	print '-------------------'
Można też modyfikować plik i zapisywać zmiany:
# -*- coding: utf-8 -*-
import polib

po = polib.pofile('a.po')
# wywalamy flagi.. tak dla przykładu
for i in po:
	print i.flags
	i.flags = []
po.save()

# dodajemy komentarz do każdej nieprzetłumaczonej frazy
for i in po.untranslated_entries():
	i.tcomment = 'Przetłumaczyć to natychmiast!'
po.save()
RkBlog

14 July 2008;

Comment article