Internacionalización en PHP (I). Internacionalizar el texto.

Si desarrollamos un proyecto web medianamente aspiracional, es más que probable que deseemos que pueda ser visitado y utilizado por usuarios de distintos paises, con distintos idiomas. Por lo tanto, los textos de nuestra web deberán estar disponibles en dichos idiomas. Cuando se planteo esta necesidad en los comienzos de la web, lo que se hacía era replicar las páginas en diferentes idiomas y, según lo que pidiera el usuario, se le redirigía a una página u otra. Así pues, por ejemplo, en lugar de existir un fichero index.html, tenías tantos cómo idiomas quisieras ofrecer a tus visitantes. Si tu página iba a estar disponible en español e inglés, creabas un index_es.html y un index_en.html. La página index.html sólo tenía dos enlaces para que el usuario escogiera una u otra versión. Los principios siempre son duros. En el momento en que tu sitio web tenía cada vez más páginas, y los usuarios demandaban cada vez más idiomas, tenías que andar creando copias y copias y más copias de tus ficheros. Además, si había que cambiar un texto, tenías que cambiarlo en todas las copias de la página correspondiente. Un trabajo ímprobo y, en la práctica, chapucero e insostenible. Con el …

Seguir leyendo

Internacionalización en PHP (y II). Los ficheros de traducciones.

En el artículo anterior hemos aprendido a crear archivos de PHP que pueden renderizar en la página literales en diversos idiomas. Hemos visto cómo hacerlo de una manera cómoda y eficiente: incluímos en la página los literales en nuestro idioma nativo y estos son usados como claves para buscar las correspondientes traducciones en el idioma que deseemos. Si la traducción no es encontrada, se muestra el literal en el idioma en que se ha escrito. Este sistema funciona bien, y es eficiente y cómodo. Las traducciones se crean y editan en unos archivos especiales con extensión .po. Estos son, a su vez, compilados en unos archivos con extensión .mo. Es en estos últimos donde nuestro código PHP busca las oportunas traducciones. La edición de traducciones en .po y su compilación a .mo se lleva a cabo con un programa llamado Poedit, cuyo uso vamos a describir aquí. Poedit es gratuito, y se puede descargar de https://poedit.net/. Además, si lo deseas, puedes comprar una licencia Pro (su coste es realmente bajo, de poco más de 20 euros en el momento de escribir estas líneas) y tendrás soporte profesional del fabricante, y otras características de interés. Aquí, sin embargo, vamos a conocer …

Seguir leyendo