mur*_*rum 2 php localization strftime laravel laravel-4
我一直在使用Laravel和Homestead在我的本地化形成日期方面遇到很多麻烦(我不知道宅基地是否有任何类型的服务器配置使它不起作用,但这就是我的意思).我想互联网上的任何人都在努力解决同样的问题.我一直在寻找几个小时的答案而没有接近解决方案..这是我的代码.
public function formated_start()
{
setlocale(LC_ALL, 'sv_SE');
return strftime('%A %H:%M', strtotime($this->start));
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过特定的laravel
public function formated_start()
{
App::setLocale('sv_SE')
return strftime('%A %H:%M', strtotime($this->start));
}
Run Code Online (Sandbox Code Playgroud)
仍然有相同的结果没有改变,%A应该是我的语言中的星期几,在这种情况下瑞典语仍然是英语.
Homestead提供了一个Ubuntu系统.因此,首先要检查系统上可用的区域设置locale -a
.也许瑞典语区域名称sv_SE.iso88591
或sv_SE.utf8
.如果未安装,您可以使用以下命令安装:
sudo locale-gen sv_SE sv_SE.utf8
Run Code Online (Sandbox Code Playgroud)
安装完第一个解决方案后setlocale();
应该工作.这将是PHP生成日期的方式.
在安装了所描述的语言环境后,请不要忘记重新启动服务器
sudo nginx restart
Run Code Online (Sandbox Code Playgroud)
Laravel方式
对于Laravel方式,您需要自己生成本地人.首先添加一个语言环境文件/app/lang/sv/days.php
:
<?php
return array(
'Monday' => 'måndag',
'Tuesday' => 'tisdag',
'Wednesday' => '..',
'Thursday' => '..',
'Friday' => '..',
'Saturday' => 'lördag',
'Sunday' => '..',
);
Run Code Online (Sandbox Code Playgroud)
现在,您可以用App::setLocale()
与Lang::get()
:
App::setLocale('sv');
echo Lang::get(sprintf('days.%s', date('l')));
Run Code Online (Sandbox Code Playgroud)
这种方式更复杂,但如果您在无法生成区域设置的共享托管环境中托管Laravel,这可能是一种可能的方式.
归档时间: |
|
查看次数: |
2147 次 |
最近记录: |