我正在尝试使用以下代码加载我的.mo翻译,但它不起作用。我有php gettext ext。在我的phpinfo()中启用并安装了所有必需的语言环境。 我错过了什么吗?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

bindtextdomain("messages", "./locale");
textdomain("messages");

我的.mo文件位于 ./ locale / en_US / messages.mo

有帮助吗?

解决方案

当apache线程加载.mo文件时,它将不会重新加载它,直到apache线程被回收。因此,如果你更新.mo文件,并且想要确保你的php正在使用那个新的.mo文件,你实际上需要重新启动apache或为mo文件使用不同的名称。

无论如何,我会设置LANG环境变量。

其他提示

您可能需要更改路径,使其成为绝对路径,而不是相对路径。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top