← Retour au site Chargement…

notabene

Doc multilingue

Guide

Généré le 1 août 2026

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" },

i18n notabene : choisir une langue dans le sélecteur de l'en-tête, docs et chrome basculent

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 des llms.txt et des doubles Markdown par locale.
  • Toute chaîne humaine de la config accepte une map par locale : les label/description d’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é.