Internacionalizando con jQuery.i18n e Internet Explorer

Imagino que con un título de entrada así uno ya se imagina por donde van a ir los tiros del post.

Actualmente estamos envueltos en la vorágine de cierre de proyecto, acercándonos a ese primer “ultimo commit”, con un proyecto en el que estamos desarrollando un visor para explotar recursos turísticos. Una de los requisitos es que la interfaz estuviese en dos idiomas: inglés y español. Como siempre, antes de empezar a reinventar la rueda, miramos que era lo que podíamos reutilizar y encontramos jQuery.i18n un plugin de jQuery que nos permite trabajar con archivos .properties al modo de Java, algo a lo que estamos acostumbrados. Después de revisar el plugin y leer las posibles “Known Issues” vemos que puede encajar en nuestra aplicación.

La instalación es sencilla, el uso es muy dinámico, nos permite cambiar el idioma de la aplicación mediante llamadas Ajax que no necesitan recargar el sitio web y el manejo de los idiomas y ficheros es ágil y no implica tener que tocar nada de nuestros objetos, así que, Voila!!, funcionando en Google Chrome, en Firefox y… oh wait!!, ¡no va en Internet Explorer(IE)!, maldita sea, ¡traigan a Bill Gates!.

Buceando en la red no veo que haya dado problemas con IE. En principio con no poner los IDes de los objetos HTML con el mismo valor que las claves en los archivos .properties parece que no haya nada más detectado. El depurador de IE me lanza el error en la linea:

eval(parsed);

Sin embargo la función eval si está en las especificaciones del navegador. Por lo que tiene pinta de ser algo que le pasamos en parsed. Depurando esta llamada veo que el problema viene de una de las claves que estoy usando en los archivos .properties:

close = Cerrar

IE al ejecutar eval entiende close como la función y es hay donde genera el error, tan fácil de solucionar como:

s_close = Cerrar

Así que recordad, no uséis como claves en los archivos .properties palabras reservadas, que hay mucho navegador quisquilloso por ahí.

Saludos.

Tienes alguna idea de proyecto y quieres convertirla en realidad?
Nos gustaría escucharte, cuéntanoslo

Los hechos nos definen

  • 1km.geomatico.es en los medios

    La idea de 1km.geomatico.es surgió en abril con la intención de ayudar en estos tiempos difíciles. https://twitter.com/geomati_co/status/1253588695296417793 No queríamos sacar ningún provecho económico de ello y contamos con la inestimable ayuda (también…

  • Visualización transporte público en tiempo real

    https://vimeo.com/528250070/ Transportes Metropolitanos de Barcelona en tiempo real Desde 2016, Geomatico trabaja año a año con la agencia de transporte público de Barcelona (Transports Metropolitans de Barcelona, TMB) para desarrollo…

  • Formación GIS personalizada para tu sector

    Los miembros de Geomatico tenemos más de 10 años de experiencia en formación en el sector GIS (PostGIS, QGIS), incluyendo más de 30 cursos presenciales y online: cursos para implantar…

  • Edificios 3D a partir del catastro

    Estas últimas semanas tuvimos cierta repercusión en redes con una aplicación web (https://labs.geomatico.es/mapa-catastro-3d) que muestra los edificios de toda España en 3D, y permite navegar y simbolizarlos por año de construcción y…