Fait avec Chinaski

Mettre en place un site multilingue

Les auteurs écrivent, et les visiteurs lisent, dans autant de langues que vous en activez. Ce guide parcourt le passage d'un site monolingue à une publication pleinement multilingue : activer les langues, structurer les URL, rédiger chaque locale, et traduire efficacement là où l'outillage peut aider.

Configuration unique

  1. Définissez les langues : Settings → General → Active Languages, une liste de codes à deux lettres séparés par des virgules (régionaux éventuellement, comme zh-cn). Enregistrez la liste avant de toucher à autre chose. Chaque entrée est validée (code minuscule, suffixe facultatif) ; une liste vide retombe sur en.
  2. Choisissez la langue par défaut : la langue de repli utilisée quand une traduction manque, l'ancre de la page d'accueil, et la cible hreflang x-default. Elle doit toujours être présente dans la liste ; si votre enregistrement en soumet une qui ne l'est pas, il se ramène au premier code listé.
  3. Laissez le mode URL se stabiliser : sous Settings → Permalinks le Language URL Mode se redérive quand votre nombre de langues change :
    • une langue → aucun segment d'URL ;
    • plusieurs langues → mode chemin (/en/…, /es/…) ;
    • le mode sous-domaine est votre propre choix et le reste jusqu'à ce que vous le changiez ; chaque langue est alors servie depuis un sous-domaine comme es.example.com.

Chaque répertoire de sortie est propre à une langue, donc un changement du nombre de langues remodèle la disposition des fichiers au prochain build ; vous avez rarement besoin de toucher au mode à la main, mais il vaut la peine de vérifier après un enregistrement si vous voyez des préfixes /en/ inattendus (voir aussi la page de dépannage Redirects & 404s).

  1. Les flux et les menus ont besoin de données par langue. Les éléments de menu sont par langue (chaque langue a ses propres menus header/footer) ; le préfixe URL du blog et le titre d'index du blog acceptent des substitutions par langue ; les URL sont servies sous /{lang}/… en mode chemin.

Écrire dans deux langues ou plus

Définissez la langue par élément. Chaque page, post, block, snippet et élément de navigation a un menu déroulant Language (tous les éléments proviennent de cette liste). Chaque langue est une ligne : traduire une page revient à enregistrer une ligne dupliquée dans une autre langue, reliée par le mécanisme de traduction.

Les slugs font paire avec la langue : deux pages partageant un slug peuvent coexister dans deux langues sans conflit, et les deux sont reliées dans la sortie hreflang.

Aides efficaces utiles :

  • Créez des traductions en masse: dupliquez un élément existant vers les langues manquantes depuis la matrice Tools → Translations, en une fois.
  • Utilisez les intégrations IA: les aides à la traduction de templates récupèrent l'enregistrement original, le copient, et appliquent vos traductions de titre/corps fournies, pour que vous n'ayez qu'à écrire le contenu linguistique.
  • Décidez où vont les formulaires: avec des pages par langue, les formulaires publics s'appliquent à la langue dans laquelle ils sont intégrés dans le corps. Les formulaires sont neutres linguistiquement (ils fonctionnent pareil dans toutes les langues).

Comment le site construit est organisé

En mode chemin, chaque langue range sa sortie sous son propre répertoire : /en, /es, avec pages/posts sous leur préfixe de blog, par langue ; pages de catégorie, flux, sitemap, robots ou index de recherche créés par langue. Les menus et partages (des types de contenu ci-dessus) portent la langue de leurs éléments. Les alternates hreflang sont générés entre langues, avec l'entrée x-default pointant vers la page correspondante de la langue par défaut.

Le mode air-gap ne change pas en soi la planification des URL ; ce qui compte, c'est le mode URL : les sites monolingues utilisent une seule racine sans sous-arbre par langue, et les sites monolingues ne génèrent aucun lien hreflang.

Maintenance

  • Traductions manquantes : l'écran Tools → Translations est le tableau de bord. Il met en matrice chaque élément traduit par langue (et détecte les formulaires, selon la définition de l'outil). Complétez les éléments manquants quand vous y êtes prêt.
  • Les blocks non traduits retombent sur la version de la langue par défaut dans la page construite ; ainsi les pages ne paraissent jamais cassées parce qu'un block manque dans une langue. Traduisez au fur et à mesure que le texte devient prêt.
  • Supprimer une langue de la liste exige de purger son contenu ; toute page/post/block résiduel bloque l'enregistrement et vous indique les comptages.

Une mise en garde sur les langues en retard

La plupart des sites multilingues poussent de façon inégale : une langue démarre avec des menus et quelques pages pendant que le reste du contenu rattrape. Deux comportements vérifiés vous aident à planifier :

  • Les liens hreflang par élément n'apparaissent que lorsque la langue de destination possède réellement une version de cet élément, donc des traductions incomplètes n'envoient pas les visiteurs vers des 404.
  • Le contenu de la langue par défaut est le modèle : le repli de la langue manquante le sert, et les aides à la traduction partent de lui.
Lisez ce site en