Сначала вам нужен способ разделения доменов.
Например, предположим, что у вас есть домен для lib и один для app, а затем создайте ярлык для вызова dgettext()
;
_app(msg) -> dgettext("app", msg);
и один для домена lib:
_lib(msg) -> dgettext("lib", msg);
Добавьте эти вызовы по всему вашему коду, например:
show_message(_app("Choose a directory to save your work."));
show_message(_lib("No space left on device."));
Помните, что вам нужно вызвать bindtextdomain()
для обоих доменов при инициализации вашего приложения.
Чтобы извлечь их, вам нужно указать разные ключевые слова для xgettext
для всех имен файлов в исходном дереве, которое содержит эти маркеры:
xgettext --keyword=_app -d domain1 filenames...
xgettext --keyword=_lib -d domain2 filenames...
Наконец, скомпилируйте оба файла .po в их двоичный вариант .mo и скопируйте / установите их в нужное место.
person
Johan Dahlin
schedule
04.04.2012