Ce guide vous montrera comment créer des thèmes WordPress multilingues. Un thème multilingue ne consiste pas seulement à envelopper tous les textes dans des appels GetText et fournir un fichier .mo. Localiser les textes du thème est une étape importante, toutefois, il faut également effectuer de nombreuses autres choses.

Un thème pour un site multilingue doit afficher les langues dans lesquelles il est disponible, permettre de choisir quelle langue afficher et s’afficher correctement dans chaque langue.

Voici que nous devrons faire :

  1. Localiser les différentes langues.
  2. Permettre aux utilisateurs de passer d’une langue à l’autre.
  3. Afficher le bon contenu pour chaque langue.
  4. Indiquer à WPML ce qui doit être traduit.

Préparer le thème pour la traduction

Pour que le thème s’affiche dans les différentes langues, les textes doivent passer en traduction avant qu’ils ne soient affichés. WordPress utilise pour cela GetText et votre thème le devrait aussi.

Nous avons écrit un article sur la localisation de thèmes WordPress. Il décrit comment envelopper les textes du thème dans des appels GetText, créer des traductions (fichiers .mo) et les appliquer au thème.

Basculer entre les différentes langues

Un sélecteur de langue indique aux visiteurs quelles langues sont disponibles, lui permettant de choisir.

Les sélecteurs de langue peuvent revêtir différentes formes. Certaines personnes préfèrent un menu déroulant compact reprenant les noms de langue. D’autres présentent des drapeaux de pays et d’autres encore montrent des listes horizontales ou verticales de langues.

WPML facilite l’implémentation des sélecteurs de langues. Il est doté d’un sélecteur de langues déroulant pouvant également être inclus comme widget. Ce sélecteur permet d’afficher des drapeaux de pays, des noms de langues et leurs traductions. Il peut être configuré depuis le menu WPML-> Langues.

Vous pouvez également créer le vôtre et l’insérer à différents endroits dans le thème. La page du manuel dédiée aux sélecteurs de langues personnalisé vous explique comment en créer un et vous propose des exemples d’utilisation commune. Opter pour un sélecteur de langue personnalisé pour votre thème indique un esprit d’initiative et ajoute une touche d’élégance, mais surtout met en évidence auprès des utilisateurs que le thème est prêt à être utilisé sur des sites multilingues.

Afficher le contenu dans la bonne langue

De nombreux thèmes comprennent des liens codés en dur vers des pages, des catégories et des balises.

WPML s’accroche aux fonctions standard de l’API WordPress et les filtre par langue.

Par exemple, lorsque vous appelez :

$args = array( 'category' => 1 );
$myposts = get_posts( $args );

Supposons que la catégorie « 1 » est une catégorie en anglais et que la traduction vers l’espagnol est la catégorie « 4 ». Lorsqu’un visiteur regarde la page espagnole et exécute ce code, WPML remplacera le numéro de la catégorie dans le filtre par « 4 ».

Pour ce faire, votre code doit uniquement utiliser des appels de l’API WordPress et ne pas effectuer de requêtes manuellement auprès de la base de données (ce qui est de toute façon une mauvaise pratique).

Vous pouvez vérifier cette fonctionnalité dans WPML-> Langues. Cherchez l’option qui permettra d’ajuster automatiquement les ID.

Indiquer à WPML ce qui doit être traduit

WPML peut lire un fichier de configuration de langue. Ce fichier lui indique tout ce qu’il a besoin de savoir sur votre thème.

Cela inclut les textes de l’admin ainsi que les champs et les types personnalisés que vous utilisez.

Une fois que vous avez créé ce fichier XML, WPML se configurera automatiquement et permettra aux utilisateurs d’exécuter un site multilingue sans avoir à cliquer sur un seul écran de configuration.