我正在尝试使用以下代码加载我的.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
答案 0 :(得分:2)
当apache线程加载.mo文件时,它将不会重新加载它,直到apache线程被回收。因此,如果你更新.mo文件,并且想要确保你的php正在使用那个新的.mo文件,你实际上需要重新启动apache或为mo文件使用不同的名称。
无论如何,我会设置LANG环境变量。
答案 1 :(得分:0)
您可能需要更改路径,使其成为绝对路径,而不是相对路径。