Проблема языка даты при развертывании в Netlify

Это мой первый опыт развертывания сайта в Netlify. Для этого я использую Jigsaw.

Все в порядке, кроме языка даты, который экспортируется в производство.

Когда я создаю свой производственный сайт локально, он отлично работает, отображая дату на испанском языке:

Блог Кенни Хорны: Дата отображается на испанском языке

Я не загружаю одни и те же файлы в netlify, а использую netlify.toml для запуска той же команды для создания тех же файлов:

# netlify.toml

[build]

command = "npm run production"
publish = "build_production"
environment = { PHP_VERSION = "7.2" }

Но в производстве сайт отображает месяц на английском языке:

Блог Кенни Хорны: Дата отображается на английском языке

Вы можете проверить это вживую здесь.

Примечание

Чтобы отобразить дату, я делаю это:

@php(setlocale(LC_ALL, 'es_ES'))

<p class="text-gray-700 text-md md:mt-0">
{{ $page->author }}  • {{ strftime("%d de %B, %Y", $page->getDate()->getTimestamp()) }}
</p>

Вы когда-нибудь испытывали что-то подобное?

Заранее спасибо за помощь.


Обновлять

Изменил netlify.toml на это, но все равно безуспешно:

[build]

command = "npm run production"
publish = "build_production"

[context.production.environment]
PHP_VERSION = "7.2"
LC_ALL = "es_ES"

person Kenny Horna    schedule 24.10.2019    source источник
comment
попробуйте передать локаль [context.production] environment = { }   -  person Dry7    schedule 26.10.2019
comment
и проверьте phpinfo, возможно, локаль не изменилась   -  person Dry7    schedule 26.10.2019
comment
@Dry7, не могли бы вы дать мне более подробную информацию, пожалуйста?   -  person Kenny Horna    schedule 27.10.2019
comment
я подозреваю, что команда @php (setlocale (LC_ALL, 'es_ES')) игнорируется. Так что нужно пробовать другие способы установки языка.   -  person Dry7    schedule 28.10.2019


Ответы (2)


Возможно setlocale не работает. Поскольку на вашем компьютере работает тот же код, возможно, испанская локаль не установлена ​​на хост-компьютере. См. этот вопрос: https://stackoverflow.com/a/10910009/529024.

Кроме того, setlocale возвращает новую текущую локаль или FALSE, если функциональность локали не реализована на вашей платформе, указанная локаль не существует или имя категории недействительно. setlocale

Таким образом, в этом случае вы можете проверить возвращаемое значение и посмотреть, изменилось ли локальное значение.

person Kalimah    schedule 29.10.2019
comment
Спасибо, я последовал одному из советов по предоставленной вами ссылке, и это сработало. - person Kenny Horna; 02.11.2019

Способ, который работал (благодаря ссылке, предоставленной Kalimah Apps), состоял в том, чтобы изменить это:

@php(setlocale(LC_ALL, 'es_ES'))

К этому:

@php(setlocale(LC_ALL, 'es_ES.UTF-8'))

Теперь работает как надо.

person Kenny Horna    schedule 02.11.2019