Gettext、PHP 和 Windows 2008

发布于 2024-11-29 18:26:12 字数 567 浏览 0 评论 0原文

我有一个 Windows 2008 服务器(以意大利语安装)。它运行Zend Server CE 5.1,即Apache2.2和PHP 5.3.5。

我创建了这个简单的脚本:

putenv("LC_ALL=de_DE");
bindtextdomain('messages', './langs');
textdomain('messages');

echo _("Hello world");

目录是:

/lang
    /it_IT
       /LC_MESSAGES
           /messages.mo
           /messages.po
    /de_DE
       /LC_MESSAGES
           /messages.mo
           /messages.po

我得到的是意大利语消息,而不是德语消息。 看起来 putenv() 没有效果。 请注意,语言目录结构是正确的,因为 it_IT 文件已正确加载。

如何加载德语翻译?

I have a Windows 2008 server (installed in italian). It runs Zend Server CE 5.1, which is Apache2.2 and PHP 5.3.5.

I created this simple script:

putenv("LC_ALL=de_DE");
bindtextdomain('messages', './langs');
textdomain('messages');

echo _("Hello world");

The directories are:

/lang
    /it_IT
       /LC_MESSAGES
           /messages.mo
           /messages.po
    /de_DE
       /LC_MESSAGES
           /messages.mo
           /messages.po

What I get is the italian message, not the german one.
It seems that putenv() has no effect.
Please note that the language directory structure is correct, since the it_IT file is correctly loaded.

How can I load the german translation?

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

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

发布评论

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

评论(1

猫腻 2024-12-06 18:26:12

Windows 上并非支持所有区域设置。另外Windows 上的语言环境名称也不同。支持的语言区域在 Microsoft 网站上列出。如果您在 Windows 计算机上进行开发并且您的生产服务器在 Linux 上,我认为您应该考虑使用 Zend_Translate

Not all locales are supported on windows. Also locale names are different on windows too. Supported languages and regions are listed on microsoft sites. If you're developing on windows machine and your production server is on linux i think you should consider using Zend_Translate

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