Gettext、PHP 和 Windows 2008
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
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