11 réponses
75 vues
Problème d'internationalisation après installation du package nnjeim/world
Hello les devs j'ai un probleme au niveau de l'internationalisation(le changement de langue ne marche plus pour mes differents textes) avec mon application laravel. Depuis l'installation de ce package https://github.com/nnjeim/world. j'aimerais savoir si quelqu'un a deja rencontre ce probleme voici par exemple un bloc de texte
<li class=""><a href="#" class="sub-menu-item text-lg">{{__('Home')}}</a></li> <li class=""><a href="{{route('home')}}" class="sub-menu-item text-lg">{{__('Job offers')}}</a></li>
j'ai bien configure la langue de mon dom en fonction de la langue de mon application
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="light scroll-smooth" dir="ltr">
Au niveau de mon .env jai ceci
APP_LOCALE=enAPP_FALLBACK_LOCALE=frAPP_FAKER_LOCALE=en_US
Mon fichier de traduction est bien present Lorsque je change la langue(je remplace en par fr) dans mon .env , je vide meme le cache la langue change bien dans ma balise html quand j'inspecte celle ci. Mais mes textes sont toujours en anglais. Comme par exemple Home sa traduction en francais est presente dans mon fr.json mais en francais jaiu toujours Home
Sois plus explicite, comment as tu fait ton implémentation ? Quel est le résultat attendu et quel est résultat que tu as ? Bonjour
Ton fichier de traduction est dans le bon répertoire ? Dans lang/fr
au lieu de lang
Edit
Les clés dans tes fichiers sont aussi bonnes ?
comme tu peux le constater mes cles sont bien bonnes. Mes fichier sont bien renseignés. Meme mes messages derreurs par defaut de laravel restent en anglais malgre le faite que je passe en français
Tu n'as pas compris le fonctionnement des traductions avec laravel , il faut choisir entre le php, le json ou le yaml, pour structurer les fichiers de traductions
et les traductions se trouveront dans les dossiers de langue (fr/xxx.php, en/xxx.php), et tu pourra traduire en utilisant la syntaxe __('xxx.cle') ou trans('xxx.cle')
Meme les messages par defauts d'authentification ne passe pas lelouch_p.Et au niveau de la comprenhension de traductions avec laravel , jai deja eu a implemente cela plusieurs fois voici ls structure sur un autre projet sur lequel j'ai implemente qui passe bien Sauf si ce tour j'ai loupe quelque chose
Bonjour, lorsque tu desinstalle le package en question est-ce que ton intl refonctionne normalement ?
APP_LOCALE=frAPP_FALLBACK_LOCALE=frAPP_FAKER_LOCALE=fr_FR
le package ne devrais pas derégler ta langue. sinon il faut nous montrer a quoi ressemble ton en.json et fr.json normalement tu dois avoir ceci
en.json
{"Home":"Home"}
fr.json
{"Home":"Accueil"}
dans tes vue tu use la cle
{{ __('Home') }}
si l erreur persiste montre tes fichier de traduction
Slt @russeloken, je doute que tu ais besoin du package en question. Parceque moi par exemple, je suis actu sur un projet et je n'ai pas mis de package, j'ai juste eu a mettre mes translations dans les fichiers php, et je use sans souci.
T'as pas besoin d'un package pour la traduction tu peux utiliser soit les fichier php tpour traduire en fassant {{__('message.index')}
} ou simplement avec les fichier json fr.json
et en.json
maintenant pour la tradcution tu fais {{__('Home')}}
Hello les devs vous allez bien j'espere. Après quelques investigations concernant mon probleme.
L'installation du package nnjeim/world
me permettant d'avoir la liste de pays , regions , villes dans mon projet m'a generé un dossier dans le dossier ressources de mon projets
Ce dossier permet au package de m'afficher les pays ,regions et villes en fonction de la langue de l'application
Exemple
cas de l'application en francais ( APP_LOCALE=fr
)
cas de l'application en anglais ( APP_LOCALE=en
)
Après lecture je me suis rendu compte que Laravel donne la priorite au dossier lang dans le dossier ressources
jai copié le dossier vendor/World dans le dossier lang à la racine
Par la suite j'ai supprimé le dossier lang situé dans mon dossier ressources
Apres ces modifications tout marche bien.
c'est fou comme suis passé à coté de ce detail 😂
Merci pour vos differentes reponses
Il faut Se connecter ou Créer un compte pour participer à cette conversation.