mx.resourcesLocale La classe Locale peut être utilisée pour analyser une chaîne de paramètres régionaux telle que « en_US_MAC » en trois parties : un code langue, un code pays et une variante.Object La classe Locale peut être utilisée pour analyser une chaîne de paramètres régionaux telle que "en_US_MAC" en trois parties : un code langue, un code pays et une variante.

Les API de localisation dans les interfaces IResourceManager et IResourceBundle utilisent des chaînes de paramètres régionaux plutôt que des occurrences Locale ; cette classe est rarement utilisée dans une application.

mx.resources.IResourceBundlemx.resources.IResourceManagerLocale Constructeur.localeStringChaîne de paramètres régionaux à 1, 2 ou 3 parties, telle que "en", "en_US" ou "en_US_MAC". Les parties sont séparées par un caractère de soulignement. La première partie consiste en un code langue à deux minuscules, tel que défini par la norme ISO-639 (par exemple, "en" pour English). La seconde partie consiste en un code pays à deux majuscules, tel que défini par la norme ISO-3166 (par exemple, "US" pour United States). La troisième partie est une chaîne de variante, qui permet de distinguer si cela est souhaité plusieurs paramètres régionaux pour la même langue et le même pays. Elle est parfois utilisée pour indiquer le système d’exploitation avec lequel le paramètre régional doit être utilisé (par exemple, "MAC", "WIN" ou "UNIX"). Constructeur. toString Renvoie la chaîne de paramètres régionaux ayant été utilisée pour construire cette occurrence locale.Renvoie la chaîne de paramètres régionaux ayant été utilisée pour construire cette occurrence locale. Renvoie la chaîne de paramètres régionaux ayant été utilisée pour construire cette occurrence locale. Par exemple :
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.toString()); // outputs "en_US_MAC"
      
country Code pays de cette occurrence locale. Code pays de cette occurrence locale. [Lecture seule]
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.country); // outputs "US"
      
language Code langue de cette occurrence locale. Code langue de cette occurrence locale. [Lecture seule]
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.language); // outputs "en"
      
variant Partie de variante de cette occurrence locale. Partie de variante de cette occurrence locale. [Lecture seule]
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.variant); // outputs "MAC"
      
IResourceManager Les API de l’interface IResourceManager fournissent un support de localisation pour les applications Flex.flash.events:IEventDispatcher Les API de l’interface IResourceManager fournissent un support de localisation pour les applications Flex.

Trois concepts principaux sont impliqués dans la localisation : les paramètres régionaux, les ressources et les regroupements de ressources.

Un paramètre régional spécifie une langue et un pays pour lesquels votre application a été localisée. Par exemple, le paramètre régional "en_US" spécifie English (anglais) tel que parlé aux Etats-Unis (pour plus d’informations, voir la classe mx.resources.Locale).

Une ressource est une valeur nommée dépendant d’un paramètre régional. Par exemple, il se peut que votre application dispose d’une ressource dont le nom est "OPEN" et dont la valeur pour un paramètre régional English est "Open", mais dont la valeur pour un paramètre régional French est "Ouvrir".

Un regroupement de ressources est un groupe de ressources nommé dont les valeurs ont été localisées pour un paramètre régional spécifique. Un regroupement de ressources est identifié par la combinaison de ses valeurs bundleName et locale, et comporte un objet content contenant les paires nom-valeur des ressources du regroupement. Voir la documentation concernant mx.resources.IResourceBundle pour obtenir des informations sur la création standard de regroupements de ressources à partir de fichiers de propriétés.

Un objet ResourceManager unique implémentant l’interface IResourceManager gère plusieurs regroupements de ressources, éventuellement pour plusieurs paramètres régionaux, et permet d’accéder aux ressources contenues dans ces regroupements. Par exemple, vous pouvez extraire une ressource spécifique en tant que chaîne en appelant la méthode resourceManager.getString(bundleName, resourceName).

Toutes les classes qui développent la classe UIComponent, Formatter ou Validator comportent une propriété resourceManager qui fournit une référence à l’objet implémentant cette interface. Les autres classes peuvent appeler la méthode ResourceManager.getInstance() pour obtenir cet objet.

