Squiggly, outil de correction ortographique en test dans Flash Builder 4 / Flex Gumbo
Posté le 28 septembre 2009 à 1:51 | Tags: Flash Builder 4 Beta, Flex 3, SquigglyAdobe vient de mettre à disposition une nouvelle librairie intitulée Squiggly. Squiggly permet d'effectuer des corrections & check orthographiques dans Flex. Dans le cadre de cette sortie pour Flex 3, J'ai effectué un petit test de compatibilité pour voir le fonctionnement dans Flash Builder 4.
Bon à savoir : Squiggly est une librairie créée pour Adobe Flex Builder 3
Liens concernant la librairie Adobe Squiggly :
- Adobe Labs Squiggly (en)
- Adobe Labs Squiggly Package – Téléchargement
- Bibliothèque avancée : Grant Skinner's Spelling Plus Library (en)
Mise en place de Squiggly dans une application Flash Builder 4 / Flex Gumbo
Le Dictionnaire : Vous avez deux choix. Vous pouvez utiliser le dictionnaire anglais fournis dans le package Squiggly, ou utiliser le DictionaryGenerator (air utility) pour compiler votre propre liste de mots.
A noter le fait que le schéma heuristique de check utilisé pour déterminer les résultats est actuellement basé sur les phonétiques anglaises. Le support pour les autres langue sera ajouté prochainement.
C'est pourquoi dans notre cas, nous allons utiliser le dictionary.zwl fourni dans le package et le mettre dans un dossier que nous allons créer « assets » dans notre application.
La Librairie : Placez le fichier AdobeSpelling.swc dans votre dossier libs, ou soyez sur de pointer vers l'emplacement au niveau des paramètres des librairies.
Vous pouvez maintenant utiliser Squiggly APIs dans votre application. Si vous voulez créer un spell-checker pour un composant Halo TextArea ou RichText, vous devez faire un include de la fonction SpellUI.enableSpelling, comme ci-dessous :
| MXML | | Copier le code |
<fx:Script> |
<![CDATA[ |
import com.adobe.linguistics.spelling.SpellUI; |
protected function init():void |
{ |
SpellUI.enableSpelling(textArea,"assets/usa.zwl"); |
} |
]]\> |
</fx:Script> |
<s:Group width="100%" height="100%"> |
<mx:TextArea id="textArea" width="100%" height="100%"/> |
</s:Group> |
Test de l'utilisation de Squiggly dans une application Flash Builder 4 (Gumbo)
Attention : vous devez impérativement disposer du SDK 4.0.0.10007 ou supérieur.
Code de l'application :
| MXML | | Copier le code |
<?xml version="1.0" encoding="utf-8"?> |
<!-- http://www.flash-builder-tutorial.fr/2009/09/28/squiggly-outil-de-correction-ortographique-en-test-dans-flash-builder-4-flex-gumbo/ --> |
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" |
xmlns:s="library://ns.adobe.com/flex/spark" |
xmlns:mx="library://ns.adobe.com/flex/halo" |
width="500" height="300" backgroundColor="0xCCCCCC" |
initialize="init()" |
viewSourceURL="srcview/index.html"> |
<s:layout> |
<s:BasicLayout/> |
</s:layout> |
<fx:Script> |
<![CDATA[ |
import com.adobe.linguistics.spelling.SpellUI; |
protected function init():void |
{ |
SpellUI.enableSpelling(textArea,"assets/usa.zwl"); |
SpellUI.enableSpelling(textAreaSpark,"assets/usa.zwl"); |
} |
]]> |
</fx:Script> |
<s:Label y="25" text="Faites un clique droit sur les mots mal orthographiés pour voir les suggestions" |
horizontalCenter="0" textAlign="center" fontWeight="bold" fontSize="14" height="50" width="350"/> |
<s:Label y="83" text="mx:TextArea" |
horizontalCenter="0"/> |
<mx:TextArea id="textArea" y="98" width="300" |
height="70" horizontalCenter="0" |
text="Squiggly marche uniquement avec les composants Halo Flex 3,4 |
Helo Worrld "/> |
<s:Label y="184" text="s:TextArea" |
horizontalCenter="0"/> |
<s:TextArea id="textAreaSpark" y="199" width="300" |
height="70" horizontalCenter="0" |
text="Squiggly ne supporte pas encore les composant Flash Builder 4 / Flex 4 |
Helo Worrld "/> |
</s:Application> |
Rendu final (nécessite Flash Player 10) :
Télécharger la source de l'exemple
Conclusion
- Squiggly est fonctionnel avec les anciens composants Flex de type mx
- Squiggly n'est pas encore supporté pour les composants Spark
- Squiggly a actuellement un seul et unique dictionnaire > le dico Anglais
Au sujet de ce dernier point Adobe a, comme cité plus haut dans l'article, promis une mise à disposition prochaine des librairies additionnelles de langues.