Php 碳集定位
在我的Laravel5.4应用程序中,我试图将日期本地化为法语和阿拉伯语,但它们始终是英语 这是我的代码: AppServiceProviderPhp 碳集定位,php,date,laravel-5,php-carbon,locate,Php,Date,Laravel 5,Php Carbon,Locate,在我的Laravel5.4应用程序中,我试图将日期本地化为法语和阿拉伯语,但它们始终是英语 这是我的代码: AppServiceProvider class AppServiceProvider extends ServiceProvider { public function boot() { /** * The Config::get('app.locate') value: fr , ar */ \Carbon\Carbon::
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
/**
* The Config::get('app.locate') value: fr , ar
*/
\Carbon\Carbon::setLocale(Config::get('app.locate'));
....
}
}
查看
{{ $user->created_at->formatLocalized('%A %d %B %Y') }}
结果总是:
“2017年10月5日星期四”
-----------------------------------------------------------
我还尝试像这样使用setlocale函数:
setlocale(LC_TIME, 'fr_FR');
setlocale(LC_TIME, 'ar_AR');
它在法语(fr)中工作得很好,但在阿拉伯语(ar)中却不行
setlocale的结果(LC_TIME,'fr_fr')
“Jeudi 05 2017年10月”
setlocale的结果(LC_TIME,'ar_ar')
“2017年10月5日星期四”
-----------------------------------------------------------
我是Mac OS用户,所以我检查软件包语言
locale -a
我没有找到ar_ar包,我尝试了locale gen命令,但它对我不起作用
请提供任何帮助。如果您在翻译方面遇到问题,请检查系统中安装的区域设置(本地和生产)。
locale-用于列出已启用的区域设置的
sudo locale gen fr\u fr.UTF-8
安装新的区域设置
sudo dpkg重新配置
locales以发布所有启用的locale。
然后重新启动系统
不幸的是,基类DateTime没有任何本地化支持。为了开始本地化支持,添加了formatLocalized($format)方法。实现使用当前实例时间戳调用strftime。如果首先使用PHP函数setlocale()设置当前区域设置,则返回的字符串将被格式化为正确的区域设置
setlocale(LC_TIME, 'German');
echo $dt->formatLocalized('%A %d %B %Y'); // Mittwoch 21 Mai 1975
setlocale(LC_TIME, '');
echo $dt->formatLocalized('%A %d %B %Y'); // Wednesday 21 May 1975
参考:
Hi,谢谢你的评论,我会试试这个。注意你正在拉
app.locate
config,你可能想要app.locale
Hi,谢谢你的评论,我使用Mac OS和commande locale gen not found我对Mac不太确定。我已经按照文档添加了。希望如果你用谷歌搜索它,你会得到任何命令。我尝试谷歌,但我没有找到如何向Mac OSsorry添加语言包我不知道,因为我没有使用Mac谢谢你的帮助,伙计。