| Summary: | GtkBuilder в не-UTF8 локалях некорректно выводит переводы | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Andrey Rahmatullin <wrar> | ||||||
| Component: | python-module-pygtk | Assignee: | Nobody's working on this, feel free to take it <nobody> | ||||||
| Status: | NEW --- | QA Contact: | qa-sisyphus | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | mike, real.altlinux.org | ||||||
| Version: | unstable | ||||||||
| Hardware: | all | ||||||||
| OS: | Linux | ||||||||
| URL: | http://bugzilla.gnome.org/show_bug.cgi?id=589090 | ||||||||
| Attachments: |
|
||||||||
Было выяснено, что сизифный (libgtk+2-2.16.2-alt1) GtkBuilder при использовании в не-UTF8 локалях выводит строки, полученные через translatable=yes, кракозябрами, при этом ругаясь в консоль. Тесткейс приложу попозже. Created attachment 3596 [details]
тесткейс
Тесткейс в локали ru_RU.UTF-8 в заголовке окна пишет "Победа", в ru_RU.CP1251 - 6 квадратиков с вопросами, при этом в консоли (a.out:17270): Gdk-CRITICAL **: gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed (a.out:17270): Gdk-CRITICAL **: gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed А это же вроде не python-module-pygtk виноват... (В ответ на комментарий №4) > А это же вроде не python-module-pygtk виноват... Url: указан не зря. Наверно, я чего-то не понял, либо баг уже исправили. Оба тесткейса работают: пустое окно с "Победа" в заголовке. (В ответ на комментарий №6) > Наверно, я чего-то не понял, либо баг уже исправили. Оба тесткейса работают: > пустое окно с "Победа" в заголовке. Локаль UTF-8? Вот тут я пока не знаю, правильно ли делаю: python 1.py - заголовок "Победа" LC_MESSAGES=ru_RU.CP1251 python 1.py - заголовок "Победа" LC_MESSAGES=en_US python 1.py - заголовок "Success". Пардон, глючу. Не LC_MESSAGES=en_US python 1.py а LC_MESSAGES=C python 1.py LC_ALL, а не LC_MESSAGES Ладно, попробую (наверно, только на след.неделе получится). (В ответ на комментарий №11) > Ладно, попробую (наверно, только на след.неделе получится). Зачем? У меня воспроизводится, баг в апстриме не закрыт. Просто меня этот баг некоторым образом касается тоже. Я имею в виду попробовать смоделировать ситуацию у себя с модулем питона, который поддерживаю я в сизифе (pygtk_git), и попробовать поковырять, если получится. Created attachment 4484 [details]
Модификация тесткейса
Такой код выводит корректный русский текст. Кстати, именно это и советовали по ссылке. Так что, по-видимому, проблема не в pygtk, а в gettext (python-modules), но его чинить (если действительно надо чинить) мне не по силам. Его собирал sin@, может быть, он что-нибудь скажет на сей счёт? В любом случае, сейчас есть 2 варианта: либо перевесить багу на python-modules, либо объявить её как NOTABUG. Да мне пофигу, что будет с этой багой здесь, всё равно чинить её будут только в апстриме. Да апстрим (глядя на python 3) день ото дня всё более неадекватным становится, так что мне слабо верится, что там хотя бы обратят внимание на такую проблему. А здесь - глаза мозолит, тем более висит на компоненте, ни в чём не виноватом. (В ответ на комментарий №17) > Да апстрим (глядя на python 3) день ото дня всё более неадекватным становится, Апстрим pygtk к python 3 отношения не имеет. > на компоненте, ни в чём не виноватом. Апстримный баг даёт понять, что это не совсем так. |
/usr/bin/blueman-adapters:174: GtkWarning: Failed to set text from markup due to error parsing markup: Ошибка РІ строке 1 РЅР° символе 12: Текст закодирован как UTF-8 недопустимым образом — недопустимая последовательность В«<b>Настройка видимости</b>В» builder.add_from_file(UI_PATH +"/adapters-tab.ui") И т.д. В blueman-applet всегда нормально, в blueman-{adapters,services} - только с локалью UTF-8.