Ce guide vous montrera comment créer des thèmes WordPress multilingues. Un thème multilingue ne se limite pas à envelopper tous les textes dans des appels GetText et à fournir un fichier .mo. La localisation des textes du thème est une étape importante, mais il y a d’autres choses à faire.
Un thème destiné à un site multilingue doit indiquer les langues disponibles, permettre de sélectionner la langue d’affichage et s’afficher correctement dans chaque langue.
Voilà ce que nous devrons faire :
- Fournir une localisation pour différentes langues.
- Permettre aux utilisateurs de passer d’une langue à l’autre.
- Renvoyer le bon contenu par langue.
- Indiquer à WPML ce qui doit être traduit.
Préparer le thème pour la traduction
Pour que le thème puisse s’afficher dans différentes langues, les textes doivent être traduits avant d’être affichés. WordPress utilise GetText à cette fin et votre thème devrait en faire autant.
Nous avons écrit un article sur la localisation des thèmes WordPress. Il explique comment envelopper les textes du thème dans des appels GetText, créer des traductions (fichiers .mo) et les appliquer au thème.
Passer d’une langue à l’autre
Un sélecteur de langue indique aux visiteurs les langues disponibles et leur permet de choisir.
Les sélecteurs de langue peuvent se présenter sous différents formulaires. Certaines personnes préfèrent un menu déroulant compact avec les noms des langues. D’autres affichent des drapeaux de pays et d’autres encore des listes horizontales ou verticales de langues.
WPML facilite la mise en œuvre de sélecteurs de langue. Il est intégré avec son propre sélecteur de langue déroulant qui peut également être inclus en tant que widget. Ce sélecteur de langue peut afficher les drapeaux des pays, les noms des langues et leurs traductions. Il peut être configuré à partir du menu WPML->Languages.
Vous pouvez également créer votre propre sélecteur de langue personnalisé et l’insérer à différents endroits du thème. La page de manuel du sélecteur de langue personnalisé explique comment vous pouvez le créer et fournit des exemples d’utilisations courantes. Ajouter un sélecteur de langue personnalisé à votre thème peut ajouter du flair et de l’élégance et faire comprendre aux utilisateurs que le thème est destiné à des sites multilingues.
Rédiger le Contenu dans la bonne langue
De nombreux thèmes incluent des liens codés en dur vers les pages, les catégories et les étiquettes.
WPML s’accroche aux fonctions standard de l’API de 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 » soit une catégorie anglaise et que la traduction en espagnol soit la catégorie « 4 ». Lorsque vous affichez une page en espagnol et que vous exécutez ce code, WPML remplacera le numéro de catégorie dans le filtre par « 4 ».
Pour cela, votre code doit utiliser uniquement les appels à l’API WordPress et ne pas interroger manuellement la base de données (ce qui est une mauvaise pratique en soi).
Vous pouvez contrôler cette fonctionnalité dans WPML->Languages. Recherchez l’option permettant d’ajuster automatiquement les identifiants.
Indiquer à WPML ce qui doit être traduit
WPML peut lire un fichier de configuration de la langue. Ce fichier lui indique tout ce qu’il doit savoir sur votre thème.
Cela comprend les textes d’administration, les champs personnalisés et les types personnalisés que vous utilisez.
Une fois que vous aurez créé ce fichier XML, WPML se configurera automatiquement et permettra aux utilisateurs de gérer un site multilingue sans avoir à cliquer sur un seul écran de réglage.