在Laravel项目中改进timeAgo字段语言转换的一个例子
前言
在我们过去的Laravel项目中,我们经常需要使用像time_ago这样的字段,并将它们转换为我们熟悉的本地语言。有很多方法可以实现这一点,比如编写一个time_ago的辅助函数,并将其转换为本地语言,或者使用carbon的diffForHumans函数,并替换本地语言。
我们过去写的代码是这样的:
这样的
但是当我们需要用中文、繁体中文、日文或韩文替换它时,我们需要编写几个类似的方法,比如:
Time_ago_CN //简体中文time_ago_HK //繁体中文time_ago_JP //日语time_ago_KO //韩语,当项目国际化或需要支持更多语言时,就不方便了。但是最近翻看carbon的官方文件,发现carbon支持多种语言,也就是说carbon已经实现了以上所有的事情。
如果我们想支持中文,我们可以将上述方法添加到模型中
公共函数create dat($ locale=' zh '){ carbon :3360 setlocale($ locale);返回$ this-created _ at-diffForHumans();}然后通过以下方式拨打:
//Chinese $ user-create dat();//9个月前//$ user-create dat(' zh _ HK ');//9个月前//日文$ user-create dat(' ja _ JP ');//9个月前,如果想让它更通用,建议打包成辅助功能
函数time_ago($time,$ locale=' zh '){ $ time=$ time instance of Carbon?$ time : carbon : parse($ time);carbon :3360 setlocale($ locale);return $ time-DiffForHumans();}碳语言支持:https://carbon.nesbot.com/contribute/translate/
默认情况下,laravel5.8支持Carbon2.0。如果低于此版本,可以通过以下方式使用carbon2.0,例如laravel5.6
向composer.json添加以下选项
{ ' require ' : { ' nesbot/carbon ' : ' 2 . 24 . 0 as 1 . 39 . 0 ',' kylekaarns/laravel-carbon-2 ' : ' 1 . 0 . 0 ' } }然后执行composer update来更新我们的依赖项
作曲家更新终于把碳的官方文件地址发给了:https://carbon.nesbot.com/
摘要
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。
版权声明:在Laravel项目中改进timeAgo字段语言转换的一个例子是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。