• › Connexion
  • Blog RIA
Section separator

Catégories

  • Annonces
  • Concepts et Usages
  • Événements
  • Général
  • Notes Techniques
  • Références
Adobe EMEA Silver Solution Partner Section separator

Abonnement

  • RSS Articles Articles (RSS)
  • RSS Articles Commentaires (RSS)
  • RSS mail Articles (Email)
  • Populaires
  • Récents
  • Commentaires
  • Retour sur le Visual Decision Forum’11 ! (vu 4 112 fois)
  • De l’art d’auto-compléter (en interaction clavier/souris) (vu 1 414 fois)
  • Flex 4 : Tour d’horizon sur les ItemRenderers (vu 1 392 fois)
  • Flex est mort, vive Flex ! (vu 1 234 fois)
  • Internationalisation & Localisation : Les nouveautés Flex 4.5 (vu 1 178 fois)
  • Sortie de Kalileo 2.4
  • TestRail : on l’a testé, on l’a adopté !
  • DB2 à la page dans Hibernate 4
  • Parsley fait peau neuve
  • Apache Flex Logo Contest : il n’en restera qu’un pour les gouverner tous !
  • Sphaxslayer dans Contest logo Apache Flex : Nos propositions
  • Anonyme dans Contest logo Apache Flex : Nos propositions
  • Pbergsma dans Contest logo Apache Flex : Nos propositions
  • Liens informatiques du mois – janvier 2012 | Gestion de projet et développement informatique dans Flex est mort, vive Flex !
  • Florian Fesseler dans Flexmojos : Quick compile mode

Auteurs

  • Alexis Kartmann (11)
  • Antoine Gehl (4)
  • Benoit Kogut-Kubiak (2)
  • Cyril Daloz (10)
  • Daniel Pesic (6)
  • Delphine Estebanez (4)
  • Fadi Mansour (3)
  • Florent Hirsch (1)
  • Florian Fesseler (13)
  • Gaétane Stavaux (3)
  • Guillaume Mignard (4)
  • Java Team (1)
  • Julien Revel (22)
  • Mahmoud Ramadan (1)
  • Matthieu Jobert (1)
  • Morgan Bruneau (1)
  • Stéphane Guyot (1)
  • Stéphane Koëth (2)
  • Thomas de Verdière (1)
  • Yann Graufogel (3)
Section separator

Tags

Adobe Business Exchange Adobe MAX AIR AMF AS3 Cairngorm Corporate Data Visualization Flex Framework JAVA Kap Inspect Kap Lab LCDS LiveCycle Mobile MVC PureMVC QA Reporting RIA RTMP Spark UX Web 2.0
Section separator

Archives

  • avril 2012 (1)
  • février 2012 (3)
  • janvier 2012 (5)
  • décembre 2011 (1)
  • novembre 2011 (2)
  • octobre 2011 (4)
  • août 2011 (2)
  • juillet 2011 (5)
  • juin 2011 (4)
  • mai 2011 (1)
  • mars 2011 (1)
  • janvier 2011 (1)
  • décembre 2010 (1)
  • novembre 2010 (3)
  • juin 2010 (1)
  • mars 2010 (1)
  • février 2010 (1)
  • décembre 2009 (2)
  • novembre 2009 (1)
  • octobre 2009 (3)
  • septembre 2009 (1)
  • août 2009 (1)
  • avril 2009 (2)
  • février 2009 (1)
  • janvier 2009 (3)
  • décembre 2008 (4)
  • novembre 2008 (2)
  • octobre 2008 (2)
  • septembre 2008 (2)
  • août 2008 (1)
  • juin 2008 (1)
  • avril 2008 (4)
  • mars 2008 (3)
  • février 2008 (2)
  • janvier 2008 (1)
  • décembre 2007 (3)
  • novembre 2007 (1)
  • septembre 2007 (1)
  • juillet 2007 (1)
  • juin 2007 (1)
  • mai 2007 (3)
  • avril 2007 (8)
  • mars 2007 (2)
  • février 2007 (1)

Marque-pages

  • Adobe Blogs
  • Adobe Developer Connection
  • Adobe Evangelists
  • Adobe Flex Tutorials (FR)
  • Code moi un mouton
Section separator

Kap IT

  • Site Web
  • Blog RIA
  • Kap Lab - Composants Flex
  • Kap Lab - Plugins Confluence

Blog RIA

Veille, Recherche et Développement RIA Flex-AS3-LiveCycle

Internationalisation & Localisation : Les nouveautés Flex 4.5

Par Florian FesselergravatarFermerAuteur : Florian Fesseler Email : ffesseler@kapit.fr
Site : http://astrois.info/
A propos : Voir les autres billets de l'auteur (13)
, publié le 20 juin 2011