Les méthodes d’extraction de ressources telles que getString() recherchent des ressources dans les paramètres régionaux spécifiés par la propriété localeChain. Si vous changez cette propriété, votre application peut soudain utiliser, par exemple, des ressources japonaises plutôt qu’anglaises.

Lorsque votre application démarre, la classe ResourceManager reçoit automatiquement les regroupements de ressources ayant été compilés dans l’application. Si vous créez un module de code, les ressources dont ses classes ont besoin sont par défaut compilées dans le module. Lorsque le module est chargé dans une application, les regroupements dont l’application ne dispose pas déjà sont ajoutés à la classe ResourceManager.

Vous pouvez compiler des « modules de ressources » ne contenant que des ressources et les charger avec la méthode loadResourceModule() de la classe IResourceManager. Avec les modules de ressources, vous pouvez prendre en charge plusieurs paramètres régionaux en chargeant les ressources requises lors de l’exécution au lieu de les compiler dans votre application.

Bien que la classe ResourceManager reçoive normalement les regroupements de ressources ayant été compilés dans votre application ou chargé à partir de modules, vous pouvez aussi créer par programmation des regroupements de ressources et les ajouter vous-même à la classe ResourceManager avec la méthode addResourceBundle().

mx.resources.ResourceManagermx.resources.IResourceBundlemx.resources.ResourceBundleaddResourceBundle Ajoute le regroupement ResourceBundle spécifié à la classe ResourceManager de sorte que ses ressources soient accessibles par des méthodes ResourceManager telles que getString().resourceBundlemx.resources:IResourceBundleRegroupement de ressources à ajouter. useWeakReferencefalseDétermine si ResourceManager conserve une référence faible du groupe de ressources. Si useWeakReference a la valeur true, ResourceManager fournit une référence faible au groupe de ressources. Si l’appelant choisit d’utiliser une référence faible, l’appelant est alors chargé de conserver une référence forte du groupe de ressources de façon qu’il ne soit pas nettoyé prématurément. Si useWeakReference a la valeur false, ResourceManager conserve une référence forte du groupe de ressources. Il n’est pas nettoyé.

Lorsqu’une sous-application ou un module Flex ajoute automatiquement ses groupes de ressources compilés à ResourceManager, cela appelle addResourceBundle() avec useWeakReference défini sur true, pour éviter le verrouillage dans la mémoire. Si, lors de l’exécution, vous créez des groupes de ressources dans une sous-application ou un module, vous devez procéder de la même façon. Vous devez alors conserver ces groupes de ressources avec une référence forte pour éviter qu’ils soient nettoyés.

Ajoute le regroupement ResourceBundle spécifié à la classe ResourceManager de sorte que ses ressources soient accessibles par des méthodes ResourceManager telles que getString().
findResourceBundleWithResource Recherche la ressource spécifiée dans les paramètres régionaux dans la propriété localeChain et renvoie le premier regroupement de ressource dans lequel elle est trouvée.Premier regroupement ResourceBundle dans la propriété localeChain contenant la ressource spécifiée, ou null. mx.resources:IResourceBundlebundleNameNom de regroupement tel que "MyResources". resourceNameNom d’une ressource dans un regroupement de ressources. Recherche la ressource spécifiée dans les paramètres régionaux dans la propriété localeChain et renvoie le premier regroupement de ressource dans lequel elle est trouvée. Si la ressource n’est pas trouvée, cette méthode renvoie null. getBoolean Obtient la valeur d’une ressource spécifiée en tant que valeur booléenne.Valeur de la ressource, en tant que valeur booléenne, ou false si elle n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant que valeur booléenne.

Cette méthode appelle d’abord getString() et convertit le résultat en minuscules. Elle renvoie ensuite true si le résultat est "true" et false dans le cas contraire.

Si la ressource spécifiée n’est pas trouvée, cette méthode renvoie false.

getBundleNamesForLocale Renvoie un tableau de chaînes spécifiant les noms de regroupements pour tous les objets ResourceBundle qui existent dans la classe ResourceManager et qui appartiennent au paramètre régional spécifié.Tableau de noms de regroupements. localeChaîne de paramètres régionaux, telle que "en_US". Renvoie un tableau de chaînes spécifiant les noms de regroupements pour tous les objets ResourceBundle qui existent dans la classe ResourceManager et qui appartiennent au paramètre régional spécifié.

L’ordre des noms de regroupements dans ce tableau n’est pas spécifié.

