Índice
1. Introducción2. Palabras Clave
3. Internacionalización
3.1 Globalización
3.1.1 Generalidades
3.1.2 Lista de verificación
3.1.3 Validación de la cultura
3.2 Localización
4. Conclusiones
5. Literatura & Enlaces
1. Introducción
Una aplicación que tiene alto impacto en número de usuarios tiende a trascender límites culturales. Esto requiere que el programador escriba código que adapte la aplicación a distintas configuraciones regionales y culturales. .NET Framework cuenta con los mecanismos apropiados para facilitar las tareas que comprometen la internacionalización de una aplicación: globalización y localización. Este artículo C# describe los fundamentos a comprender para la escritura de una aplicación de esta categoría.
2. Palabras Clave
- Assembly satélite
- Cultura
- Globalización
- Internacionalización
- Localización
- Región
- Satellite assembly
3. Internacionalización
Para internacionalizar una aplicación el programador debe llevar a cabo dos tareas básicas:
- Globalización, y
- Localización
3.1 Globalización
3.1.1 Generalidades
La globalización de una aplicación está relacionada con la implementación de las siguientes tareas (Albahari, 2012):
- Aseguramiento de la continuación en la estabilidad de la aplicación cuando ésta se ejecuta sobre una configuración regional y cultural distinta a la que fue desarrollada.
- Conservación y respeto de las reglas de formato de una cultura cualquiera; por ejemplo en la presentación de fechas, valores de moneda.
- Uso de assemblies satélite -un satellite assembly es un assembly que contiene la configuración los recursos específicos para un idioma dado- para adaptar la aplicación de acuerdo a lengua de una cultura específica.
[Nota: Estas tareas están ordenadas de mayor a menor prioridad; esto quiere decir que el programador debe preocuparse por alcanzar los objetivos en este orden dado durante el desarrollo de la aplicación.]
3.1.2 Lista de verificación
En el artículo Cadenas de Caracteres y Manipulación de Texto en C#/5: Char se describen varios de los aspectos importantes en la manipulación valores literales. Aún así, aquí se resumen las tareas a llevar a cabo durante el proceso de globalización (Albahari, 2012):
- Comprensión del sistema Unicode y codificación de texto (Cadenas de Caracteres y Manipulación de Texto en C#/5: Sistemas de Codificación de Texto y Unicode).
- Distinguir entre la funcionalidad que ofrece los métodos ToUpper, ToLower, ToUpperInvariant y ToLowerInvariant en objetos string y char.
- Dar prioridad a los mecanismos de formato y conversión/parseo independientes de la cultura.
- Optar por el formato y conversión dependiente cuando el comportamiento de la aplicación está orientado estrictamente a una cultura específica.
3.1.3 Validación de la cultura
Para validar o probar que la configuración regional y cultural son aptas para un escenario concreto, el programador puede usar la propiedad Thread.CurrentThread.CurrentCulture para la asignación un valor de cultura específico.
Para ejemplificarlo, esta línea de código C# resulta útil:
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("tr-TR");
Se ha usado la cadena "tr-TR" para referirse a la configuración cultural turca; esto es así porque resulta apropiada como prueba; así:
Console.WriteLine("i".ToUpper() != "I"); // true
Console.WriteLine("I".ToLower() != "i"); // true
Esto no es cierto, por ejemplo, para la la configuración regional y cultural "en-GB".
Además se debe tener en cuenta estos otros dos casos para la cultura turca (Albahari, 2012):
- Las fechas se formatean como día.mes.año.
- Se usa la coma (,) como indicador de punto decimal.
3.2 Localización
En particular, la localización está más relacionada con la última tarea descrita en la sección 3.1.1; es decir la escritura de assemblies satélite. La ventaja de esta tarea es que el programador puede dedicar esfuerzos posteriores a la construcción de la aplicación.
.NET Framework cuenta con los mecanismos y artefactos de software para permitir al programador aplicar un formato específico acorde a las reglas de una cultura particular. Esto por medio del uso de la funcionalidad de formato que ofrece el método ToString en instancias de objetos DateTime y tipos de datos por valor.
Sin embargo, el programador debe tener en cuenta que durante la escritura de la aplicación se debe asumir una cultura neutra; de lo contrario surgirán comportamientos inesperados hasta la falla fatal en la ejecución de la aplicación (Albahari, 2012).
[Nota: Más adelante se describe con más detalle este proceso de localización de aplicaciones.]
4. Conclusiones
Con esto artículo al programador ha comprendido los lineamientos básicos a considerar a la hora de construir una aplicación que trasciende una cultura y requiere adaptar formatos y conversiones a distintas configuraciones regionales y culturales.
Los próximos artículos se enfocan en el trabajo con valores numéricos: conversiones, matemática, uso de la estructura BigInteger, números complejos, entre otros.
5. Literatura & Enlaces
Albahari, J., Albahari, B. (2012). C# 5.0 in a Nutshell. United States: O'Reilly Media.Cadenas de Caracteres y Manipulación de Texto en C#/5: Char (2016, julio 21). Recuperado desde: https://ortizol.blogspot.com.co/2015/11/cadenas-de-caracteres-y-manipulacion-de-texto-en-csharp-parte-1-5-char.html
Cadenas de Caracteres y Manipulación de Texto en C#/5: Sistemas de Codificación de Texto y Unicode (2016, julio 21). Recuperado desde: https://ortizol.blogspot.com.co/2016/04/cadenas-de-caracteres-y-manipulacion-de-texto-en-csharp-parte-5-5-sistemas-de-codificacion-de-texto-y-unicode.html
O
No hay comentarios:
Publicar un comentario
Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.