gettext y la caché

Siguiendo con el tema del día anterior, que versaba sobre la internacionalización en PHP y la herramienta GNU gettext, nos dejamos en el tintero el problema de la caché.

Cada vez que una aplicación PHP pide amablemente a la extensión gettext que establezca un nuevo dominio, indicando la ruta a los archivos de traducción MO, con un código como el que sigue:

// Especifica la ruta a los catálogos de traducción:
// /locale/<lang_COUNTRY>/LC_MESSAGES/mydomain.mo
bindtextdomain("mydomain", "./locale");

gettext en respuesta lee esos archivos MO según el código idioma/país del usuario y los carga en memoria, para disponer de su contenido a voluntad sin necesidad de leerlos de nuevo con cada petición de traducción. Sigue leyendo gettext y la caché

Internacionalización en PHP

En el desarrollo de un sitio web muchas veces nos hemos encontrado con el desafío de la traducción, servir páginas en diferentes idiomas sin que esto suponga un calvario por duplicar contenidos y/o hacer el código más difícil de mantener (y como consecuencia romper una de las reglas básicas para el buen mantenimiento del código). En informática de software el proceso de llevar a buen término esta tarea se conoce como Internacionalización: diseñar un programa capaz de adaptarse a distintas lenguas sin realizar cambios en el código.

Si hablamos de un microsite sencillo de páginas estáticas, una opción rápida y barata es utilizar el Traductor de sitios de Google, un fragmento de JavaScript de esos plug-and-play que hace todo el trabajo por nosotros sin tocar el codigo HTML. La parte negativa es que la traducción no es muy fiel, y además hacemos publicidad gratuita a los de Mountain View.

Sigue leyendo Internacionalización en PHP