WPML 5.0 Bêta – Une expérience repensée et une traduction automatique plus intelligente
WPML 5.0 est la plus importante mise à jour que nous ayons publiée depuis des années.
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 :
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).
Vous devez également configurer WPML pour lui permettre de traduire le thème et les extensions.
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.

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.

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.
Cette petite ligne fait la majeure partie de la magie :
<html dir="rtl" lang="he-IL">
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(); ?>>
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).