[devel] Очень интересный эффект перевода или работа gettext с plural forms

Денис Корявов dkoryavov на gmail.com
Пн Май 25 17:50:29 MSD 2009


Всем привет.

Столкнулся с очень странной "проблемой" перевода Thunar. Расскажу обо
всем по порядку.
Проблема проявляется на моем рабочем ноутбуке Acer Extensa 5620 (важно!).

Итак. В файловом менеджере Thunar, есть пункт меню "Правка->Создать
ссылку", в множественном варианте,
"Правка->Создать ссылки". Так вот. Этот пункт меню у меня отображается
не переведенным (Make Link или Make Links).
Вернее, если при запуске Thunar ничего не делая сразу посмотреть меню,
то отображение будет верным, как "Создать ссылки",
но, стоит только кликнуть мышкой по папке или выделить ее любым другим
способом, как пункт меню превращается сразу
в "Make Links". После этого, он всегда отображается на английском.

В исходном коде данный пункт выглядит как:

  { "duplicate", NULL, N_ ("Du_plicate"), NULL, NULL, G_CALLBACK
(thunar_standard_view_action_duplicate), },
  { "make-link", NULL, N_ ("Ma_ke Link"), NULL, NULL, G_CALLBACK
(thunar_standard_view_action_make_link), },
  { "rename", NULL, N_ ("_Rename..."), "F2", NULL, G_CALLBACK
(thunar_standard_view_action_rename), },

В переводе как:
msgid "Ma_ke Link"
msgid_plural "Ma_ke Links"
msgstr[0] "Создать _ссылку"
msgstr[1] "Создать _ссылки"
msgstr[2] "Создать _ссылки"

Я долго ломал голову в чем может быть проблема, пока в пятницу не
зашел в гости в ООО. Случайно выяснилось, что данная
проблема проявляется ТОЛЬКО на моем рабочем ноутбуке (причем, как в
хостовой системе на 5.0 так и в Сизифе в виртуальной машине.
Правда, я в виртуалке я делал dist-upgrade на Cизиф именно с того
образа 5.0 с которого и устанавливал основную ОС).
На 3-х других машинах что мы проверили, все отлично - все переведено.

Подумав, что это проблема той сборки с которой я устанавливал я решил
собрать новую. Каково же было мое удивление,
что на новой сборке (локальное зеркало 5.0 пятничной давности),
проблема не решилась. Я пробовал ставить пробел перед "Ma_ke Link" в
коде - не помогло.
И только когда я решил попробовать собрать Thunar через configure &&
make && make install - проблема решилась.

Если вы дочитали это до конца, может вы ответите на вопрос: Кто
виноват, и что делать??

Премного благодарен.

-- 
WBR, Denis Koryavov.


Подробная информация о списке рассылки Devel