Завершите C ++ i18n gettext () Пример «Hello World» показывает стандартный способ обработки сообщений в программе на C ++ с использованием gettext (). Каталоги сообщений хранятся в файлах переносимых объектов на основе файла переносимых объектов, созданного непосредственно из исходного кода C ++ с использованием xgettext, msginit и msgfmt. Каков соответствующий метод для обработки сообщений с помощью XSLT?
В частности, чтобы обеспечить поддержку кода hello-world на C ++, i18n просто добавляет два включения, вызывает некоторые функции установки и переносит строки в вызовы gettext ():
#include <libintl.h>
#include <locale.h>
..
setlocale(LC_ALL, "");
bindtextdomain("hellogt", ".");
textdomain( "hellogt");
std::cout << gettext("hello, world!") << std::endl;
...
Затем текст на английском языке извлекается из исходной программы и преобразуется в шаблон переносимого объекта для использования переводчиками, которые создают файлы каталога сообщений машинного объекта для использования во время выполнения программой с использованием служебных программ: xgettext, msginit и msgfmt.
Наконец, команда оболочки Linux для определения языка выполнения как испанского отображается при запуске программы.
Основная цель создания программы hello-world - соединить все части системы, чтобы получить практически бесполезный пример для работы. Итак, как показывает пример C ++ для C ++ в среде Linux, я ищу то же самое, но вместо этого для XSLT.
- В примере C ++ есть набор включаемых файлов и объектных файлов, которые связаны в hellogt. Существует ли код для XSLT, который обеспечивает функциональность setlocale, bindtextdomain и textdomain? Как код соединяется с языком времени выполнения пользователя?
- Существует ли код XSLT, который обеспечивает преобразование во время выполнения из английского текста через файлы каталога сообщений, как это делает gettext ()?
- Существуют ли служебные программы для извлечения текста на английском языке из исходного XML-файла для использования переводчиками вместе с программами для преобразования результатов в пригодные для использования файлы каталога сообщений, такие как xgettext, msginit и msgfmt do?
- Каким образом определяется указанный язык среды выполнения пользователя?
Например, у меня есть приложение Javascript, Emle , которое обрабатывает XML с использованием XSLT в HTML. Сообщения определяются в определенной прикладной коллекции языковых XML-файлов. Они извлекаются с использованием специального XSLT-кода приложения. Хотя это относится к # 2, метод, по-видимому, не дает возможности воспользоваться услугами перевода, такими как LaunchPad . Пример Emle Английский файл сообщений , используемый Emle XSLT file