[devel] Плагин к Thunar отказывается использовать свою же локализацию [was: Очень интересный эффект перевода или работа gettext с plural forms]

Sergey Vlasov vsu at altlinux.ru
Thu Oct 1 16:19:28 UTC 2009


On Thu, Oct 01, 2009 at 04:29:07PM +0300, Денис Корявов wrote:
> 1 октября 2009 г. 13:00 пользователь Денис Корявов
> <dkoryavov at yandex.ru> написал:
> > Кажется нашел. Но совсем не там, где ожидал. Проблема не в собранном
> > пакете, проблема в дополнении thunar-shares-plugin.
> > Если ее установить, у thunar начинаются такие проблемы. Вот так дела....
> >
> > /me ушел искать, что же там такого в этом дополнении.
> 
> Поискал и не нашел. Обновил версию thunar-shares-plugin до 0.20.
> Проблемы у thunar пропали, зато появились проблемы у
> thunar-shares-plugin. :) Он напрочь отказывается использовать свою же
> локализацию. При этом, в чем проблема, я так и не нашел.
> Может кто подсказать в чем проблема? Уж очень хочется исправить эту
> надоевшую ошибку.
> Пакет можно найти в моем git'e:
> http://git.altlinux.org/people/dkoryavov/packages/?p=thunar-shares-plugin.git

Строка, которая портила локализацию thunar раньше:

-       textdomain (GETTEXT_PACKAGE);

Функция textdomain() выбирает набор переводов глобально для всего
процесса, поэтому её нельзя использовать в библиотеках - только в
основном приложении.  В библиотеках и плагинах вместо gettext() с
предварительной глобальной установкой textdomain() следует
использовать dgettext() с явным указанием domain.

В данном случае можно, например, заменить #include <glib/gi18n.h> на
собственный файл заголовков, в котором сделать

#include <libintl.h>

#define _(String)	dgettext(GETTEXT_PACKAGE, String)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20091001/bb99cf54/attachment-0001.bin>


More information about the Devel mailing list