Locale 是用來適配語言和地區的。在實際使用過程中,如果使用不當還是會出現錯誤。
首先,需要了解的是,Locale 分兩種,一種是語言,一種是地區。語言比如英語,地區比如美國。區別顯而易見,說英語的不止英國,而美國地區語言為英語。所以使用地區還是語言要根據實際需求進行選擇。嚴格來說,如果針對每個地區進行適配,應該使用地區 Locale。這樣適配起來才最准確。
Locale 的創建和基本規則 (以下 "!=" 表示 ! equals, 而 == 表示 equals )
Locale.FRANCE != Locale.FRENCH Locale.FRANCE != Locale("fr") Locale.FRANCE == Locale("fr", "FR") Locale.FRENCH == Locale("fr") Locale("fr") != Locale("fr", "FR") Locale("us") 錯誤,因為 "us" 不是語言
Locale 獲取語言,地區,或者 “語言_地區” 的方法
Locale.getDefault().getLanguage() ---> en Locale.getDefault().getISO3Language() ---> eng Locale.getDefault().getCountry() ---> US Locale.getDefault().getISO3Country() ---> USA Locale.getDefault().getDisplayCountry() ---> United States Locale.getDefault().getDisplayName() ---> English (United States) Locale.getDefault().toString() ---> en_US Locale.getDefault().getDisplayLanguage()---> English