Hello! J'ai un petit problème avec Laravel 5
J'essaye de traduire les dates (qui sont au format Carbon, donc).
J'ai trouvé sur internet la méthode formatLocalized
Voici donc mon code Blade:
@section('content')
<div class="blog-post">
@if ($this->image)
<img src='{{ asset('images/blog/' . $this->image) }}' class="img-responsive">
@endif
<h2 class="blog-post-title">{{ $post->title }}</h2>
<p class="blog-post-meta">le {{ $post->published_at->formatLocalized('%A %e %B %Y, à %k:%M') }} par <a href="#">{{ $this->author }}</a></p>
{!! Markdown::convertToHtml($this->content) !!}
</div>
@stop
Le problème... c'est que ça ne marche pas! Pourtant, je suis bien en local fr dans app.php, et j'ai également fait
Carbon::setLocale(config('app.locale'));
dans le routeur (en attendant de placer ce bout de code ailleurs. A noter que j'ai aussi testé en mettant ce code directement dans la vue, même résultat
Une idée de la raison ?
Bonjour,
Pour ma part pour changer le format je fais ceci:
use Carbon\Carbon;
/**
* Create a new controller instance.
*
* @internal param Guard $auth
* @internal param Registrar $registrar
*/
public function __construct()
{
Carbon::setLocale(Config::get('app.locale'));
Carbon::setToStringFormat('d/m/Y à H:i:s');
}
Je set les variables de carbon grâce aux contructeurs dans les controllers ou j'utilise les dates ensuite je peux utiliser les dates au bon format.
par exemple dans mon cas pour afficher une date ( avec la méthode diffForHumans avec un tooltip de bootstrap avec la date complet au format ci-dessus )
<time title="{{ $post->created_at }}" data-toggle="tooltip" data-placement="right">
{{ $post->created_at->diffForHumans() }}
<span class="glyphicon glyphicon-time" aria-hidden="true"></span>
</time>
si quelqu'un a une meilleure manière ;)
Bonne continuation.
Tu as aussi le plugin laravel/laravel-date qui est super ! (Il extend de Carbon, mais prend en compte la locale).
A essayer ;)
Ok, merci pour ces réponses, je vais regarder de ce coté si j'arrive a faire quelque chose :)