首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Setlocale返回false (WAMP)

Setlocale返回false (WAMP)
EN

Stack Overflow用户
提问于 2012-07-16 19:38:46
回答 1查看 2.9K关注 0票数 2

我在我的项目中有本地化工作。工作意味着我的项目将被翻译成我在locale/sk文件夹中拥有的任何语言,sk是我默认的系统语言。

设置为任何其他语言都不起作用。我尝试过$lang = 'cs''cz''en''en_UK''en_UK.utf8'等。尽管如此,只有'sk'文件夹中的翻译被采用,并且setlocale()函数仍然返回false。我已经尝试在浏览器中更改默认语言-没有效果。

这是我的代码:

代码语言:javascript
复制
putenv("LANG=$lang"); 
setlocale(LC_ALL, $lang); 
bindtextdomain("messages", realpath("../localem")); 
textdomain("messages");
...
_("Welcome!")

我也尝试过这些:

代码语言:javascript
复制
putenv("LANGUAGE=$lang"); 
putenv('LC_ALL=$lang');

欢迎提出任何建议。

编辑:

代码语言:javascript
复制
$loc = array('nor');
if (setlocale(LC_ALL, $loc)==false) print ' false'; else print setlocale(LC_ALL, $loc);

'nor'打印Norwegian (Bokmĺl)_Norway.1252'rus'俄语,但是'svk'打印false,'cze'也打印false。

在列表中,所有这些都被提到:

http://msdn.microsoft.com/en-us/library/cdax410z%28v=vs.80%29.aspx

EN

回答 1

Stack Overflow用户

发布于 2012-07-16 20:57:11

Windows对区域设置使用另一种格式,请参阅MSDN: List of Country/Region Strings

您可以通过在数组中发送区域设置列表来将区域设置列表发送到setlocale,例如,获取挪威的月份名称和时间格式:

代码语言:javascript
复制
setlocale(LC_TIME, array('nb_NO.UTF-8', 'no_NO.UTF-8', 'nor'));

但是,Windows可能会以UTF-8以外的其他编码返回字符串,因此您可能希望手动处理此问题(从cpXXXX转换为UTF-8)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11503485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档