在为PHP设置gettext
时,需要声明(其中包括)以下两项(在我的示例中,我正在使用en_US
):
setlocale(LC_MESSAGES, 'en_US.utf8');
putenv('LANG=en_US.utf8');
我正尝试将这些内容移到PHP配置文件中,因此我已经为LANG
设置了环境变量,如下所示:
env[LANG] = 'en_US.utf8'
这似乎还可以,并且不再需要使用第二个命令。
但是LC_MESSAGES
似乎没有其他选择。尽管setlocale()
的文档中说:
如果语言环境为NULL或空字符串“”,则将设置语言环境名称 从与变量名称相同的环境变量的值中 以上类别,或来自“ LANG”。
因为在我的情况下,LC_MESSAGES
不是空的,而是返回了C
,我不知道它的含义和值的来源。
我在php.ini
文件中找到的最接近的东西是一个名为intl.default_locale
的文件,我将其设置为intl.default_locale=en_US.utf8
,但没有任何变化。
所以我只是想知道是否可以通过配置文件来完成?