部署到Netlify时的日期语言问题

时间:2019-10-24 15:32:27

标签: php laravel laravel-blade netlify static-site

这是我第一次在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

您可以实时here对其进行检查。

注意

要显示我正在执行的日期:

@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 个答案:

答案 0 :(得分:4)

可能setlocale无法正常工作。由于相同的代码可在您的计算机上工作,因此可能没有在托管计算机上安装西班牙语语言环境。看到以下问题:https://stackoverflow.com/a/10910009/529024

此外,setlocale返回新的当前语言环境;如果您的平台上未实现语言环境功能,指定的语言环境不存在或类别名称无效,则返回FALSE。 setlocale

因此,在这种情况下,您可以检查返回值并查看本地是否已更改。

答案 1 :(得分:0)

起作用的方式(由于 Kalimah Apps 提供的链接)是更改此方式:

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

对此:

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

现在可以正常工作了。