WPML

Les langues s’écrivant de droite à gauche posent un défi particulier. Heureusement, WordPress facilite grandement les choses. Nous allons vous montrer comment créer un site RTL parfaitement fonctionnel, basé sur le thème par défaut TwentyTen.

Lorsque vous créez un site multilingue RTL / LTR, vous devez résoudre deux problèmes :

  • Édition / traduction
  • Affichage

La première partie, pour créer ou traduire votre site, implique de travailler dans l’interface d'administration de WordPress dans la bonne langue et dans le bon sens. Si vous traduisez entre des langues LTR et RTL, gardez à l’esprit que vous devrez afficher du contenu dans les deux sens sur le même écran.

Lors de l’affichage du site, votre thème doit gérer le sens d’affichage correct pour les langues RTL et LTR.

Ce tutoriel s’appuiera sur notre site de démonstration multilingue Twenty Ten, disponible en anglais, en espagnol et en hébreu (RTL).

Préparation – Obtenir les fichiers .mo du noyau et du thème


WordPress lui-même et le thème par défaut sont entièrement localisés dans de nombreuses langues. Nous avons besoin de la version la plus récente de la localisation, j’ai donc décidé de l’obtenir à partir des versions localisées de WordPress. Vous pouvez les obtenir ici :
Après avoir téléchargé et décompressé WordPress, accédez à wordpress/wp-content/languages. Copiez l’intégralité du contenu dans votre répertoire languages. Faites de même pour le thème. Les fichiers de traduction se trouveront dans wp-content/themes/twentyten (ou dans le thème par défaut actuel si vous lisez cet article plus tard).

Vous devez également configurer WPML pour lui permettre de traduire le thème et les extensions.

Traduction


Le module Gestion de traduction de WPML permet d'envoyer des tâches de traduction et de traduire à l’aide de différents comptes. Il vous permet également de traduire avec l’Éditeur de traduction de WPML. Lorsque du contenu dans les deux sens est impliqué, cela est particulièrement important, car l’Éditeur de traduction ajuste automatiquement le sens pour chaque champ.

Si cela est nouveau pour vous, lisez d’abord les informations sur le module Gestion de traduction.

Voici à quoi cela ressemble lorsque je traduis l’article Hello World en hébreu.

Édition de droite à gauche

Vous pouvez voir que les textes en anglais sont alignés à gauche, tandis que l’hébreu est aligné à droite. Je peux même utiliser le mode HTML pour copier et coller des éléments à partir de l’anglais. Le mode HTML s’affiche de gauche à droite (LTR), pour vous permettre de saisir les balises correctement.

Lorsque vous traduisez des chaînes, WPML les affiche également dans le bon sens. Voici à quoi ressemble l’écran Traduction de chaînes lorsque je traduis le titre du widget Search.

Traduction de chaînes RTL

Les modules Éditeur de traduction et Traduction de chaînes nous permettront de traduire complètement le site. Ensuite, nous verrons comment l’afficher correctement dans le bon sens.

Afficher le site en RTL et LTR


Maintenant que votre contenu est traduit, il est temps de nous intéresser au thème.

Cette petite ligne fait la majeure partie de la magie :

<html dir="rtl" lang="he-IL">

Vous pouvez le voir si vous affichez le code source de n’importe quelle page en hébreu. Par exemple, la page d’accueil.

L’attribut dir="rtl" indique au site que le sens d’affichage pour l’ensemble du site est de droite à gauche. Les navigateurs le comprennent et inverseront tout dans le bon sens.

Cette simple ligne PHP, provenant de header.php, permet cela :

<html <?php language_attributes(); ?>>

L’appel à language_attributes insère les attributs dir et lang. Les valeurs proviennent du fichier .mo du noyau. Si vous disposez des fichiers .mo corrects pour WordPress, vous obtenez les bonnes valeurs pour ces attributs.

Si le code HTML et CSS de votre thème suit des pratiques « sûres », c’est vraiment tout ce dont vous avez besoin. Par sûres, j’entends aucun positionnement ni aucune largeur absolus. Si vous devez utiliser des valeurs absolues, vous pouvez envisager de charger un fichier CSS différent par langue.

Vous pouvez le faire facilement à l’aide d’instructions conditionnelles qui examinent la constante ICL_LANGUAGE_CODE (décrite dans l’API de codage de WPML).

Les résultats


Voici à quoi ressemble notre site de démonstration en anglais, en espagnol et en hébreu.

Anglais

Espagnol

Hébreu

Ce n’est pas aussi difficile qu’il n’y paraît. Essayez-le et dites-nous comment vous vous en sortez.

Vous avez trouvé cela utile ? Partagez cet article :