Identification des paramètres régionaux

Flash Player 10.1 et les versions ultérieures, Adobe AIR 2.0 et les versions ultérieures

Les paramètres régionaux identifient une combinaison donnée de conventions linguistiques et culturelles en vigueur dans un pays ou une région.

Un identifiant de paramètres régionaux peut être géré en toute sécurité en tant que chaîne. Vous disposez toutefois de la classe LocaleID pour obtenir d’autres informations relatives aux paramètres régionaux.

Procédez comme suit pour créer un objet LocaleID :

var locale:LocaleID = new LocaleID("es-MX");

Une fois l’objet LocaleID créé, vous pouvez extraire des données relatives à l’ID de paramètres régionaux. Faites appel aux méthodes getKeysAndValues() , getLanguage() , getRegion() , getScript() , getVariant() et isRightToLeft() , ainsi qu’à la propriété name .

Les valeurs extraites de ces méthodes et propriétés contiennent parfois des informations complémentaires sur les paramètres régionaux qu’il est impossible de récupérer directement de l’identifiant de paramètres régionaux.

Lorsqu’une application crée un service qui gère les paramètres régionaux, telle une fonctionnalité de formatage de dates, elle doit stipuler les paramètres régionaux prévus. Etant donné que la liste des paramètres régionaux pris en charge varie d’un système d’exploitation à l’autre, il arrive parfois que les paramètres régionaux requis ne soient pas disponibles.

Flash Player essaie d’abord de trouver le code de langue des paramètres régionaux requis. Il tente ensuite de préciser les paramètres régionaux en trouvant un système d’écriture (script) et une région correspondants. Exemple :

var loc:LocaleID = new LocaleID("es"); 
trace(loc.getLanguage()); // es 
trace(loc.getScript()); // Latn 
trace(loc.getRegion()); // ES

Dans cet exemple, le constructeur LocaleID() a extrait les données relatives aux paramètres régionaux qui correspondent de plus près au code de langue « es » associé à l’utilisateur.

Définition de l’identifiant de paramètres régionaux

Vous disposez de plusieurs méthodes pour définir les paramètres régionaux actifs d’une application :

  • Codez en dur un ID de paramètres régionaux unique dans l’application. Cette approche est courante, mais ne prend pas en charge l’internationalisation de l’application.

  • Utilisez les préférences d’ID de paramètres régionaux extraites du système d’exploitation ou du navigateur de l’utilisateur, voire d’autres préférences utilisateur. Cette technique produit généralement les paramètres régionaux les plus adaptés à l’utilisateur, mais manque parfois de précision. Les paramètres du système d’exploitation risquent en effet de ne pas refléter les préférences réelles de l’utilisateur. L’utilisateur pourrait, par exemple, partager un ordinateur avec un collègue et être incapable de modifier les paramètres régionaux préférés du système d’exploitation.

  • Après avoir défini l’ID des paramètres régionaux en fonction des préférences de l’utilisateur, autorisez ce dernier à sélectionner les paramètres régionaux dans une liste d’options prises en charge. Cette stratégie est généralement recommandée si l’application prend en charge plusieurs jeux de paramètres régionaux.

Vous pouvez faire appel à la troisième option, comme suit :

  1. Récupérez la liste des paramètres régionaux ou langues préférés de l’utilisateur à partir d’un profil utilisateur, des paramètres du navigateur, des paramètres du système d’exploitation ou d’un cookie. (L’application doit implémenter elle-même cette logique. La bibliothèque flash.globalization ne prend en effet pas directement en charge ces préférences.)

  2. Identifiez les paramètres régionaux pris en charge par l’application et sélectionnez la valeur la plus adaptée par défaut. Faites appel à la méthode LocaleID.determinePreferredLocales() pour trouver les paramètres régionaux adaptés à un utilisateur en fonction de ses paramètres régionaux préférés et des paramètres régionaux pris en charge par le système d’exploitation.

  3. Autorisez l’utilisateur à modifier les paramètres régionaux par défaut s’ils ne lui conviennent pas.

Restrictions associées aux autres classes de paramètres régionaux et de langue

La classe fl.lang.Locale permet de remplacer les chaînes de texte basées sur des paramètres régionaux en utilisant les regroupements de ressources qui contiennent les valeurs de chaîne. Cette classe ne prend toutefois pas en charge les autres fonctions d’internationalisation telles que le formatage, le tri et la mise en correspondance des nombres, des devises ou de la date. Elle est par ailleurs réservée à Flash Professional.

Vous pouvez également récupérer le code de langue actif associé au système d’exploitation à l’aide de la propriété flash.system.Capabilities.language . Cette propriété n’extrait toutefois que le code de langue ISO 639-1 à deux caractères, plutôt que l’ID de paramètres régionaux complet, et ne prend en charge qu’un jeu déterminé de paramètres régionaux.

Dans AIR 1.5, vous disposez de la propriété flash.system.Capabilities.languages . Cette propriété génère un tableau contenant les langues d’interface privilégiées par l’utilisateur. Elle n’est donc pas sujette aux restrictions de Capabilities.language .