- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想将演出日期翻译成“德语”并采用以下格式:
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/
我是一名优秀的程序员,十分优秀!