我的Android应用程序应默认使用简体中文还是繁体中文?

问题描述 投票:15回答:3

我正在编写本地化的Android应用;我对如何处理简体中文和繁体中文之间的差异感到困惑。

感谢this excellent answer,我知道我应该在values-zh-rCN中使用简体中文,在values-zh-rTW中使用繁体中文。

但是我应该将something放在values-zh中,对吧?香港和澳门的人不应该只使用默认的(英语)字符串。

我的问题是:将繁体中文放入values-zh更好吗?还是应该将简体中文作为默认值? (还是我应该忽略values-zh目录?)

android localization cjk
3个回答
6
投票

繁体中文字符(标准字符)在中文世界中用几种不同的名称指代。台湾政府正式称繁体字为标准字符或正统字(繁体中文;简体中文。

[中国,马来西亚和新加坡的人们主要使用简化系统,台湾(中华民国),香港和澳门目前使用繁体字。

[我认为您不应忽略values-zh,将其简化为中文,或者允许用户在您的应用中切换语言。


0
投票

我的应用程序存在相同的问题,目前仅使用zh-rCN和zh-rTW,这会导致所有其他区域出现问题。不幸的是,基于这个问题(Simplified and Traditional Chinese vs Regions),没有实际的方法来确定哪个是最好的:

values-zh (traditional)
values-zh-rCN (simplified)

或大声笑

values-zh (simplified)
values-zh-rTW (traditional)

所以我一直在寻找以下替代方法:

在我的应用程序中,我有一种方法从一开始就运行以设置用户定义的语言,如果未实际定义,我可以检查当前语言/区域并相应地应用补丁,而仅保留zh-rCN和zh- rTW文件夹:

zh-rHK => zh-RTW
zh-rSG => zh-rCN
zh-rMO => zh-r?? can be both according to the link above

这里使用的方法部分描述:Changing locale: Force activity to reload resources?

编辑:我现在使values-zh包含简体字,并将其修补为香港区域以自动使用繁体字。


0
投票

默认情况下,Android假定zh为繁体,但是Unicode(其中的Unicode设置了语言环境使用的标准)对zh使用了简体字。

如果您的应用的最低版本为Android 7.0(API 24),则可以使用新的语言环境分辨率。通过将文件夹定义为values-b+zh+Hans(标准)和values-b+zh+Hant(传统),系统将根据选择的区域自动使用正确的语言环境。如果您需要使用相同变体的区域之间的区域差异,则仍然可以使用values-zh-rTW等。

© www.soinside.com 2019 - 2024. All rights reserved.