PHP Gettext不工作
这是我的PHP Gettext不工作,php,locale,gettext,Php,Locale,Gettext,这是我的/locale/fr/LC\u MESSAGES/MESSAGES.po文件: msgid "NO GOOD" msgstr "IT WORKED!" 用于生成.mo文件的命令: $ msgfmt -o locale/fr/LC_MESSAGES/messages.mo locale/fr/LC_MESSAGES/messages.po 我的PHP文件(出于测试目的,通过CLI以root用户身份运行) PHPInfo: GetText Support => enabled 你
/locale/fr/LC\u MESSAGES/MESSAGES.po
文件:
msgid "NO GOOD"
msgstr "IT WORKED!"
用于生成.mo文件的命令:
$ msgfmt -o locale/fr/LC_MESSAGES/messages.mo locale/fr/LC_MESSAGES/messages.po
我的PHP文件(出于测试目的,通过CLI以root用户身份运行)
PHPInfo:
GetText Support => enabled
你知道为什么这可能不起作用吗?结果表明,它不起作用的原因是我选择的区域设置必须是系统能够识别的区域设置
在我的例子中,
fr
不是有效的区域设置,我必须选择系统识别的fr\u fr.UTF-8
。结果表明,它不工作的原因是我选择的区域设置必须是系统识别的区域设置
在我的例子中,fr
不是有效的区域设置,我必须选择系统识别的fr\u fr.UTF-8
提示在使用gettext时,请始终检查函数返回值。对于初学者,您需要使用
bind\u textdomain\u codeset()
指定MO文件的字符集。您还需要确保系统中安装了相应的区域设置文件(假设您使用的是基于Linux的服务器),并且该区域设置文件具有正确的字符集。查看本文了解更多详细信息:提示在使用gettext时,请始终检查函数返回值。对于初学者,您需要使用bind\u textdomain\u codeset()
指定MO文件的字符集。您还需要确保系统中安装了相应的区域设置文件(假设您使用的是基于Linux的服务器),并且该区域设置文件具有正确的字符集。查看本文了解更多详细信息:仅供参考,如果指定的区域设置无法识别,setlocale()
函数将返回false
返回新的当前区域设置,如果您的平台上没有实现区域设置功能,指定的区域设置不存在或类别名称无效,则返回FALSE。
仅供参考,如果您指定的区域设置无法识别,setlocale()
函数将返回FALSE
返回新的当前区域设置,如果您的平台上未实现区域设置功能,指定的区域设置不存在或类别名称无效,则返回FALSE。
$ NO GOOD
GetText Support => enabled