mx.resources.IResourceBundle
getClass Obtient la valeur d’une ressource spécifiée en tant qu’objet Class.Valeur de la ressource, en tant que Class, ou null si elle n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant qu’objet Class.

Cette méthode appelle getObject() et la contraint vers le type Class à l’aide de l’opérateur as. Le résultat est null si la valeur de la ressource n’est pas une référence de classe. Cela est utile si vous avez écrit une ligne comme dans

      IMAGE=Embed("image.jpg")
      BUTTON_SKIN=ClassReference("skins.ButtonSkin_en_US")
      

un fichier de propriétés et voulez obtenir l’objet Class que la directive Embed() ou ClassReference() a produit.

Si la ressource spécifiée n’est pas trouvée, cette méthode retourne null.

getInt Obtient la valeur d’une ressource spécifiée en tant que valeur entière.Valeur de la ressource, en tant que valeur entière, ou 0 si elle n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant que valeur entière.

Cette méthode appelle getObject() et projette le résultat vers une valeur entière. Cela est utile si vous avez écrit une ligne comme :

      MINIMUM=5
      

dans un fichier de propriétés et voulez obtenir la valeur 5 plutôt que "5".

Si la ressource spécifiée n’est pas trouvée, cette méthode retourne 0.

getLocales Renvoie un tableau de chaînes spécifiant tous les paramètres régionaux pour lesquels les objets ResourceBundle existent dans la classe ResourceManager.Tableau de chaînes de paramètres régionaux. Renvoie un tableau de chaînes spécifiant tous les paramètres régionaux pour lesquels les objets ResourceBundle existent dans la classe ResourceManager.

L’ordre des paramètres régionaux dans ce tableau n’est pas spécifié.

getNumber Obtient la valeur d’une ressource spécifiée en tant que nombre.Valeur de la ressource, en tant que nombre, ou NaN si elle n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant que nombre.

Cette méthode appelle getObject() et projette le résultat vers un nombre. Cela est utile si vous avez écrit une ligne comme :

      LONGITUDE=170.3
      

dans un fichier de propriétés et voulez obtenir la valeur 170.3 plutôt que "170.3".

Si la ressource spécifiée n’est pas trouvée, cette méthode renvoie NaN.

getObject Obtient la valeur d’une ressource spécifiée en tant qu’objet.Valeur de la ressource, exactement telle qu’elle est stockée dans l’objet content, ou undefined si la ressource n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant qu’objet.

La valeur est renvoyée exactement telle qu’elle est stockée dans l’objet content du regroupement ResourceBundle, sans conversion. Si la ressource a été compilée à partir d’un fichier de propriétés, la valeur de la ressource dans l’objet content est toujours une chaîne sauf si vous avez utilisé la directive Embed() ou ClassReference(), auquel cas il s’agit d’un objet Class. Utilisez les méthodes getString(), getStringArray(), getNumber(), getInt() getUint(), getBoolean() et getClass() pour convertir la valeur en des types plus spécifiques.

Si la ressource spécifiée n’est pas trouvée, cette méthode renvoie undefined.

getPreferredLocaleChain Renvoie un tableau de chaînes spécifiant tous les paramètres régionaux pour lesquels les objets ResourceBundle existent dans la classe ResourceManager, triés selon les préférences de l’utilisateur tel que signalé par Capabilities.language ou Capabilities.languages.Tableau de chaînes de paramètres régionaux. Renvoie un tableau de chaînes spécifiant tous les paramètres régionaux pour lesquels les objets ResourceBundle existent dans la classe ResourceManager, triés selon les préférences de l’utilisateur tel que signalé par Capabilities.language ou Capabilities.languages. getResourceBundle Renvoie un regroupement ResourceBundle avec la valeur locale et bundleName spécifiée ayant précédemment été ajoutée à la classe ResourceManager avec addResourceBundle().Regroupement ResourceBundle avec la valeur locale et bundleName spécifiée s’il en existe une ; dans le cas contraire, null. mx.resources:IResourceBundlelocaleChaîne de paramètres régionaux, telle que "en_US". bundleNameNom de regroupement tel que "MyResources". Renvoie un regroupement ResourceBundle avec la valeur locale et bundleName spécifiée ayant précédemment été ajoutée à la classe ResourceManager avec addResourceBundle(). Si un tel regroupement ResourceBundle n’existe pas, cette méthode renvoie null. mx.resources.IResourceBundlegetStringArray Obtient la valeur d’une ressource spécifiée en tant que tableau de chaînes.Valeur de la ressource, en tant que tableau de chaînes, ou null si elle n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant que tableau de chaînes.

