Cinq langues
L’interface, la documentation et les pages de texte sont en anglais, en allemand, en français, en espagnol et en italien, les phrases tenues dans un seul catalogue typé et une étape de compilation qui confronte chaque langue à l’anglais : mêmes clés, mêmes longueurs de listes, rien de vide, mêmes substituants. Elle a trouvé 192 clés manquantes à son premier passage.
La langue est dans l’adresse — /de/docs, /fr/csv-to-markdown — et l’anglais garde les chemins nus, car soixante-huit pages y étaient déjà indexées.
Le sélecteur de l’en-tête nomme chaque langue dans sa propre langue — Deutsch, Français, Español, Italiano — car c’est le seul nom que reconnaît celui qui la lit. En choisir une vous emmène à la même page dans cette langue, et le choix demeure.
La langue est dans l’adresse
/de/docs, /fr/csv-to-markdown, /es/markdown-to-html : une adresse par page et par langue, ce dont un moteur de recherche a besoin pour proposer la bonne. L’anglais garde délibérément les chemins nus. Soixante-huit pages y étaient déjà indexées, et glisser l’anglais sous un préfixe à lui aurait échangé tout ce qu’un moteur sait de ce site contre un schéma plus net.
Un navigateur qui réclame une langue que personne n’a écrite ici arrive sur l’anglais, plutôt que sur une redirection vers un texte qu’il ne peut pas lire. Les dates et les noms de mois ne sont pas traduits à la main : Intl les compose, ce qui explique aussi que l’anglais affiche ici « 8 September 2026 » et non l’ordre américain.
Un seul catalogue, vérifié par la compilation
Chaque phrase que dit l’interface vit dans un catalogue typé, l’anglais faisant source. Une clé ajoutée en anglais et oubliée en allemand ne compile pas, ce qui supprime le défaut propre à toute table de chaînes vérifiée à la main.
Les types ne voient pourtant pas tout. Une liste de trois sections satisfait le même type qu’une liste de cinq : un traducteur qui perdrait un paragraphe livrerait donc une page amputée, dans une seule langue, sans bruit. Une étape de compilation parcourt donc chaque langue face à l’anglais — mêmes clés, mêmes longueurs de listes, rien de vide, mêmes substituants — et elle tourne dans la compilation, si bien qu’une langue qui ne correspond pas arrête un déploiement au lieu d’atteindre un lecteur. Elle a trouvé 192 clés manquantes à son premier passage.
Le blog est autre chose
Un article est un fichier et non une chaîne, et sa traduction est un autre fichier à côté : le blog se traduit donc pièce par pièce. L’anglais, l’allemand et le français ont les soixante-trois. Là où une langue n’a rien, elle ne recense rien, ne relie rien et ne revendique aucun hreflang : un titre au-dessus d’un index vide vaut moins qu’une absence honnête.
Ce qui reste en anglais
Les messages de l’API et ceux du connecteur, car une API répond dans une seule langue. La page de consentement vers laquelle un assistant vous envoie, et la version que le serveur rend d’un document partagé : toutes deux sont composées pour un lecteur dont nous ne savons rien, à une adresse sans langue, et se tromper sur un écran de consentement vaut moins que l’anglais. Les entrées de ce journal sont en anglais elles aussi — une page comme celle-ci est écrite dans une autre langue lorsqu’elle mérite d’y être.
Autres lectures : à quoi sert un convertisseur Markdown vers HTML et comment choisir parmi les convertisseurs de documents en ligne.