zh_Auto
A big part here is history and explaining, todo is all the way down.
Regarding the confusion with the different Chinese scripts. The internet doesn't agree on everything… zh-Hans stands for simplified, zh-Hant for traditional. Simplified is most used in mainland China, Singapore and Malaysia. Traditional in Taiwan, Hong Kong and Macau. At some point zh was most translated and transifex didn't support all the variants and scripts.
From looking at the unicode resources, zh is traditional. Unicode defines it as follow: this is supposedly followed by Android]
zh Language
|
+------+
| |
Hans Hant Script
| |
| +----+
| | |
CN HK TW
Source of the tree: https://unicode-org.github.io/icu/userguide/locale/resources.html
Now, people disagree about the actual behavior.
On Android 6: zh-CN and zh-SG fall back to zh (Simplified) zh-TW, zh-HK, and zh-MO have specific resources (Traditional)
On Android 7: zh-Hans-CN and zh-Hans-SG fall back to zh (Simplified) zh-Hant-TW, zh-Hant-HK, and zh-Hant-MO fall back to their language-region locales (Traditional) zh-Hans-HK and zh-Hans-MO have specific resources (Simplified)
We map zh: zh-rCN, zh_TW: zh-rTW,
, so that looks good, I had it checked through l10nlabs. The situation after merging, removing and fixing in 2022 is:
https://0xacab.org/leap/bitmask_android/-/blob/master/app/src/main/res/values-zh-rCN/strings.xml https://0xacab.org/leap/bitmask_android/-/blob/master/.tx/config
Other sources: https://android.googlesource.com/platform/packages/apps/Settings/+/master/res/ https://stackoverflow.com/a/59804316
Todo:
-
move existing translations towards zh-Hant and zh-Hans -
check Android versions and changes of above -
change the transifex setup