Pregunta

¿Tiene idiomas RTL apoyo YUI? (RTL: derecha a izquierda, como el hebreo o árabe).

Si es así, ¿cómo? Quiero mostrar una barra de menú, donde los diferentes elementos del menú comienzan cerca del margen derecho e ir a la izquierda.

¿Fue útil?

Solución

No hay soporte para idiomas RTL en YUI 2.x. Yo presenté un error en ello hace más de un año y nos dieron una respuesta diciendo que podría añadir que en una versión posterior. (Ya no puedo encontrar el error, ya que cambió a su nuevo seguidor, lo siento.) Con suerte que están añadiendo soporte RTL para 3.x YUI, pero no he comprobado las versiones preliminares (ni puedo encontrarlos mencionar añadiendo apoyo RTL).

Eso no quiere decir que los menús YUI no pueden hacer RTL, a pesar de que se necesita un poco de trabajo ya que no hay soporte integrado. No hago afirmaciones de que esto funciona al 100% en todos los navegadores, sobre todo, no IE.

En primer lugar, necesita los elementos de menú a fluir la dirección opuesta, y empezar en el lado opuesto de la página. Creo que esto funciona en la mayoría de los navegadores (excepto IE6, por supuesto, argh - para ese navegador, es necesario hacer algún trabajo extra que no me acuerdo a la respuesta):

.yuimenubaritem { float: right; }

En segundo lugar, es necesario los submenús del BarraDeMenús a fluir la dirección opuesta. Esto se puede hacer cambiando el submenualignment atributo de configuraciones de los menús:

// 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"] });

La peor parte está tratando de obtener los eventos de teclado para que funcione correctamente, ya que en este punto de presión correcta hace que el cursor vaya a la izquierda y viceversa. Para hacer eso, usted tiene que secuestrar _onKeyDown de MenuBar () y cambiarlo de manera que, si el MenuBar se establece RTL (almacenar esta información en una var en algún lugar), procesa la izquierda / derecha un poco diferente. (Lo siento, usted tiene que calcular éste hacia fuera por su cuenta, pero debe ser una simple cuestión de cambiar los casos de pulsaciones de teclas).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top