Índice

Internacionalización de datos textuales

Como hemos visto antes, AngularJS proporciona de forma nativa mecanismos que permiten internacionalizar los datos no textuales de una aplicación. Pero para que una aplicación esté totalmente internacionalizada, es necesario proveer un contenido en el idioma del usuario. AngularJS no proporciona mecanismos que permitan internacionalizar los datos textuales porque es algo muy dependiente del contexto de la aplicación.

En el resto de este capítulo se propone un ejemplo de implementación de este mecanismo.

1. Principio general

El principio del mecanismo que se implementará es bastante similar al propuesto por AngularJS para los datos no textuales. La idea consiste en tener un conjunto de archivos JavaScript que definen todos los recursos de la aplicación bajo un formato de clave-valor.

A continuación existe un servicio que se encarga de recuperar estos recursos. Expone también un método que devuelve un recurso localizado a partir de su clave.

Por último, existe un filtro basado en este servicio que permitirá mostrar en la vista un recurso localizado.

2. Creación de archivos de recursos

Cada archivo de recursos contiene el conjunto de recursos localizados para un idioma concreto.

El archivo de recursos para el idioma español contiene, por ejemplo, los siguientes elementos:

{  
    "Home_Title": "Mi aplicación AngularJS",  
    "Home_Hello": "¡Bienvenido!",   ...