Traductions (i18n)
Ce projet supporte la traduction via le système i18n de Docusaurus (français + anglais).
Procédure rapide pour générer des squelettes de traduction en anglais :
- Installez les dépendances (si besoin) :
npm install
- Générer les squelettes de traduction (copie des fichiers
docs/versi18n/en/...) :
npm run i18n:scaffold
-
Traduisez les fichiers générés sous
i18n/en/docusaurus-plugin-content-docs/current/. -
Pour vérifier localement, lancez :
npm run start
Vérifier le changement de langue (local)
- En mode développement (
npm run start) le menulocaleDropdownen haut à droite permet de basculer entreFrançaisetEnglish. - En production, vous pouvez construire puis servir le site :
npm run build
npm run serve
- Ouvrez
http://localhost:3000/pour la version par défaut (fr). - Ouvrez
http://localhost:3000/en/pour la version anglaise.
Notes :
- Les fichiers générés contiennent une bannière
TRANSLATION REQUIREDpour faciliter la revue. - Si vous préférez traduire via une plateforme (Crowdin, Locize), exportez/importez les fichiers
i18n/*.
Traduire la page d'accueil (pages React)
- Rendez vos textes traduisibles en utilisant le composant
Translateou la fonctiontranslatede Docusaurus :
import Translate, {translate} from '@docusaurus/Translate';
// Exemple :
<p className="hero__subtitle">
<Translate id="homepage.tagline" description="Homepage tagline">
Intelligence Artificielle Africaine par Umbaji
</Translate>
</p>
// Pour la meta title/description utilisez `translate` avec un message statique :
title={translate({message: 'Hello from YODI', id: 'homepage.metaTitle'})}
- Exécutez l'extraction des messages :
npx docusaurus write-translations --locale en
-
Modifiez les fichiers générés dans
i18n/en/(ex :i18n/en/code.json) et ajoutez vos traductions. -
Vérifiez localement :
npm run build
npm run serve
# puis ouvrez http://localhost:3000/en/
Astuce : pour les pages en MDX et les docs, vous pouvez aussi utiliser npm run i18n:scaffold pour générer des squelettes de traduction en anglais dans i18n/en/docusaurus-plugin-content-docs/current/.