При настройке 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()
написано:
Если языковой стандарт равен NULL или пустой строке "", имена языковых стандартовбудет установлен из значений переменных окружения с теми же именами, что и вышеупомянутые категории, или из "LANG".
Потому что в моем случае LC_MESSAGES
не пусто, а вместо этого возвращаетC
, который я понятия не имею, что это значит и откуда эта ценность.
Самым близким, что я нашел в файле php.ini
, был файл с именем intl.default_locale
, который я установил на intl.default_locale=en_US.utf8
, но без изменений.
Так что япросто интересно, можно ли это сделать через конфигурационные файлы?