如何强制gettext翻译特定语言,独立于当前语言?

时间:2013-12-31 15:51:10

标签: php translation gettext

我如何告诉函数gettext()将单词翻译成与当前语言无关的特定语言?

我们举一个例子

让我们假设默认语言是英语。 我们来一词 tree 。在意大利语中它将是 albero

如果我正在浏览我网站的英文版本,该页面的所有内容都将以英文翻译。特别是,如果我在我的PHP代码中有行echo _('tree'); tree 将被输出。

我想要完成的是在浏览网站的英文版时输出 albero 。我很乐意告诉_()只翻译意大利语页面特定部分中的特定单词,即使当前语言是英语。在我的脑海里,它就像_('tree', 'it_IT'),其中it_IT告诉gettext忽略英语并用意大利语覆盖它,仅用于该调用。

用gettext()可以做到吗? 如果有,怎么样?如果没有,还有其他任何解决方案吗?

1 个答案:

答案 0 :(得分:7)

不幸的是,GNU gettext不支持此功能。

您可以通过临时更改您的区域设置来伪造它:

setlocale(LC_ALL, 'it_IT');
echo _('tree');
setlocale(LC_ALL, 'en_US');