2011-07-02 16 views

cevap

13

Yapamazsınız, çünkü bir ülke, bir dili değil, bir dili tutmak için kullanılır. Belirli bir ülke için ve bu ülkede belirli bir varyant için bir dil tutabilir, ancak önce bir dildir. Bir dil ve bir ülke arasında bire bir ilişki yoktur. Pek çok dil çeşitli ülkelerde konuşulmaktadır ve birçok ülkede birçok dil bulunmaktadır.

Dil için ülke kodunuz varsa, new Locale(code)'u kullanabilirsiniz. Ancak bir ülke koduyla, tek yapmanız gereken getAvailableLocales numaralı telefonu aramaktır, sonuçlar arasında geçiş yapmak ve ülke kodunuz olan birini bulmaktır. Ama birkaç tane olabilir.

2

You Eğer yerel bulmak ve sonra bu örneği kullanmak kadar Locale.getAvailableLocales() aracılığıyla,

new Locale("en", "US") 
new Locale("fr", "FR") 

veya

iterate yerel oluşturabilirsiniz.

1

Java7'de Locale.Builder var, ancak befor için kolay bir yol yok. Bununla birlikte bir yardımcı yöntem oluşturabilirsiniz: locale.getCountryCode().equals(countryCodeParam) eğer her kontrol için

  1. döngü Locale.getAvailableLocales()
  2. ve dönüş mümkün zamanda A yerel ISO-639 dil koduna göre en önemlisi belirtilen
2

, ISO-3166 ülke kodu ve bir varyant. Locale sınıfında, yalnızca bir dil kodu veya ek olarak bir ülke kodu veya ek bir varyantı alan kurucular vardır.

Sadece ülke kodunuz varsa, önce onu bir dil koduna dönüştüren bir haritaya gereksinim duyarsınız - ancak bu mutlaka benzersiz bir sonuç oluşturmaz, birçok ülke birden fazla resmi dili kullanır.