1

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

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

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

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

4

2 回答 2

2

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

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

于 2009-10-28T16:12:29.167 回答
0

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

于 2009-10-29T19:38:00.653 回答