为什么android设置中的语言选择部分没有显示所有可用的语言环境?

时间:2015-09-14 12:47:55

标签: locale

使用此代码打印Android中的所有可用语言环境时

Locale [] locales = Locale.getAvailableLocales();

您会找到无法从“设置”中选择的区域设置 - >语言与输入 - >语言。

例如,从设置中您只能找到5个英语语言环境

enter image description here

虽然可用的代码中支持的语言环境的数量要大得多。 例如:

09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-cc
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-ck
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-cm
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-cx
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-dg
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-dm
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-er
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-fj
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-fk
09-14 16:03:04.835 12432-12720/com.q.sampleapp I/locale: en-fm
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gb
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gd
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gg
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gh
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gi
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gm
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gu
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-gy
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-hk
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-ie
09-14 16:03:04.836 12432-12720/com.q.sampleapp I/locale: en-im

所以问题是为什么它们不相同?以及如何在设置中更改该列表 - >语言与输入

提前致谢。

1 个答案:

答案 0 :(得分:1)

支持语言需要的不仅仅是要求语言环境。您有一个受支持的语言列表和一个受支持的语言环境列表。你不能指望他们是完全相同的。另一方面,由于您可以为一种语言提供多个语言环境,因此您也可以使用更少的语言。