Programmation · Laravel 11

Ajouter des langues avec Laravel 11

Mael      21 février 2025

Cette page est utilisé comme mnémotechnique.

Générer les fichiers anglais php artisan lang:publish.

Créer le fichier ./lang/fr/actions.php.

    <?php

    declare(strict_types=1);

    return [
        'accept'          => 'Accepter',
        'action'          => 'Action',
        'actions'         => 'Actions',
        'add'             => 'Ajouter',
        'admin'           => 'Administrateur',
        'agree'           => 'Accepter',
        'archive'         => 'Archive',
        'assign'          => 'Attribuer',
        'associate'       => 'Associé',
        'attach'          => 'Attacher',
        'browse'          => 'Parcourir',
        'cancel'          => 'Annuler',
        'choose'          => 'Choisir',
        'choose_file'     => 'Choisir le fichier',
        'choose_image'    => 'Choisir une image',
        'click_to_copy'   => 'Cliquez pour copier',
        'close'           => 'Fermer',
        'collapse'        => 'Effondrement',
        'collapse_all'    => 'Réduire tout',
        'comment'         => 'Commentaire',
        'confirm'         => 'Confirmer',
        'connect'         => 'Connecter',
        'create'          => 'Créer',
        'delete'          => 'Supprimer',
        'detach'          => 'Détacher',
        'details'         => 'Détails',
        'disable'         => 'Désactiver',
        'discard'         => 'Jeter',
        'done'            => 'Fait',
        'down'            => 'Vers le bas',
        'duplicate'       => 'Dupliquer',
        'edit'            => 'Modifier',
        'enable'          => 'Activer',
        'expand'          => 'Développer',
        'expand_all'      => 'Développer tout',
        'explanation'     => 'Explication',
        'export'          => 'Exporter',
        'file'            => 'Déposer',
        'files'           => 'Des dossiers',
        'go_home'         => 'Rentrer chez soi',
        'hide'            => 'Cacher',
        'home'            => 'Maison',
        'image'           => 'Image',
        'impersonate'     => 'Imiter',
        'impersonation'   => 'Imitation',
        'import'          => 'Importer',
        'introduction'    => 'Introduction',
        'like'            => 'Comme',
        'load'            => 'Charger',
        'localize'        => 'Localiser',
        'log_in'          => 'Se connecter',
        'log_out'         => 'Se déconnecter',
        'named'           => [
            'add'       => 'Ajouter :name',
            'choose'    => 'Choisissez :name',
            'create'    => 'Créer :name',
            'delete'    => 'Supprimer :name',
            'duplicate' => 'Dupliquer :name',
            'edit'      => 'Modifier :name',
            'hide'      => 'Masquer :name',
            'import'    => 'Importer :name',
            'new'       => 'Nouveau :name',
            'restore'   => 'Restaurer :name',
            'save'      => 'Économisez :name',
            'search'    => 'Recherche :name',
            'show'      => 'Afficher :name',
            'update'    => 'Mise à jour :name',
            'view'      => 'Voir :name',
        ],
        'new'             => 'Nouveau',
        'no'              => 'Non',
        'open'            => 'Ouvrir',
        'open_website'    => 'Ouvert sur le site',
        'preview'         => 'Aperçu',
        'price'           => 'Prix',
        'record'          => 'Enregistrer',
        'restore'         => 'Restaurer',
        'save'            => 'Sauvegarder',
        'save_and_close'  => 'Sauvegarder et fermer',
        'save_and_return' => 'Enregistrer et retourner',
        'search'          => 'Recherche',
        'select'          => 'Sélectionner',
        'select_all'      => 'Tout sélectionner',
        'send'            => 'Envoyer',
        'settings'        => 'Paramètres',
        'show'            => 'Montrer',
        'show_all'        => 'Afficher tout',
        'sign_in'         => 'Se connecter',
        'solve'           => 'Résoudre',
        'start'           => 'Commencer',
        'stop'            => 'Arrêt',
        'submit'          => 'Soumettre',
        'subscribe'       => 'S\'abonner',
        'switch'          => 'Changer',
        'switch_to_role'  => 'Passer au rôle',
        'tag'             => 'Étiqueter',
        'tags'            => 'Mots clés',
        'target_link'     => [
            'blank'  => 'Ouvrir dans une nouvelle fenêtre',
            'parent' => 'Ouvrir dans un frame parent',
            'self'   => 'Ouvrir dans une fenêtre actuelle',
            'top'    => 'Ouvrir dans le cadre le plus haut',
        ],
        'translate'       => 'Traduire',
        'translate_it'    => 'Traduis le',
        'unpack'          => 'Déballer',
        'unsubscribe'     => 'Se désabonner',
        'up'              => 'En haut',
        'update'          => 'Mise à jour',
        'user'            => 'Utilisateur',
        'view'            => 'Voir',
        'yes'             => 'Oui',
    ];

