在设置gettext
PHP 时,需要声明(除其他外)这两件事(在我的示例中,我正在使用en_US
):
setlocale(LC_MESSAGES, 'en_US.utf8');
putenv('LANG=en_US.utf8');
我试图将这些东西移到 PHP 配置文件中,所以我设置了环境变量LANG
:
env[LANG] = 'en_US.utf8'
这似乎没问题,第二个命令不再需要它才能工作。
但似乎没有任何这样的替代方案LC_MESSAGES
。在我的情况下将其设置为环境变量不起作用,尽管文档中setlocale()
说:
如果 locale 为 NULL 或空字符串 "",则 locale 名称将从与上述类别同名的环境变量的值中设置,或者从 "LANG" 中设置。
因为在我的情况下,LC_MESSAGES
它不是空的,而是返回C
,我不知道它的含义以及该值的来源。
我在文件中找到的最接近的东西php.ini
是一个名为intl.default_locale
,我已将其设置为intl.default_locale=en_US.utf8
,但没有任何变化。
所以我只是想知道它是否可以通过配置文件来完成?