获取文本,不显示

发布于 2024-08-09 00:55:13 字数 319 浏览 8 评论 0原文

我尝试使用以下代码加载我的 .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

I'm trying to load my .mo translations using the following code, but it doesn't work. I have the php gettext ext. enabled in my phpinfo() and all the required locales are installed.
Did I miss anything?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

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

My .mo file is located in ./locale/en_US/messages.mo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉宸 2024-08-16 00:55:13

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

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

When an apache thread loads an .mo file, it will not reload it until the apache thread is recycled. So if you update the .mo file, and want to be sure that your php is using that new .mo file, you actually need to either restart apache or use a different name for the mo file.

Anyway, I would set the LANG environment variable.

給妳壹絲溫柔 2024-08-16 00:55:13

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

You probably need to change the path so that it is absolute, instead of relative.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文