Créer le fichier ./lang/fr/auth.php.

    <?php

    declare(strict_types=1);

    return [
        'failed'   => 'Ces identifiants ne correspondent pas à nos enregistrements.',
        'password' => 'Le mot de passe est incorrect',
        'throttle' => 'Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.',
    ];

Créer le fichier ./lang/fr/http-statuses.php.

    <?php

    declare(strict_types=1);

    return [
        '0'            => 'Erreur inconnue',
        '100'          => 'Continuer',
        '101'          => 'Protocoles de commutation',
        '102'          => 'En traitement',
        '200'          => 'OK',
        '201'          => 'Créé',
        '202'          => 'Accepté',
        '203'          => 'Informations non autorisées',
        '204'          => 'Pas de contenu',
        '205'          => 'Réinitialiser le contenu',
        '206'          => 'Contenu partiel',
        '207'          => 'Multi-statut',
        '208'          => 'Déjà rapporté',
        '226'          => 'J\'ai l\'habitude',
        '300'          => 'Choix multiples',
        '301'          => 'Déplacé de façon permanente',
        '302'          => 'A trouvé',
        '303'          => 'Voir autre',
        '304'          => 'Non modifié',
        '305'          => 'Utiliser un proxy',
        '307'          => 'Redirection temporaire',
        '308'          => 'Redirection permanente',
        '400'          => 'Mauvaise Demande',
        '401'          => 'Non autorisé',
        '402'          => 'Paiement Requis',
        '403'          => 'Interdit',
        '404'          => 'Page non trouvée',
        '405'          => 'Méthode Non Autorisée',
        '406'          => 'Pas acceptable',
        '407'          => 'Authentification proxy requise',
        '408'          => 'Délai d\'expiration de la demande',
        '409'          => 'Conflit',
        '410'          => 'Disparu',
        '411'          => 'Longueur requise',
        '412'          => 'La précondition a échoué',
        '413'          => 'Charge utile trop grande',
        '414'          => 'URI trop long',
        '415'          => 'Type de support non supporté',
        '416'          => 'Plage non satisfaisante',
        '417'          => 'Échec de l\'attente',
        '418'          => 'Je suis une théière',
        '419'          => 'La session a expiré',
        '421'          => 'Demande mal dirigée',
        '422'          => 'Entité non traitable',
        '423'          => 'Fermé à clef',
        '424'          => 'Dépendance échouée',
        '425'          => 'Trop tôt',
        '426'          => 'Mise à niveau requise',
        '428'          => 'Condition préalable requise',
        '429'          => 'Trop de demandes',
        '431'          => 'Champs d\'en-tête de requête trop grands',
        '444'          => 'Connexion fermée sans réponse',
        '449'          => 'Réessayer avec',
        '451'          => 'Indisponible pour des raisons légales',
        '499'          => 'Demande fermée du client',
        '500'          => 'Erreur Interne du Serveur',
        '501'          => 'Pas mis en œuvre',
        '502'          => 'Mauvaise passerelle',
        '503'          => 'Mode de Maintenance',
        '504'          => 'Délai d\'attente de la passerelle',
        '505'          => 'Version HTTP non prise en charge',
        '506'          => 'La variante négocie également',
        '507'          => 'Espace insuffisant',
        '508'          => 'Boucle détectée',
        '509'          => 'Limite de bande passante dépassée',
        '510'          => 'Non prolongé',
        '511'          => 'Authentification réseau requise',
        '520'          => 'Erreur inconnue',
        '521'          => 'Le serveur Web est en panne',
        '522'          => 'La connexion a expiré',
        '523'          => 'L\'origine est inaccessible',
        '524'          => 'Un dépassement de délai s\'est produit',
        '525'          => 'Échec de la prise de contact SSL',
        '526'          => 'Certificat SSL invalide',
        '527'          => 'Erreur de Railgun',
        '598'          => 'Erreur de délai de lecture réseau',
        '599'          => 'Erreur de délai de connexion réseau',
        'unknownError' => 'Erreur inconnue',
    ];

Créer le fichier ./lang/fr/pagination.php.

    <?php

    declare(strict_types=1);

    return [
        'next'     => 'Suivant &raquo;',
        'previous' => '&laquo; Précédent',
    ];

Créer le fichier ./lang/fr/passwords.php.

    <php

    declare(strict_types=1);

    return [
        'reset'     => 'Votre mot de passe a été réinitialisé !',
        'sent'      => 'Nous vous avons envoyé par email le lien de réinitialisation du mot de passe !',
        'throttled' => 'Veuillez patienter avant de réessayer.',
        'token'     => 'Ce jeton de réinitialisation du mot de passe n\'est pas valide.',
        'user'      => 'Aucun utilisateur n\'a été trouvé avec cette adresse email.',
    ];

