Traduisez votre application React avec une IA qui fournit des résultats de qualité humaine. Obtenez des traductions instantanées, prêtes pour la production, gratuitement pendant 30 jours. Aucune carte de crédit n’est requise.
Vous ne savez pas comment préparer votre application React au multilinguisme ? Ce guide comprend également une démonstration étape par étape avec de vrais commits, afin que vous puissiez voir exactement comment internationaliser et traduire un projet React.
Traduisez les projets React rapidement et facilement avec PTC
PTC (Private Translation Cloud) est un système de traduction qui vous aide à maintenir votre projet React multilingue sans effort supplémentaire. Au lieu de traduire manuellement des fichiers JSON ou de configurer des flux de travail de traduction compliqués, PTC vous permet d’envoyer un fichier JSON avec des chaînes sources pour la traduction et d’obtenir des traductions basées sur l’IA en quelques étapes.
Voici comment traduire votre projet React avec PTC :
Étape 1
Inscrivez-vous pour un essai gratuit de 30 jours
Une fois que vous vous inscrivez, vous bénéficiez d’un accès illimité à toutes les fonctionnalités de PTC pendant 30 jours, sans qu’aucune carte de crédit ne soit requise.
Étape 2
Démarrer un nouveau projet
Dans l’assistant de configuration, choisissez l’option Téléchargement manuel de fichier. Cela vous permet de télécharger un fichier JSON depuis votre projet React (et de nombreux autres formats de fichiers de ressources pris en charge) pour voir comment PTC gère les traductions.
Étape 3
Décrivez votre projet
Ajoutez une brève description de ce qu’est votre application et à qui elle s’adresse. Cela aide Private Translation Cloud à choisir la bonne terminologie, le bon ton et le bon style de langue pour votre public.

Étape 4
Téléchargez votre fichier JSON
En général, il s’agit du fichier en.json
de votre dossier src/i18n/locales/
.
Étape 5
Choisissez vos langues cibles
Choisissez les langues dans lesquelles vous souhaitez traduire. Private Translation Cloud fournit des traductions tenant compte du contexte dans plus de 33 langues, couvrant les langues parlées sur tous les principaux marchés.
Étape 6
Consultez et téléchargez vos traductions
Private Translation Cloud fournit des traductions d’IA en quelques minutes. Vous les verrez dans l’onglet Traductions, organisées dans un tableau clair par langue.
Les traductions longues sont mises en évidence en jaune. Vous pouvez les conserver si votre interface utilisateur le prend en charge, ou demander à Private Translation Cloud de les retraduire pour qu’elles correspondent à vos limites de longueur.

Une fois que vous êtes satisfait, téléchargez les traductions depuis l’onglet Fichiers de ressources sous forme de ZIP. Si vous avez traduit dans plusieurs langues, le ZIP comprendra un fichier par langue (par exemple, fr.json
, de.json
).
Étape 7
Ajoutez les fichiers traduits à votre projet
Placez chaque fichier JSON téléchargé dans votre projet React sous src/i18n/locales/
. Si vous avez configuré votre application pour charger tous les fichiers à partir de ce dossier, i18next détectera automatiquement les nouveaux fichiers de langue. La prochaine fois que vous exécuterez votre application, vous pourrez basculer entre les langues sans modifier le code.
C’est tout ce qu’il faut pour traduire une application React avec Private Translation Cloud !
Traduisez les notes de version, les e-mails et autres textes de votre application React
Votre projet React comprend plus que les chaînes à l’intérieur de vos fichiers JSON. Vous devrez peut-être également traduire du contenu de support comme les notes de version, les e-mails d’intégration ou les annonces de produits.
Avec la fonctionnalité Coller pour traduire de Private Translation Cloud, il vous suffit de :
- Allez dans Traductions → Coller pour traduire
- Collez le texte supplémentaire que vous souhaitez traduire, par exemple le texte d’un e-mail
- Cliquez sur Traduire

Vous obtiendrez instantanément des traductions de haute qualité, tenant compte du contexte, que vous pourrez copier dans votre projet.


