2015-08-24 7 views
13

У меня есть небольшая программа python, которая показывает, как делать переводы графических интерфейсов GTK (pygobject) для Linux и Windows. Все работает в Linux, но в Windows символы, отличные от ASCII, не отображаются в переводе.Не-ASCII символы в переводе GTK-GUI в Windows не работают?

Я полагаю, что и файл Glade и * .mo файл декодируется правильно, потому что:

  • Интерфейс Английский показывает не-ASCII символы тонких
  • английском и переводы показывают не-ASCII символы в печатающем заявлении

Вот что интерфейс выглядит как в английском оригинале:

enter image description here

И немецкий перевод не используя переменную окружения или PANGOCAIRO_BACKEND=win32:

enter image description here

Немецкий перевод с помощью переменной среды PANGOCAIRO_BACKEND=fontconfig (PANGOCAIRO_BACKEND=fc). Первая метка настроена на использование Calibri с использованием Pango. И это, безусловно, шрифт, который имеет «ö», «ä» и «ü» в Windows.

enter image description here

В консоли появляется это предупреждение для перевода: Pango-Warning **: Invalid UTF-8 string passed to pango_layout_set_text().

Некоторые подробности о получении перевода на работу уже обсуждались здесь:

Репозиторий:

Инсталлятор для Windows:

Возможно ли, что builder.set_translation_domain("pygibank") раздвигает переводы с неправильной кодировкой? Можно ли отладить это или кто-нибудь знает, как это исправить?

ответ

-2

Я решил эту проблему, создав все строки Unicode. Чтобы создать строку Unicode, сделайте следующее: u'Unicode string with fünky charàcters'.

+0

Строки GUI находятся в XML-файле. Вы добавили это в код XML? – tobias47n9e