【问题标题】:Date language problem when deploying to Netlify部署到 Netlify 时的日期语言问题
【发布时间】:2020-02-20 23:41:53
【问题描述】:

这是我第一次在 Netlify 中部署站点。我正在使用Jigsaw 来实现这一目标。

一切正常,除了生产中导出的日期语言。

当我在本地生成我的生产站点时,它可以很好地以西班牙语显示日期:

我没有将完全相同的文件上传到 netlify,而是使用 netlify.toml 运行相同的命令以生成 same 文件:

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

【问题讨论】:

  • 尝试将语言环境传递给[context.production] environment = { }
  • 并检查 phpinfo,可能语言环境没有改变
  • @Dry7 你能给我更多的细节吗?
  • 我的直觉是@php 命令(setlocale (LC_ALL, 'es_ES'))被忽略了。所以你需要尝试其他方式来设置语言。

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


【解决方案1】:

可能 setlocale 不起作用。由于相同的代码可以在您的机器上运行,因此主机上可能未安装西班牙语语言环境。看到这个问题:https://stackoverflow.com/a/10910009/529024

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

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

【讨论】:

  • 谢谢,我遵循了您提供的链接的建议之一,它奏效了。
【解决方案2】:

工作方式(感谢 Kalimah Apps 提供的链接)是改变这一点:

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

到这里:

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

现在可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-25
    • 2019-01-02
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多