Vous pouvez faire de même pour d’autres contenus autour de votre projet, comme les notes de version ou les annonces de produits, en gardant toutes les communications avec les utilisateurs cohérentes dans toutes les langues.
Automatisation du processus de traduction
Le téléchargement manuel de fichiers est un excellent moyen de voir comment Private Translation Cloud fournit des traductions de qualité humaine à la vitesse et au coût d’une machine. Une fois que vous avez constaté les résultats par vous-même, vous pouvez passer à l’étape suivante et automatiser le processus afin que les traductions restent à jour sans effort supplémentaire.
Private Translation Cloud vous offre deux options pour automatiser le flux de travail de traduction :
- Intégration Git – Liez votre référentiel GitHub, GitLab ou Bitbucket. Private Translation Cloud surveillera les modifications apportées à vos fichiers sources et ouvrira des demandes d’extraction avec les traductions mises à jour.
- Intégration de l’API – Connectez PTC à votre flux de travail de développement. Votre application peut envoyer le texte mis à jour à PTC via l’API et récupérer automatiquement les traductions.
Exemple i18n React : démonstration d’un projet React traduisible
Si votre projet React n’est pas encore configuré pour la localisation, ne vous inquiétez pas. Dans cette section, nous vous guiderons à travers une application de démonstration et des exemples de références de commit.
Ce guide suppose que vous avez déjà une application React + TypeScript en cours d’exécution (Vite, CRA, Next ou similaire) et au moins quelques chaînes d’interface utilisateur (UI) en anglais. Nous allons ajouter la prise en charge de l’internationalisation (i18n), organiser les fichiers de traduction et utiliser Private Translation Cloud pour générer des traductions rapidement et facilement.
1
Configurer react-i18next pour la localisation
Pour préparer votre application à la localisation, vous devez déplacer le texte hors des composants et dans les fichiers de traduction. Cela permet d’ajouter d’autres langues plus tard sans modifier votre code.
La façon la plus courante de le faire dans React est d’utiliser i18next et son package d’intégration React react-i18next.
- Installez les bibliothèques :
npm install i18next react-i18next
- Créer un dossier pour les fichiers de traduction :
src/i18n/
└── locales/
└── en.json
C’est là que vivront toutes les traductions. Chaque fichier à l’intérieur de src/i18n/locales/
représente une seule langue. Pour l’instant, vous n’avez besoin que de en.json
pour l’anglais. Plus tard, Private Translation Cloud générera des fichiers supplémentaires comme fr.json
(français) ou de.json
(allemand) et les placera dans ce même dossier, afin que tout reste organisé au même endroit.
- Ajoutez vos chaînes de langue source (anglais) à
en.json
:
{
"welcome": "Welcome",
"description": "This is a localization demo.",
"clickMe": "Click me"
}
- Remplacez le texte codé en dur dans
App.tsx
par des clés de traduction qui font référence au fichier JSON :
import { useTranslation } from 'react-i18next';
function App() {
const { t } = useTranslation();
return (
<div>
<h1>{t('welcome')}</h1>
<p>{t('description')}</p>
<button onClick={() => alert(t('clickMe'))}>{t('clickMe')}</button>
</div>
);
}
Si vous vous demandez d’où vient la fonction t
, nous allons la configurer à l’étape suivante lors de la configuration d’i18n. Pour l’instant, l’important est que votre composant ne repose plus sur du texte anglais codé en dur.
Référence de commit : Ajouter le fichier de traduction anglais initial
2
Indiquez à i18n où trouver vos fichiers de traduction
À l’étape précédente, vous avez créé en.json
et mis à jour votre composant pour qu’il fasse référence aux clés de traduction. Pour l’instant, cependant, i18n ne sait pas où chercher ces fichiers JSON. Nous devons le configurer pour que la fonction t()
puisse réellement extraire les bonnes chaînes.
Au lieu d’importer chaque fichier de langue manuellement, vous pouvez utiliser Vite’s import.meta.glob
pour charger automatiquement chaque fichier *.json
à l’intérieur de src/i18n/locales/
. Cela signifie que lorsque vous ajouterez plus tard des fichiers comme fr.json
ou de.json
(depuis Private Translation Cloud), ils seront détectés sans travail supplémentaire.
- Créer
src/i18n/index.ts
et configurer i18next pour charger automatiquement vos fichiers JSON :
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
const modules = import.meta.glob('./locales/*.json', { eager: true }) as Record<
string,
{ default: Record<string, any> }
>;
const resources: Record<string, { translation: any }> = {};
for (const path in modules) {
const lang = path.match(/\.\/locales\/(.*)\.json$/)?.[1];
if (lang) {
resources[lang] = { translation: modules[path].default };
}
}
i18n
.use(initReactI18next)
.init({
resources,
fallbackLng: 'en',
interpolation: { escapeValue: false },
});
export default i18n;
- Importez cette configuration une fois dans votre fichier d’entrée (
src/main.tsx
) afin que i18next soit prêt avant le rendu de l’application :
import './i18n';
Grâce à cela, votre application React sait où trouver les fichiers de traduction. Lorsque Private Translation Cloud générera plus tard de nouveaux fichiers, comme fr.json, vous n’aurez pas besoin de modifier votre code ou d’ajouter des importations. Tout ce que vous aurez à faire est de vous assurer que le fichier traduit se trouve dans src/i18n/locales/
. La prochaine fois que vous exécuterez l’application, i18n rendra automatiquement le français disponible avec l’anglais.
Référence de commit : configurer la configuration i18n
3
Créer les traductions avec Private Translation Cloud
Maintenant que votre application lit les messages depuis src/i18n/locales/en.json
, vous pouvez utiliser Private Translation Cloud pour générer les traductions dans d’autres langues.
- Une fois que vous vous êtes inscrit pour un essai gratuit ou que vous vous êtes connecté à votre compte Private Translation Cloud, ouvrez l’assistant de configuration et ajoutez votre fichier source anglais comme ressource traduisible :
src/i18n/locales/en.json
Ensuite, définissez le chemin de sortie afin que Private Translation Cloud sache où placer les fichiers traduits :
src/i18n/locales/{{lang}}.json
Ce modèle crée un fichier par langue (par exemple, fr.json
et de.json
) dans le même dossier que en.json
.
4
Obtenez vos traductions et ajoutez-les à votre projet
Private Translation Cloud a besoin de quelques minutes pour générer les traductions d’IA. Lorsqu’elles sont prêtes, vous recevrez un fichier JSON par langue. Chaque fichier doit être placé dans votre projet sous le dossier src/i18n/locales/
.
Par exemple, si vous avez traduit en français, le fichier sera :
src/i18n/locales/fr.json
Exemple du contenu à l’intérieur de src/i18n/locales/fr.json
:

