Po wykonaniu wstępnych czynności konfiguracyjnych, aplikacja wywołuje metodę Localizer.setLocale() w celu utworzenia obiektów formatter dla domyślnego ustawienia narodowego. Metoda setLocale() jest także wywoływana zawsze, gdy użytkownik wybierze nową wartość z pola kombinowanego ustawienia narodowego.
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);
}
}
Na początku metoda setLocale() tworzy obiekt LocaleID. Dzięki temu obiektowi łatwiej jest później uzyskać szczegółowe informacje na temat rzeczywistego ustawienia narodowego.
Następnie metoda tworzy nowe obiekty NumberFormatter, CurrencyFormatter oraz DateTimeFormatter dla ustawienia narodowego. Po utworzeniu każdego z obiektów formatujących wywoływana jest metoda traceError(). Wyświetla ona komunikaty o błędach i komunikaty ostrzegawcze na konsoli, jeśli wystąpił problem z żądanymi ustawieniami narodowymi. (Prawdziwa aplikacja powinna raczej podejmować odpowiednie działania na podstawie takich błędów, niż tylko je śledzić).
Po utworzeniu obiektu CurrencyFormatter metoda setLocale() ustawia kod ISO waluty, symbol waluty i właściwości fractionalDigits obiektu formatter na uprzednio określone wartości. (Te wartości są ustawiane zawsze, gdy użytkownik wybierze nową giełdę z pola kombinowanego wyboru giełdy).
Po utworzeniu obiektu DateTimeFormatter metoda setLocale() pobiera również tablicę zlokalizowanych skróconych nazw miesięcy.