Programmation

Intégrer la Traduction dans Votre Application ReactJS avec React-i18next

19 avr. 2024

Table des matières:

  1. Qu’est-ce que react-i18next ?
  2. Principales fonctionnalités de react-i18next
  3. Principaux concepts à connaître
  4. Conclusion

ReactJS offre une puissante infrastructure pour créer des applications web dynamiques et interactives. Cependant, pour atteindre un public mondial, il est essentiel de fournir une expérience localisée. C’est là que react-i18next entre en jeu. Cette bibliothèque de traduction internationale pour React simplifie grandement le processus de localisation des applications. Dans ce tutoriel, nous explorerons les étapes pour intégrer réact-i18next dans votre projet ReactJS.

Qu’est-ce que react-i18next ?

React-i18next est une bibliothèque basée sur i18next qui facilite l’internationalisation des applications React. Elle fournit des composants et des hooks pour simplifier l’intégration de la traduction dans les composants React, offrant ainsi une expérience utilisateur localisée.

Principales fonctionnalités de react-i18next

  • Facilité d’utilisation : React-i18next offre des hooks et des composants React simples à utiliser pour la traduction.

  • Gestion des traductions : Les traductions sont stockées dans des fichiers JSON et peuvent être chargées dynamiquement dans l’application.

  • Support de la mise en forme : React-i18next prend en charge la mise en forme des chaînes de traduction, permettant l’inclusion de variables dans les traductions.****

  • Gestion de la langue : Il est facile de permettre aux utilisateurs de changer la langue de l’application avec la fonction changeLanguage.

  • Optimisation des performances : Réact-i18next est conçu pour être performant, évitant les rendus inutiles lors du changement de langue.

Principaux concepts à connaître

  • Hooks : Utilisez des hooks tels que useTranslation et useLanguage pour accéder aux fonctionnalités de traduction et de gestion de la langue.

  • Composants : Des composants comme <Trans> permettent de traduire des éléments de texte et <I18nextProvider> fournit le contexte de traduction à l’application.

  • Fichiers de traduction : Stockez vos traductions dans des fichiers JSON, un par langue, contenant des paires clé-valeur pour chaque chaîne de traduction.

  • Options de configuration : Utilisez la fonction init de i18next pour configurer react-i18next avec les langues prises en charge, les options d’interpolation, etc.

Étape 1 : Installation de react-i18next

Tout d’abord, assurez-vous d’avoir installé react-i18next et ses dépendances. Vous pouvez le faire en exécutant la commande suivante dans votre terminal :

npm install i18next react-i18next

Étape 2 : Configuration de i18next

Créez un fichier de configuration pour i18next. Vous pouvez le nommer i18n.js et le placer à la racine de votre projet. Voici un exemple de configuration de base :

// i18n.js
 
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import enTranslations from './translations/en.json';
import arTranslations from './translations/ar.json';
 
i18n
 
.use(initReactI18next)
 
.init({
 
resources: {
 
en: {
 
translation: enTranslations,
 
},
 
ar: {
 
translation: arTranslations,
 
},
 
},
 
lng: 'en',
 
fallbackLng: 'en',
 
interpolation: {
 
escapeValue: false,
 
},
 
});
export default i18n;

Assurez-vous d’avoir des fichiers de traduction pour chaque langue que vous souhaitez prendre en charge. Les fichiers de traduction doivent être au format JSON. Par exemple, en.json pour l’anglais et ar.json pour l’arabe

Étape 3 : Création des fichiers de traduction

**
// en.json
{
"welcome": "Welcome to my app!",
"hello": "Hello, {{name}}!"
}
 
// ar.json
{
"welcome": "مرحبًا بك في تطبيقي!",
"hello": "مرحبًا، {{name}}!"
}**

Étape 4 : Utilisation de react-i18next dans les composants

Maintenant, vous pouvez utiliser react-i18next dans vos composants React pour traduire le contenu. Voici comment vous pouvez faire :

import React from 'react';
import { useTranslation } from 'react-i18next';
 
function MyComponent() {
const { t } = useTranslation();
 
return (
<div>
<h1>{t('welcome')}</h1>
<p>{t('hello', { name: 'John' })}</p>
</div>
);
}
 
export default MyComponent;

Étape 5 : Changement de langue

Pour permettre aux utilisateurs de changer la langue de votre application, vous pouvez utiliser la fonction changeLanguage fournie par i18n. Par exemple, vous pouvez créer un sélecteur de langue :

**import React from 'react';
import { useTranslation } from 'react-i18next';
 
function LanguageSelector() {
const { i18n } = useTranslation();
 
const changeLanguage = (language) => {
i18n.changeLanguage(language);
};
 
return (
<div>
<button onClick={() => changeLanguage('en')}>English</button>
<button onClick={() => changeLanguage('ar')}>العربية</button>
</div>
);
}
 
export default LanguageSelector;**

Conclusion

En intégrant react-i18next dans votre application ReactJS, vous pourrez offrir une expérience localisée à un public mondial. Les étapes simples présentées dans ce tutoriel vous permettront de traduire facilement le contenu de votre application et d’atteindre une plus grande audience. N’hésitez pas à personnaliser les traductions et à explorer les fonctionnalités avancées de react-i18next pour répondre aux besoins spécifiques de votre projet.

Partager cet article:

Daouda Thiam

Coach à Bakeli School of Technology

Bakeli est une école de formation professionnelle dans les nouvelles technologies créer par Volkeno. Elle a formé + de 6000 étudiants et professionnels aux métiers des nouvelles technologies et du digital.

Bakeli

Contacts

S'abonner à la Newsletter

Chargement en cours...

© Copyright 2024, Tous droits réservés.