Проблема языка дат при развертывании в Netlify - PullRequest
2 голосов
/ 24 октября 2019

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

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

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

Kenny Horna's blog: Date displaying in Spanish

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

# netlify.toml

[build]

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

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

Kenny Horna's blog: Date displaying in English

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

Примечание

Для отображения даты я делаю это:

@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"

Ответы [ 2 ]

4 голосов
/ 29 октября 2019

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

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

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

0 голосов
/ 02 ноября 2019

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

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

На это:

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

Сейчасработает как надо.

...