RTL est le raccourci utilisé pour “right-to-left” (droite à gauche) et c'est un élément clé quand on doit livrer un site web dans une langue RTL comme l'hébreu, l'arabe, l'ourdou, etc. Gantry a incorporé une prise en charge RTL qui "basculera" automatiquement les mises en page du contenu et certaines commandes pour que cela soit compatible RTL. Gantry fournit également un override dans la section avancée des détails du template, donc vous pouvez désactiver ou activer ce comportement par defaut si vous le désirez. Toutefois, par défaut, si le fichier de langue le permet, RTL sera activé.

La commande pour dire à Joomla qu'une langue doit être affiché au format RTL se trouve dans le fichier XML du langage. Dans le cas de la valeur par défaut fr-FR langue, il y a un fichier de configuration situé ici :

VOTRE_SITE/languages/fr-FR/fr-FR.xml

Ce fichier ressemble à ceci:

<?xml version="1.0" encoding="utf-8"?>
<metafile version="2.5" client="site">
    <tag>fr-FR</tag>
	<name>French (fr-FR)</name>
    <description>French site language for Joomla 3.0</description>
	<version>2.5.9.1</version>
	<creationDate>4 feb 2013</creationDate>
	<author>French translation team : joomla.fr</author>
	<authorEmail></authorEmail>
	<authorUrl>www.joomla.fr</authorUrl>
	<copyright>Copyright (C) 2005 - 2013 Open Source Matters &amp; joomla.fr. All rights reserved.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<metadata>
		<name>French (fr-FR)</name>
		<tag>fr-FR</tag>
		<rtl>0</rtl>
		<locale>fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france</locale>
		<firstDay>1</firstDay>
	</metadata>
	<params />
</metafile>

L'élément important est la balise <rtl /> qui est actuellement réglée sur 0. En passant cette valeur à 1, vous basculerez sur RTL pour ce language.

Un exemple visuel de la façon dont ça a l'air / fonctionne peut être vu ci-dessous. La première image est par défaut en anglais dans le format LTR traditionnel, tandis que le second est la même valeur par défaut anglais, mais avec le RTL activé dans le fichier de langue en-gb.xml.

rtl-ltr
rtl-rtl

Restrictions du RTL

Gantry fournit un grand nombre de fonctionnalités clés en main pour appliquer RTL directement. Cependant, RTL est compliqué et votre mise en page spécifique aura besoin d'intégrer plus profondément RTL dans vos dossiers de CSS pour manipuler correctement les besoins de votre design quand vous serez en mode RTL. Par exemple si vous avez un en-tête de module qui est formé comme un ruban qui entre sur le côté gauche du module dans le mode LTR régulier, alors vous devez créer une version spéciale de ce ruban qui entre du côté droit pour le mode RTL. Aussi, vous devrez fournir les modifications spécifiques à la mise en page dans votre fichier CSS pour vous assurer que cette image soit rendue correctement.

Pour vous aider dans ce processus, Gantry (Rocketheme) a créé une fonction spéciale qui détecte le mode RTL, et insère donc une classe appelée rtl dans la balise body. De cette façon vous pouvez ajouter des règles spécifiques comme:

body.rtl .module .ribbon {float:right;}

pour seulement cibler la classe .ribbon en mode RTL.

D'autres limitations sont entièrement basées sur les navigateurs. Certains navigateurs prennent en charge le mode RTL très bien. Sans surprise ce sont les navigateurs Mozilla et WebKit base: Firefox, Safari, Chrome, etc. Internet Explorer, même la dernière version 9.0 release fait un très mauvais travail de rendu en mode RTL, et vous aurez surement à passer du temps supplémentaire à faire des CSS qui fonctionnent pour ces navigateurs. C'est bien au-delà de la portée de ce que Gantry peut faire pour vous.