Internacionalización: soporte a formato de escritura Right-to-Left en ASP.NET MVC

Uno de los temas pendientes en esta serie de post’s de internacionalización que estamos viendo es el soporte a culturas con sentido de escritura de derecha a izquierda en ASP.NET MVC (Right-to-Left o su acrónimo RTL, el cual usaremos de aquí en adelante). Esto será necesario cuando nuestra aplicación deba dar soporte a culturas que utilizan dicho formato de escritura, como por ejemplo sucede con el árabe.

Siguiendo con el ejemplo que venimos utilizando en el post anterior lo primero que haremos será dar soporte al árabe como cultura de nuestra aplicación. Para ello inicialmente crearemos el archivo de recursos asociado a la cultura árabe, el cual utiliza la sigla “ar” y agregaremos el contenido de cada recurso en su idioma:

InternacionalizacionRTL - CrearRecursos

NOTA: Todo el contenido que usemos en este post escrito en árabe está traducido con Google Translate ya que no conozco dicho idioma. Si alguien conoce del idioma y considera que la traducción no es la apropiada se agradece el comentario.

Lo siguiente será agregar tanto el link que permite el acceso a dicha cultura, el valor dentro de las constantes de las culturas soportadas y la lógica mínima para reconocer y establecer dicha cultura con nuestro esquema de rutas donde se visualiza la cultura.

Leer más »

Anuncios

Internacionalización: la serie

Buenas a todos! Como ya hemos visto varios posts asociados a internacionalización les dejo el listado de los mismos con una breve introducción:

Internacionalización en ASP.NET MVC

Explicación inicial de cómo configurar nuestra aplicación ASP.NET MVC para que soporte la internacionalización de la misma a partir de la cultura del cliente.

 

Internacionalizar entradas de usuario en ASP.NET MVC

Luego de tener internacionalizada nuestra aplicación ASP.NET MVC, el siguiente punto será lo que debamos considerar para aceptar entradas de usuario dependiendo de la cultura del usuario, además de almacenar esa información de forma estándar y mostrársela nuevamente al usuario según su cultura.

 

Cómo cambiar la cultura manualmente en ASP.NET MVC?

Aunque nuestra aplicación sea capaz de adaptarse a la cultura del cliente, puede haber casos donde queremos darle la posibilidad al usuario de que la cambie según su preferencia. En este post vemos cómo hacer ello de forma sencilla sin perder ni sobre-escribir la funcionalidad ya existente en ASP.NET MVC.

 

Satellite Assemblies en internacionalización ASP.NET MVC

En este post hacemos un breve repaso al concepto de Satellite Assemblies, y cómo las mismas nos dan diversas ventajas en nuestras aplicaciones ASP.NET MVC internacionalizadas.

 

Como siempre, si les parece que hay algún punto sobre el cual profundizar o explicar algo en detalle me lo comentan y lo tengo en cuenta para armar un post asociado. Y ya que estamos seguimos haciendo crecer esta serie.

Gracias por leer!

Satellite Assemblies en internacionalización ASP.NET MVC

Como vimos en el post de internacionalización, uno de los puntos importantes sobre el cual trabajamos en las aplicaciones con soporte a varias culturas es el archivo de recursos. En los ejemplos sobre los cuales trabajamos el contenido de esos archivos era realmente mínimo, pero pensemos en aplicaciones realmente complejas y extensas con soporte para varios idiomas. En las mismas los archivos de recursos además de texto, pueden tener iconos, imágenes e incluso audios asociados a cada cultura en particular.

Sin duda estamos hablando de un contenido que realmente puede llegar a tener un gran tamaño, lo cual podría llegar a afectar el rendimiento de nuestra aplicación ya que todo ese contenido estaría en el mismo assembly en memoria, conviviendo todas las culturas juntas.

Ante esta situación surge un concepto importante: Satellite Assemblies

Un satellite assembly es una libraría compilada que contiene todos los recursos localizables que mencionábamos con anterioridad. El uso de las mismas se da en los casos de aplicaciones con múltiples culturas, en las cuales se crea un satellite assembly por cada cultura a la que le estemos dando soporte.

Estos assemblies no contienen código, por lo tanto no pueden considerarse como ejecutables, sino que estarán asociadas a un assembly principal (de allí el nombre de satélite).

Leer más »

Cómo cambiar la cultura manualmente en ASP.NET MVC?

Buenas a todos! Después de varios meses vuelvo al ruedo en el blog, así que vamos a arrancar nuevamente.

El disparador de este post es el comentario de Carlos en Internacionalizar entradas de usuario en ASP.NET MVC:

Quería preguntarte, si es recomendable o no y como se haría para que un usuario pudiera cambiar el idioma de la web pues pulsando en una banderita o escogiendo un idioma de alguna manera sin tener que ver con la configuración del navegador.

La verdad es que es una excelente pregunta, así que vamos a responderla creando este post.

El post original donde comenzamos con este concepto de internacionalización en ASP.NET MVC lo planteamos cómo algo para poder tomar automáticamente la cultura del navegador del usuario. Esto es una excelente alternativa, ya que estamos interpretando la cultura que tiene el usuario brindándole el contenido acorde a esa definición sin que deba hacer nada adicional. Pero también hay que ser conscientes de que el usuario puede estar con una configuración heredada en el navegador por el cual accede que no sea la suya, y por lo tanto quiera cambiarla. Ante esto debemos poder darle la posibilidad de ese cambio, y que esa configuración se mantenga para dicho usuario. Así que veamos como hacerlo!

Leer más »

Internacionalización en ASP.NET MVC

Cuando hacemos una aplicación, puede darse la situación de que conozcamos el segmento de usuarios que la utilizará y el idioma en el que habla. Pero puede ser que nuestra aplicación sea de propósito general, con posibilidad de tener acceso por parte de usuarios de distintas países y con distintos lenguajes.

Para afrontar esta situación ASP.NET MVC nos ofrecer varias facilidades, haciendo la tarea relativamente sencilla.

Leer más »