Gettext和PHP 5.3.5 xampp - 使用未定义的常量LC_MESSAGES - 假定为'LC_MESSAGES'

时间:2011-09-08 20:21:07

标签: php gettext setlocale

我收到以下错误:

Notice: Use of undefined constant LC_MESSAGES - assumed 'LC_MESSAGES' in C:\Program Files\xampp\htdocs\xampp\phptest\resources\testi18n.php on line 19

Notice: Undefined index: language in C:\Program Files\xampp\htdocs\xampp\phptest\resources\testi18n.php on line 19

Deprecated: setlocale() [function.setlocale]: Passing locale category name as string is deprecated. Use the LC_* -constants instead in C:\Program Files\xampp\htdocs\xampp\phptest\resources\testi18n.php on line 19

代码:

<?php

  setlocale( LC_MESSAGES, $_GET['language']);

  bindtextdomain('messages', 'locale');
...
 ?>

我测试了gettext扩展是用php安装的(它支持)

2 个答案:

答案 0 :(得分:3)

参见manual(强调我的):

  

系统响应的LC_MESSAGES(如果使用libintl 编译PHP,则可用)

LC_ALL可能是您用途的有用替代品。

答案 1 :(得分:1)

请不要使用LC_ALL,因为使用法语等语言可能会产生非常糟糕的副作用。

在我的情况下floatval()和浮点数转换为字符串使用昏迷而不是点作为小数点分隔符。它只是在我的数据库中乱七八糟。