Php 什么是bindtextdomain,gettext中的textdomain?

Php 什么是bindtextdomain,gettext中的textdomain?,php,gettext,php-gettext,Php,Gettext,Php Gettext,我一直在学习一点gettext,但我不能掌握这两个函数。我一直在想我是否可以在用PHP编写的应用程序中使用多个翻译。例如,我有1)系统翻译2)扩展翻译3)主题翻译,将它们划分到不同的文件中。我的问题是,如果我加载系统翻译,那么加载主题翻译第一个会是“unset”吗 如果有任何与gettext和php相关的链接,我将不胜感激 谢谢您可以随时在文本域之间交换。e、 g: 给定 ./locale/en/LC_MESSAGES/template.po 内容 msgid "foo" msgstr "f

我一直在学习一点gettext,但我不能掌握这两个函数。我一直在想我是否可以在用PHP编写的应用程序中使用多个翻译。例如,我有1)系统翻译2)扩展翻译3)主题翻译,将它们划分到不同的文件中。我的问题是,如果我加载系统翻译,那么加载主题翻译第一个会是“unset”吗

如果有任何与gettext和php相关的链接,我将不胜感激


谢谢

您可以随时在文本域之间交换。e、 g:

给定

./locale/en/LC_MESSAGES/template.po 
内容

msgid "foo"
msgstr "foobar"
msgid "Basic test"
msgstr "A basic test"

内容

msgid "foo"
msgstr "foobar"
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";

谢谢我想我看到了gettext的一个非常好的视图