jueves, 31 de enero de 2013

Aplicaciones Multi-Idioma en ASP.NET



Globalización es el mecanismo mediante el cual una aplicación puede extender su uso de forma nativa con personas que vive en diferentes partes del mundo y que habla diferente idioma. Por esta razón ASP.NET suministra la infraestructura para crear aplicaciones Web que se ajuste automáticamente a idiomas y formatos, conforme al usuario es privilegiado con la cultura e idioma propio.
ASP.NET utiliza archivos de recursos compatibles con varios Idiomas. Este contiene el texto de un idioma específico para un página o un sitio completo.
Hay dos tipos de recursos en ASP.NET: Local y Global.
  Recursos Local: Son específico para una simple página Web y debe ser usado para suministrar versiones de un página Web en diferentes Idiomas. Esto son almacenado en el subdirectorio  App_LocalResources que está localizado a raíz de la solución ASP.NET.
    Los archivos de recursos son nombrado usando el formato: Pagina.aspx.Idioma.resx. Ejemplo: Default.aspx.en.resx (Ingles), Default.aspx.es.resx (Español), Default.aspx.es-ni.resx (Español-Nicaragua).
    Los Archivos de Recursos Local, se puede generar de forma automática, usando la opción Generar Recurso Local que está situado en el menú de la opción herramienta de la IDE.
Recursos Global: Se puede leer desde cualquier página o código que está en el sitio Web. Solo debe usar esto cuando se necesita acceder a un simple recurso desde múltiple pagina Web. Estos recursos debe ser almacenado en el subdirectorio App_GlobalResources que está localizado a raíz de la solución ASP.NET. Estos recursos son también archivos con extensión .resx  y el régimen del esquema de nombramiento del archivo es el mismo que el de los archivos de recurso local.
Acceso a valores de recursos mediante programación: Para acceder a determinado valor de un recurso, se utiliza la sintaxis: Resources.ArchivoRecurso.Recurso.
Label1.Text = Resources.LocalizedText.Saludos ‘Visual Basic
Label1.Text = Resources.LocalizedText.Saludos; //C#
Configuración de la Cultura
En cualquier página Web ASP.NET, usa dos propiedades de página diferente para establecer la cultura:
    Culture Determina el resultado de las funciones dependiente de una cultura, como la fecha, número y formato de moneda. Solo puede definir el objeto Culture con culturas especifica que define requerimientos tanto de formato regional e idioma como “es-NI” o “fr-FR”. No puede definir el objeto Culture con culturas neutrales que define solo un idioma, tal como “es” o “fr”.
    UICulture Determina cuál de los recursos locales o globales son cargado para la página. Puede definir UICulture con tanto culturas específicas o neutral.

Puede declarar declarativamente por pagina o por sitio:
Page uiculture=”es” culture=”es-NI”           A nivel de Pagina ASPX

globalization uiculture=”es” culture=”es-NI”   A nivel de Web.Config

Visual Basic
Protected Overloads Overrides Sub InitializeCulture()
UICulture = “es”   ‘Define el Idioma
Culture = “es-ni” ‘Define el formato (requiere un cultura especifica)
End If
MyBase.InitializeCulture()
End Sub

C#
protected override void InitializeCulture()
{
UICulture = “es”; //Define el idioma
Culture = “es-ni”;  //Define el Formato (requiere una cultura especifica)
base.InitializeCulture();
}

No hay comentarios:

Publicar un comentario