Determinar programáticamente si un lenguaje es LTR ó RTL

LTR= Left To Right y RTL = Right To Left.

Dado un LCID en particular, ¿cómo podríamos saber dado un lenguaje determinado si se escribe de izquierda a derecha o de derecha a izquierda?

Una primera cosa que se nos podría ocurrir  es "hard-codear" la lista de los lenguajes que se escriben de derecha a izquierda, y si el lenguaje que nos interesa no está en la lista asumir que se escribe de izquierda a derecha. Esta técnica es muy frágil, ya que Windows va añadiendo soporte a nuevos lenguajes de forma regular, y si uno de esos es de derecha a izquierda, nuestra tabla se quedará desactualizada. Y además, hay lenguajes que no se escriben de ninguna de esas maneras. Por ejemplo, el chino y el japonés se escriben de arriba abajo.

Para saber programáticamente en qué direccion se escribe un lenguaje, llamamos a GetLocaleInfoEx con LOCALE_IREADINGLAYOUT.

Y ahora sólo toca esperar a que a nadie se le ocurra crear un lenguaje a base de palíndromos ;) .

Juan María Laó Ramos.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>