Nachdem einige Schritte zur Einrichtung durchgeführt wurden, ruft die Anwendung die Localizer.setLocale()-Methode auf, um Formatter-Objekte für das Standardgebietsschema zu erstellen. Die setLocale()-Methode wird auch immer aufgerufen, wenn der Benutzer einen neuen Wert aus dem Kombinationsfeld für das Gebietsschema auswählt.
public function setLocale(newLocale:String):void
{
locale = new LocaleID(newLocale);
nf = new NumberFormatter(locale.name);
traceError(nf.lastOperationStatus, "NumberFormatter", nf.actualLocaleIDName);
cf = new CurrencyFormatter(locale.name);
traceError(cf.lastOperationStatus, "CurrencyFormatter", cf.actualLocaleIDName);
symbolIsSafe = cf.formattingWithCurrencySymbolIsSafe(currentCurrency);
cf.setCurrency(currentCurrency, currentSymbol);
cf.fractionalDigits = currentFraction;
df = new DateTimeFormatter(locale.name, DateTimeStyle.LONG, DateTimeStyle.SHORT);
traceError(df.lastOperationStatus, "DateTimeFormatter", df.actualLocaleIDName);
monthNames = df.getMonthNames(DateTimeNameStyle.LONG_ABBREVIATION);
}
public function traceError(status:String, serviceName:String, localeID:String) :void
{
if(status != LastOperationStatus.NO_ERROR)
{
if(status == LastOperationStatus.USING_FALLBACK_WARNING)
{
trace("Warning - Fallback locale ID used by "
+ serviceName + ": " + localeID);
}
else if (status == LastOperationStatus.UNSUPPORTED_ERROR)
{
trace("Error in " + serviceName + ": " + status);
//abort application
throw(new Error("Fatal error", 0));
}
else
{
trace("Error in " + serviceName + ": " + status);
}
}
else
{
trace(serviceName + " created for locale ID: " + localeID);
}
}
Zunächst erstellt die setLocale()-Methode ein LocaleID-Objekt. Bei Verwendung dieses Objekts ist es später einfacher, bei Bedarf Einzelheiten zum tatsächlichen Gebietsschema abzurufen.
Anschließend werden neue NumberFormatter-, CurrencyFormatter- und DateTimeFormatter-Objekte für das Gebietsschema erstellt. Nach dem Erstellen der einzelnen Formatter-Objekte wird die traceError()-Methode aufgerufen. Diese Methode zeigt in der Konsole Fehler- und Warnmeldungen an, wenn ein Problem mit dem angeforderten Gebietsschema vorliegt. (In einer echten Anwendung sollten Fehlermeldungen nicht nur angezeigt werden, sondern es sollten auch entsprechende Maßnahmen ergriffen werden.)
Nach dem Erstellen des CurrencyFormatter-Objekts stellt die setLocale()-Methode den ISO-Währungscode, das Währungssymbol und die fractionalDigits-Eigenschaften des Objekts auf vorab bestimmte Werte ein. (Diese Werte werden immer eingestellt, wenn der Benutzer eine neue Börse im Kombinationsfeld auswählt.)
Nach dem Erstellen des DateTimeFormatter-Objekts ruft die setLocale()-Methode auch ein Array der lokalisierten Abkürzungen für Monatsnamen ab.