Laravel : Modifier la langue de la librairie Carbon

Mis à jour il y a 4 mois

Wilo Ahadi

Auteur

Wilo Ahadi

Technologies

Découvrez comment utiliser une autre langue pour la librairie Carbon qui gère les dates dans un projet Laravel.

Introduction

Carbon est une API PHP de gestion des dates qui hérite de la classe DateTime. Le framework Laravel l’intègre dans un projet pour caster (transtyper, transformer) par exemple les dates created_at et updated_at d'un modèle en objet Carbon. Ainsi, nous pouvons appeler les méthodes Carbon sur ces dates.

Au script ci-dessous, j'affiche la date created_at d'un "App\Post" $post de façon facilement lisible pour un être humain sur un template blade :

@php

$post_date = $post->created_at;

@endphp

<p>{{ $post_date->dayName }} - {{ $post_date->isoFormat("LL") }} - {{ $post->created_at->diffForHumans() }}</p>


J'obtiens "Monday - March 2, 2020 - 22 hours ago", tout est en anglais. Nous allons voir au point suivant comment traduire cette date en "lundi - 2 mars 2020 - il y a 23 heures" ou une autre langue de votre choix : anglais (en), Espagnol (es), Russe (ru), ...

Je vous recommande de parcourir la documentation de Carbon pour découvrir ses nombreuses fonctions.

Annonce :

Modifier la langue

Nous pouvons modifier la langue de la librairie Carbon dans un projet Laravel soit en modifiant la langue globale de l'application dans la fonction boot() du fichier app\Providers\AppServiceProvider.php :

<?php

namespace App\Providers;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    
    // ...

    public function boot()
    {
        // On défini le "français" comme langue globale de l'application
        \App::setLocale('fr');
    }
}

Ou en modifiant spécifiquement la langue de Carbon :

<?php

namespace App\Providers;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    
    // ...

    public function boot()
    {
        // On défini le "français" comme langue globale de Carbon
        \Carbon\Carbon::setLocale('fr');
    }
}


Il ne reste plus maintenant qu'à actualiser la page dans le navigateur pour voir la traduction.

Annonce :
Wilo Ahadi
Wilo Ahadi, l'auteur

Passionné de l'informatique, je suis spécialiste en techniques des systèmes et réseaux, développeur web et mobile, Infographiste et designer, ... J'aime partager mon expérience en formant sur Akili School

Voir mon profil Suivre