Как использовать i18n.tr в проектах Ubuntu Touch

Я некоторое время использовал i18n.tr в моих проектах Ubuntu-Touch . Я знаю, о чем эта функция, но я не знаю, как добавить перевод в мой проект.

Где мне разместить файл с переводом? С каким именем? Как должно быть написано его содержание? Как мне подключить его к моему приложению? Как мне проверить это с помощью qmlscene?

5
задан 27 September 2013 в 11:37

2 ответа

Взгляните на код TouchWriter и особенно его README, где даны все необходимые команды.

Краткое резюме

  • Вам необходимо связать текстовую область перед использованием gettext. В C ++ вы можете сделать это следующим образом:

    bindtextdomain("domainname", "somedir");
    textdomain("domainname");
    

    В Qml вы, вероятно, можете сделать что-то вроде этого:

    i18n.bindtextdomain("domainname", "somedir");
    i18n.domain = "domainname";
    

    Обязательно сделайте это до [ 114].

  • Чтобы сгенерировать .pot шаблон и исходные .po файлы, используйте следующие команды:

    xgettext -C --qt --keyword=tr -p somedir -o messages.pot
    msginit -i somedir/messages.pot -o somedir/somelanguage.po
    

    (замените somedir на каталог, с которым связан ваш домен, и somelanguage с языком, который вы хотите перевести).

  • Чтобы сгенерировать .mo файлов из исходных файлов .po, используйте команду msgfmt po-file -o mo-file.

  • Скомпилированные .mo файлы должны быть помещены в каталог, к которому вы привязали текстовый домен, более конкретно в

    somedir/somelanguage/LC_MESSAGES/domainname.mo
    

    (замените somedir, somelanguage и domainname на ваши ценности).

  • [Тысяча сто тридцать два]
0
ответ дан 27 September 2013 в 11:37

Лучший ответ, кажется, в документе. http://developer.ubuntu.com/api/ubuntu-12.10/qml/mobile/qml-ubuntu-components0-i18n.html

Кажется, что это функция, которая переводит слово передается на язык пользователя.

0
ответ дан 27 September 2013 в 11:37

Другие вопросы по тегам:

Похожие вопросы: