Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

6avr/090

Flex Localization – Création de fichier .properties

Vous pouvez définir les ressources de localization dans des fichiers .properties. Ces fichier properties contiennent des couples clé/valeur au format UTF-8. Vous allez typiquement utiliser ces fichiers propriété pour spécifier des valeurs de String dans votre application, comme le label d'un bouton ou celui des items d'une liste.

L'exemple suivant spécifie des valeurs de label d'un Form en Anglais:

# locale/en_US/RegistrationForm.properties
registration_title=Registration
submit_button=Submit Form
personname=Name
street_address=Street Address
city=City
state=State
zip=ZIP Code
thanks=Thank you for registering!

Les ressources peuvent aussi faire référence à des éléments binaires comme des fichiers audio, image ou vidéo. Pour y faire référence, vous devez utiliser l'instruction Embed(), comme vous le ferriez pour un élément dans une feuille de style. L'exemple suivant embarque un fichier JPG dans la ressource:

flag=Embed("images/unitedstates.jpg")

Vous pouvez aussi  extraire des symboles depuis un fichier SWF en utilisant la directive Embed() comme ceci:

flag=Embed(source="FlagsOfTheWorld.swf", symbol="unitedstates")

Pour inclure des classes à vous, comme des ProgrammaticSkin, vous pouvez utiliser l'instruction ClassReference(). L'exemple suivant inclut la classe Sorter du package sortingClasses.en_US:

SORTER=ClassReference("sortingClasses.en_US.Sorter")

Vous allez typiquement conserver ces fichier properties dans un sous-dossier locale/nom_Locale. Vous devrez ajouter ce répertoire à votre Source Path pour que le compilateur puisse le trouver lors de la compilation de l'application. On verra cela dans un autre tuto Flex.

6avr/092

Flex Localization – Introduction à la localization (l10n), adapter une application au langage utilisateur

La localization est un processus qui permet d'inclure différents éléments pour différents langages (locale). Une "locale" est une combinaison entre un langage  et un code pays. Par exemple, en_US fait référence au langage English parlé aux United States et fr_FR fait référence au Français parlé en France. Pour "localiser" une application, vous devez donc donner deux jeux d'éléments, un pour la locale en_US et l'autre pour la locale fr_FR.

Pour l'anecdote, l'appellation "L10N" vient du fait qu'il y ait 10 lettres entre le L et le N. On parle aussi de "i18n" pour l'internationalisation.

Les "locale" peuvent partager le même langage. Par exemple, en_US et en_GB (Great Britain) ont des locale différentes et utilisent donc différents éléments (assets). Dans ce cas, les deux utilisent le langage English, mais le code pays indique que ce sont des locale différentes, qui devront donc utiliser des éléments distincts. Par exemple, une application en_US va utiliser le mot "color" alors que le mot serait "colour" en en_GB. En plus de cela, les unités seraient représentées soit en dollars soit en pounds suivant la locale. Le format des dates et des temps pourraient aussi être différents.

La localization va bien plus loin que la simple traduction de String dans votre application. Vous pouvez aussi inclure des éléments comme des fichiers audio, image et vidéo. Puisque la signification des couleurs est différente suivant les pays et les cultures, vous pouvez changer les styles utilisés par votre application, en se basant sur les "locale".

La localization dans les applications Flex

Pour localizer une application, il faut tout d'abord créer des fichiers de propriétés qui définissent les éléments localized. Vous devez comprendre la syntaxe de ces fichiers et quels types de ressources peuvent être ajoutés aux "Resource Bundles".

6avr/090

Flex Builder 4 – Les nouvelles fonctionnalités du debugger de Flex Builder

Dans son blog, Mike Morearty de la Flex Builder Team expose les nouveautés de Flex Builder 4 (FB4). Au programme, de nombreuses améliorations pour le debugger qui vont être très utiles. Adobe Flex Builder 4 n'est pas encore disponibles sur les Adobe Labs mais le sera prochainement. Les personnes ayant assisté à MAX ont eux eu la possibilité de tester la bête.

Voici donc les prochaines fonctionnalités de Flex Builder 4:

Conditional Breakpoints

Lorsque vous êtes en mode debug, vous pouvez fixer des points d'arrêt (breakpoints) afin de voir les valeurs des variables à cet instant (Watch). Supposons que vous ayez un point d'arrêt par lequel votre programme passe des centaines de fois. Flex Builder va automatiquement s'arrêter et donner le focus au Builder. Si vous voulez donc intercepter un cas particulier, il faudrait donc être très patient. Dans Flex Builder 4, vous pourrez fixer des points d'arrêt conditionnel.

Par exemple, Flex Builder va s'arrêter uniquement si une variable "x" est null. Vous pourrez le faire simplement en faisant clic droit sur le point d'arrêt, en allant dans ses propriétés et en ajoutant la condition:

breakpoint FB
Vous pourrez aussi mettre un compteur. Par exemple si vous indiquer une valeur de compteur de 5, le breakpoint sera actif au bout du 5e passage.