Créer le fichier ./lang/fr/validation.php.

    <?php

    declare(strict_types=1);

    return [
        'accepted'             => 'Le champ :attribute doit être accepté.',
        'accepted_if'          => 'Le champ :attribute doit être accepté quand :other a la valeur :value.',
        'active_url'           => 'Le champ :attribute n\'est pas une URL valide.',
        'after'                => 'Le champ :attribute doit être une date postérieure au :date.',
        'after_or_equal'       => 'Le champ :attribute doit être une date postérieure ou égale au :date.',
        'alpha'                => 'Le champ :attribute doit contenir uniquement des lettres.',
        'alpha_dash'           => 'Le champ :attribute doit contenir uniquement des lettres, des chiffres et des tirets.',
        'alpha_num'            => 'Le champ :attribute doit contenir uniquement des chiffres et des lettres.',
        'array'                => 'Le champ :attribute doit être un tableau.',
        'ascii'                => 'Le champ :attribute ne doit contenir que des caractères alphanumériques et des symboles codés sur un octet.',
        'before'               => 'Le champ :attribute doit être une date antérieure au :date.',
        'before_or_equal'      => 'Le champ :attribute doit être une date antérieure ou égale au :date.',
        'between'              => [
            'array'   => 'Le tableau :attribute doit contenir entre :min et :max éléments.',
            'file'    => 'La taille du fichier de :attribute doit être comprise entre :min et :max kilo-octets.',
            'numeric' => 'La valeur de :attribute doit être comprise entre :min et :max.',
            'string'  => 'Le texte :attribute doit contenir entre :min et :max caractères.',
        ],
        'boolean'              => 'Le champ :attribute doit être vrai ou faux.',
        'can'                  => 'Le champ :attribute contient une valeur non autorisée.',
        'confirmed'            => 'Le champ de confirmation :attribute ne correspond pas.',
        'current_password'     => 'Le mot de passe est incorrect.',
        'date'                 => 'Le champ :attribute n\'est pas une date valide.',
        'date_equals'          => 'Le champ :attribute doit être une date égale à :date.',
        'date_format'          => 'Le champ :attribute ne correspond pas au format :format.',
        'decimal'              => 'Le champ :attribute doit comporter :decimal décimales.',
        'declined'             => 'Le champ :attribute doit être décliné.',
        'declined_if'          => 'Le champ :attribute doit être décliné quand :other a la valeur :value.',
        'different'            => 'Les champs :attribute et :other doivent être différents.',
        'digits'               => 'Le champ :attribute doit contenir :digits chiffres.',
        'digits_between'       => 'Le champ :attribute doit contenir entre :min et :max chiffres.',
        'dimensions'           => 'La taille de l\'image :attribute n\'est pas conforme.',
        'distinct'             => 'Le champ :attribute a une valeur en double.',
        'doesnt_end_with'      => 'Le champ :attribute ne doit pas finir avec une des valeurs suivantes : :values.',
        'doesnt_start_with'    => 'Le champ :attribute ne doit pas commencer avec une des valeurs suivantes : :values.',
        'email'                => 'Le champ :attribute doit être une adresse e-mail valide.',
        'ends_with'            => 'Le champ :attribute doit se terminer par une des valeurs suivantes : :values',
        'enum'                 => 'Le champ :attribute sélectionné est invalide.',
        'exists'               => 'Le champ :attribute sélectionné est invalide.',
        'extensions'           => 'Le champ :attribute doit avoir l\'une des extensions suivantes : :values.',
        'file'                 => 'Le champ :attribute doit être un fichier.',
        'filled'               => 'Le champ :attribute doit avoir une valeur.',
        'gt'                   => [
            'array'   => 'Le tableau :attribute doit contenir plus de :value éléments.',
            'file'    => 'La taille du fichier de :attribute doit être supérieure à :value kilo-octets.',
            'numeric' => 'La valeur de :attribute doit être supérieure à :value.',
            'string'  => 'Le texte :attribute doit contenir plus de :value caractères.',
        ],
        'gte'                  => [
            'array'   => 'Le tableau :attribute doit contenir au moins :value éléments.',
            'file'    => 'La taille du fichier de :attribute doit être supérieure ou égale à :value kilo-octets.',
            'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :value.',
            'string'  => 'Le texte :attribute doit contenir au moins :value caractères.',
        ],
        'hex_color'            => 'Le champ :attribute doit être une couleur hexadécimale valide.',
        'image'                => 'Le champ :attribute doit être une image.',
        'in'                   => 'Le champ :attribute est invalide.',
        'in_array'             => 'Le champ :attribute n\'existe pas dans :other.',
        'integer'              => 'Le champ :attribute doit être un entier.',
        'ip'                   => 'Le champ :attribute doit être une adresse IP valide.',
        'ipv4'                 => 'Le champ :attribute doit être une adresse IPv4 valide.',
        'ipv6'                 => 'Le champ :attribute doit être une adresse IPv6 valide.',
        'json'                 => 'Le champ :attribute doit être un document JSON valide.',
        'list'                 => 'Le champ :attribute doit être une liste.',
        'lowercase'            => 'Le champ :attribute doit être en minuscules.',
        'lt'                   => [
            'array'   => 'Le tableau :attribute doit contenir moins de :value éléments.',
            'file'    => 'La taille du fichier de :attribute doit être inférieure à :value kilo-octets.',
            'numeric' => 'La valeur de :attribute doit être inférieure à :value.',
            'string'  => 'Le texte :attribute doit contenir moins de :value caractères.',
        ],
        'lte'                  => [
            'array'   => 'Le tableau :attribute doit contenir au plus :value éléments.',
            'file'    => 'La taille du fichier de :attribute doit être inférieure ou égale à :value kilo-octets.',
            'numeric' => 'La valeur de :attribute doit être inférieure ou égale à :value.',
            'string'  => 'Le texte :attribute doit contenir au plus :value caractères.',
        ],
        'mac_address'          => 'Le champ :attribute doit être une adresse MAC valide.',
        'max'                  => [
            'array'   => 'Le tableau :attribute ne peut pas contenir plus que :max éléments.',
            'file'    => 'La taille du fichier de :attribute ne peut pas dépasser :max kilo-octets.',
            'numeric' => 'La valeur de :attribute ne peut pas être supérieure à :max.',
            'string'  => 'Le texte de :attribute ne peut pas contenir plus de :max caractères.',
        ],
        'max_digits'           => 'Le champ :attribute ne doit pas avoir plus de :max chiffres.',
        'mimes'                => 'Le champ :attribute doit être un fichier de type : :values.',
        'mimetypes'            => 'Le champ :attribute doit être un fichier de type : :values.',
        'min'                  => [
            'array'   => 'Le tableau :attribute doit contenir au moins :min éléments.',
            'file'    => 'La taille du fichier de :attribute doit être supérieure ou égale à :min kilo-octets.',
            'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :min.',
            'string'  => 'Le texte de :attribute doit contenir au moins :min caractères.',
        ],
        'min_digits'           => 'Le champ :attribute doit avoir au moins :min chiffres.',
        'missing'              => 'Le champ :attribute doit être manquant.',
        'missing_if'           => 'Le champ :attribute doit être manquant quand :other a la valeur :value.',
        'missing_unless'       => 'Le champ :attribute doit être manquant sauf si :other a la valeur :value.',
        'missing_with'         => 'Le champ :attribute doit être manquant quand :values est présent.',
        'missing_with_all'     => 'Le champ :attribute doit être manquant quand :values sont présents.',
        'multiple_of'          => 'La valeur de :attribute doit être un multiple de :value',
        'not_in'               => 'Le champ :attribute sélectionné n\'est pas valide.',
        'not_regex'            => 'Le format du champ :attribute n\'est pas valide.',
        'numeric'              => 'Le champ :attribute doit contenir un nombre.',
        'password'             => [
            'letters'       => 'Le champ :attribute doit contenir au moins une lettre.',
            'mixed'         => 'Le champ :attribute doit contenir au moins une majuscule et une minuscule.',
            'numbers'       => 'Le champ :attribute doit contenir au moins un chiffre.',
            'symbols'       => 'Le champ :attribute doit contenir au moins un symbole.',
            'uncompromised' => 'La valeur du champ :attribute est apparue dans une fuite de données. Veuillez choisir une valeur différente.',
        ],
        'present'              => 'Le champ :attribute doit être présent.',
        'present_if'           => 'Le champ :attribute doit être présent lorsque :other est :value.',
        'present_unless'       => 'Le champ :attribute doit être présent sauf si :other vaut :value.',
        'present_with'         => 'Le champ :attribute doit être présent lorsque :values est présent.',
        'present_with_all'     => 'Le champ :attribute doit être présent lorsque :values sont présents.',
        'prohibited'           => 'Le champ :attribute est interdit.',
        'prohibited_if'        => 'Le champ :attribute est interdit quand :other a la valeur :value.',
        'prohibited_unless'    => 'Le champ :attribute est interdit à moins que :other est l\'une des valeurs :values.',
        'prohibits'            => 'Le champ :attribute interdit :other d\'être présent.',
        'regex'                => 'Le format du champ :attribute est invalide.',
        'required'             => 'Le champ :attribute est obligatoire.',
        'required_array_keys'  => 'Le champ :attribute doit contenir des entrées pour : :values.',
        'required_if'          => 'Le champ :attribute est obligatoire quand la valeur de :other est :value.',
        'required_if_accepted' => 'Le champ :attribute est obligatoire quand le champ :other a été accepté.',
        'required_unless'      => 'Le champ :attribute est obligatoire sauf si :other est :values.',
        'required_with'        => 'Le champ :attribute est obligatoire quand :values est présent.',
        'required_with_all'    => 'Le champ :attribute est obligatoire quand :values sont présents.',
        'required_without'     => 'Le champ :attribute est obligatoire quand :values n\'est pas présent.',
        'required_without_all' => 'Le champ :attribute est requis quand aucun de :values n\'est présent.',
        'same'                 => 'Les champs :attribute et :other doivent être identiques.',
        'size'                 => [
            'array'   => 'Le tableau :attribute doit contenir :size éléments.',
            'file'    => 'La taille du fichier de :attribute doit être de :size kilo-octets.',
            'numeric' => 'La valeur de :attribute doit être :size.',
            'string'  => 'Le texte de :attribute doit contenir :size caractères.',
        ],
        'starts_with'          => 'Le champ :attribute doit commencer avec une des valeurs suivantes : :values',
        'string'               => 'Le champ :attribute doit être une chaîne de caractères.',
        'timezone'             => 'Le champ :attribute doit être un fuseau horaire valide.',
        'ulid'                 => 'Le champ :attribute doit être un ULID valide.',
        'unique'               => 'La valeur du champ :attribute est déjà utilisée.',
        'uploaded'             => 'Le fichier du champ :attribute n\'a pu être téléversé.',
        'uppercase'            => 'Le champ :attribute doit être en majuscules.',
        'url'                  => 'Le format de l\'URL de :attribute n\'est pas valide.',
        'uuid'                 => 'Le champ :attribute doit être un UUID valide',
        'attributes'           => [
            'address'                  => 'adresse',
            'affiliate_url'            => 'URL d\'affiliation',
            'age'                      => 'âge',
            'amount'                   => 'montant',
            'announcement'             => 'annonce',
            'area'                     => 'zone',
            'audience_prize'           => 'prix du public',
            'available'                => 'disponible',
            'birthday'                 => 'anniversaire',
            'body'                     => 'corps',
            'city'                     => 'ville',
            'compilation'              => 'compilation',
            'concept'                  => 'concept',
            'conditions'               => 'conditions',
            'content'                  => 'contenu',
            'country'                  => 'pays',
            'cover'                    => 'couverture',
            'created_at'               => 'créé à',
            'creator'                  => 'créateur',
            'currency'                 => 'devise',
            'current_password'         => 'mot de passe actuel',
            'customer'                 => 'client',
            'date'                     => 'Date',
            'date_of_birth'            => 'date de naissance',
            'dates'                    => 'Rendez-vous',
            'day'                      => 'jour',
            'deleted_at'               => 'supprimé à',
            'description'              => 'la description',
            'display_type'             => 'Type d\'affichage',
            'district'                 => 'quartier',
            'duration'                 => 'durée',
            'email'                    => 'adresse e-mail',
            'excerpt'                  => 'extrait',
            'filter'                   => 'filtre',
            'finished_at'              => 'terminé à',
            'first_name'               => 'prénom',
            'gender'                   => 'genre',
            'grand_prize'              => 'grand prize',
            'group'                    => 'groupe',
            'hour'                     => 'heure',
            'image'                    => 'image',
            'image_desktop'            => 'image de bureau',
            'image_main'               => 'image principale',
            'image_mobile'             => 'image mobile',
            'images'                   => 'images',
            'is_audience_winner'       => 'est le gagnant du public',
            'is_hidden'                => 'est caché',
            'is_subscribed'            => 'est abonné',
            'is_visible'               => 'est visible',
            'is_winner'                => 'est gagnant',
            'items'                    => 'articles',
            'key'                      => 'clé',
            'last_name'                => 'nom',
            'lesson'                   => 'leçon',
            'line_address_1'           => 'ligne d\'adresse 1',
            'line_address_2'           => 'ligne d\'adresse 2',
            'login'                    => 'se connecter',
            'message'                  => 'message',
            'middle_name'              => 'deuxième prénom',
            'minute'                   => 'minute',
            'mobile'                   => 'portable',
            'month'                    => 'mois',
            'name'                     => 'nom',
            'national_code'            => 'code national',
            'number'                   => 'numéro',
            'password'                 => 'mot de passe',
            'password_confirmation'    => 'confirmation du mot de passe',
            'phone'                    => 'téléphone',
            'photo'                    => 'photo',
            'portfolio'                => 'portefeuille',
            'postal_code'              => 'code postal',
            'preview'                  => 'Aperçu',
            'price'                    => 'prix',
            'product_id'               => 'identifiant du produit',
            'product_uid'              => 'UID du produit',
            'product_uuid'             => 'UUID du produit',
            'promo_code'               => 'code promo',
            'province'                 => 'région',
            'quantity'                 => 'quantité',
            'reason'                   => 'raison',
            'recaptcha_response_field' => 'champ de réponse recaptcha',
            'referee'                  => 'arbitre',
            'referees'                 => 'arbitres',
            'reject_reason'            => 'motif de rejet',
            'remember'                 => 'se souvenir',
            'restored_at'              => 'restauré à',
            'result_text_under_image'  => 'texte de résultat sous l\'image',
            'role'                     => 'rôle',
            'rule'                     => 'règle',
            'rules'                    => 'règles',
            'second'                   => 'seconde',
            'sex'                      => 'sexe',
            'shipment'                 => 'expédition',
            'short_text'               => 'texte court',
            'size'                     => 'taille',
            'skills'                   => 'compétences',
            'slug'                     => 'limace',
            'specialization'           => 'spécialisation',
            'started_at'               => 'commencé à',
            'state'                    => 'état',
            'status'                   => 'statut',
            'street'                   => 'rue',
            'student'                  => 'étudiant',
            'subject'                  => 'sujet',
            'tag'                      => 'étiqueter',
            'tags'                     => 'Mots clés',
            'teacher'                  => 'professeur',
            'terms'                    => 'conditions',
            'test_description'         => 'description test',
            'test_locale'              => 'localisation test',
            'test_name'                => 'nom test',
            'text'                     => 'texte',
            'time'                     => 'heure',
            'title'                    => 'titre',
            'type'                     => 'taper',
            'updated_at'               => 'mis à jour à',
            'user'                     => 'utilisateur',
            'username'                 => 'nom d\'utilisateur',
            'value'                    => 'valeur',
            'year'                     => 'année',
        ],
    ];

