From 0d0088bd52bdf3b623db7beb4c3566a4c5372ae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=93=BA=E7=9B=96=E5=B4=BD?= Date: Fri, 26 Sep 2025 21:11:10 +0800 Subject: [PATCH 1/2] allow zh-CN like language code --- Commons/I18n.qml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Commons/I18n.qml b/Commons/I18n.qml index 20e59297..31319011 100644 --- a/Commons/I18n.qml +++ b/Commons/I18n.qml @@ -170,11 +170,24 @@ Singleton { // Detect user's favorite locale - languages for (var i = 0; i < Qt.locale().uiLanguages.length; i++) { - const userLang = Qt.locale().uiLanguages[i].substring(0, 2) - if (availableLanguages.includes(userLang)) { - setLanguage(userLang) + const fullUserLang = Qt.locale().uiLanguages[i] + + // Try full code match (such as zh CN, en US) + if (availableLanguages.includes(fullUserLang)) { + Logger.log("I18n", `Exact match found: "${fullUserLang}"`) + setLanguage(fullUserLang) return } + + // If full code match fails, try short code matching (such as zh, en) + const shortUserLang = fullUserLang.substring(0, 2) + if (availableLanguages.includes(shortUserLang)) { + Logger.log("I18n", `Short code match found: "${shortUserLang}" from "${fullUserLang}"`) + setLanguage(shortUserLang) + return + } + + Logger.log("I18n", `No match for system language: "${fullUserLang}"`) } // Fallback to first available language (preferably "en" if available) From f32a34e3201e33d8a98274f60ea3e02ddcdd75d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=93=BA=E7=9B=96=E5=B4=BD?= Date: Fri, 26 Sep 2025 21:12:55 +0800 Subject: [PATCH 2/2] Rename zh.json to zh-CN.json --- Assets/Translations/{zh.json => zh-CN.json} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename Assets/Translations/{zh.json => zh-CN.json} (99%) diff --git a/Assets/Translations/zh.json b/Assets/Translations/zh-CN.json similarity index 99% rename from Assets/Translations/zh.json rename to Assets/Translations/zh-CN.json index 7ab9b8e7..8bb1eac5 100644 --- a/Assets/Translations/zh.json +++ b/Assets/Translations/zh-CN.json @@ -1314,4 +1314,4 @@ "charging": "正在充电。", "discharging": "正在放电。" } - } \ No newline at end of file + }