php gettext在Windows Server 2008,PHP 5.5上不起作用

用户名

我在使gettext在Windows Server 2008 R2,PHP 5.5上工作时遇到问题

我在我的php脚本中执行以下操作:

$language = 'NB';
putenv("LANG=".$language);
putenv("LC_ALL=".$language); 
setlocale(LC_ALL, $language);
$domain = 'messages';
bindtextdomain($domain, 'C:/path_to_translations/translations'); 
textdomain($domain);

我的翻译文件位于以下目录中:

C:/path_to_translations/translations/NB/LC_MESSAGES/messages.po C:/path_to_translations/translations/NB/LC_MESSAGES/messages.mo

这在使用php 5.3的Windows 7计算机上可以正常工作

我猜NB在Windows上实际上不是有效的语言环境名称,但是setlocale(LC_ALL,'NB')仍然返回'NB'而不是FALSE。不过,要查看这是否与问题有关,我尝试设置$ language ='norwegian',在这种情况下,setlocale(LC_ALL,'norwegian')返回'Norwegian_Norway.1252',并尝试将路径名更改为C:/path_to_translations/translations/norwegian/LC_MESSAGES/messages.mo和C:/path_to_translations/translations/Norwegian_Norway.1252/LC_MESSAGES/messages.mo,还更改了来自'UTF-8的.po和.mo文件的编码转到“ Windows 1252”。但是,我无法在Windows Server 2008 R2 PHP 5.5机器上运行该翻译。

任何帮助表示赞赏!

用户名

更新。从未使gettext与php 5.5一起使用,但是发现其他用户也遇到类似的问题(https://bugs.php.net/bug.php?id=66265

尝试安装php 5.4,现在一切正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章