我一直在学习一些 gettext,但我无法掌握这两个函数。一直在想,能不能在一个用PHP写的APP中使用多个翻译。例如,我有 1) 系统翻译 2) 扩展翻译 3) 主题翻译以将它们划分在不同的文件中。我的问题是,如果我加载系统翻译,然后加载主题翻译,第一个会被“取消设置”吗?
如果有任何与 gettext 和 php 相关的链接,我将不胜感激。
谢谢
最佳答案
您可以随时在文本域之间轻松切换。例如:
给定
./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";
关于php - gettext中的bindtextdomain、textdomain是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1989086/