У меня есть небольшая программа на Python, которая показывает, как выполнять перевод графических интерфейсов GTK (pygobject) для Linux и Windows. В Linux все работает, но в Windows символы не-ASCII не отображаются в переводе.
Я предполагаю, что и файл Glade, и файл *.mo декодированы правильно, потому что:
- Английский интерфейс показывает отличные от ASCII символы
- Как в английском, так и в переводах в выражениях для печати отображаются символы, не входящие в ASCII
Вот как выглядит интерфейс на английском оригинале:
И перевод на немецкий язык без использования переменной среды или PANGOCAIRO_BACKEND=win32
:
Перевод на немецкий язык с использованием переменной среды PANGOCAIRO_BACKEND=fontconfig
(PANGOCAIRO_BACKEND=fc
). Первая метка настроена на использование Calibri с использованием Pango. И это, безусловно, шрифт, который имеет "ö", "ä" и "ü" в Windows.
В консоли появляется это предупреждение для перевода: Pango-Warning **: Invalid UTF-8 string passed to pango_layout_set_text()
.
Некоторые подробности о том, как заставить переводы работать, уже обсуждались здесь:
Репозиторий:
Установщик для Windows:
Возможно ли, что builder.set_translation_domain("pygibank")
выдвигает переводы с неправильной кодировкой? Можно ли это отладить или кто-нибудь знает как это исправить?