7

我一直在学习一些gettext,但我无法掌握这两个功能。我一直想知道是否可以在用 PHP 编写的 APP 中使用多个翻译。例如,我有 1) 系统翻译 2) 扩展翻译 3) 主题翻译以将它们划分为不同的文件。我的问题是,如果我加载系统翻译,那么加载主题翻译会不会“未设置”?

我将不胜感激与 gettext 和 php 相关的任何链接。

谢谢

4

1 回答 1

27

您可以随时在文本域之间轻松切换。例如:

给定

./locale/en/LC_MESSAGES/template.po 

与内容

msgid "foo"
msgstr "foobar"

./locale/en/LC_MESSAGES/messages.po

与内容

msgid "Basic test"
msgstr "A basic test"

您可以使用类似下面的 PHP 代码从一个文本域切换到另一个文本域,然后再返回:

<?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";
于 2010-01-01T18:44:12.793 回答