Yerel ayarı belirleme

Flash Player 10.1 ve üstü, Adobe AIR 2.0 ve üstü

Yerel ayar, bir ülke veya bölgeye özel dil ve kültür gelenekleri kombinasyonunu belirler.

Yerel ayar tanımlayıcısı bir dize olarak güvenli bir şekilde yönetilebilir. Bununla birlikte, LocaleID sınıfını bir yerel ayarla ilgili ek bilgiler elde etmek için kullanabilirsiniz.

Bir LocaleID aşağıdaki şekilde oluşturulur:

var locale:LocaleID = new LocaleID("es-MX");

LocaleID nesnesi oluşturulduktan sonra, yerel ayar kimliğiyle ilgili veri alabilirsiniz. getKeysAndValues() , getLanguage() , getRegion() , getScript() , getVariant() ve isRightToLeft() yöntemlerini ve name özelliğini kullanın.

Bu yöntem ve özelliklerden alınan değerler, yerel ayar hakkında doğrudan yerel ayar tanımlayıcısından elde edilemeyecek başka bilgileri yansıtabilir.

Bir uygulama, tarih biçimlendiricisi gibi yerele-duyarlı bir hizmet oluşturduğunda, kullanılması amaçlanan yerel ayarı belirtmek zorundadır. Desteklenen yerel ayarların listesi bir işletim sisteminden diğer işletim sistemine göre değişir; bu nedenle, istenen yerel ayar mevcut olmayabilir.

Flash Player ilk olarak talep ettiğiniz yerel ayarın dil koduyla eşleşmeye çalışır. Ardından, eşleşen bir yazma sistemi (komut dosyası) ve bölge bularak yerel ayarı geliştirir. Örneğin:

var loc:LocaleID = new LocaleID("es"); 
trace(loc.getLanguage()); // es 
trace(loc.getScript()); // Latn 
trace(loc.getRegion()); // ES

Bu örnekte LocaleID() yapıcısı o kullanıcının “es” dil koduyla en iyi eşleşen yerel ayar hakkında veri almıştır.

Yerel ayar kimliğini ayarlama

Bir uygulamanın geçerli yerel ayarını yapmanın birkaç yolu vardır:

  • Uygulamaya doğrudan tek bir yerel ayar kimliği gömme. Bu yaygın bir yaklaşım olsa da, uygulamanın uluslararasılaştırılmasını desteklemez.

  • Kullanıcının işletim sisteminde veya tarayıcısında bulunan yerel ayar kimliği tercihlerini ya da başka kullanıcı tercihlerini kullanın. Bu teknik genellikle kullanıcı için en iyi yerel ayarların alınmasını sağlasa da, her zaman doğru değildir. İşletim sistemi ayarlarının, kullanıcının gerçek tercihlerini yansıtmaması riski mevcuttur. Örneğin, kullanıcı ortak bir bilgisayar kullanıyor ve işletim sisteminin tercih edilen yerel ayarlarını değiştiremiyor olabilir.

  • Yerel ayar kimliğini kullanıcının tercihlerine göre ayarladıktan sonra, kullanıcıya desteklenen yerel ayarlar listesinden seçim yapma imkanı verin. Uygulamanız birden fazla yerel ayarı destekleyebiliyorsa, normalde en iyi strateji budur.

Bu üçüncü seçeneği aşağıdaki gibi uygulayabilirsiniz:

  1. Kullanıcı profilinden, tarayıcı ayarlarından, işletim sistemi ayarlarından veya bir çerezden kullanıcının yerel ayarlarının veya dillerinin bir listesini alın. (Uygulamanız bu mantığı kendisi uygulamalıdır. flash.globalization kütüphanesi bu tip tercihleri doğrudan okumayı desteklemez.)

  2. Uygulamanızın bu yerel ayarlardan hangilerini desteklendiğini belirleyin ve varsayılan olarak en iyisini seçin. Bir kullanıcının tercih edilen yerel ayarlarına ve işletim sistemi tarafından desteklenen yerel ayarlara göre en iyi yerel ayarları bulmak için LocaleID.determinePreferredLocales() yöntemini kullanın.

  3. Yerel ayar tatmin edici değilse, kullanıcıya varsayılan yerel ayarı değiştirme imkanı verin.

Diğer yerel ayar ve dil sınıflarının sınırlamaları

fl.lang.Locale sınıfı, metin dizelerini dize değerleri içeren kaynak yığınları kullanarak yerel ayara göre değiştirme imkanı verir. Ancak, bu sınıf sayı, para birimi veya tarih biçimlendirmesi, sıralama ve eşleştirme gibi diğer uluslararasılaştırma özelliklerini desteklemez. Bunun yanında, bu sınıf yalnızca Flash Professional ile birlikte kullanılabilir.

flash.system.Capabilities.language özelliğini kullanarak işletim sisteminin geçerli dil kodu ayarını da alabilirsiniz. Ancak, bu özellik yalnızca iki karakterli ISO 639-1 dil kodunu alır—tüm yerel ayar kimliğini değil—ve yalnızca belirli bir yerel ayar kümesini destekler.

AIR 1.5 ile flash.system.Capabilities.languages özelliğini kullanabilirsiniz. Bu özellik kullanıcının tercih edilen kullanıcı arabirimi dillerinin bir dizisini sağlar. Bu nedenle Capabilities.language sınırlamaları yoktur.