我一直在学习一些gettext但我无法掌握这两个功能。我一直想知道我是否可以在用PHP编写的APP中使用多个翻译。例如,我1)系统翻译2)扩展翻译3)主题翻译,以划分不同的文件。我的问题是,如果我加载系统翻译,然后加载主题翻译将第一个“未设置”?
我很感激任何与gettext和php相关的链接。
由于
答案 0 :(得分:24)
您可以随时在文本域之间切换。 e.g:
给出
./locale/en/LC_MESSAGES/template.po
内容
msgid "foo"
msgstr "foobar"
和
./locale/en/LC_MESSAGES/messages.po
内容
msgid "Basic test"
msgstr "A basic test"
您可以使用类似以下PHP代码的内容从一个textdomain切换到另一个,然后返回:
<?php
setlocale(LC_ALL, 'en_US.UTF-8');
bindtextdomain ("messages", "./locale");
bindtextdomain ("template", "./locale");
textdomain ("messages");
echo gettext("Basic test"), "\n";
textdomain ("template");
echo _("foo"), "\n";
textdomain ("messages");
echo gettext("Basic test"), "\n";