xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"
creationComplete="initApp()">
import mx.resources.ResourceBundle;
import mx.controls.Alert;
import flash.display.*;
[Bindable]
private var locales:Array;
private function initApp():void {
locales = [ "es_ES","en_US" ];
/* Initialize the ComboBox to the first locale in the locales Array. */
localeComboBox.selectedIndex = locales.indexOf(resourceManager.localeChain[0]);
updateFlag();
}
private function registrationComplete():void {
Alert.show(resourceManager.getString('RegistrationForm', 'thanks'));
}
private function comboChangeHandler():void {
/* Set the localeChain to either the one-element Array
[ "en_US" ] or the one-element Array [ "es_ES" ]. */
resourceManager.localeChain = [ localeComboBox.selectedItem ];
updateFlag();
}
private var newRB:ResourceBundle;
private function updateFlag():void {
if (resourceManager.localeChain[0] == "fr_FR") {
/* Explicitly change the value of the flagImage source when the
locale is fr_FR because there was no class at compile time. */
flagImage.source = "../assets/france.gif";
} else {
/* Get the class from the resource bundle; this assumes that the classes
for all other locales were embedded in the resource bundles at
compile time. */
flagImage.source = resourceManager.getClass('RegistrationForm', 'flag');
}
}
private function createNewBundle():void {
locales.push("fr_FR");
newRB = new ResourceBundle("fr_FR", "RegistrationForm");
newRB.content["registration_title"] = "La Forme d'Enregistration";
newRB.content["submit_button"] = "Soumettez La Forme";
newRB.content["personname"] = "Nom";
newRB.content["street_address"] = "Rue";
newRB.content["city"] = "Ville";
newRB.content["state"] = "Etat";
newRB.content["zip"] = "Code postal";
newRB.content["thanks"] = "Merci de l'enregistrement!";
updateFlag();
resourceManager.addResourceBundle(newRB);
resourceManager.update();
}
private function resetApp():void {
resourceManager.removeResourceBundlesForLocale("fr_FR");
initApp();
resourceManager.update();
}
[ResourceBundle("RegistrationForm")]
change="comboChangeHandler()" />
label="{resourceManager.getString('RegistrationForm','personname')}">
label="{resourceManager.getString('RegistrationForm','street_address')}">
label="{resourceManager.getString('RegistrationForm','submit_button')}"
click="registrationComplete()" />