Cette méthode considère que la valeur de la ressource est une chaîne contenant une liste d’éléments séparés par une virgule. Elle appelle la méthode getString(), divise la chaîne en éléments au niveau des virgules et insère un espace blanc avant et après chaque élément. Cela est utile si vous avez écrit une ligne comme :

      COUNTRIES=India, China, Japan
      

dans un fichier de propriétés et voulez obtenir la valeur [ "India", "China", "Japan" ] plutôt que la valeur "India, China, Japan".

Si la ressource spécifiée n’est pas trouvée, cette méthode retourne null.

getString Obtient la valeur d’une ressource spécifiée en tant que chaîne, après remplacement des valeurs spécifiées par des espaces réservés.Valeur de la ressource, en tant que chaîne, ou null si elle n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. parametersnullTableau de paramètres qui sont remplacés par les espaces réservés. Chaque paramètre est converti en une chaîne avec la méthode toString() avant d’être remplacé. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant que chaîne, après remplacement des valeurs spécifiées par des espaces réservés.

Cette méthode appelle getObject(), puis projette le résultat vers une chaîne.

Si un tableau de valeurs parameters est transmis à cette méthode, les paramètres qu’il contient sont convertis en chaînes puis remplacés, dans l’ordre, par les espaces réservés "{0}", "{1}", et ainsi de suite, dans la chaîne avant qu’elle ne soit retournée.

Si la ressource spécifiée n’est pas trouvée, cette méthode retourne null.

getUint Obtient la valeur d’une ressource spécifiée en tant qu’entier non signé.Valeur de la ressource, en tant qu’entier non signé, ou 0 si elle n’est pas trouvée. bundleNameNom d’un regroupement de ressources. resourceNameNom d’une ressource dans un regroupement de ressources. localenullParamètre régional spécifique à utiliser pour la recherche, ou null pour rechercher tous les paramètres régionaux dans la propriété localeChain. Ce paramètre est facultatif et prend par défaut la valeur null ; il est normalement rarement nécessaire de le spécifier. Obtient la valeur d’une ressource spécifiée en tant qu’entier non signé.

Cette méthode appelle la méthode getObject() et projette le résultat vers un entier non signé. Cela est utile si vous avez écrit une ligne comme :

      MINIMUM=5
      

dans un fichier de propriétés et voulez obtenir la valeur 5 plutôt que "5".

Si la ressource spécifiée n’est pas trouvée, cette méthode retourne 0.

initializeLocaleChain Initialise la propriété localeChain de la classe ResourceManager à l’aide d’un algorithme qui compare la liste des paramètres régionaux préférés par l’utilisateur du système d’exploitation avec la liste des paramètres régionaux disponibles dans le fichier SWF.compiledLocalesTableau de chaînes spécifiant les paramètres régionaux pour lesquelles le fichier SWF a été compilé. Initialise la propriété localeChain de la classe ResourceManager à l’aide d’un algorithme qui compare la liste des paramètres régionaux préférés par l’utilisateur du système d’exploitation avec la liste des paramètres régionaux disponibles dans le fichier SWF.

Par exemple, si l’utilisateur a indiqué dans le système d’exploitation qu’il préfère le français, et que le fichier SWF a été compilé pour les langues en_US, fr_FR et de_DE, la propriété localeChain est définie de façon à ce que la première langue qu’elle contient soit le français (fr_FR).

Cette méthode n’est utilisée que par les classes qui implémentent l’interface IFlexModuleFactory.

