LINUX.ORG.RU

gettext и несколько доменов (каталогов сообщений)


0

0

Имеется одно дерево исходников, из которого собирается несколько бинарников. Программа на С++, для локализации текстовых строк предполагается использовать GNU gettext. Для сборки используется autotools - т.е. все стандартно.

Предполагается, что каждый бинарник будет иметь свой собственный домен (каталог сообщений), плюс использовать один общий, разделяемый между всеми бинарниками домен. Каким образом лучше и красивее всё это организовать?

Я столкнулся с небольшими сложностями, которые, я полагаю, уже давно и успешно решали другие разработчики :)

1. Инфраструктура gettext, которую генерирует autotools (файлы ./po/*) предполагает, что домен будет один (параметр DOMAIN в ./po/Makevars).

2. Было бы очень удобно в программе сначала "зарегистрировать" несколько каталогов сообщений, которые будут использоваться, и затем одной функцией искать строку для перевода сразу в этих нескольких каталогах. Вместо этого gettext предоставляет функции bindtextdomain/dgettext, вынуждая меня в каждом случае указывать домен, который должен использоваться, чего делать не хочется, т.к. интерфейс (макрос "_()") хочется оставить единообразным во всем коде всех модулей.

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.