i18next / i18next-http-backend

i18next-http-backend is a backend layer for i18next using in Node.js, in the browser and for Deno.
MIT License
447 stars 69 forks source link

Using i18next-http-backend on React native project #97

Closed lotfi-a closed 1 year ago

lotfi-a commented 2 years ago

🐛 Bug Report

Hello, I want to use this library to retrieve the translation files stored on firebase, this one is downloaded by the application but the first of my views is not displayed (see photo).

Simulator Screen Shot - iPhone 13 - 2022-10-18 at 12 32 59

To Reproduce

i18n.config.ts

import i18next from 'i18next';
import {initReactI18next} from 'react-i18next';
import I18NextHttpBackend from 'i18next-http-backend';
import RNLanguageDetector from '@os-team/i18next-react-native-language-detector';
import storage from '@react-native-firebase/storage';

const detectedLng = RNLanguageDetector.detect()?.slice(0, 2);
const resources = async () =>
  await storage().ref(`translations/${detectedLng}.json`).getDownloadURL();

i18next
  .use(I18NextHttpBackend)
  .use(initReactI18next)
  .init({
    debug: true,
    load: 'languageOnly',
    backend: {
      loadPath: resources,
    },
    fallbackLng: detectedLng,
    supportedLngs: ['fr', 'en'],
    interpolation: {
      escapeValue: false,
    },
  });

export default i18next;

Your Environment

package.json

{
  "name": "idtroc",
  "version": "6.0.14",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
    "debugger": "open http://localhost:8081/debugger-ui/"
  },
  "dependencies": {
    "@os-team/i18next-react-native-language-detector": "1.0.16",
    "@react-native-async-storage/async-storage": "1.17.10",
    "@react-native-firebase/app": "15.7.0",
    "@react-native-firebase/app-check": "15.7.0",
    "@react-native-firebase/auth": "15.7.0",
    "@react-native-firebase/crashlytics": "15.7.0",
    "@react-native-firebase/firestore": "15.7.0",
    "@react-native-firebase/functions": "15.7.0",
    "@react-native-firebase/messaging": "15.7.0",
    "@react-native-firebase/storage": "15.7.0",
    "@react-navigation/bottom-tabs": "6.4.0",
    "@react-navigation/native": "6.0.13",
    "@react-navigation/native-stack": "6.9.1",
    "@sentry/react-native": "4.6.1",
    "@tsconfig/react-native": "2.0.2",
    "@types/lodash.debounce": "4.0.7",
    "axios": "0.27.2",
    "compare-versions": "5.0.1",
    "formik": "2.2.9",
    "i18next": "21.10.0",
    "i18next-http-backend": "1.4.4",
    "jest-transformer-svg": "2.0.0",
    "jsc-android": "250230.2.1",
    "jsonpath": "1.1.1",
    "mobx": "6.6.2",
    "mobx-react": "7.5.3",
    "moment": "2.29.4",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-i18next": "11.18.6",
    "react-native": "0.70.2",
    "react-native-date-picker": "4.2.5",
    "react-native-device-info": "10.2.1",
    "react-native-geolocation-service": "5.3.1",
    "react-native-gesture-handler": "2.7.0",
    "react-native-image-picker": "4.10.0",
    "react-native-loading-spinner-overlay": "3.0.1",
    "react-native-pager-view": "6.0.1",
    "react-native-permissions": "3.6.1",
    "react-native-reanimated": "2.10.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "3.18.0",
    "react-native-svg": "13.4.0",
    "react-native-svg-transformer": "1.0.0",
    "react-native-swiper": "1.6.0",
    "react-native-tab-view": "3.3.0",
    "rn-fetch-blob": "0.12.0"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/plugin-proposal-decorators": "^7.18.2",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "@rnx-kit/dep-check": "^1.12.17",
    "@testing-library/react-native": "^10.1.1",
    "@types/jest": "^26.0.23",
    "@types/jsonpath": "^0.2.0",
    "@types/react-native": "^0.67.7",
    "@types/react-test-renderer": "^17.0.1",
    "@typescript-eslint/eslint-plugin": "^5.17.0",
    "@typescript-eslint/parser": "^5.17.0",
    "babel-jest": "^26.6.3",
    "enzyme": "^3.11.0",
    "eslint": "^7.32.0",
    "jest": "^28.1.3",
    "lodash": "^4.17.21",
    "metro-react-native-babel-preset": "^0.70.3",
    "react-native-prompt-android": "^1.1.0",
    "react-test-renderer": "18.0.0",
    "typescript": "^4.4.4",
    "yup": "^0.32.11"
  },
  "resolutions": {
    "@types/react": "^17",
    "@jest/create-cache-key-function": "^27.0.1",
    "@react-native-firebase/app": "^15.3.0"
  },
  "jest": {
    "preset": "react-native",
    "setupFiles": [
      "./jest.setup.js"
    ],
    "moduleNameMapper": {
      "react-dom": "react-native"
    },
    "transform": {
      "^.+\\.jsx?$": "babel-jest",
      "^.+\\.svg$": "jest-transformer-svg"
    },
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx"
    ],
    "transformIgnorePatterns": [
      "node_modules/(?!@react-native|react-native)"
    ],
    "setupFilesAfterEnv": [
      "./__mocks__/mockAsyncStorage.ts",
      "./__mocks__/mockFirebase.ts",
      "./__mocks__/mockDatabaseService.ts",
      "./__mocks__/mockI18next.ts",
      "./__mocks__/mockRootStateContext.ts"
    ]
  },
  "rnx-kit": {
    "reactNativeVersion": "^0.69.0",
    "kitType": "app",
    "capabilities": [
      "animation",
      "babel-preset-react-native",
      "core",
      "core-android",
      "core-ios",
      "gestures",
      "jest",
      "navigation/native",
      "react",
      "react-test-renderer",
      "safe-area",
      "screens",
      "svg"
    ]
  }
}
adrai commented 2 years ago

