Как установить локаль для `LC_MESSAGES` через файлы конфигурации? - PullRequest
0 голосов
/ 29 декабря 2018

При настройке 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, но без изменений.

Так что япросто интересно, можно ли это сделать через конфигурационные файлы?

...