Android Locale

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

 

posted @ 2017-05-24 22:14  davesuen  阅读(3994)  评论(0编辑  收藏  举报