我在我的项目中有工作本地化。工作意味着我的项目被翻译成locale/sk
文件夹中的任何语言,sk
为slovak作为我的默认系统语言。Setlocale返回false(WAMP)
设置为其他语言不起作用。我试过$lang = 'cs'
,'cz'
,'en'
,'en_UK'
, 'en_UK.utf8'
等。尽管如此,只有'sk'
文件夹中的翻译被采用并且setlocale()
函数仍然返回false。我试图在浏览器中更改默认语言 - 无效。
这是我的代码:
putenv("LANG=$lang");
setlocale(LC_ALL, $lang);
bindtextdomain("messages", realpath("../localem"));
textdomain("messages");
...
_("Welcome!")
我也曾尝试这些:
putenv("LANGUAGE=$lang");
putenv('LC_ALL=$lang');
任何建议都欢迎。
编辑:
$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'
。
在列表中的所有这些都提到:
http://msdn.microsoft.com/en-us/library/cdax410z%28v=vs.80%29.aspx
感谢您的反馈。我编辑我的问题,报告进度(仍然无法弄清楚,现在我开始感到困惑) – 2012-07-16 13:15:22
也,甚至认为我不会得到错误,没有文件夹中的翻译“否”,“也”,或者'no_NO'被采用,但仍然是'sk'文件夹中的一个。 – 2012-07-16 13:21:10
如果没有粘贴这些信息,也无法说出寻找翻译的逻辑是什么。对于我们所知道的,可能甚至不依赖于setlocale的值。 – MatsLindh 2012-07-16 13:22:19