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 ?

3 réponses


AlexandreP
Réponse acceptée

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.

Azorgh
Réponse acceptée

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 :)