mx.core.IFlexModuleFactory
installCompiledResourceBundles Crée des occurrences de toutes les sous-classes ResourceBundle qui ont été compilées dans le fichier SWF et les ajoute à la classe ResourceManager.Tableau des occurrences ResourceBundle qui ont été créées et ajoutées à la classe ResourceManager. applicationDomain Domaine d’application qui est utilisé pour rechercher les classes d’ensembles de ressources par nom. localesTableau de chaînes spécifiant les paramètres régionaux pour lesquels le fichier SWF a été compilé. bundleNamesTableau de chaînes qui spécifient les noms des ensembles de ressources qui ont été compilés dans le fichier SWF. useWeakReferencefalseIndicateur qui spécifie si des ensembles de ressources doivent être installés dans la classe ResourceManager à l’aide d’une référence modérée. Crée des occurrences de toutes les sous-classes ResourceBundle qui ont été compilées dans le fichier SWF et les ajoute à la classe ResourceManager.

Par exemple, si le paramètre locales a la valeur [ "en_US", "ja_JP" ] et que le paramètre bundleNames a la valeur [ "core", "controls" ], quatre ensembles de ressources sont installés.

Cette méthode n’est utilisée que par les classes qui implémentent l’interface IFlexModuleFactory.

mx.core.IFlexModuleFactory
loadResourceModule Commence à charger un module de ressource contenant des regroupements de ressources.Objet associé à cette opération load spécifique qui distribue des événements ResourceEvent.PROGRESS, ResourceEvent.COMPLETE et ResourceEvent.ERROR. urlURL à partir de laquelle charger le module de ressource. updatetrueAppeler ou non la méthode update() lorsque le module termine le chargement. applicationDomainnullClasse ApplicationDomain transmise à la classe load() de la classe IModuleInfo qui charge le module de ressource. Ce paramètre est facultatif et prend par défaut la valeur null. securityDomainnullClasse SecurityDomain transmise à la classe load() de la classe IModuleInfo qui charge le module de ressource. Ce paramètre est facultatif et prend par défaut la valeur null. Commence à charger un module de ressource contenant des regroupements de ressources.

Chaque appel à cette méthode renvoie un nouvel objet de distribution d’événement que vous pouvez utiliser pour connaître la progression du chargement et savoir s’il s’est terminé correctement ou a résulté en une erreur. Cet objet distribue des événements ResourceEvent.PROGRESS, ResourceEvent.COMPLETE et ResourceEvent.ERROR.

Lorsque le module a été chargé, les regroupements de ressources sont ajoutés à la classe ResourceManager, mais la propriété localeChain reste inchangée. Si le paramètre update est true, la méthode update() est appelée.

mx.events.ResourceEventmx.resources.IResourceManager.update()
removeResourceBundle Supprime le regroupement ResourceBundle spécifié de la classe ResourceManager de sorte que ses ressources ne soient plus accessibles par des méthodes ResourceManager telles que getString().localeChaîne de paramètres régionaux, telle que "en_US". bundleNameNom de regroupement tel que "MyResources". Supprime le regroupement ResourceBundle spécifié de la classe ResourceManager de sorte que ses ressources ne soient plus accessibles par des méthodes ResourceManager telles que getString(). mx.resources.IResourceBundleremoveResourceBundlesForLocale Supprime de la classe ResourceManager tous les regroupements ResourceBundle pour le paramètre régional spécifié de sorte que leurs ressources ne soient plus accessibles par des méthodes ResourceManager telles que getString().localeChaîne de paramètres régionaux, telle que "en_US". Supprime de la classe ResourceManager touts les regroupements ResourceBundle pour le paramètre régional spécifié de sorte que leurs ressources ne soient plus accessibles par des méthodes ResourceManager telles que getString(). mx.resources.IResourceBundleunloadResourceModule Commence le déchargement d’un module de ressource chargé. urlURL utilisée pour charger le module de ressource. updatetrueAppeler ou non la méthode update() lorsque le module termine le déchargement. Commence le déchargement d’un module de ressource chargé.

Lorsque le module est déchargé, ses regroupements de ressources sont supprimés du gestionnaire ResourceManager, mais la localeChain demeure inchangé. Si le paramètre update est true, la méthode update() est appelée.

update Distribue un événement change à partir de la classe ResourceManager. Distribue un événement change à partir de la classe ResourceManager.

Cela amène les expressions de liaison à réévaluer si elles impliquent les méthodes ResourceManager getObject(), getString(), getStringArray(), getNumber(), getInt(), getUint(), getBoolean() ou getClass().

Cela provoque également l’exécution de la méthode resourcesChanged() d’une classe UIComponent, Formatter ou Validator. De nombreux composants implémentent cette méthode pour mettre à jour leur état en fonction des dernières ressources.

