因此,我认为经过进一步调查并根据马克斯的回答,我将自己提供答案。这是:
开箱即用的 Android 仅具有两个语言环境 zh_rCN(简体中文)和 zh_rTW(繁体中文)。正如您从“设置”应用程序中看到的,这些是唯一提供的区域设置:
https://android.googlesource.com/platform/packages/apps/Settings/+/master/res/ https://android.googlesource.com/platform/packages/apps/Settings/+/master/res/
然而,Android 系统的任何其他创建者,例如对于在中国销售的手机,他们可能会改变他们添加的内容。通过查看 icu4c 应用程序中找到的语言环境列表可以找到理论上支持的整体集:
https://android.googlesource.com/platform/external/icu4c.git/+/master/data/locales/ https://android.googlesource.com/platform/external/icu4c.git/+/master/data/locales/正如你所看到的,对于中文来说有
- zh.txt
- zh_CN.txt
- zh_HK.txt
- zh_Hans.txt
- zh_Hans_CN.txt
- zh_Hans_HK.txt
- zh_Hans_MO.txt
- zh_Hans_SG.txt
- zh_汉特.txt
- zh_Hant_HK.txt
- zh_Hant_MO.txt
- zh_Hant_TW.txt
- zh_MO.txt
- zh_SG.txt
- zh_TW.txt
Hant 是繁体中文的 ISO 代码,Hans 是简体中文的 ISO 代码。所以理论上这意味着我们可以
- 中国、香港、澳门和新加坡的简体中文
- 香港、澳门、台湾繁体中文
但请记住,必须修改“设置”应用程序才能具有不同的区域设置选择。因此,在这个阶段,简体中文会转换为 zh_rCN 和繁体 zh_rTW,您应该与拥有支持其他语言环境的此类修改后的 Android 映像的用户区分开来。
在任何情况下,为了保存,您可以使用 Configuration 类来获取区域设置,例如在您的 Application 类中使用 getResources().getConfiguration().locale。
你可以例如记录该数据并将数据发送到您的跟踪系统(无论您使用什么),或者您可以检查受支持的系统并抛出消息中区域设置的异常,然后该异常将显示在您的市场界面中...但是,这意味着您的应用程序至少发生一次崩溃(如果您精力充沛,您可以在几分钟后发布和更新..)
因此,回顾一下..最低设置将镜像设置应用程序中所做的操作(只有 zh-rCN 和 zh-rTW),但如果您想为新加坡、香港、澳门提供默认语言环境,则提供繁体中文作为默认值你也可以这样做,并且应该有效。然而,我没有证据表明这种配置在任何地方使用。