Skip to content

Commit 8680d4a

Browse files
authored
Fix Chinese support (#54)
1 parent 0661fe5 commit 8680d4a

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3030
### Removed
3131
- No removed features!
3232
### Fixed
33-
- No fixed issues!
33+
- Fix Chinese variants support
3434
### Security
3535
- No security issues fixed!
3636

src/main/kotlin/com/hyperdevs/poeditor/gradle/utils/LocaleUtils.kt

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,46 @@ fun createValuesModifierFromLangCode(langCode: String): String {
2828
langCode
2929
} else {
3030
val langParts = langCode.split("-")
31-
"${langParts[0]}-r${langParts[1].toUpperCase()}"
31+
val language = langParts[0]
32+
val region = langParts[1].toLowerCase()
33+
34+
return when (language) {
35+
"zh" -> {
36+
// Chinese support
37+
handleChineseVariants(language, region)
38+
}
39+
else -> {
40+
"$language-r${region.toUpperCase()}"
41+
}
42+
}
43+
}
44+
}
45+
46+
/**
47+
* Handle Chinese variants supported by PoEditor.
48+
*
49+
* PoEditor handles the following Chinese variants:
50+
* - Chinese
51+
* - Chinese (HK)
52+
* - Chinese (MO)
53+
* - Chinese (SG)
54+
* - Chinese (simplified)
55+
* - Chinese (traditional)
56+
*
57+
* They will be handled the following way:
58+
* - Chinese will be set as values-zh.
59+
* - Chinese (simplified) will be set as values-b+zh+Hans.
60+
* - Chinese (traditional) will be set as values-b+zh+Hant.
61+
* - Regional Chinese variants will be set as values-zh-r<REGION>
62+
*/
63+
private fun handleChineseVariants(language: String, region: String) = when (region) {
64+
"cn" -> {
65+
language
66+
}
67+
"hans", "hant" -> {
68+
"b+$language+${region.toLowerCase().capitalize()}"
69+
}
70+
else -> {
71+
"$language-r${region.toUpperCase()}"
3272
}
3373
}

0 commit comments

Comments
 (0)