29 Mart 2019 Cuma

Locale Sınıfı

Giriş
Şu satırı dahil ederiz. Java 9'dan itibaren Locale Data Providers
import java.util.Locale;
Türkçe locale için şöyle yaparız
Locale trlocale= Locale.forLanguageTag("tr_TR");
Şöyle yaparız
Locale.setDefault(new Locale("tr", "TR"));
Buradaki format şöyle. Yani önce dil, sonra ülke veriliyor. "en-GB", "en-US" kullanılabilir. Üçünü bir parametre olarak bir de variant belirtilebiliyor ancak bu çok önemli değil
language = turkish
country = turkey
Locale Data Providers
Java 9'dan itibaren Locale Data Provider olarak JDK yerine Unicode Common Locale Data Repository (CLDR) kullanılıyor. JDK ve CLDR arasında ufak tefek farklılıklar var.

Hazır Locale Nesneleri
Şöyle yaparız.
Locale.ENGLISH
constructor - language
Şöyle yaparız.
Locale locale = new Locale ("en");
constructor - language + country
Şöyle yaparız.
Locale ireland = new Locale ("en","IE");
Şöyle yaparız.
Locale croatian = new Locale ("hr", "HR");
Şöyle yaparız
Locale locale=new Locale("es", "ES");
getAvailableLocales metodu
Şöyle yaparız.
for (Locale locale : Locale.getAvailableLocales()) {
  ...
}
getCountry metodu
Şöyle yaparız.
System.out.println(currentLocale.getCountry());
getDefault metodu
Şöyle yaparız.
Locale locale = Locale.getDefault()
getDisplayCountry metodu
Default Locale ne ise o dilde yazar. Şöyle yaparız.
String str = locale.getDisplayCountry();
Default Locale ABD ise ve DisplayLanguage US ise çıktı olarak şunu alırız
United States
getDisplayLanguage metodu
Default Locale ne ise o dilde yazar. Şöyle yaparız.
String str = locale.getDisplayLanguage();
Örnek
Default Locale Türkiye ise ve DisplayLanguage US ise çıktı olarak şunu alırız
İngilizce
Default Locale ABD ise ve DisplayLanguage US ise çıktı olarak şunu alırız
English 
getLanguage metodu
Şöyle yaparız.
System.out.println(currentLocale.getLanguage());
getForLanguageTag metodu
Şöyle yaparız
Locale locale = Locale.forLanguageTag("tr_TR");
setDefault metodu
Şöyle yaparız.
Locale locale = ...;
Locale.setDefault(locale);
toString metodu
Şöyle yaparız
System.out.println(new Locale("hi", "IN"));
Çıktı olarak şunu alırız
hi_IN



Hiç yorum yok:

Yorum Gönder