Créer le fichier ./lang/fr.json.

    {
        "(and :count more error)": "(et :count erreur en plus)",
        "(and :count more errors)": "(et :count erreur en plus)|(et :count erreurs en plus)|(et :count erreurs en plus)",
        "A new verification link has been sent to the email address you provided during registration.": "Un nouveau lien de vérification a été envoyé à l'adresse e-mail que vous avez indiquée lors de votre inscription.",
        "A new verification link has been sent to your email address.": "Un nouveau lien de vérification a été envoyé à votre adresse e-mail.",
        "A Timeout Occurred": "Un dépassement de délai s'est produit",
        "Accept": "Accepter",
        "Accepted": "Accepté",
        "Action": "Action",
        "Actions": "Actions",
        "Add": "Ajouter",
        "Add :name": "Ajouter :name",
        "Admin": "Administrateur",
        "Agree": "Accepter",
        "All rights reserved.": "Tous droits réservés.",
        "Already registered?": "Déjà inscrit·e ?",
        "Already Reported": "Déjà rapporté",
        "Archive": "Archive",
        "Are you sure you want to delete your account?": "Êtes-vous sûr·e de vouloir supprimer votre compte ?",
        "Assign": "Attribuer",
        "Associate": "Associé",
        "Attach": "Attacher",
        "Bad Gateway": "Mauvaise passerelle",
        "Bad Request": "Mauvaise Demande",
        "Bandwidth Limit Exceeded": "Limite de bande passante dépassée",
        "Browse": "Parcourir",
        "Cancel": "Annuler",
        "Choose": "Choisir",
        "Choose :name": "Choisissez :name",
        "Choose File": "Choisir le fichier",
        "Choose Image": "Choisir une image",
        "Click here to re-send the verification email.": "Cliquez ici pour renvoyer l'e-mail de vérification.",
        "Click to copy": "Cliquez pour copier",
        "Client Closed Request": "Demande fermée du client",
        "Close": "Fermer",
        "Collapse": "Effondrement",
        "Collapse All": "Réduire tout",
        "Comment": "Commentaire",
        "Confirm": "Confirmer",
        "Confirm Password": "Confirmer le mot de passe",
        "Conflict": "Conflit",
        "Connect": "Connecter",
        "Connection Closed Without Response": "Connexion fermée sans réponse",
        "Connection Timed Out": "La connexion a expiré",
        "Continue": "Continuer",
        "Create": "Créer",
        "Create :name": "Créer :name",
        "Created": "Créé",
        "Current Password": "Mot de passe actuel",
        "Dashboard": "Tableau de bord",
        "Delete": "Supprimer",
        "Delete :name": "Supprimer :name",
        "Delete Account": "Supprimer le compte",
        "Detach": "Détacher",
        "Details": "Détails",
        "Disable": "Désactiver",
        "Discard": "Jeter",
        "Done": "Fait",
        "Down": "Vers le bas",
        "Duplicate": "Dupliquer",
        "Duplicate :name": "Dupliquer :name",
        "Edit": "Éditer",
        "Edit :name": "Modifier :name",
        "Email": "E-mail",
        "email": "Le champ :attribute doit être une adresse e-mail valide.",
        "Email Password Reset Link": "Lien de réinitialisation du mot de passe",
        "Enable": "Activer",
        "Ensure your account is using a long, random password to stay secure.": "Assurez-vous d'utiliser un mot de passe long et aléatoire pour sécuriser votre compte.",
        "errors": "les erreurs",
        "Expand": "Développer",
        "Expand All": "Développer tout",
        "Expectation Failed": "Échec de l'attente",
        "Explanation": "Explication",
        "Export": "Exporter",
        "Failed Dependency": "Dépendance échouée",
        "File": "Déposer",
        "Files": "Des dossiers",
        "Forbidden": "Interdit",
        "Forgot your password?": "Mot de passe oublié ?",
        "Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.": "Mot de passe oublié ? Pas de soucis. Veuillez nous indiquer votre adresse e-mail et nous vous enverrons un lien de réinitialisation du mot de passe.",
        "Found": "A trouvé",
        "Gateway Timeout": "Délai d'attente de la passerelle",
        "Go Home": "Aller à l'accueil",
        "Go to page :page": "Aller à la page :page",
        "Gone": "Disparu",
        "Hello!": "Bonjour !",
        "Hide": "Cacher",
        "Hide :name": "Masquer :name",
        "Home": "Maison",
        "HTTP Version Not Supported": "Version HTTP non prise en charge",
        "I'm a teapot": "Je suis une théière",
        "If you did not create an account, no further action is required.": "Si vous n'avez pas créé de compte, vous pouvez ignorer ce message.",
        "If you did not request a password reset, no further action is required.": "Si vous n'avez pas demandé de réinitialisation de mot de passe, vous pouvez ignorer ce message.",
        "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Si vous avez des difficultés à cliquer sur le bouton \":actionText\", copiez et collez l'URL ci-dessous\ndans votre navigateur Web :",
        "IM Used": "J'ai l'habitude",
        "Image": "Image",
        "Impersonate": "Utiliser un autre compte",
        "Impersonation": "Imitation",
        "Import": "Importer",
        "Import :name": "Importer :name",
        "Insufficient Storage": "Espace insuffisant",
        "Internal Server Error": "Erreur Interne du Serveur",
        "Introduction": "Introduction",
        "Invalid JSON was returned from the route.": "Un JSON non valide a été renvoyé par la route.",
        "Invalid SSL Certificate": "Certificat SSL invalide",
        "Length Required": "Longueur requise",
        "Like": "Comme",
        "Load": "Charger",
        "Localize": "Localiser",
        "Location": "Emplacement",
        "Locked": "Fermé à clef",
        "Log In": "Se connecter",
        "Log in": "Se connecter",
        "Log Out": "Se déconnecter",
        "Login": "Connexion",
        "Logout": "Déconnexion",
        "Loop Detected": "Boucle détectée",
        "Maintenance Mode": "Mode de Maintenance",
        "Method Not Allowed": "Méthode Non Autorisée",
        "Misdirected Request": "Demande mal dirigée",
        "Moved Permanently": "Déplacé de façon permanente",
        "Multi-Status": "Multi-statut",
        "Multiple Choices": "Choix multiples",
        "Name": "Nom",
        "name": "nom",
        "Network Authentication Required": "Authentification réseau requise",
        "Network Connect Timeout Error": "Erreur de délai de connexion réseau",
        "Network Read Timeout Error": "Erreur de délai de lecture réseau",
        "New": "Nouveau",
        "New :name": "Nouveau :name",
        "New Password": "Nouveau mot de passe",
        "No": "Non",
        "No Content": "Pas de contenu",
        "Non-Authoritative Information": "Informations non autorisées",
        "Not Acceptable": "Pas acceptable",
        "Not Extended": "Non prolongé",
        "Not Found": "Non trouvé",
        "Not Implemented": "Pas mis en œuvre",
        "Not Modified": "Non modifié",
        "of": "de",
        "OK": "OK",
        "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Une fois que votre compte est supprimé, toutes vos données sont supprimées définitivement. Avant de supprimer votre compte, veuillez télécharger vos données.",
        "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Une fois que votre compte est supprimé, toutes les données associées seront supprimées définitivement. Pour confirmer que vous voulez supprimer définitivement votre compte, renseignez votre mot de passe.",
        "Open": "Ouvrir",
        "Open in a current window": "Ouvrir dans une fenêtre actuelle",
        "Open in a new window": "Ouvrir dans une nouvelle fenêtre",
        "Open in a parent frame": "Ouvrir dans un frame parent",
        "Open in the topmost frame": "Ouvrir dans le cadre le plus haut",
        "Open on the website": "Ouvert sur le site",
        "Origin Is Unreachable": "L'origine est inaccessible",
        "Page Expired": "Page expirée",
        "Pagination Navigation": "Pagination",
        "Partial Content": "Contenu partiel",
        "Password": "Mot de passe",
        "password": "Le mot de passe est incorrect",
        "Payload Too Large": "Charge utile trop grande",
        "Payment Required": "Paiement requis",
        "Permanent Redirect": "Redirection permanente",
        "Please click the button below to verify your email address.": "Veuillez cliquer sur le bouton ci-dessous pour vérifier votre adresse e-mail :",
        "Precondition Failed": "La précondition a échoué",
        "Precondition Required": "Condition préalable requise",
        "Preview": "Aperçu",
        "Price": "Prix",
        "Processing": "En traitement",
        "Profile": "Profil",
        "Profile Information": "Informations du profil",
        "Proxy Authentication Required": "Authentification proxy requise",
        "Railgun Error": "Erreur de Railgun",
        "Range Not Satisfiable": "Plage non satisfaisante",
        "Record": "Enregistrer",
        "Regards": "Cordialement",
        "Register": "Inscription",
        "Remember me": "Se souvenir de moi",
        "Request Header Fields Too Large": "Champs d'en-tête de requête trop grands",
        "Request Timeout": "Délai d'expiration de la demande",
        "Resend Verification Email": "Renvoyer l'e-mail de vérification",
        "Reset Content": "Réinitialiser le contenu",
        "Reset Password": "Réinitialisation du mot de passe",
        "Reset Password Notification": "Notification de réinitialisation du mot de passe",
        "Restore": "Restaurer",
        "Restore :name": "Restaurer :name",
        "results": "résultats",
        "Retry With": "Réessayer avec",
        "Save": "Sauvegarder",
        "Save & Close": "Sauvegarder et fermer",
        "Save & Return": "Enregistrer et retourner",
        "Save :name": "Économisez :name",
        "Saved.": "Sauvegardé.",
        "Search": "Rechercher",
        "Search :name": "Recherche :name",
        "See Other": "Voir autre",
        "Select": "Sélectionner",
        "Select All": "Tout sélectionner",
        "Send": "Envoyer",
        "Server Error": "Erreur serveur",
        "Service Unavailable": "Service indisponible",
        "Session Has Expired": "La session a expiré",
        "Settings": "Paramètres",
        "Show": "Montrer",
        "Show :name": "Afficher :name",
        "Show All": "Afficher tout",
        "Showing": "Montrant",
        "Sign In": "Se connecter",
        "Solve": "Résoudre",
        "SSL Handshake Failed": "Échec de la prise de contact SSL",
        "Start": "Commencer",
        "Stop": "Arrêt",
        "Submit": "Soumettre",
        "Subscribe": "S'abonner",
        "Switch": "Changer",
        "Switch To Role": "Passer au rôle",
        "Switching Protocols": "Protocoles de commutation",
        "Tag": "Étiqueter",
        "Tags": "Mots clés",
        "Temporary Redirect": "Redirection temporaire",
        "Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "Merci de vous être inscrit(e) ! Avant de commencer, veuillez vérifier votre adresse e-mail en cliquant sur le lien que nous venons de vous envoyer. Si vous n'avez pas reçu cet e-mail, nous vous en enverrons un nouveau avec plaisir.",
        "The given data was invalid.": "La donnée renseignée est incorrecte.",
        "The response is not a streamed response.": "La réponse n'est pas une réponse diffusée.",
        "The response is not a view.": "La réponse n'est pas une vue.",
        "This action is unauthorized.": "Cette action n'est pas autorisée.",
        "This is a secure area of the application. Please confirm your password before continuing.": "Ceci est une zone sécurisée de l'application. Veuillez confirmer votre mot de passe avant de continuer.",
        "This password reset link will expire in :count minutes.": "Ce lien de réinitialisation du mot de passe expirera dans :count minutes.",
        "to": "à",
        "Toggle navigation": "Afficher / masquer le menu de navigation",
        "Too Early": "Trop tôt",
        "Too Many Requests": "Trop de requêtes",
        "Translate": "Traduire",
        "Translate It": "Traduis le",
        "Unauthorized": "Non autorisé",
        "Unavailable For Legal Reasons": "Indisponible pour des raisons légales",
        "Unknown Error": "Erreur inconnue",
        "Unpack": "Déballer",
        "Unprocessable Entity": "Entité non traitable",
        "Unsubscribe": "Se désabonner",
        "Unsupported Media Type": "Type de support non supporté",
        "Up": "En haut",
        "Update": "Mettre à jour",
        "Update :name": "Mise à jour :name",
        "Update Password": "Mettre à jour le mot de passe",
        "Update your account's profile information and email address.": "Modifier le profil associé à votre compte ainsi que votre adresse e-mail.",
        "Upgrade Required": "Mise à niveau requise",
        "URI Too Long": "URI trop long",
        "Use Proxy": "Utiliser un proxy",
        "User": "Utilisateur",
        "Variant Also Negotiates": "La variante négocie également",
        "Verify Email Address": "Vérifier l'adresse e-mail",
        "View": "Vue",
        "View :name": "Voir :name",
        "Web Server is Down": "Le serveur Web est en panne",
        "Whoops!": "Oups !",
        "Yes": "Oui",
        "You are receiving this email because we received a password reset request for your account.": "Vous recevez cet e-mail car nous avons reçu une demande de réinitialisation de mot de passe pour votre compte.",
        "You're logged in!": "Vous êtes connecté·e !",
        "Your email address is unverified.": "Votre adresse e-mail n'est pas vérifiée."
    }