Para todos aquellos que escribís aplicaciones en Ruby on Rails y utilizais I18n para tener traducidos los textos de la aplicación un pequeño consejo.
Casi todos conoceréis muchas formas de averiguar el idioma del navegador, de almacenar el idioma en una cookie, sacar el idioma del subdominio o de los parametros de la url.
Sin embargo llega el momento de saber si el idioma deseado está entre los que tenemos en la aplicación.
La forma sencilla de hacer sería mirar si está entre los locales válidos:
I18n.available_locales.include? mi_idioma
Sin embargo esta forma no es ni mucho menos óptima. Lo ideal es tener almacenados los idiomas en un Array.
LOCALES = ["en", "es", "fr"]
LOCALES.include? mi_idioma
La diferencia es muy grande en términos de rendimiento del orden de 500 veces más rápido.
0 comentarios:
Publicar un comentario en la entrada