What is logged in the console?

lotfi-a commented 2 years ago
"i18next"::"backendConnector":"loaded namespace translation for language fr"{
   "app":{
      "currency":"€",
      "dates":{
         "from":"Du",
         "to":"au"
      },
      "menu":{
         "giftCards":"Cartes Cadeaux",
         "idTrocs":"Les IDTroc",
         "myIdTrocs":"Mes IDTroc",
         "settings":"ParamĂštres"
      },
      "sex":{
         "boy":"Garçon",
         "girl":"Fille"
      },
      "size":{
         "month":"mois",
         "year":"ans"
      },
      "units":{
         "kilometer":"km"
      }
   },
   "articles":{
      "addArticle":"Ajouter un article",
      "articlelimit":"Limite d'article atteinte",
      "backToMyArticle":"Retour Ă  mes articles",
      "cancel":"Annuler",
      "cancelAddArticle":"Voulez-vous annuler l’ajout de votre article ?",
      "cancelUpdateArticle":"Voulez-vous annuler la modification de votre article ?",
      "cannotAddArticle":"Vous ne pouvez plus ajouter d’articles",
      "completeContract":"Compléter mon contrat",
      "currency":"€",
      "deleteArticle":"Supprimer l'article",
      "forms":{
         "absorba":"Absorba",
         "addPhoto":"Ajouter la photo",
         "addPhotoPlaceholder":"de l’article pour crĂ©er son Ă©tiquette",
         "beckaro":"Beckaro",
         "bookSize":"Taille du livre",
         "boy":"Garçon",
         "catimini":"Catimini",
         "chipie":"Chipie",
         "delete":"Supprimer",
         "girl":"Fille",
         "jeanbourget":"Jean Bourget",
         "lilig":"Lili Gaufrette",
         "obaibi":"ObaĂŻbi",
         "okaidi":"OkaĂŻdi",
         "putPrice":"Mettez un prix Ă  -70% du prix neuf",
         "saveArticle":"Enregistrer l'article",
         "selectAge":"SĂ©lectionnez l'Ăąge",
         "selectBrand":"SĂ©lectionnez la marque",
         "selectGender":"SĂ©lectionnez le genre",
         "targetBook":" Livre destiné pour",
         "troispommes":"3 Pommes",
         "wantDelete":"Voulez-vous supprimer cet article ?",
         "whichCategory":"Quelle catégorie ?",
         "whichSize":"Quelle est la taille ?",
         "z":"Z"
      },
      "limitArticlePartOne":"Vous avez atteint le maximum de",
      "limitArticlePartTwo":"articles.",
      "lost":"Perdu",
      "modifyArticle":"Modifier l'article",
      "no":"Non",
      "printLabels":{
         "alertText":"Veillez à bien vérifier vos spams.",
         "alertTitle":"Mail envoyé !",
         "download":"Je télécharge mes étiquettes",
         "keepAdd":"Je continue Ă  ajouter des articles",
         "new":"Nouveau : ",
         "persoLabel":"Vos Ă©tiquettes sont personnalisĂ©es Ă  l’article : Posez-les bien pour suivre leur vente.",
         "printLabel":"Imprimez vos étiquettes et étiquetez vos articles avant le dépÎt",
         "printStickers":"Vous pouvez imprimer sur des stickers en magasin !",
         "sendMail":"Je m’envoie par mail les Ă©tiquettes"
      },
      "qualityCharter":"charte qualité",
      "qualityInfo":"En savoir plus sur notre ",
      "qualityPopup":{
         "ItsEz":"C'est facile",
         "acceptedArticles":"Articles acceptés",
         "addArticles":"Ajouter des articles",
         "addCoords":"Remplir vos coordonées",
         "canPrintInStore":"Vous pouvez imprimer sur des
stickers en magasin !",
         "clothes":"VĂȘtements ",
         "depositInStore":"DĂ©poser en magasin vos articles",
         "letsGo":"C'est parti !",
         "mainTitle1":"Nous ne revendons que ",
         "mainTitle2":"des produits de qualité !",
         "new":"Nouveau",
         "noPhotoText":" Vous suivez uniquement 
 les ventes par catégorie.
 ex: pantalon fille Obaïbi 5€",
         "noPhotoTitle":"Et si pas de photo",
         "notAcceptedArticleToy":"Ne sont pas acceptés",
         "participationTitle":"Bienvenue,
 participer Ă  l'IDTroc.",
         "photoTitle":"A quoi sert la photo ? ",
         "printAndPostTickets":"Imprimer et poser les Ă©tiquettes",
         "qualityBookText":"Livres enfant en parfait état, ni jaunis, tachés, déchirés, raturés, de collections trop anciennes.",
         "qualityClothesText":"en parfait état, propres, propres, repassés, sans tùche, ni bouloche, ni trou, ni coloris passé, ni bouton ou pression manquants, zip fonctionnel. Les ensembles sont à vendre
séparément.",
         "qualityPhotoText":"La photo figure sur les Ă©tiquettes pour poser la bonne Ă©tiquette sur le bon article et savoir quel article et vendu.",
         "qualityToyText":"En parfait Ă©tat (article, emballage, pile neuves) et complet.  
Un jouet de +sieurs piĂšces doit ĂȘtre soit dans l'emballage d'origine (obligatoire pour jeux de sociĂ©tĂ©/puzzle), ou dans emballage transparent et hermĂ©tique ou solidement assemblĂ© par du scotch/film.",
         "qualityToyTextPartTwo":"Les Lego, Duplo, Playmobil, Kapla
 peuvent ĂȘtre incomplets si dans un emballage transparent et hermĂ©tique.",
         "refusedArticles":"Sont refusés",
         "refusedArticlesText":"Les sous-vĂȘtements (hors body),
chaussures et accessoires",
         "refusedBookText":"Les  livres-cd, livres-puzzle, livres coloriages ou avec la mention « ne pas vendre » ou gratuits sont refusés.",
         "refusedToysText":"jouets à pile sans pile, puzzles > 50 piÚces, poupées, peluches, articles roulants, trampolines, portiques, aire de jeux, maisons et tentes, articles gonflables, produits électriques et jeux multimédia, articles de loisirs créatifs utilisés.",
         "toysAccepted":"Jouets acceptés",
         "understandButton":"J'ai bien compris"
      },
      "retrieved":"Récupéré",
      "soldOut":"Vendu",
      "yes":"Oui"
   },
   "components":{
      "customDatePicker":{
         "onCancelText":"Annuler",
         "onConfirmText":"Confirmer"
      },
      "mapChoice":{
         "GMap":"Google maps",
         "cancel":"Annuler",
         "plan":"Plan",
         "text":"Choisissez votre applications",
         "title":"Applications",
         "waze":"Waze"
      }
   },
   "form":{
      "coord":{
         "labelAdress":"Adresse *",
         "labelCity":"Ville *",
         "labelCountry":"Pays *",
         "labelFName":"Prénom *",
         "labelLName":"Nom *",
         "labelMail":"Email *",
         "labelPC":"Code postal *",
         "myCoord":"2. Mes coordonnées",
         "placeholderAdress":"votre adresse",
         "placeholderCity":"votre ville",
         "placeholderCountry":"Pays de résidence",
         "placeholderFName":"votre prénom",
         "placeholderLName":"votre nom",
         "placeholderMail":"votre email",
         "placeholderPC":"votre code postal",
         "titleBtn":"Suivant"
      },
      "identity":{
         "IDCard":"Carte d’identitĂ©",
         "alertBtn":"Valider",
         "alertTextContrat":"Vous pourrez changer vos informations Ă  tout moment dans votre profil via le menu ParamĂštres",
         "alertTextUpdate":"Vous pourrez changer vos informations Ă  tout moment dans votre profil.",
         "alertTitle":"Mes informations",
         "driverLicence":"Permis de conduire",
         "labelDeliveredBy":"Délivré par *",
         "labelDeliveredDate":"Délivré le *",
         "labelExpiredDate":"Expire le *",
         "labelNumID":"Numéro de la piece *",
         "myID":"3. Mon identité",
         "panelContent":"Obligation légale de lutte contre le recel d'objets volés. En effet nous vendons pour votre compte dans nos magasins.",
         "passport":"Passeport",
         "placeholderDeliveredBy":"Préfecture  - Mairie + Ville",
         "placeholderDeliveredDate":"JJ/MM/AAAA",
         "placeholderExpiredDate":"JJ/MM/AAAA",
         "placeholderNumID":"Le numéro de la piece",
         "titleBtn":"Valider mes informations",
         "typeID":"Type de piÚce identité utilisé"
      },
      "member":{
         "fidelityMember":"1. Membre fidelité ?",
         "findMall":"Le magasin le retrouvera pour vous ",
         "ifMember":" * Si vous ĂȘtes membre fidĂ©litĂ©, vĂ©rifiez 
 que votre carte est toujours valide.",
         "knowMore":"En savoir plus",
         "knowNumber":"Vous ne connaissez pas votre numéro ?",
         "labelInput":"Numéro de fidelité *",
         "noProblem":"Pas de soucis, vous pouvez le devenir en magasin le jour de votre dépÎt. En effet le dépÎt est réservé aux membres fidélité.",
         "notMember":"Pas encore membre ?",
         "placeholderInput":"Numéro de fidélité",
         "titleBtnKeepGoing":"Continuer sans numéro",
         "titleBtnNext":"Suivant"
      },
      "navigations":{
         "headerTitleContract":"Mes informations",
         "headerTitleProfile":"Mon profil"
      }
   },
   "giftcards":{
      "giftcard":{
         "available":"Valable dans l’ensemble des boutiques Okaidi, Obaibi, Catimini, IDKIDS, Oxybul et okaidi.fr, Idkids.com et idkids.fr",
         "expire":"Expire le :",
         "here":"C'est ici",
         "labelContent1":"1. Lors du paiement, Choisir “carte cadeau”",
         "labelContent2":"2. Saisir les 19 premiers chiffres de votre carte cadeau dans le champs “carte cadeau”",
         "labelContent3":"3. Saisir les 4 derniers chiffres dans le champs “cryptogramme” ",
         "panelTitle":"Comment utiliser sur internet :",
         "totalCredit":"Ceci est le montant total crédité non mis à jour avec vos dépenses. Pour consulter le solde de votre carte"
      },
      "giftcards":{
         "giftcard":" cartes cadeaux",
         "youHave":"Vous avez"
      },
      "noGiftcard":{
         "btnTitle":"Trouver un IDTROC",
         "labelContent":"Vous n'avez pas encore de cartes cadeaux, pour en obtenir, participez aux dépÎts ventes IDTroc"
      }
   },
   "home":{
      "home":{

      },
      "location":{

      }
   },
   "myIdTrocs":{
      "participationPopup":{
         "letsGo":"C'est parti !",
         "new":"Nouveau : ",
         "participateIsEasy":"Participer Ă  l'IDTroc c'est
facile",
         "printOnStickersInStore":"Vous pouvez imprimer sur
des stickers en magasin !",
         "task1":"Ajouter des articles",
         "task2":"Remplir vos coordonnées",
         "task3":"Imprimer et poser les Ă©tiquettes",
         "task4":"DĂ©poser en magasin vos articles",
         "welcome":"Bienvenue !"
      }
   },
   "myTrocs":{
      "myTroc":{
         "from":"Du",
         "to":"au"
      },
      "myTrocButton":{
         "titleBtnBlue":"DĂ©tails de mon IDTroc",
         "titleBtnGreen":"Obtenir l’itinĂ©raire"
      },
      "myTrocDetail":{
         "labelDepotArticleFirst":"Vous participez Ă  cette vente IDTROC !",
         "labelDepotArticleSecond":"DĂ©posez vos articles en magasin avant ",
         "labelEndFirst":"Fin de dĂ©pot, vous n’avez pas validĂ© votre contrat en magasin. ça sera pour une prochaine !",
         "labelEndSecond":"ça sera pour une prochaine !",
         "labelGain":"Fin de l'IDTROC, votre gain à été ajouté sur votre carte cadeau !",
         "labelUnsold":"Fin de la vente, récupérez vos invendu avant le ",
         "titleBtnDisabled":"Terminé - voir le détail"
      },
      "myTrocs":{
         "endTitle":" auxquels je participe :",
         "idtroc":"IDTroc",
         "the":"Les "
      },
      "myTrocsEmpty":{
         "findIDtroc":"Trouver un IDTroc",
         "loggedIn":"Se connecter",
         "title":"Vous ne participez Ă  aucun IDtroc pour le moment !",
         "titleLoggedIn":"Si vous avez déjà participé à un IDTroc, connectez vous !"
      }
   },
   "onBoarding":{
      "button":"Youpi !",
      "skipIntroduction":"Passer l'introduction >",
      "step1":{
         "firstText":"Grand dépot-vente
d’article d’occasion !",
         "secondText":"Donnez une seconde
vie Ă  vos articles."
      },
      "step2":{
         "firstText":"Trouvez les IDTROC dans les magasins
proches de vous et participez !",
         "secondText":"Simple et rapide, j'imprime et
pose mes Ă©tiquettes de chez moi.
Pas d'imprimante ?
Le magasin imprime pour moi !"
      },
      "step3":{
         "firstText":"DĂ©posez tous vos articles
en une fois en magasin !",
         "secondText":"Nous gérons la qualité
et les ventes pour vous."
      },
      "step4":{
         "firstText":"Suivez vos ventes
au fil de l'eau !",
         "secondText":"Vos articles vendus
se transforment en carte
cadeau sans frais ni commission !"
      }
   },
   "settings":{
      "authentication":{
         "acceptTerms":"conditions gĂ©nĂ©rales d’utilisation",
         "auth/invalid-verification-code":"Code de vérification invalide, veuillez réessayer.",
         "auth/missing-verification-code":"Code de vérification manquant, veuillez réessayer.",
         "cancel":"Fermer",
         "cancelPrompt":"Annuler",
         "confirmCode":"Confirmer le code",
         "confirmPrompt":"Confirmer",
         "connectionAttemptFailed":"Connexion impossible",
         "connectionFailed":"Votre numéro de télÚphone ou le code de validation renseigné semble incorrect, veuillez réssayer.",
         "connexionError":"Erreur de connexion",
         "createAccount":"Créer mon compte avec mon N° de téléphone",
         "customLabelTexts":[
            "Object"
         ],
         "enterCode":"Veuillez entrer le code de confirmation reçu par SMS",
         "errorMsg":"Une erreur s'est produite lors de votre connexion veuillez vérifier votre numéro ou essayer ultérieurement.",
         "iReedAndAccept":"J’ai lu et j’accepte les",
         "phoneNumber":"Numéro de téléphone mobile",
         "tooMuchConnexion":"Vous avez effectué trop de tentative de connexion.

Veuillez réessayer plus tard.",
         "verifyPhoneNumber":"Vérifier le numéro de téléphone"
      },
      "deletion":{
         "acceptTerms":"J'ai bien compris et j'accepte
les conditions ci-dessus",
         "cancelPrompt":"Annuler",
         "confirmCode":"Confirmer le code",
         "confirmPrompt":"Confirmer",
         "deleteAccount":"Supprimer mon compte",
         "enterCode":"Veuillez entrer le code de confirmation reçu par SMS",
         "loosing":" Vous perdrez toutes vos cartes cadeaux en cours de validité",
         "noAccessArticle":"Vous n'aurez plus accĂšs Ă  la liste des articles que vous avez vendus",
         "noAccessIDtroc":"Vous n'aurez plus accĂšs Ă  la liste des IDTROC auxquels vous participez",
         "yourGonnaDelete":"Vous vous apprĂȘtez Ă  supprimer votre compte de maniĂšre dĂ©finitive. Par consĂ©quent, ..."
      },
      "notifications":{
         "disabledNotifications":"Vos notifications ne sont pas actives. Allez svp dans vos préférences téléphone pour les activer.",
         "itemNotif1":"A chaque article vendu",
         "itemNotif2":"Quand la carte cadeau est créditée",
         "itemNotif3":"La veille des étapes clés d'un IDTroc",
         "notify":"Me notifier :"
      },
      "profil":{
         "adress":"Adresse",
         "city":"Ville",
         "country":"Pays",
         "deliveredBy":"Délivré par",
         "deliveredDate":"Délivré le",
         "expired":"Expire le",
         "firstName":"Prénom",
         "lastName":"Nom",
         "mail":"Email",
         "numID":"Numéro de la piece",
         "numProfil":"Numéro de fidélité",
         "postalCode":"Code postal",
         "resetBtnCancel":"Annuler",
         "resetBtnReset":"RĂ©initialiser",
         "resetBtnText":"Êtes-vous sĂ»r de supprimer vos donnĂ©es personnelles ?",
         "resetBtnTitle":"RĂ©initialiser",
         "titleDeleteBtn":"Supprimer mon compte",
         "titleGreenBtn":"Modifier mon profil",
         "titleInfoProfil":"Information du profil",
         "titleResetBtn":"RĂ©initialiser mes informations"
      },
      "settings":{
         "deleteAccount":"Supprimer mon compte",
         "login":"Se connecter",
         "logout":"Se déconnecter",
         "notifications":"Mes notifications",
         "profile":"Mon profil",
         "questions":"Foire aux questions"
      }
   },
   "stores":{
      "store":{
         "getStoreItinerary":"Obtenir l'itinéraire",
         "storeNoLongerAcceptingItems":"Ce magasin n’accepte plus d’articles"
      },
      "storeSchedules":{
         "friday":"Ven.",
         "monday":"Lun.",
         "saturday":"Sam.",
         "sunday":"Dim.",
         "thursday":"Jeu.",
         "tuesday":"Mar.",
         "wednesday":"Mer."
      },
      "stores":{

      }
   },
   "trocs":{
      "searchTrocs":{
         "activateGeolocation":"Activer la géolocalisation",
         "deactivateGeolocation":"Désactiver la géolocalisation",
         "discoverIdTrocsNearby":"Découvrez les IDTroc à proximité",
         "findAnIdTroc":"Trouver un IDTroc",
         "idTrocsIn":"IDTroc sur",
         "rightNow":"En ce moment",
         "searchByCityZipCode":"Chercher par ville / code postal",
         "stores":"magasins"
      },
      "troc":{
         "AddArticle":"Ajouter un article",
         "cantDisplayStoreInfo":"Il semblerait que nous n’arriverons pas Ă  rĂ©cupĂ©rer les informations du magasin",
         "contractNumber":"Numéro de contrat",
         "dateToHoldOn":"Les dates Ă  retenir",
         "depositArticle":"déposez vos articles en magasin et profitez de la vente !",
         "discountSale":"derniers jours de vente, tous vos articles seront remisés de 30% pour booster vos ventes.",
         "editMyInformations":"Modifier mes informations",
         "from":"Du",
         "fromThe":"A partir du",
         "giftCardsDelivery":"recevez vorte carte cadeau dans votre application IDTroc, valable dans l'ensemble des boutiques OkaĂŻdi, ObaĂŻbi, Oxybul, IDKIDS et sur okaidi.fr et idkids.fr",
         "kilometer":"km",
         "participatingStores":"magasins participants",
         "theNearest":"Le plus proche",
         "to":"au",
         "withdrawalOfUnsold":"récupérez vos invendus ou décidez d'en faire don à l'organisme parrainé par votre magasin."
      },
      "trocButtons":{
         "addFirstArticle":"J'ajoute mon premier article !",
         "alreadyParticipatePartOne":"Vous ĂȘtes dĂ©jĂ  inscrit Ă  cet IDTroc dans le magasin",
         "alreadyParticipatePartTwo":", voulez-vous changer de magasin pour ",
         "changeStore":"Changement de magasin",
         "participate":"Je participe !",
         "printTickets":"J'imprime mes Ă©tiquettes",
         "validContract":"Je valide mon contrat !"
      },
      "trocDetails":{
         "age":"ans",
         "autumn":"Automne",
         "books":"Livres",
         "clothes":"VĂȘtements",
         "findAStore":"Trouver un magasin",
         "notSpecified":"non renseigné",
         "spring":"Printemps",
         "summer":"ÉtĂ©",
         "toys":"Jeux et Jouets",
         "winter":"Hiver"
      },
      "trocInfo":{
         "noneInfo":"information indisponible",
         "noneSchedule":"Il semblairait que nous n'arrivons pas à récupérer les horaires"
      },
      "trocs":{
         "noTroc":"Pas de troc disponible !"
      }
   },
   "updateApp":{
      "updateApp":{
         "newVersion":"Une nouvelle version 
 est disponible !",
         "updateNow":"Mettez Ă  jour votre 
 application pour bénéficier 
 des derniÚres nouveautés."
      }
   }
}"LOG  i18next":"languageChanged fr
 LOG  i18next":"initialized"{
   "appendNamespaceToCIMode":false,
   "appendNamespaceToMissingKey":false,
   "backend":{
      "addPath":"/locales/add/{{lng}}/{{ns}}",
      "allowMultiLoading":false,
      "crossDomain":false,
      "customHeaders":{

      },
      "loadPath":[
         "Function resources"
      ],
      "overrideMimeType":false,
      "parse":[
         "Function parse"
      ],
      "parsePayload":[
         "Function parsePayload"
      ],
      "queryStringParams":{

      },
      "reloadInterval":false,
      "request":[
         "Function request"
      ],
      "requestOptions":{
         "cache":"default",
         "credentials":"same-origin",
         "mode":"cors"
      },
      "stringify":[
         "Function stringify"
      ],
      "withCredentials":false
   },
   "contextSeparator":"_",
   "debug":true,
   "defaultNS":[
      "translation"
   ],
   "fallbackLng":[
      "fr"
   ],
   "fallbackNS":false,
   "ignoreJSONStructure":true,
   "initImmediate":true,
   "interpolation":{
      "escapeValue":false,
      "format":[
         "Function bound format"
      ],
      "formatSeparator":",",
      "maxReplaces":1000,
      "nestingOptionsSeparator":",",
      "nestingPrefix":"$t(",
      "nestingSuffix":")",
      "prefix":"{{",
      "skipOnVariables":true,
      "suffix":"}}",
      "unescapePrefix":"-"
   },
   "joinArrays":false,
   "keySeparator":".",
   "lng":"fr",
   "load":"languageOnly",
   "missingInterpolationHandler":false,
   "missingKeyHandler":false,
   "nonExplicitSupportedLngs":false,
   "ns":[
      "translation"
   ],
   "nsSeparator":":",
   "overloadTranslationOptionHandler":[
      "Function handle"
   ],
   "parseMissingKeyHandler":false,
   "partialBundledLanguages":false,
   "pluralSeparator":"_",
   "postProcess":false,
   "postProcessPassResolved":false,
   "preload":false,
   "returnEmptyString":true,
   "returnNull":true,
   "returnObjects":false,
   "returnedObjectHandler":false,
   "saveMissing":false,
   "saveMissingPlurals":true,
   "saveMissingTo":"fallback",
   "simplifyPluralSuffix":true,
   "supportedLngs":[
      "fr",
      "en",
      "cimode"
   ],
   "updateMissing":false
}
adrai commented 2 years ago

and afterwards there's nothing more? Isn't there any other warning or error? What happens if you console.log(t('some.key')) some of your keys?

lotfi-a commented 2 years ago

no errors and warnings @adrai and

 console.log(t(SearchTrocsKeys.rightNow)); 

output the right translation

adrai commented 2 years ago

So seems the cause of your issue is not i18next... In case you're using Suspense, you may want to try without Suspense usage.

lotfi-a commented 2 years ago

thank u a lot @adrai

hardik-javascript commented 2 years ago

@adrai It's possible to use with suspense because for a little time it shows translations keys

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.