Быстро перевод приложения
Я создал приложение, используя quickly create ubuntu-application myapp
, Затем я создал переводы и создал пакет deb quickly package
установить и протестировать его. Когда я запускаю myapp, все строки из файлов glade были переведены, но все строки из кода не были переведены. Что это? Как решить эту проблему?
2 ответа
Решение
Я решил это. Я должен использовать locale.gettext
вместо gettext
, Я не знаю, в чем разница, но это работает.
В вашем коде необходимо пометить все строки для перевода, заключив их в _()
, Например:
import gettext
from gettext import gettext as _
gettext.textdomain('yourappname')
some_string = 'This is not a translatable string'
some_other_string = _('This is a translatable string')
Обратите внимание на приведенные выше операторы gettext, которые быстро помещаются в каждый исходный файл. Вам нужно будет добавить их в любой исходный файл, содержащий переводимые строки.