无法修改流明的本地化

时间:2015-11-21 20:24:17

标签: laravel lumen

此主题已经放置并已解决,但是在Lumen更新到5.1版后,它已不再有效!

根据我问some times agoanother的问题,我们只需添加:

app()->setLocale('fr');

bootsrap/app.php或在控制器功能中使更改变为活动状态。

但它似乎今天不起作用。

应用上面的代码后,我应该将日期更改为法语,但我仍然会使用英语格式(例如:Wednesday 18 November 2015而不是Mercredi 18 Novembre 2015)。

您的帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

我认为你的问题与碳有关。您可以阅读the documentation和Carbon示例:

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

// In your case (to be more accurate) :
setlocale(LC_TIME, 'French');
ucfirst($dt->formatLocalized('%A %d %B %Y à %Hh%M')); // Mercredi 21 mai 2015 à 14h25

你应该在这样的流明中使用setlocale(当然在 bootstrap / app.php 文件中):

require_once __DIR__ . '/../vendor/autoload.php';
Dotenv::load(__DIR__ . '/../');

setlocale(LC_TIME, 'fr_FR.utf8', 'fr_FR.utf-8', 'fr_FR@euro', 'fr_FR', 'fr', 'French');

或者您可以使用此软件包:https://github.com/jenssegers/date并使用:

bootstrap / app.php 文件中:

// ...

$app->register(Jenssegers\Date\DateServiceProvider::class);
class_alias(Jenssegers\Date\Date::class, 'Date');
Date::setLocale(env('APP_LOCALE'));

您的模型中

// ...
protected $dates = ['x_date'];
public function getXDateAttribute() {
    return Date::parse($this->attributes['x_date'])
             ->format('l j F Y H:i:s');
}

public function setXDateAttribute($date) {
    $this->attributes['x_date'] =
    Date::createFromFormat('l j F Y H:i:s', $date);
}