La façon dont vous obtenez les fichiers dépend de la façon dont vous utilisez Private Translation Cloud. Dans cette démonstration, nous avons choisi l’intégration Git, ce qui signifie que Private Translation Cloud a ouvert une demande de fusion avec les fichiers traduits déjà placés dans le bon dossier.
Référence de commit : PTC ReactLocalizationDemo : traductions automatiques
5
Ajouter un sélecteur de langue et tester votre application dans d’autres langues
Une fois vos traductions en place, la dernière étape consiste à mettre à jour App.tsx
et à ajouter un simple sélecteur de langue. Cela vous permet de changer de langue dans votre application React et de confirmer que tout fonctionne correctement.
import { useTranslation } from 'react-i18next';
function App() {
const { t, i18n } = useTranslation();
return (
<div>
<h1>{t('welcome')}</h1>
<p>{t('description')}</p>
<button onClick={() => alert(t('clickMe'))}>{t('clickMe')}</button>
<button onClick={() => i18n.changeLanguage('en')}>EN</button>
<button onClick={() => i18n.changeLanguage('fr')}>FR</button>
</div>
);
}
Vous pouvez maintenant basculer entre l’anglais et le français. Lorsque vous exécutez l’application en français, la mise en page doit être exactement la même qu’en anglais : seule la langue du texte change.


Référence de commit : Ajouter un sélecteur de langue pour tester la traduction
Bonus
Options i18next avancées pour les applications React
Une fois que votre application React est localisée et fonctionne dans plusieurs langues, vous pouvez déverrouiller quelques options avancées dans i18next pour améliorer les performances et l’expérience utilisateur :
- Détecter automatiquement la langue de l’utilisateur
Par défaut, l’application démarre en anglais et permet aux utilisateurs de changer de langue manuellement avec un sélecteur de langue. Pour qu’elle s’ouvre automatiquement dans la langue préférée de l’utilisateur, installez le plugin de détection de langue :
npm install i18next-browser-languagedetector
Ensuite, mettez à jour votre src/i18n/index.ts
:
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
i18n
.use(LanguageDetector) // detect browser/localStorage/etc.
.use(initReactI18next)
.init({
fallbackLng: 'en',
supportedLngs: ['en', 'fr', 'de', 'ar'], // adjust to your supported languages
interpolation: { escapeValue: false },
detection: {
order: ['querystring', 'localStorage', 'cookie', 'navigator'],
caches: ['localStorage', 'cookie'],
},
react: {
useSuspense: true, // set false if you don’t wrap <App /> in <Suspense>
},
});
export default i18n;
Avec cette configuration, i18n vérifiera la langue du navigateur (et les préférences stockées) lors du premier chargement et passera automatiquement à la langue préférée de l’utilisateur si elle est disponible.
- Charger les traductions de manière différée pour des bundles plus petits
À l’étape 2 de ce guide, vous avez configuré import.meta.glob
avec { eager: true }
, qui regroupe tous les fichiers de traduction dans le chargement initial de l’application. C’est simple, mais si vous prenez en charge de nombreuses langues, cela peut augmenter la taille de votre bundle.
Pour optimiser, vous pouvez charger les traductions de manière différée en utilisant i18next-http-backend :
npm install i18next-http-backend
Mettez à jour src/i18n/index.ts
:
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import Backend from 'i18next-http-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
i18n
.use(Backend) // load JSON over HTTP
.use(LanguageDetector) // auto-detect + cache
.use(initReactI18next)
.init({
fallbackLng: 'en',
supportedLngs: ['en', 'fr'],
interpolation: { escapeValue: false },
backend: {
// Vite serves files from /public at the site root
loadPath: '/locales/{{lng}}/{{ns}}.json',
},
react: { useSuspense: true },
});
export default i18n;
Voici comment vos fichiers doivent être organisés :
public/
locales/
en/
translation.json
fr/
translation.json
Avec cette configuration, les fichiers de traduction sont chargés depuis le serveur uniquement lorsqu’une langue est nécessaire. Cela permet de réduire la taille du bundle initial, surtout si votre application prend en charge de nombreuses langues.
En suivant ces deux conseils d’optimisation, votre application React peut :
- Démarrer automatiquement dans la langue préférée de l’utilisateur
- Charger les traductions uniquement en cas de besoin, en gardant vos bundles légers

Commencez à traduire votre application React dès aujourd’hui
Maintenant que vous avez vu à quelle vitesse une application React peut être traduite avec Private Translation Cloud, c’est à votre tour. Essayez-le gratuitement pendant 30 jours et voyez à quel point la traduction de React peut être facile.
