1

在设置gettextPHP 时,需要声明(除其他外)这两件事(在我的示例中,我正在使用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,但没有任何变化。

所以我只是想知道它是否可以通过配置文件来完成?

4

0 回答 0