russeloken
a posé

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=en
APP_FALLBACK_LOCALE=fr
APP_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

asmitta-01
a répondu

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

asmitta-01
a répondu

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 ?

russeloken
a répondu

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

lelouch_p
a répondu

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

russeloken
a répondu

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

maestrombody
a répondu

Bonjour, lorsque tu desinstalle le package en question est-ce que ton intl refonctionne normalement ?

asmitta-01
a répondu

je rejoins la pensée de @lelouch_p

stevymarlino
a répondu
APP_LOCALE=fr
APP_FALLBACK_LOCALE=fr
APP_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

darwin_nathan
a répondu

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.

stephen2304
a répondu

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')}}

russeloken
a répondu
Meilleure réponse

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.