diff --git a/Translations/TranslationEditor.html b/Translations/TranslationEditor.html index ecb85365..6f0ee320 100644 --- a/Translations/TranslationEditor.html +++ b/Translations/TranslationEditor.html @@ -193,41 +193,59 @@ return str; }, - validateWholeScreenMessage: function(valMap, id) { - var d = defMap[id]; - if (this.isSmall(valMap[id])) { - if (valMap[id][0].length === 0) { + getWholeScreenMessageMaxLen: function(valMap, id, prop) { + var v = prop ? valMap[id][prop] : valMap[id]; + var maxLen; + if (this.isSmall(v)) { + maxLen = defMap[id].maxLen2 || 16; + } else { + maxLen = defMap[id].maxLen || 8; + } + return maxLen; + }, + + validateWholeScreenMessage: function(valMap, id, prop) { + var v = prop ? valMap[id][prop] : valMap[id]; + var maxLen = this.getWholeScreenMessageMaxLen(valMap, id, prop); + if (this.isSmall(v)) { + if (v[0].length === 0) { return "invalid"; - } else if (Math.max(valMap[id][0].length, valMap[id][1].length) > 16) { + } else if (Math.max(v[0].length, v[1].length) > maxLen) { return "invalid"; } } else { - if (valMap[id].length > 8) { + if (v.length > maxLen) { return "invalid"; } } }, - constraintWholeScreenMessage: function(v) { - if (this.isSmall(v)) { - return "len <= 16"; - } else { - return "len <= 8"; - } + constraintWholeScreenMessage: function(valMap, id, prop) { + return "len <= " + this.getWholeScreenMessageMaxLen(valMap, id, prop); }, isSmall: function(v) { return v instanceof Array; }, - convertToLarge: function(valMap, id) { - var message = valMap[id][0] + (valMap[id][1] !== "" ? " " + valMap[id][1] : ""); - valMap[id] = message; + convertToLarge: function(valMap, id, prop) { + var v = prop ? valMap[id][prop] : valMap[id]; + var message = v[0] + (v[1] !== "" ? " " + v[1] : ""); + if (prop) { + valMap[id][prop] = message; + } else { + valMap[id] = message; + } }, - convertToSmall: function(valMap, id) { - var message = valMap[id] - valMap[id] = [ message, "" ]; + convertToSmall: function(valMap, id, prop) { + var v = prop ? valMap[id][prop] : valMap[id]; + var message = [ v, "" ]; + if (prop) { + valMap[id][prop] = message; + } else { + valMap[id] = message; + } } } }); @@ -316,7 +334,7 @@
{{message.id}}
-
{{constraintWholeScreenMessage(current.messagesWarn[message.id])}}
+
{{constraintWholeScreenMessage(current.messagesWarn, message.id)}}
{{referent.messagesWarn[message.id]}}
{{message.note}}
@@ -346,13 +364,21 @@

Menu Groups

- +
{{menu.id}}
Menu Name
-
{{constraintString(menu)}}
+
{{constraintWholeScreenMessage(current.menuGroups, menu.id, 'text2')}}
{{referent.menuGroups[menu.id].text2}}
-
+
+ + + +
+
+ + +
Description
{{referent.menuGroups[menu.id].desc}}
@@ -362,14 +388,22 @@

Menu Options

- +
{{menu.id}}
-
Menu Name (Double-Line)
-
{{constraintString(menu)}}
+
Menu Name
+
{{constraintWholeScreenMessage(current.menuOptions, menu.id, 'text2')}}
{{referent.menuOptions[menu.id].text2}}
-
+
+ + + +
+
+ + +
Description
{{referent.menuOptions[menu.id].desc}}
diff --git a/Translations/make_translation.py b/Translations/make_translation.py index e8944bb0..ad18a6e7 100755 --- a/Translations/make_translation.py +++ b/Translations/make_translation.py @@ -145,14 +145,20 @@ def get_letter_counts(defs: dict, lang: dict) -> List[str]: obj = lang["menuOptions"] for mod in defs["menuOptions"]: eid = mod["id"] - text_list.append(obj[eid]["text2"][0]) - text_list.append(obj[eid]["text2"][1]) + if isinstance(obj[eid]["text2"], list): + text_list.append(obj[eid]["text2"][0]) + text_list.append(obj[eid]["text2"][1]) + else: + text_list.append(obj[eid]["text2"]) obj = lang["menuGroups"] for mod in defs["menuGroups"]: eid = mod["id"] - text_list.append(obj[eid]["text2"][0]) - text_list.append(obj[eid]["text2"][1]) + if isinstance(obj[eid]["text2"], list): + text_list.append(obj[eid]["text2"][0]) + text_list.append(obj[eid]["text2"][1]) + else: + text_list.append(obj[eid]["text2"]) obj = lang["menuGroups"] for mod in defs["menuGroups"]: @@ -459,11 +465,17 @@ def write_language(lang: dict, defs: dict, f: TextIO) -> None: index = 0 for mod in defs["menuOptions"]: eid = mod["id"] + if isinstance(obj[eid]["text2"], list): + if not obj[eid]["text2"][1]: + source_text = obj[eid]["text2"][0] + else: + source_text = obj[eid]["text2"][0] + "\n" + obj[eid]["text2"][1] + else: + source_text = "\n" + obj[eid]["text2"] if "feature" in mod: f.write(f"#ifdef {mod['feature']}\n") f.write(f" /* [{index:02d}] {eid.ljust(max_len)[:max_len]} */ ") - txt = f'{obj[eid]["text2"][0]}\\n{obj[eid]["text2"][1]}' - f.write(f'{{ "{convert_string(symbol_conversion_table, txt)}" }},//{obj[eid]["text2"]} \n') + f.write(f'{{ "{convert_string(symbol_conversion_table, source_text)}" }},//{obj[eid]["text2"]} \n') if "feature" in mod: f.write("#endif\n") @@ -478,9 +490,15 @@ def write_language(lang: dict, defs: dict, f: TextIO) -> None: max_len = 25 for mod in defs["menuGroups"]: eid = mod["id"] + if isinstance(obj[eid]["text2"], list): + if not obj[eid]["text2"][1]: + source_text = obj[eid]["text2"][0] + else: + source_text = obj[eid]["text2"][0] + "\n" + obj[eid]["text2"][1] + else: + source_text = "\n" + obj[eid]["text2"] f.write(f" /* {eid.ljust(max_len)[:max_len]} */ ") - txt = f'{obj[eid]["text2"][0]}\\n{obj[eid]["text2"][1]}' - f.write(f'"{convert_string(symbol_conversion_table, txt)}",//{obj[eid]["text2"]} \n') + f.write(f'"{convert_string(symbol_conversion_table, source_text)}",//{obj[eid]["text2"]} \n') f.write("};\n\n") diff --git a/Translations/translation_YUE_HK.json b/Translations/translation_YUE_HK.json index c448694b..b9e38a16 100644 --- a/Translations/translation_YUE_HK.json +++ b/Translations/translation_YUE_HK.json @@ -62,243 +62,141 @@ }, "menuGroups": { "PowerMenu": { - "text2": [ - "", - "電源設定" - ], + "text2": "電源設定", "desc": "電源設定" }, "SolderingMenu": { - "text2": [ - "", - "焊接設定" - ], + "text2": "焊接設定", "desc": "焊接設定" }, "PowerSavingMenu": { - "text2": [ - "", - "待機設定" - ], + "text2": "待機設定", "desc": "自動待機慳電設定" }, "UIMenu": { - "text2": [ - "", - "使用者介面" - ], + "text2": "使用者介面", "desc": "使用者介面設定" }, "AdvancedMenu": { - "text2": [ - "", - "進階設定" - ], + "text2": "進階設定", "desc": "進階設定" } }, "menuOptions": { "DCInCutoff": { - "text2": [ - "", - "電源" - ], + "text2": "電源", "desc": "輸入電源;設定自動停機電壓 " }, "SleepTemperature": { - "text2": [ - "", - "待機温度" - ], + "text2": "待機温度", "desc": "喺待機模式時嘅辣雞咀温度" }, "SleepTimeout": { - "text2": [ - "", - "待機延時" - ], + "text2": "待機延時", "desc": "自動進入待機模式前嘅閒置等候時間 " }, "ShutdownTimeout": { - "text2": [ - "", - "自動熄機" - ], + "text2": "自動熄機", "desc": "自動熄機前嘅閒置等候時間 " }, "MotionSensitivity": { - "text2": [ - "", - "動作敏感度" - ], + "text2": "動作敏感度", "desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度" }, "TemperatureUnit": { - "text2": [ - "", - "温度單位" - ], + "text2": "温度單位", "desc": "C=攝氏 | F=華氏" }, "AdvancedIdle": { - "text2": [ - "", - "詳細閒置畫面" - ], + "text2": "詳細閒置畫面", "desc": "喺閒置畫面以英文細字顯示詳細嘅資料" }, "DisplayRotation": { - "text2": [ - "", - "畫面方向" - ], + "text2": "畫面方向", "desc": "A=自動 | L=使用左手 | R=使用右手" }, "BoostTemperature": { - "text2": [ - "", - "增熱温度" - ], + "text2": "增熱温度", "desc": "喺增熱模式時使用嘅温度" }, "AutoStart": { - "text2": [ - "", - "自動啓用" - ], + "text2": "自動啓用", "desc": "開機時自動啓用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室温待機>" }, "CooldownBlink": { - "text2": [ - "", - "降温時閃爍" - ], + "text2": "降温時閃爍", "desc": "停止加熱之後,當辣雞咀仲係熱嗰陣閃爍畫面" }, "TemperatureCalibration": { - "text2": [ - "", - "温度校正?" - ], + "text2": "温度校正?", "desc": "開始校正辣雞咀温度位移" }, "SettingsReset": { - "text2": [ - "", - "全部重設?" - ], + "text2": "全部重設?", "desc": "將所有設定重設到預設值" }, "VoltageCalibration": { - "text2": [ - "", - "輸入電壓校正?" - ], + "text2": "輸入電壓校正?", "desc": "開始校正VIN輸入電壓 <長撳以退出>" }, "AdvancedSoldering": { - "text2": [ - "", - "詳細焊接畫面" - ], + "text2": "詳細焊接畫面", "desc": "喺焊接模式畫面以英文細字顯示詳細嘅資料" }, "ScrollingSpeed": { - "text2": [ - "", - "捲動速度" - ], + "text2": "捲動速度", "desc": "解說文字嘅捲動速度" }, "QCMaxVoltage": { - "text2": [ - "", - "QC電壓" - ], + "text2": "QC電壓", "desc": "使用QC電源時請求嘅最高目標電壓" }, "PowerLimit": { - "text2": [ - "", - "功率限制" - ], + "text2": "功率限制", "desc": "限制辣雞可用嘅最大功率 " }, "ReverseButtonTempChange": { - "text2": [ - "", - "反轉加減掣" - ], + "text2": "反轉加減掣", "desc": "反轉調校温度時加減掣嘅方向" }, "TempChangeShortStep": { - "text2": [ - "", - "温度調整 短" - ], + "text2": "温度調整 短", "desc": "調校温度時短撳一下嘅温度變幅" }, "TempChangeLongStep": { - "text2": [ - "", - "温度調整 長" - ], + "text2": "温度調整 長", "desc": "調校温度時長撳嘅温度變幅" }, "PowerPulsePower": { - "text2": [ - "", - "電源脈衝" - ], + "text2": "電源脈衝", "desc": "為保持電源喚醒而通電所用嘅功率 " }, "HallEffSensitivity": { - "text2": [ - "", - "磁場敏感度" - ], + "text2": "磁場敏感度", "desc": "磁場感應器用嚟啓動待機模式嘅敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>" }, "LockingMode": { - "text2": [ - "", - "撳掣鎖定" - ], + "text2": "撳掣鎖定", "desc": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=鎖定增熱模式 | 全=鎖定全部>" }, "MinVolCell": { - "text2": [ - "", - "最低電壓" - ], + "text2": "最低電壓", "desc": "每粒電池嘅最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>" }, "AnimLoop": { - "text2": [ - "", - "動畫循環" - ], + "text2": "動畫循環", "desc": "循環顯示功能表圖示動畫" }, "AnimSpeed": { - "text2": [ - "", - "動畫速度" - ], + "text2": "動畫速度", "desc": "功能表圖示動畫嘅速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>" }, "PowerPulseWait": { - "text2": [ - "", - "電源脈衝間隔" - ], + "text2": "電源脈衝間隔", "desc": "為保持電源喚醒,每次通電之間嘅間隔時間 " }, "PowerPulseDuration": { - "text2": [ - "", - "電源脈衝時長" - ], + "text2": "電源脈衝時長", "desc": "為保持電源喚醒,每次通電脈衝嘅時間長度 " } } diff --git a/Translations/translation_ZH_TW.json b/Translations/translation_ZH_TW.json index f70e0ed4..c5ef684c 100644 --- a/Translations/translation_ZH_TW.json +++ b/Translations/translation_ZH_TW.json @@ -62,243 +62,141 @@ }, "menuGroups": { "PowerMenu": { - "text2": [ - "", - "電源設定" - ], + "text2": "電源設定", "desc": "電源設定" }, "SolderingMenu": { - "text2": [ - "", - "焊接設定" - ], + "text2": "焊接設定", "desc": "焊接設定" }, "PowerSavingMenu": { - "text2": [ - "", - "待機設定" - ], + "text2": "待機設定", "desc": "自動待機省電設定" }, "UIMenu": { - "text2": [ - "", - "使用者介面" - ], + "text2": "使用者介面", "desc": "使用者介面設定" }, "AdvancedMenu": { - "text2": [ - "", - "進階設定" - ], + "text2": "進階設定", "desc": "進階設定" } }, "menuOptions": { "DCInCutoff": { - "text2": [ - "", - "電源" - ], + "text2": "電源", "desc": "輸入電源;設定自動停機電壓 " }, "SleepTemperature": { - "text2": [ - "", - "待機溫度" - ], + "text2": "待機溫度", "desc": "於待機模式時的鉻鐵頭溫度" }, "SleepTimeout": { - "text2": [ - "", - "待機延時" - ], + "text2": "待機延時", "desc": "自動進入待機模式前的閒置等候時間 " }, "ShutdownTimeout": { - "text2": [ - "", - "自動關機" - ], + "text2": "自動關機", "desc": "自動關機前的閒置等候時間 " }, "MotionSensitivity": { - "text2": [ - "", - "動作敏感度" - ], + "text2": "動作敏感度", "desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度" }, "TemperatureUnit": { - "text2": [ - "", - "溫標" - ], + "text2": "溫標", "desc": "C=攝氏 | F=華氏" }, "AdvancedIdle": { - "text2": [ - "", - "詳細閒置畫面" - ], + "text2": "詳細閒置畫面", "desc": "於閒置畫面以英文小字型顯示詳細資料" }, "DisplayRotation": { - "text2": [ - "", - "畫面方向" - ], + "text2": "畫面方向", "desc": "A=自動 | L=使用左手 | R=使用右手" }, "BoostTemperature": { - "text2": [ - "", - "增熱溫度" - ], + "text2": "增熱溫度", "desc": "於增熱模式時使用的溫度" }, "AutoStart": { - "text2": [ - "", - "自動啟用" - ], + "text2": "自動啟用", "desc": "開機時自動啟用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室溫待機>" }, "CooldownBlink": { - "text2": [ - "", - "降溫時閃爍" - ], + "text2": "降溫時閃爍", "desc": "停止加熱之後,當鉻鐵頭仍處於高溫時閃爍畫面" }, "TemperatureCalibration": { - "text2": [ - "", - "溫度校正?" - ], + "text2": "溫度校正?", "desc": "開始校正鉻鐵頭溫度位移" }, "SettingsReset": { - "text2": [ - "", - "全部重設?" - ], + "text2": "全部重設?", "desc": "將所有設定重設到預設值" }, "VoltageCalibration": { - "text2": [ - "", - "輸入電壓校正?" - ], + "text2": "輸入電壓校正?", "desc": "開始校正VIN輸入電壓 <長按以退出>" }, "AdvancedSoldering": { - "text2": [ - "", - "詳細焊接畫面" - ], + "text2": "詳細焊接畫面", "desc": "於焊接模式畫面以英文小字型顯示詳細資料" }, "ScrollingSpeed": { - "text2": [ - "", - "捲動速度" - ], + "text2": "捲動速度", "desc": "解說文字的捲動速度" }, "QCMaxVoltage": { - "text2": [ - "", - "QC電壓" - ], + "text2": "QC電壓", "desc": "使用QC電源時請求的最高目標電壓" }, "PowerLimit": { - "text2": [ - "", - "功率限制" - ], + "text2": "功率限制", "desc": "限制鉻鐵可用的最大功率 " }, "ReverseButtonTempChange": { - "text2": [ - "", - "調換加減鍵" - ], + "text2": "調換加減鍵", "desc": "調校溫度時調換加減鍵的方向" }, "TempChangeShortStep": { - "text2": [ - "", - "溫度調整 短" - ], + "text2": "溫度調整 短", "desc": "調校溫度時短按一下的溫度變幅" }, "TempChangeLongStep": { - "text2": [ - "", - "溫度調整 長" - ], + "text2": "溫度調整 長", "desc": "調校溫度時長按按鍵的溫度變幅" }, "PowerPulsePower": { - "text2": [ - "", - "電源脈衝" - ], + "text2": "電源脈衝", "desc": "為保持電源喚醒而通電所用的功率 " }, "HallEffSensitivity": { - "text2": [ - "", - "磁場敏感度" - ], + "text2": "磁場敏感度", "desc": "磁場感應器用作啟動待機模式的敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>" }, "LockingMode": { - "text2": [ - "", - "按鍵鎖定" - ], + "text2": "按鍵鎖定", "desc": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=鎖定增熱模式 | 全=鎖定全部>" }, "MinVolCell": { - "text2": [ - "", - "最低電壓" - ], + "text2": "最低電壓", "desc": "每顆電池的最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>" }, "AnimLoop": { - "text2": [ - "", - "動畫循環" - ], + "text2": "動畫循環", "desc": "循環顯示功能表圖示動畫" }, "AnimSpeed": { - "text2": [ - "", - "動畫速度" - ], + "text2": "動畫速度", "desc": "功能表圖示動畫的速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>" }, "PowerPulseWait": { - "text2": [ - "", - "電源脈衝間隔" - ], + "text2": "電源脈衝間隔", "desc": "為保持電源喚醒,每次通電之間的間隔時間 " }, "PowerPulseDuration": { - "text2": [ - "", - "電源脈衝時長" - ], + "text2": "電源脈衝時長", "desc": "為保持電源喚醒,每次通電脈衝的時間長度 " } } diff --git a/Translations/translations_def.js b/Translations/translations_def.js index 67106dbe..b4b01eb8 100644 --- a/Translations/translations_def.js +++ b/Translations/translations_def.js @@ -195,23 +195,28 @@ var def = "menuGroups": [ { "id": "PowerMenu", - "maxLen": 11 + "maxLen": 5, + "maxLen2": 11 }, { "id": "SolderingMenu", - "maxLen": 11 + "maxLen": 5, + "maxLen2": 11 }, { "id": "PowerSavingMenu", - "maxLen": 11 + "maxLen": 5, + "maxLen2": 11 }, { "id": "UIMenu", - "maxLen": 11 + "maxLen": 5, + "maxLen2": 11 }, { "id": "AdvancedMenu", - "maxLen": 11 + "maxLen": 5, + "maxLen2": 11 } ], "menuOptions": [