php - gettext中的bindtextdomain、textdomain是什么?

标签 php gettext php-gettext

我一直在学习一些 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/

相关文章:

php,中文和俄文搜索

php - Zillow - 请求被阻止,检测到爬虫

java - JTextField getText() NullPointerException

git - Homebrew 安装的 gettext 和 git 不兼容?

PHP 获取文本 : how to change the default MO path after setting the path of the domain?

php - Gettext:翻译带有 HTML 的字符串?

php - 解析我无法识别为对象、数组或 Json 的字符串

javascript - getText() 在 Selenium 中返回一个空白,即使文本没有被隐藏。我也试过 JavaScript

php-gettext - 我如何用 gettext 和里面的一些复杂变量进行翻译

php - 循环检查表中是否存在并生成随机字符串