Başlangıçtaki birkaç kurulum işinin ardından, uygulama varsayılan yerel ayarın biçimlendirici nesnelerini oluşturmak üzere Localizer.setLocale() yöntemini çağırır. setLocale() yöntemi, kullanıcın aşağı açılır Yerel Ayar kutusundan her yeni değer alışıyla birlikte de çağrılır.
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);
}
}
İlk olarak setLocale() yöntemi bir LocaleID nesnesi oluşturur. Bu nesne, daha sonra gerekirse geçerli yerel ayar hakkındaki ayrıntıları almayı kolaylaştırır.
Sonra yerel ayarın yeni NumberFormatter, CurrencyFormatter ve DateTimeFormatter nesnelerini oluşturur. Formatter nesnesi her oluşturulduğunda traceError() yöntemini çağırır. Bu yöntem, istenilen yerel ayarda sorun varsa konsolda hata ve uyarı mesajları görüntüler. (Gerçek bir uygulama, bu tip hataları sadece izlemek yerine bunlara göre harekete geçmelidir).
CurrencyFormatter nesnesi oluşturulduktan sonra, setLocale() yöntemi biçimlendiricinin para birimi ISO kodunu, para birimi sembolünü ve fractionalDigits özelliklerini önceden belirlenen değerlere ayarlar. (Bu değerler, kullanıcının aşağı açılır Pazarlar kutusundan her yeni pazar seçişiyle birlikte ayarlanır).
DateTimeFormatter nesnesi oluşturulduktan sonra, setLocale() yöntemi yerelleştirilmiş ay adı kısaltmalarının bir dizisini de alır.