localeChain Tableau de chaînes de paramètres régionaux, tel que [ "en_US" ], qui spécifie un ou plusieurs paramètres régionaux dans lequel rechercher des ressources. Tableau de chaînes de paramètres régionaux, tel que [ "en_US" ], qui spécifie un ou plusieurs paramètres régionaux dans lequel rechercher des ressources.

Lorsque vous appelez les méthodes ResourceManager getObject(), getString(), getStringArray(), getNumber(), getInt(), getUint(), getBoolean() ou getClass() pour obtenir la valeur d’une ressource, vous spécifiez un nom de regroupement et un nom de ressource, mais pas un paramètre régional. La classe ResourceManager commence par le premier paramètre régional dans la propriété localeChain et recherche un regroupement ResourceBundle avec le nom de regroupement spécifié pour ce paramètre régional. S’il existe un tel regroupement ResourceBundle et que la ressource spécifiée y existe, la valeur de cette ressource est renvoyée. Dans le cas contraire, la classe ResourceManager passe aux autres paramètres régionaux dans la propriété localeChain.

Avec ce schéma, il est possible de disposer de paramètres régionaux ne contenant pas nécessairement un ensemble complet de ressources localisées. Par exemple, si vous localisez votre application pour la l’anglais indien plutôt qu’américain, vous ne devez fournir des ressources que pour le paramètre régional en_IN dans lequel l’orthographe ou l’utilisation indienne diffère de l’orthographe et de l’utilisation américains, puis définir la propriété localeChain sur [ "en_IN", "en_US" ].

De nombreuses classes de structures considèrent qu’elles peuvent toujours obtenir, à partir d’un paramètre régional, les ressources auxquelles elles s’attendent, et génèrent des erreurs si cela leur est impossible. Aussi, vous devez vous assurer que le paramètre régional localeChain contient toujours un ensemble complet de ressources. A moins que vous n’ayez entièrement localisé toutes les ressources de la structure ainsi que celles de votre propre application, vous pouvez conserver le paramètre régional "en_US" à la fin de votre paramètre localeChain pour garantir ceci.

Si cette propriété est définie, la classe ResourceManager distribue un événement "change".

ResourceManager Cette classe est utilisée pour obtenir une occurrence unique de l’implémentation de la classe IResourceManager.Object Cette classe est utilisée pour obtenir une occurrence unique de l’implémentation de la classe IResourceManager. Les interfaces IResourceManager et IResourceBundle fonctionnent ensemble pour fournir un support d’internationalisation aux applications Flex.

Une occurrence unique d’une implémentation de la classe IResourceManager gère toutes les ressources localisées pour une application Flex.

mx.resources.IResourceManagermx.resources.IResourceBundlegetInstance Obtient l’occurrence unique de la classe ResourceManager.Objet implémentant l’interface IResourceManager. mx.resources:IResourceManager Obtient l’occurrence unique de la classe ResourceManager. Cet objet gère toutes les ressources localisées pour une application Flex.
ResourceBundle Fournit une implémentation de l’interface IResourceBundle.mx.resources:IResourceBundleObject Fournit une implémentation de l’interface IResourceBundle. Les interfaces IResourceManager et IResourceBundle fonctionnent ensemble pour fournir un support d’internationalisation aux applications Flex.

Une application Flex comporte généralement plusieurs occurrences de cette classe, toutes gérées par une occurrence unique de la classe ResourceManager. Il est possible de disposer d’occurrences ResourceBundle pour plusieurs paramètres régionaux, une pour chaque paramètre régional. Il peut exister plusieurs occurrences ResourceBundle avec différents noms de regroupements.

mx.resources.IResourceBundlemx.resources.IResourceManagerResourceBundle Constructeur.localenullChaîne de paramètres régionaux, telle que "en_US". bundleNamenullNom identifiant ce regroupement, tel que "MyResources". Constructeur. getContent Lorsqu’un fichier de propriétés est compilé en un regroupement de ressources, le compilateur MXML génère automatiquement une sous-classe de ResourceBundle.Objet contenant les paires clé-valeur pour les ressources du regroupement. Lorsqu’un fichier de propriétés est compilé en un regroupement de ressources, le compilateur MXML génère automatiquement une sous-classe de ResourceBundle. La sous-classe remplace cette méthode afin de renvoyer un objet contenant les paires clé-valeur pour les ressources du regroupement.

