Question

Est-ce que le soutien des langues YUI rtl? (Rtl: droite à gauche, comme l'hébreu ou arabe).

Si oui, comment? Je veux afficher une barre de menus où les différents éléments du menu Démarrer à proximité de la marge de droite et allez à gauche.

Était-ce utile?

La solution

Il n'y a pas de soutien pour les langues RTL en YUI 2.x. J'ai déposé un bug à ce sujet il y a plus d'un an et a obtenu une réponse en disant qu'ils pourraient l'ajouter dans une version ultérieure. (Je ne trouve plus le bug car ils sont passés à leur nouveau tracker, désolé.) Espérons qu'ils ajouter le support RTL pour 3.x YUI, mais je ne l'ai pas vérifié les versions preview (et je ne peux trouver les mentionner ajouter soutien RTL).

Cela ne veut pas dire menus YUI ne peuvent pas faire RTL, mais il prend un peu de travail car il n'y a pas de prise en charge intégrée. Je ne prétends pas que cela fonctionne à 100% dans tous les navigateurs, surtout pas IE.

Tout d'abord, vous avez besoin des éléments de menu pour faire couler la direction opposée, et commencer sur le côté opposé de la page. Je crois que cela fonctionne dans la plupart des navigateurs (sauf IE6, bien sûr, argh - pour ce navigateur, vous devez faire un travail supplémentaire que je ne me rappelle pas la réponse à):

.yuimenubaritem { float: right; }

En second lieu, vous devez les sous-menus de la barre de menus pour faire couler la direction opposée. Vous pouvez le faire en changeant la submenualignment attribut des configurations de vos menus:

// For the main submenu
new YAHOO.widget.MenuBar("id", { submenualignment: ["tr","br"] });

// You have to manually add all the Menus,
// so that you can set the submenualignment on each.
new YAHOO.widget.Menu("id", { submenualignment: ["tl","tr"] });

Le pire tente d'obtenir les événements de clavier pour fonctionnent correctement, comme à ce point droit pressant rend le curseur et tournez à gauche vice-versa. Pour ce faire, vous devrez pirater _onKeyDown de MenuBar () et le modifier de sorte que, si la barre de menus est défini RTL (stocker cette information dans un var quelque part), il traite la gauche / droite un peu différemment. (Désolé, vous devez comprendre cela vous-même, mais il devrait être une simple question de cas de commutation sur touches).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top