**Ceci est une ancienne révision du document !**
Traductions
Documentation react-i18next
Documenation Intl
Vous souhaitez développer une application traduites en plusieures langues. Aucun problème, react-i18next met à dispoistion un système qui gére des fichiers de traduction. Il permet de traduire directement du texte dans vos composants et de gérer dans des cas plus complexes des formats (date, nombre, …).
Nous vous invitons à consulter également l'objet natif Intl
de JavaScript pour gérer tout type de formats.
Stocker un fichier de traduction
Les fichiers de traductions sont des fichiers JSON. Il y a deux moyens de les stocker selon la façon des les charger:
- Dans le dossier
public
, ils sont chargés dynamiquement et peuvent être modifiés sans rebuild. - Dans le dossier
src
, ils sont chargés statiquement.
{ "loginPage": { "emailInput": { "label": "Adresse mail", "placeholder": "Tapez votre adresse mail ici..." }, "passwordInput": { "label": "Mot de passe", "placeholder": "●●●●●●●●" }, "button": "Connexion" } }
import i18n from "i18next"; import { initReactI18next } from "react-i18next"; import HttpBackend from "i18next-http-backend"; // import en from "./languages/en.json"; // import fr from "./languages/fr.json"; // const resources = { // en, // fr, // }; i18n .use(HttpBackend) .use(initReactI18next) .init({ // resources, ns: ["LoginPage", "homePage", "error404Page"], interpolation: { escapeValue: false, // react already safes from xss }, backend: { loadPath: "/locales/{{lng}}/{{ns}}.json", }, }); export { i18n, resources };