gpt4 book ai didi

php - 如何将 toDayDateTimeString 方法翻译成其他语言?

转载 作者:可可西里 更新时间:2023-11-01 12:55:00 26 4
gpt4 key购买 nike

我想将演出日期翻译成“德语”并采用以下格式:

 Thu, Mar 8, 2018 - 6:30

我在“app.php”中有:

'locale' => 'de',

然后在我使用的 View 中:

{{$post->date->toDayDateTimeString()}}

但结果还是以“en”出现:

 Thu, Mar 8, 2018 6:30 AM

但例如使用其他碳方法:{$post->date->diffForHumans()}} 结果出现在“de”中,但我不想要那种格式,我想要 toDayDateTimeString() 格式。

您知道如何将这种格式的 toDayDateTimeString() 翻译成另一种语言吗?那么是否可以用另一种语言显示日期,例如“2018 年 3 月 8 日星期四 - 6:30”?

最佳答案

为了将日期翻译成德语,您必须设置适当的 locale , 在使用 Carbon 之前。

作为您认为的测试,这应该足够了:

<?php setlocale(LC_TIME, 'de_DE'); ?>

{{ $post->date->formatLocalized('%a, %b %d, %Y %H:%M') }}

有关其他格式选项,请参阅 strftime()功能手册。

您必须确保在您的系统中启用了您想要的语言环境。

我假设你在 Linux 环境中,所以你必须编辑 locale.gen 文件(Arch Linux 和 Ubuntu 在 /etc/locale 中有它.gen,其他发行版可能在其他地方有它),并取消注释相应的行:

# de_DE ISO-8859-1
# de_DE.UTF-8 UTF-8

必须更改为

de_DE ISO-8859-1
de_DE.UTF-8 UTF-8

更新 locale.gen 文件后,您需要运行 locale-gen,以便您刚刚取消注释的那些新语言环境可以从PHP.

$ locale-gen

现在确认新的语言环境可用,使用:

$ locale -a

现在,返回您的浏览器,您将成功看到翻译的日期/时间。

已编辑:正如我们后来发现的那样,Carbon 类中的 toDayDateTimeString() 方法不适用于本地化,因此 formatLocalized() 必须被使用。

关于php - 如何将 toDayDateTimeString 方法翻译成其他语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49326601/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com