Si vous créez vos propres occurrences ResourceBundle, vous pouvez définir les paires clé-valeur sur l’objet content.

bundleName content locale
IResourceBundle Les interfaces IResourceBundle et IResourceManager fonctionnent ensemble pour fournir un support de localisation aux applications Flex. Les interfaces IResourceBundle et IResourceManager fonctionnent ensemble pour fournir un support de localisation aux applications Flex.

Trois concepts principaux sont impliqués dans la localisation : les paramètres régionaux, les ressources et les regroupements de ressources.

Un paramètre régional spécifie une langue et un pays pour lesquels votre application a été localisée. Par exemple, le paramètre régional "en_US" spécifie English (anglais) tel que parlé aux Etats-Unis (pour plus d’informations, voir la classe mx.resources.Locale).

Une ressource est une valeur nommée dépendant d’un paramètre régional. Par exemple, il se peut que votre application dispose d’une ressource dont le nom est "OPEN" et dont la valeur pour un paramètre régional English est "Open", mais dont la valeur pour un paramètre régional French est "Ouvrir".

Un regroupement de ressources est un groupe de ressources nommé dont les valeurs ont été localisées pour un paramètre régional spécifique. Un regroupement de ressources est identifié par la combinaison de ses valeurs bundleName et locale, et comporte un objet content contenant les paires nom-valeur des ressources du regroupement.

L’interface IResourceBundle représente un regroupement de ressources spécifique. Toutefois, la plupart des applications n’ont besoin que d’utiliser la classe IResourceManager. Un objet ResourceManager unique implémentant cette interface gère plusieurs regroupements de ressources, éventuellement pour plusieurs paramètres régionaux, et permet d’accéder aux ressources contenues dans ces regroupements. Par exemple, vous pouvez extraire une ressource spécifique en tant que chaîne en appelant la méthode resourceManager.getString(bundleName, resourceName). En changeant la propriété localeChain de la classe ResourceManager, vous pouvez changer les regroupements de ressources dans lesquels les valeurs de ressources sont recherchées.

En général, vous ne créez pas vous-même les regroupements de ressources ; à la place, ils sont généralement compilés à partir de fichiers ~~.properties. Un fichier de propriétés nommé MyResources.properties produit un regroupement de ressources avec "MyResources" pour nom bundleName. Vous produisez généralement plusieurs versions de chaque fichier de propriétés, une pour chaque paramètre régional que votre application prend en charge.

Les fichiers de propriétés Flex sont similaires aux fichiers de propriétés Java, à la différence qu’ils prennent aussi en charge les directives Embed() et ClassReference() MXML. Ces directives opèrent de la même manière dans un fichier de propriétés que dans un fichier CSS, produisant des références de classes. De plus, il est toujours supposé que le codage des fichiers de propriétés Flex est UTF-8.

Les ressources de la structure Flex ont été localisées pour l’anglais américain (paramètre régional "en_US") et pour le japonais (paramètre régional "ja_JP"). Les ressources de structures sont organisées en plusieurs regroupements correspondant aux assemblages de structures ; par exemple, le regroupement « formatters » est utilisé par les classes dans l’assemblage mx.formatters (il existe aussi un regroupement « SharedResources » pour les ressources utilisées par plusieurs assemblages).

Les fichiers de propriétés des ressources de structures (par exemple, formatters.properties) figurent dans les répertoires frameworks/projects/framework/bundles/{locale}/src du SDK Flex. Vos applications sont normalement liées par rapport à la structure Flex en tant que bibliothèque précompilée, framework.swc, dans le répertoire frameworks/libs. Cette bibliothèque ne contient aucune ressource. A la place, les ressources de structures ont été compilées en bibliothèques de regroupements de ressources distinctes telles que framework_rb.swc. Celles-ci sont situées dans les répertoires frameworks/locales/{locale} et votre application doit également être liée dans un ou plusieurs de ces répertoires.

Vous êtes libre d’organiser les propres ressources de votre application dans les regroupements qui vous conviennent. Si vous localisez votre application pour des paramètres régionaux autres que "en_US" et "ja_JP", localisez les fichiers de propriétés de la structure pour ces paramètres régionaux et compilez pour eux des bibliothèques de regroupements de ressources supplémentaires.

