Localización de aplicaciones

Flash Player 9 y posterior, Adobe AIR 1.0 y posterior

La localización es el proceso de incluir componentes que admitan el uso de varias configuraciones regionales. Una configuración regional es la combinación de un idioma y un código de país. Por ejemplo: es_ES se refiere al idioma español tal y como se habla en España, y fr_FR se refiere al idioma francés que se habla en Francia. Para localizar una aplicación para estas configuraciones regionales se necesitarían dos series de componentes: una para la configuración regional es_ES y otra para la configuración regional fr_FR.

Un mismo idioma puede utilizarse en distintas configuraciones regionales. Por ejemplo, es_ES y es_UY (Uruguay) son distintas configuraciones regionales. En este caso, ambas configuraciones utilizan el idioma español, pero el código de país indica que son distintos lugares, por lo que quizá utilicen componentes diferentes. Por ejemplo: una aplicación en la configuración regional es_ES podría usar la ortografía "vídeo", mientras que en la configuración regional es_UY la palabra sería "video" (sin acento). Además, las unidades monetarias serían euros o pesos, dependiendo de la configuración regional, y el formato para fechas y horas también podría diferir.

También se puede proporcionar una serie de componentes para un idioma sin especificar un código de país. Por ejemplo: se pueden proporcionar componentes “es” para el idioma español y añadir recursos adicionales para la configuración regional es_ES que son específicos del español de España.

La localización va más allá de solamente traducir las cadenas de caracteres que figuran en la aplicación. También puede incluir cualquier tipo de componente como archivos de audio, imágenes y vídeos.

Elección de una configuración regional

Para determinar qué configuración regional utiliza la aplicación se puede utilizar uno de los métodos siguientes:

  • Paquete flash.globalization: utilice las clases según la configuración regional en el paquete flash.globalization para recuperar la configuración regional predeterminada para el usuario a partir del sistema operativo y sus preferencias. Este es el enfoque preferido para aplicaciones que se ejecutarán en Flash Player 10.1 o posterior o en AIR 2.0 o motores de ejecución posteriores. Consulte Determinación de la configuración regional para obtener más información.

  • Solicitud al usuario: se puede iniciar la aplicación con una configuración regional predeterminada y después pedir al usuario que seleccione la que prefiera.

  • (solo AIR) Capabilities.languages : la propiedad Capabilities.languages presenta un conjunto de idiomas disponibles en los idiomas preferidos del usuario, según se configuran en el sistema operativo. Las cadenas contienen etiquetas de idioma (así como información sobre la región y los scripts, si procede), tal como se define en RFC4646 ( http://www.ietf.org/rfc/rfc4646.txt ). En las cadenas se utiliza como delimitador un guion (por ejemplo: "es-ES" o "ja-JP" ). La primera entrada del conjunto devuelto tiene el mismo ID de idioma principal que la propiedad de idioma ("language"). Por ejemplo: si languages[0] está definido en "es-ES" , la propiedad language se define en "es". Sin embargo, si se define la propiedad de idioma en "xu" (especificando un idioma desconocido), el primer elemento del conjunto languages es distinto.

  • Capabilities.language : la propiedad Capabilities.language proporciona el código del idioma de la interfaz de usuario tal y como figura en el sistema operativo. No obstante, esta propiedad está limitada a 20 idiomas conocidos. En los sistemas anglosajones, esta propiedad solo devuelve el código de idioma, no el código del país. Por estos motivos resulta más conveniente utilizar el primer elemento del conjunto Capabilities.languages .

Localización de contenido de Flex

Adobe Flex incluye una arquitectura para localizar el contenido de Flex. Dicha arquitectura incluye las clases Locale, ResourceBundle y ResourceManagerImpl, además de las interfaces IResourceBundle e IResourceManagerImpl.

Dispone de una biblioteca de localización de Flex que contiene clases de utilidades para ordenar configuraciones regionales de aplicaciones en Google Code (http://code.google.com/p/as3localelib/).

Localización de contenido de Flash

Adobe Flash Professional incluye una clase Locale en los componentes ActionScript 3.0. La clase Locale permite controlar cómo muestra un archivo SWF un texto multilingüe. El panel Cadenas de Flash permite utilizar ID de cadenas en lugar de literales de cadenas en campos de texto dinámicos. Esto permite crear un archivo SWF que muestre el texto cargado desde un archivo XML de un idioma específico. Para obtener información sobre el uso de la clase Locale, consulte Referencia de ActionScript 3.0 para la plataforma de Adobe Flash .

Localización de aplicaciones de AIR

El SDK de AIR proporciona una arquitectura de localización de HTML (que se encuentra en el archivo AIRLocalizer.js file). Esta arquitectura incluye API que ayudan a trabajar con diversas configuraciones regionales en una aplicación basada en HTML. Puede encontrar una biblioteca de ActionScript para ordenar configuraciones regionales en http://code.google.com/p/as3localelib/.

Localización de fechas, horas y monedas

La forma en que se expresan la fecha, la hora y la moneda en las aplicaciones varía mucho para cada configuración regional. Por ejemplo: la norma estadounidense de representar las fechas es mes/día/año, mientras que la europea es día/mes/año.

Se puede escribir código para dar formato a fechas, horas y monedas. En el siguiente ejemplo, el código convierte un objeto Date (fecha) en formato mes/día/año o día/mes/año. Si la variable locale (que representa la configuración regional) se define en "es_ES" , la función devuelve el formato mes/día/año. En el ejemplo, el código convierte un objeto Date en formato día/mes/año para todas las demás configuraciones regionales:

function convertDate(date) 
{ 
    if (locale == "en_US") 
    { 
        return (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear(); 
    } 
    else 
    { 
        return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear(); 
    } 
}

ADOBE FLEX

La arquitectura de Flex incluye controles para dar formato a fechas, horas y monedas, entre ellos los controles DateFormatter y CurrencyFormatter.