notabene
Doc multilingue
Guide
Doc multilingue
Doc multilingue (i18n)
Ajoutez i18n pour servir les mêmes docs en plusieurs langues avec des URL propres
préfixées (la locale par défaut sans préfixe, les autres en /<locale>/…), un
sélecteur de langue dans l’en-tête, des alternates hreflang et un chrome par
page — une page française affiche nav, boutons et dates en français.
i18n: { locales: ["en", "fr"], defaultLocale: "en", strategy: "directory" },
Deux organisations des fichiers
Choisissez l’organisation des fichiers avec strategy :
directory(par défaut) — un dossier par locale :docs/en/guide.md·docs/fr/guide.md.suffix— une seule arborescence, traduite fichier par fichier :docs/guide.md(défaut) ·docs/guide.fr.md. Idéal pour ajouter des langues à une doc existante : les fichiers de la langue par défaut ne bougent pas, donc leurs URL et leurs fils de commentaires sont préservés.
Préférence de langue & repli
Le sélecteur enregistre la langue choisie par le visiteur ; dès lors, arriver sur une
page écrite dans une autre langue qui a une traduction redirige vers celle-ci —
suivre n’importe quel lien vous garde dans votre langue. Une page sans traduction
se replie sur la langue source et affiche un bandeau discret. Les pages non liées à une
langue de contenu — /comments, /journal, /review, la page d’accueil et la
404 — suivent votre langue courante côté client et embarquent le même sélecteur.
Tout est par langue
- Les commentaires sont par langue — un commentaire sur la page FR est un fil à part, relié au fichier source FR.
- La recherche et l’export PDF (
notabene pdf --locale fr) sont limités à une langue ; un site public embarque desllms.txtet des doubles Markdown par locale. - Toute chaîne humaine de la config accepte une map par locale : les
label/descriptiond’un espace (label: { en: "Docs", fr: "Documentation" }), la page d’accueil personnalisée (home: { en: …, fr: … }), et chaque libellé de lien de navigation, titre du bloc sidebar et ligne de pied de page. Non défini pour une locale → repli sur celle par défaut.
Omettez i18n pour une seule langue — le comportement est inchangé.