Lorsque votre application démarre, la classe ResourceManager reçoit automatiquement les regroupements de ressources ayant été compilés dans l’application. Si vous créez un module de code, les ressources dont ses classes ont besoin sont par défaut compilées dans le module. Lorsque le module est chargé dans une application, les regroupements dont l’application ne dispose pas déjà sont ajoutés à la classe ResourceManager.

Vous pouvez compiler des « modules de ressources » ne contenant que des ressources et les charger avec la méthode loadResourceModule() de la classe ResourceManager. Avec les modules de ressources, vous pouvez prendre en charge plusieurs paramètres régionaux en chargeant les ressources requises lors de l’exécution au lieu de les compiler dans votre application.

Bien que la classe ResourceManager reçoive normalement les regroupements de ressources ayant été compilés dans votre application ou chargé à partir de modules, vous pouvez aussi créer par programmation des regroupements de ressources et les ajouter vous-même à la classe ResourceManager avec la méthode addResourceBundle().

mx.resources.ResourceBundlemx.resources.IResourceManagermx.resources.ResourceManagerbundleName Nom identifiant ce regroupement de ressources, tel que « MyResources ». Nom identifiant ce regroupement de ressources, tel que "MyResources".

Cette propriété en lecture seule est définie lorsqu’un regroupement de ressources est construit.

Les regroupements de ressources qui sont automatiquement créés à partir de fichiers de propriétés compilés comportent des noms de regroupements basés sur les noms de ces fichiers. Par exemple, un fichier de propriétés nommé MyResources.properties produit un regroupement de ressources dont le nom bundleName est "MyResources".

La classe ResourceManager peut gérer plusieurs regroupements comportant le même nom bundleName, à condition qu’ils disposent de valeurs différentes pour leur propriété locale.

content Objet contenant des paires clé-valeur pour les ressources dans ce regroupement de ressources. Objet contenant des paires clé-valeur pour les ressources dans ce regroupement de ressources.

En général, vous devez accéder aux ressources en utilisant les méthodes IResourceManager telles que getString(), au lieu d’y accéder directement dans un regroupement de ressources. Toutefois, si vous créez par programmation vos propres regroupements de ressources, vous pouvez les initialiser avec des ressources, comme suit :

      var rb:IResourceBundle = new ResourceBundle("fr_FR", "MyResources");
      rb.content["LANGUAGE"] = "Francais";
      rb.content["GREETING"] = "Bonjour";
      

Lorsqu’un regroupement de ressources est produit via la compilation d’un fichier de propriétés, ses valeurs de ressources sont de type chaîne ou classe. Par exemple, si le fichier de propriétés contient

      LANGUAGE=English
      MINIMUM_AGE=18
      ENABLED=true
      LOGO=Embed("logo.png")
      

la valeur de la ressource LANGUAGE est la chaîne "English", la valeur de la ressource MINIMUM_AGE est la chaîne "18", la valeur de la ressource ENABLED est la chaîne "true" et la valeur de la ressource LOGO est une classe qui représente le fichier PNG incorporé.

Vous pouvez utiliser les méthodes IResourceManager telles que getInt() et getBoolean() pour convertir les chaînes de ressources telles que "18" et "true" vers le type auquel votre code s’attend.

locale Paramètre régional pour lequel les ressources de ce regroupement ont été localisées. Paramètre régional pour lequel les ressources de ce regroupement ont été localisées. Chaîne telle que "en_US" pour l’anglais américain.

Cette propriété en lecture seule est définie lorsqu’un regroupement de ressources est construit.

Les regroupements de ressources qui sont automatiquement créés à partir de fichiers de propriétés compilés comportent des paramètres régionaux basés sur l’option -compiler.locale des compilateurs mxmlc ou compc. Par exemple, vous compilez votre application avec l’option -compiler.locale=en_US,ja_JP et avez spécifié -compiler.source-path=resources/{locale} de sorte que les ressources de votre application, situées dans resources/en_US/MyResources.properties et resources/ja_JP/MyResources.properties, soient trouvées. Votre application dispose alors de deux regroupements de ressources dont le nom bundleName est "MyResources", un dont le paramètre locale est "en_US" et un dont le paramètre locale est "ja_JP".