Rodrigo Borrego Bernabé - Software Developer




Incluir internacionalización (i18n) en javascript

Category : Programación · by Jun 24th, 2010

Comparto con vosotros una manera simple de incluir internacionalización en tu código javascript.

El motor

Basta con crear un fichero javascript i18n.js por ejemplo:

function _(s) {
 if (typeof(i18n)!='undefined' && i18n[s]) {
 return i18n[s];
 }
 return s;
}

Los datos

Y luego crear un fichero por idioma messages.es.js con las cadenas en el idioma base y su consiguiente traducción:

var i18n = {
 "First String": "Primera cadena",
 "Another piece of text": "Otro texto"
 };

Configurando

Y por último no hay más que configurar y usar, que consiste básicamente en incluir los dos ficheros antes generados en el html y utilizarlo con la llamada a la función _().

alert (_('First String'));

Si los ficheros de cadenas se hacen demasiado pesados siempre se pueden dividir en «secciones» de la web o mediante cualquier otro método que considereis adecuado.

Basado en el artículo leído en http://24ways.org/2007/javascript-internationalisation, aunque, creo, mucho más simple.

SHARE :

(4) comments

Janther
13 años ago · Responder

Increible tu enfoque del problema, es justo lo que necesitaba, ahora a ver como lo hago trabajar con archivos xliff

    Rodrigo
    13 años ago · Responder

    Inténtalo. Si tienes algún problema escríbemelo aquí y te intento ayudar.

Luis
10 años ago · Responder

Muchas Gracias
Super simple y muy útil!!

Ann
9 años ago · Responder

Muchas gracias Rodrigo! 😉

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.