这是我第一次在Netlify中部署站点。我正在使用Jigsaw来实现这一目标。
除了在生产环境中导出的日期语言之外,一切都还可以。
当我在本地生成生产站点时,可以很好地以西班牙语显示日期:
我没有将相同的文件上传到netlify,而是使用netlify.toml运行相同的命令来生成相同文件:
# netlify.toml
[build]
command = "npm run production"
publish = "build_production"
environment = { PHP_VERSION = "7.2" }
但是在生产中,该网站以英语显示月份:
您可以实时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"
答案 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'))
现在可以正常工作了。