Localisation d’applications

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

La localisation consiste à inclure des actifs prenant en charge plusieurs jeux de paramètres régionaux. Les paramètres régionaux correspondent à une langue et un code de pays. Par exemple, fr_FR fait référence à l’anglais tel qu’il est parlé aux Etats-Unis et fr_FR, au français utilisé en France. Pour localiser une application en fonction de ces paramètres régionaux, vous proposeriez deux jeux d’actifs : un pour les paramètres fr_FR et l’autre pour les paramètres fr_FR.

Les paramètres régionaux peuvent partager des langues. Ainsi, fr_FR et en_GB (Grande Bretagne) sont des paramètres régionaux différents. Dans ce cas, les deux jeux de paramètres régionaux spécifient l’anglais, mais le code de pays indique qu’ils sont différents et n’utilisent donc pas nécessairement les mêmes actifs. Par exemple, une application utilisant les paramètres régionaux fr_FR comprendrait peut-être le mot « color », alors que ce mot serait épelé « colour » dans les paramètres régionaux en_GB. Par ailleurs, les devises correspondraient aux dollars ou aux livres Sterling, selon les paramètres régionaux, et les formats de date et d’heure seraient peut-être aussi différents.

Vous pouvez également fournir un jeu d’actifs pour une langue sans spécifier de code de pays. Ainsi, vous pouvez fournir des actifs en pour l’anglais et des actifs supplémentaires pour les paramètres régionaux fr_FR, qui sont spécifiques à l’anglais américain.

La localisation ne se limite pas à traduire les chaînes utilisées dans l’application. Elle peut également comprendre n’importe quel type d’actif, tels que les fichiers audio, les images ou les vidéos.

Choix d’un jeu de paramètres régionaux

Pour déterminer les jeux de paramètres régionaux qu’utilise votre contenu ou votre application, vous pouvez procéder comme suit, au choix :

  • Package flash.globalization : les classes gérant les paramètres régionaux du package flash.globalization permettent d’extraire les paramètres régionaux par défaut de l’utilisateur en fonction du système d’exploitation et des préférences de ce dernier. Cette solution est recommandée pour les applications qui tournent sur les moteurs d’exécution de Flash Player 10.1 ou ultérieur ou d’AIR 2.0 ou ultérieur. Pour plus d’informations, voir Identification des paramètres régionaux .

  • Invite utilisateur : vous pouvez démarrer l’application avec un jeu de paramètres régionaux par défaut et inviter l’utilisateur à choisir le jeu qu’il préfère.

  • (AIR uniquement) Capabilities.languages : la propriété Capabilities.languages présente un tableau de langues disponible dans les langues préférées de l’utilisateur, telles qu’elles sont définies par le biais du système d’exploitation. Les chaînes contiennent des balises de langue (ainsi que des informations de script et de région, le cas échéant) définies par la norme RFC4646 ( http://www.ietf.org/rfc/rfc4646.txt ). Elles utilisent des tirets comme délimiteurs (par exemple, "en-US" ou "ja-JP" ). La première entrée du tableau renvoyé possède le même identifiant de langue principale que la propriété language. Par exemple, si languages[0] est défini sur "en-US" , la propriété language est définie sur "en" . Cependant, si la propriété language est définie sur "xu" (qui représente une langue inconnue), le premier élément du tableau languages est différent.

  • Capabilities.language : la propriété Capabilities.language indique le code de langue de l’interface utilisateur du système d’exploitation. Cette propriété est toutefois limitée à 20 langues connues. Sur les systèmes anglais, elle renvoie uniquement le code de langue et non le code du pays. C’est pourquoi il est préférable d’utiliser le premier élément du tableau Capabilities.languages .

Localisation de contenu Flex

Adobe Flex propose une structure de localisation du contenu Flex. Cette structure contient les classes Locale, ResourceBundle et ResourceManagerImpl, ainsi que les interfaces IResourceBundle et IResourceManagerImpl.

Une bibliothèque de localisation Flex contenant des classes d’utilitaires destinés à trier les paramètres régionaux d’application est proposée sur Google Code (http://code.google.com/p/as3localelib/).

Localisation du contenu Flash

Adobe Flash Professional comprend une classe Locale dans les composants ActionScript 3.0. La classe Locale vous permet de contrôler l’affichage de texte multilingue dans un fichier SWF. Le panneau Chaînes de Flash vous permet d’utiliser des ID de chaîne au lieu de littéraux de chaîne dans les champs de texte dynamique. Grâce à cette fonctionnalité, vous pouvez créer un fichier SWF qui affiche du texte chargé à partir d’un fichier XML spécifique à une langue. Pour plus d’informations sur l’utilisation de la classe Locale, voir Guide de référence ActionScript 3.0 pour la plate-forme Adobe Flash .

Localisation d’applications AIR

Le SDK d’AIR propose une structure de localisation HTML (qui figure dans un fichier AIRLocalizer.js). Cette structure comprend des API qui facilitent la gestion de plusieurs paramètres régionaux dans une application HTML. Pour accéder à une bibliothèque ActionScript destinée à trier les paramètres régionaux, voir http://code.google.com/p/as3localelib/.

Localisation des dates, heures et devises

L’affichage des dates, heures et devises dans les applications varie grandement en fonction du jeu de paramètres régionaux. Aux Etats-Unis, par exemple, la date est représentée sous la forme mois/jour/année alors qu’en Europe, la norme consiste à utiliser jour/mois/année.

Vous pouvez écrire du code pour formater les dates, heures et devises. Par exemple, le code suivant convertit un objet Date du format mois/jour/année au format jour/mois/année. Si la variable locale (qui représente le jeu de paramètres régionaux) est définie sur fr_FR , la fonction renvoie le format mois/jour/année. L’exemple convertit un objet Date au format jour/mois/année pour tous les autres jeux de paramètres régionaux :

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 structure Flex propose des contrôles de formatage de la date, des heures et des devises, notamment DateFormatter et CurrencyFormatter.