Creando Aplicaciones Web Multilingües con PHP, JSON y AJAX

En este post, veremos de forma muy sencilla, la puesta en marcha de un sistema de traducción multilingüe en PHP. Como siempre, vamos a ver el código por partes, para poder tener una idea de como funciona el sistema.

1. Página principal

El fichero index.php contiene la carga principal de todos los elementos de la aplicación. Para el ejemplo seleccionado, vamos a presentar solamente un título, un mensaje de bienvenida y un saludo, que se podrán traducir al idioma seleccionado. El selector de idiomas, será simplemente una serie de links en el pie de la página.

2. Fichero de configuraciones básicas

En este archivo, definimos las funciones básicas que necesitamos para que funcione la aplicación: la carga del diccionario, la traducción como tal y la recogida del idioma por defecto del usuario. Para el ejemplo, se ha definido que por defecto está en español, pero se podría seleccionar dinámicamente, por ejemplo, del idioma del navegador.

3. Cambio de idiomas

Desde la página principal, se llama a través de AJAX a este fichero, que se encarga de recargar el contenido traducido, cada vez que el usuario selecciona un idioma.

4. Diccionario

Se trata de un fichero json que obtiene traducciones para diferentes idiomas. Cada idioma tiene sus propias traducciones para claves específicas, como «titulo», «saludo», «bienvenido», etc.

Este enfoque ofrece una solución muy simple para desarrollar aplicaciones web multilingües, pero como siempre, funcional.

Aquí podeis ver la aplicación en funcionamiento

Os dejo el código de esta aplicación en mi repositorio de GitHub, como siempre, para que le deis un vistazo completo y lo podáis usar de guía para vuestros desarrollos.

Publicada el
Categorizado como Desarollo Etiquetado como ,

Por Jose Manuel Sanz Prieto

Desarrollador web. En este blog hablo de fotografía, programación con Django, Python, PHP y privacidad.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *