2
votes

In an Android app, is there a standard way to determine whether a user prefers simplified or traditional Chinese characters?

I know next to nothing about Chinese, but I do know from Wikipedia that simplified Chinese is used in mainland China (locale zh_CN) and Singapore whereas traditional Chinese is used in Taiwan (locale zh_TW), Hong Kong, and Macau. Differentiating on the country code might be acceptable for the initial choice, but it would be problematic for someone in mainland China who prefers traditional characters, or someone in Hong Kong who prefers simplified characters. Is there a global setting for this preference?

If I must resort to an app-specific setting, is there an ad hoc standard way of sharing this information with other apps?

1
Have you tried asking the user? - Ither
@Ither: I do not know who the user will be. - Daniel Trebbien
Most mainland Chinese users can read traditional but not the other way around. However, younger Simplified users will detest reading Traditional. If you want your app to target the general audience, then use traditional as default and let the users choose. It depends what you want to do. - user500074
Hong Kong and Taiwan are the only 'places' in China that use Traditional writing and I'm guesses they represent about 10% of the readers. So that means 90% (if my math is right) of your users will be used to Simplified Chinese. - thenengah

1 Answers

1
votes

Just treat it as how you'd treat any other two languages. Don't rely on region. Just go with what the user has set in their default locale.

To check for the default locale:

Locale myPhoneLocale = Locale.getDefault();

If you want to translate your strings.xml file for both traditional and simplified, just make a values-zh-rCN folder and throw simplified in there, and another values-zh folder for traditional.

Most Chinese users are able to read both simplified and traditional. (Some might be annoyed at having to read the one they are less used to, but it's not the end of the world.) I personally only localize my apps to simplified Chinese, since mainland China has the most android users.