Si quelqu’un vous demande quelles sont les nouveautés du SDK 4.5, qu’allez-vous lui répondre ?

Il est évident que vous mettrez l’accent sur les fonctionnalités pour mobile ou encore sur les nouveaux composants Spark (DataGrid, Form, Image, …).
D’autres fonctionnalités ont moins été soulignées par la communauté Flex ; il nous semblait dommage de ne pas en parler.

Cet article traite ainsi des composants d’aide à la « globalization » (un terme qui regroupe l’internationalisation et la localisation) qui sont apparus dans Flex 4.5.

Quelles nouveautés ?

Les nouveaux composants de globalization concernent 2 sujets :

  • Le formatage de données (Nombre, Date, Devise)
  • La comparaison de chaînes de caractères (appelées Collator)

Il est important de noter à ce stade que ces composants Spark sont une surcouche (support MXML, DataBinding, …) très fine des classes du package flash.globalization introduits dans FP10.1 et dont une description très complète est disponible sur l’ADC.
Cet « héritage » de comportement induit un autre changement important : ces composants ne se basent plus sur le ResourceManager (et donc limité par le nombre de locales utilisés dans l’application) mais sur l’OS du client.

Formatage de données
3 classes de formatage font leur apparition : NumberFormatter, DateTimeFormatter, CurrencyFormatter.
Qu’apportent ces classes par rapport à leur équivalentes MX ?
Avec les composants MX, le formatage des données était assuré par les différents bundle fournis avec les SDK. Si le bundle n’était pas fourni, il fallait en créer un nouveau. Avec les composants Spark, le formatage s’appuie sur l’OS, plus besoin de créer le bundle manquant.
Les formateurs simplifient donc beaucoup plus la vie du développeur. Pour les devises, plus besoin de se soucier des symboles pour les séparateurs ou la devise, ouf…

Comparaison de chaîne de caractères
2 composants peuvent être utilisés pour la comparaison de chaînes de caractères : SortingCollator et MatchingCollator. Ces 2 classes s’appuient sur la classe Collator du FP10.1
Quelle utilité pour ces classes ?
Selon la langue ou même la région d’un même pays, le tri de chaînes de caractères ne se fait pas de la même façon. Ce tableau compare l’ordre de tri en italien, allemand et suédois d’une même série de noms :

Sorting
Ou encore, comme expliqué dans la documentation officielle :

En anglais, le a minuscule est placé avant le A majuscule, et le A majuscule est placé avant le b minuscule.
En suisse, la lettre ö est placée après le z, tandis qu’en allemand, ö est placée après o.
En espagnol traditionnel, la lettre ch est considérée comme caractère unique, et est placée entre le c et le d.
Les caractères accentués en français sont classés en fonction de la dernière différence d’accent et non selon la première différence d’accent : par exemple, cote < côte < coté < côté au lieu de cote < coté < côte < côté.

Si vous avez rencontré ce genre de problématique en Flex 3, vous n’aviez pas d’autres solutions qu’implémenter chaque algorithme de tri !
Pour trier la liste précédente d’utilisateurs en Flex 4.5, vous allez écrire :

<fx:Declarations> 
	<s:SortingCollator id="sortingCollator"/> 
</fx:Declarations> 
 
<mx:DataGrid id="dg">
	<mx:columns>
		<mx:DataGridColumn sortCompareFunction="{sortingCollator.compare}"/>
	</mx:columns>
</mx:DataGrid>

C’est quand même plus simple, non ?
A noter que si vous êtes Flex 4.1, il est également possible de profiter du Collator en ciblant le player Flash 10.1.

Cet exemple utilise le SortingCollator. Quelle différence avec le MatchingCollator ?
On utilisera MatchingCollator dans une recherche de chaîne de caractères plutôt que de tri. Par exemple, rechercher dans un texte une occurrence de chaîne contenant « cool » renverrait des chaînes de caractères contenant « cool » , « Cool », « COOL », etc…
Enfin, une 3ème classe se trouve dans le package spark.globalization : la classe StringTools. Cette classe possède 2 méthodes : toLowerCase, toUpperCase, qui font de la conversion de casse selon une locale déterminée.

En résumé, le SDK 4.5 profite des améliorations apportées par le FP10.1 et permet donc au développeur de se concentrer sur le métier de l’application plutôt que sur des problématiques de localisation/internationalisation.

Catégories: Notes Techniques
Mots-clefs :Collator, Globalization

Le commentaires sont fermés.

Article précédent
Article suivant
 
Haut de page

Copyright © 2009 Kap IT - Blog RIA - Kap Lab

Motorisé par Wordpress - Thème avec YAML par Kap IT