Change menu text to use whole screen msg format

This commit is contained in:
Alvin Wong
2021-04-05 15:36:41 +08:00
parent ab1b48a0f2
commit dd1801925b
5 changed files with 164 additions and 311 deletions

View File

@@ -193,41 +193,59 @@
return str; return str;
}, },
validateWholeScreenMessage: function(valMap, id) { getWholeScreenMessageMaxLen: function(valMap, id, prop) {
var d = defMap[id]; var v = prop ? valMap[id][prop] : valMap[id];
if (this.isSmall(valMap[id])) { var maxLen;
if (valMap[id][0].length === 0) { 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"; 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"; return "invalid";
} }
} else { } else {
if (valMap[id].length > 8) { if (v.length > maxLen) {
return "invalid"; return "invalid";
} }
} }
}, },
constraintWholeScreenMessage: function(v) { constraintWholeScreenMessage: function(valMap, id, prop) {
if (this.isSmall(v)) { return "len <= " + this.getWholeScreenMessageMaxLen(valMap, id, prop);
return "len <= 16";
} else {
return "len <= 8";
}
}, },
isSmall: function(v) { isSmall: function(v) {
return v instanceof Array; return v instanceof Array;
}, },
convertToLarge: function(valMap, id) { convertToLarge: function(valMap, id, prop) {
var message = valMap[id][0] + (valMap[id][1] !== "" ? " " + valMap[id][1] : ""); var v = prop ? valMap[id][prop] : valMap[id];
valMap[id] = message; var message = v[0] + (v[1] !== "" ? " " + v[1] : "");
if (prop) {
valMap[id][prop] = message;
} else {
valMap[id] = message;
}
}, },
convertToSmall: function(valMap, id) { convertToSmall: function(valMap, id, prop) {
var message = valMap[id] var v = prop ? valMap[id][prop] : valMap[id];
valMap[id] = [ message, "" ]; var message = [ v, "" ];
if (prop) {
valMap[id][prop] = message;
} else {
valMap[id] = message;
}
} }
} }
}); });
@@ -316,7 +334,7 @@
<tr v-for="message in def.messagesWarn" v-bind:class="validateWholeScreenMessage(current.messagesWarn, message.id)"> <tr v-for="message in def.messagesWarn" v-bind:class="validateWholeScreenMessage(current.messagesWarn, message.id)">
<td class="label"><div class="stringId">{{message.id}}</div></td> <td class="label"><div class="stringId">{{message.id}}</div></td>
<td class="value"> <td class="value">
<div class="constraint">{{constraintWholeScreenMessage(current.messagesWarn[message.id])}}</div> <div class="constraint">{{constraintWholeScreenMessage(current.messagesWarn, message.id)}}</div>
<div class="ref">{{referent.messagesWarn[message.id]}}</div> <div class="ref">{{referent.messagesWarn[message.id]}}</div>
<div class="note" v-if="message.note">{{message.note}}</div> <div class="note" v-if="message.note">{{message.note}}</div>
<div class="tran" v-if="isSmall(current.messagesWarn[message.id])"> <div class="tran" v-if="isSmall(current.messagesWarn[message.id])">
@@ -346,13 +364,21 @@
<h2>Menu Groups</h2> <h2>Menu Groups</h2>
<table class="data"> <table class="data">
<tr v-for="menu in def.menuGroups" v-bind:class="validateInput(current.menuGroups, menu.id, 2)"> <tr v-for="menu in def.menuGroups" v-bind:class="validateWholeScreenMessage(current.menuGroups, menu.id, 'text2')">
<td class="label"><div class="stringId">{{menu.id}}</div></td> <td class="label"><div class="stringId">{{menu.id}}</div></td>
<td class="value"> <td class="value">
<div class="label">Menu Name</div> <div class="label">Menu Name</div>
<div class="constraint">{{constraintString(menu)}}</div> <div class="constraint">{{constraintWholeScreenMessage(current.menuGroups, menu.id, 'text2')}}</div>
<div class="ref">{{referent.menuGroups[menu.id].text2}}</div> <div class="ref">{{referent.menuGroups[menu.id].text2}}</div>
<div class="tran" v-bind:class="{unchanged : current.menuGroups[menu.id].text2[0] == referent.menuGroups[menu.id].text2[0] && current.menuGroups[menu.id].text2[1] == referent.menuGroups[menu.id].text2[1], empty : current.menuGroups[menu.id].text2[0] == '' || current.menuGroups[menu.id].text2[1] == ''}"><input type="text" v-model="current.menuGroups[menu.id].text2[0]"><input type="text" v-model="current.menuGroups[menu.id].text2[1]"></div> <div class="tran" v-if="isSmall(current.menuGroups[menu.id].text2)">
<input type="text" v-model="current.menuGroups[menu.id].text2[0]" v-bind:class="{unchanged : current.menuGroups[menu.id].text2[0] == referent.menuGroups[menu.id].text2[0] && current.menuGroups[menu.id].text2[1] == referent.menuGroups[menu.id].text2[1], empty : current.menuGroups[menu.id].text2[0] == '' && current.menuGroups[menu.id].text2[1] == ''}">
<input type="text" v-model="current.menuGroups[menu.id].text2[1]" v-bind:class="{unchanged : current.menuGroups[menu.id].text2[0] == referent.menuGroups[menu.id].text2[0] && current.menuGroups[menu.id].text2[1] == referent.menuGroups[menu.id].text2[1], empty : current.menuGroups[menu.id].text2[0] == '' && current.menuGroups[menu.id].text2[1] == ''}">
<button type="button" @click="convertToLarge(current.menuGroups, menu.id, 'text2')">Convert to large text</button>
</div>
<div class="tran" v-else>
<input type="text" v-model="current.menuGroups[menu.id].text2" v-bind:class="{unchanged : current.menuGroups[menu.id].text2 == referent.menuGroups[menu.id].text2, empty : current.menuGroups[menu.id].text2==''}">
<button type="button" @click="convertToSmall(current.menuGroups, menu.id, 'text2')">Convert to small text</button>
</div>
<div class="label">Description</div> <div class="label">Description</div>
<div class="ref">{{referent.menuGroups[menu.id].desc}}</div> <div class="ref">{{referent.menuGroups[menu.id].desc}}</div>
<div class="tran"><input type="text" v-model="current.menuGroups[menu.id].desc" v-bind:class="{unchanged : current.menuGroups[menu.id].desc == referent.menuGroups[menu.id].desc, empty : current.menuGroups[menu.id].desc == ''}"></div> <div class="tran"><input type="text" v-model="current.menuGroups[menu.id].desc" v-bind:class="{unchanged : current.menuGroups[menu.id].desc == referent.menuGroups[menu.id].desc, empty : current.menuGroups[menu.id].desc == ''}"></div>
@@ -362,14 +388,22 @@
<h2>Menu Options</h2> <h2>Menu Options</h2>
<table class="data"> <table class="data">
<tr v-for="menu in def.menuOptions" v-bind:class="validateInput(current.menuOptions, menu.id, 2)"> <tr v-for="menu in def.menuOptions" v-bind:class="validateWholeScreenMessage(current.menuOptions, menu.id, 'text2')">
<td class="label"><div class="stringId">{{menu.id}}</div></td> <td class="label"><div class="stringId">{{menu.id}}</div></td>
<td class="value"> <td class="value">
<div v-bind:class="{hidden : false}"> <div v-bind:class="{hidden : false}">
<div class="label">Menu Name (Double-Line)</div> <div class="label">Menu Name</div>
<div class="constraint">{{constraintString(menu)}}</div> <div class="constraint">{{constraintWholeScreenMessage(current.menuOptions, menu.id, 'text2')}}</div>
<div class="ref">{{referent.menuOptions[menu.id].text2}}</div> <div class="ref">{{referent.menuOptions[menu.id].text2}}</div>
<div class="tran" v-bind:class="{unchanged : current.menuOptions[menu.id].text2[0] == referent.menuOptions[menu.id].text2[0] && current.menuOptions[menu.id].text2[1] == referent.menuOptions[menu.id].text2[1], empty : current.menuOptions[menu.id].text2[0] == '' || current.menuOptions[menu.id].text2[1] == ''}"><input type="text" v-model="current.menuOptions[menu.id].text2[0]"><input type="text" v-model="current.menuOptions[menu.id].text2[1]"></div> <div class="tran" v-if="isSmall(current.menuOptions[menu.id].text2)">
<input type="text" v-model="current.menuOptions[menu.id].text2[0]" v-bind:class="{unchanged : current.menuOptions[menu.id].text2[0] == referent.menuOptions[menu.id].text2[0] && current.menuOptions[menu.id].text2[1] == referent.menuOptions[menu.id].text2[1], empty : current.menuOptions[menu.id].text2[0] == '' && current.menuOptions[menu.id].text2[1] == ''}">
<input type="text" v-model="current.menuOptions[menu.id].text2[1]" v-bind:class="{unchanged : current.menuOptions[menu.id].text2[0] == referent.menuOptions[menu.id].text2[0] && current.menuOptions[menu.id].text2[1] == referent.menuOptions[menu.id].text2[1], empty : current.menuOptions[menu.id].text2[0] == '' && current.menuOptions[menu.id].text2[1] == ''}">
<button type="button" @click="convertToLarge(current.menuOptions, menu.id, 'text2')">Convert to large text</button>
</div>
<div class="tran" v-else>
<input type="text" v-model="current.menuOptions[menu.id].text2" v-bind:class="{unchanged : current.menuOptions[menu.id].text2 == referent.menuOptions[menu.id].text2, empty : current.menuOptions[menu.id].text2==''}">
<button type="button" @click="convertToSmall(current.menuOptions, menu.id, 'text2')">Convert to small text</button>
</div>
</div> </div>
<div class="label">Description</div> <div class="label">Description</div>
<div class="ref">{{referent.menuOptions[menu.id].desc}}</div> <div class="ref">{{referent.menuOptions[menu.id].desc}}</div>

View File

@@ -145,14 +145,20 @@ def get_letter_counts(defs: dict, lang: dict) -> List[str]:
obj = lang["menuOptions"] obj = lang["menuOptions"]
for mod in defs["menuOptions"]: for mod in defs["menuOptions"]:
eid = mod["id"] eid = mod["id"]
text_list.append(obj[eid]["text2"][0]) if isinstance(obj[eid]["text2"], list):
text_list.append(obj[eid]["text2"][1]) text_list.append(obj[eid]["text2"][0])
text_list.append(obj[eid]["text2"][1])
else:
text_list.append(obj[eid]["text2"])
obj = lang["menuGroups"] obj = lang["menuGroups"]
for mod in defs["menuGroups"]: for mod in defs["menuGroups"]:
eid = mod["id"] eid = mod["id"]
text_list.append(obj[eid]["text2"][0]) if isinstance(obj[eid]["text2"], list):
text_list.append(obj[eid]["text2"][1]) text_list.append(obj[eid]["text2"][0])
text_list.append(obj[eid]["text2"][1])
else:
text_list.append(obj[eid]["text2"])
obj = lang["menuGroups"] obj = lang["menuGroups"]
for mod in defs["menuGroups"]: for mod in defs["menuGroups"]:
@@ -459,11 +465,17 @@ def write_language(lang: dict, defs: dict, f: TextIO) -> None:
index = 0 index = 0
for mod in defs["menuOptions"]: for mod in defs["menuOptions"]:
eid = mod["id"] 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: if "feature" in mod:
f.write(f"#ifdef {mod['feature']}\n") f.write(f"#ifdef {mod['feature']}\n")
f.write(f" /* [{index:02d}] {eid.ljust(max_len)[:max_len]} */ ") 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, source_text)}" }},//{obj[eid]["text2"]} \n')
f.write(f'{{ "{convert_string(symbol_conversion_table, txt)}" }},//{obj[eid]["text2"]} \n')
if "feature" in mod: if "feature" in mod:
f.write("#endif\n") f.write("#endif\n")
@@ -478,9 +490,15 @@ def write_language(lang: dict, defs: dict, f: TextIO) -> None:
max_len = 25 max_len = 25
for mod in defs["menuGroups"]: for mod in defs["menuGroups"]:
eid = mod["id"] 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]} */ ") 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, source_text)}",//{obj[eid]["text2"]} \n')
f.write(f'"{convert_string(symbol_conversion_table, txt)}",//{obj[eid]["text2"]} \n')
f.write("};\n\n") f.write("};\n\n")

View File

@@ -62,243 +62,141 @@
}, },
"menuGroups": { "menuGroups": {
"PowerMenu": { "PowerMenu": {
"text2": [ "text2": "電源設定",
"",
"電源設定"
],
"desc": "電源設定" "desc": "電源設定"
}, },
"SolderingMenu": { "SolderingMenu": {
"text2": [ "text2": "焊接設定",
"",
"焊接設定"
],
"desc": "焊接設定" "desc": "焊接設定"
}, },
"PowerSavingMenu": { "PowerSavingMenu": {
"text2": [ "text2": "待機設定",
"",
"待機設定"
],
"desc": "自動待機慳電設定" "desc": "自動待機慳電設定"
}, },
"UIMenu": { "UIMenu": {
"text2": [ "text2": "使用者介面",
"",
"使用者介面"
],
"desc": "使用者介面設定" "desc": "使用者介面設定"
}, },
"AdvancedMenu": { "AdvancedMenu": {
"text2": [ "text2": "進階設定",
"",
"進階設定"
],
"desc": "進階設定" "desc": "進階設定"
} }
}, },
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"text2": [ "text2": "電源",
"",
"電源"
],
"desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每粒3.3V計算;依個設定會停用功率限制>" "desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每粒3.3V計算;依個設定會停用功率限制>"
}, },
"SleepTemperature": { "SleepTemperature": {
"text2": [ "text2": "待機温度",
"",
"待機温度"
],
"desc": "喺待機模式時嘅辣雞咀温度" "desc": "喺待機模式時嘅辣雞咀温度"
}, },
"SleepTimeout": { "SleepTimeout": {
"text2": [ "text2": "待機延時",
"",
"待機延時"
],
"desc": "自動進入待機模式前嘅閒置等候時間 <S=秒 | M=分鐘>" "desc": "自動進入待機模式前嘅閒置等候時間 <S=秒 | M=分鐘>"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"text2": [ "text2": "自動熄機",
"",
"自動熄機"
],
"desc": "自動熄機前嘅閒置等候時間 <M=分鐘>" "desc": "自動熄機前嘅閒置等候時間 <M=分鐘>"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"text2": [ "text2": "動作敏感度",
"",
"動作敏感度"
],
"desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度" "desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"text2": [ "text2": "温度單位",
"",
"温度單位"
],
"desc": "C=攝氏 | F=華氏" "desc": "C=攝氏 | F=華氏"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"text2": [ "text2": "詳細閒置畫面",
"",
"詳細閒置畫面"
],
"desc": "喺閒置畫面以英文細字顯示詳細嘅資料" "desc": "喺閒置畫面以英文細字顯示詳細嘅資料"
}, },
"DisplayRotation": { "DisplayRotation": {
"text2": [ "text2": "畫面方向",
"",
"畫面方向"
],
"desc": "A=自動 | L=使用左手 | R=使用右手" "desc": "A=自動 | L=使用左手 | R=使用右手"
}, },
"BoostTemperature": { "BoostTemperature": {
"text2": [ "text2": "增熱温度",
"",
"增熱温度"
],
"desc": "喺增熱模式時使用嘅温度" "desc": "喺增熱模式時使用嘅温度"
}, },
"AutoStart": { "AutoStart": {
"text2": [ "text2": "自動啓用",
"",
"自動啓用"
],
"desc": "開機時自動啓用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室温待機>" "desc": "開機時自動啓用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室温待機>"
}, },
"CooldownBlink": { "CooldownBlink": {
"text2": [ "text2": "降温時閃爍",
"",
"降温時閃爍"
],
"desc": "停止加熱之後,當辣雞咀仲係熱嗰陣閃爍畫面" "desc": "停止加熱之後,當辣雞咀仲係熱嗰陣閃爍畫面"
}, },
"TemperatureCalibration": { "TemperatureCalibration": {
"text2": [ "text2": "温度校正?",
"",
"温度校正?"
],
"desc": "開始校正辣雞咀温度位移" "desc": "開始校正辣雞咀温度位移"
}, },
"SettingsReset": { "SettingsReset": {
"text2": [ "text2": "全部重設?",
"",
"全部重設?"
],
"desc": "將所有設定重設到預設值" "desc": "將所有設定重設到預設值"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"text2": [ "text2": "輸入電壓校正?",
"",
"輸入電壓校正?"
],
"desc": "開始校正VIN輸入電壓 <長撳以退出>" "desc": "開始校正VIN輸入電壓 <長撳以退出>"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"text2": [ "text2": "詳細焊接畫面",
"",
"詳細焊接畫面"
],
"desc": "喺焊接模式畫面以英文細字顯示詳細嘅資料" "desc": "喺焊接模式畫面以英文細字顯示詳細嘅資料"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"text2": [ "text2": "捲動速度",
"",
"捲動速度"
],
"desc": "解說文字嘅捲動速度" "desc": "解說文字嘅捲動速度"
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"text2": [ "text2": "QC電壓",
"",
"QC電壓"
],
"desc": "使用QC電源時請求嘅最高目標電壓" "desc": "使用QC電源時請求嘅最高目標電壓"
}, },
"PowerLimit": { "PowerLimit": {
"text2": [ "text2": "功率限制",
"",
"功率限制"
],
"desc": "限制辣雞可用嘅最大功率 <W=watt>" "desc": "限制辣雞可用嘅最大功率 <W=watt>"
}, },
"ReverseButtonTempChange": { "ReverseButtonTempChange": {
"text2": [ "text2": "反轉加減掣",
"",
"反轉加減掣"
],
"desc": "反轉調校温度時加減掣嘅方向" "desc": "反轉調校温度時加減掣嘅方向"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"text2": [ "text2": "温度調整 短",
"",
"温度調整 短"
],
"desc": "調校温度時短撳一下嘅温度變幅" "desc": "調校温度時短撳一下嘅温度變幅"
}, },
"TempChangeLongStep": { "TempChangeLongStep": {
"text2": [ "text2": "温度調整 長",
"",
"温度調整 長"
],
"desc": "調校温度時長撳嘅温度變幅" "desc": "調校温度時長撳嘅温度變幅"
}, },
"PowerPulsePower": { "PowerPulsePower": {
"text2": [ "text2": "電源脈衝",
"",
"電源脈衝"
],
"desc": "為保持電源喚醒而通電所用嘅功率 <watt>" "desc": "為保持電源喚醒而通電所用嘅功率 <watt>"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"text2": [ "text2": "磁場敏感度",
"",
"磁場敏感度"
],
"desc": "磁場感應器用嚟啓動待機模式嘅敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>" "desc": "磁場感應器用嚟啓動待機模式嘅敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
}, },
"LockingMode": { "LockingMode": {
"text2": [ "text2": "撳掣鎖定",
"",
"撳掣鎖定"
],
"desc": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=鎖定增熱模式 | 全=鎖定全部>" "desc": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=鎖定增熱模式 | 全=鎖定全部>"
}, },
"MinVolCell": { "MinVolCell": {
"text2": [ "text2": "最低電壓",
"",
"最低電壓"
],
"desc": "每粒電池嘅最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>" "desc": "每粒電池嘅最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
}, },
"AnimLoop": { "AnimLoop": {
"text2": [ "text2": "動畫循環",
"",
"動畫循環"
],
"desc": "循環顯示功能表圖示動畫" "desc": "循環顯示功能表圖示動畫"
}, },
"AnimSpeed": { "AnimSpeed": {
"text2": [ "text2": "動畫速度",
"",
"動畫速度"
],
"desc": "功能表圖示動畫嘅速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>" "desc": "功能表圖示動畫嘅速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"text2": [ "text2": "電源脈衝間隔",
"",
"電源脈衝間隔"
],
"desc": "為保持電源喚醒,每次通電之間嘅間隔時間 <x2.5s(秒)>" "desc": "為保持電源喚醒,每次通電之間嘅間隔時間 <x2.5s(秒)>"
}, },
"PowerPulseDuration": { "PowerPulseDuration": {
"text2": [ "text2": "電源脈衝時長",
"",
"電源脈衝時長"
],
"desc": "為保持電源喚醒,每次通電脈衝嘅時間長度 <x250ms亳秒>" "desc": "為保持電源喚醒,每次通電脈衝嘅時間長度 <x250ms亳秒>"
} }
} }

View File

@@ -62,243 +62,141 @@
}, },
"menuGroups": { "menuGroups": {
"PowerMenu": { "PowerMenu": {
"text2": [ "text2": "電源設定",
"",
"電源設定"
],
"desc": "電源設定" "desc": "電源設定"
}, },
"SolderingMenu": { "SolderingMenu": {
"text2": [ "text2": "焊接設定",
"",
"焊接設定"
],
"desc": "焊接設定" "desc": "焊接設定"
}, },
"PowerSavingMenu": { "PowerSavingMenu": {
"text2": [ "text2": "待機設定",
"",
"待機設定"
],
"desc": "自動待機省電設定" "desc": "自動待機省電設定"
}, },
"UIMenu": { "UIMenu": {
"text2": [ "text2": "使用者介面",
"",
"使用者介面"
],
"desc": "使用者介面設定" "desc": "使用者介面設定"
}, },
"AdvancedMenu": { "AdvancedMenu": {
"text2": [ "text2": "進階設定",
"",
"進階設定"
],
"desc": "進階設定" "desc": "進階設定"
} }
}, },
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"text2": [ "text2": "電源",
"",
"電源"
],
"desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每顆3.3V計算;此設定會停用功率限制>" "desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每顆3.3V計算;此設定會停用功率限制>"
}, },
"SleepTemperature": { "SleepTemperature": {
"text2": [ "text2": "待機溫度",
"",
"待機溫度"
],
"desc": "於待機模式時的鉻鐵頭溫度" "desc": "於待機模式時的鉻鐵頭溫度"
}, },
"SleepTimeout": { "SleepTimeout": {
"text2": [ "text2": "待機延時",
"",
"待機延時"
],
"desc": "自動進入待機模式前的閒置等候時間 <S=秒 | M=分鐘>" "desc": "自動進入待機模式前的閒置等候時間 <S=秒 | M=分鐘>"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"text2": [ "text2": "自動關機",
"",
"自動關機"
],
"desc": "自動關機前的閒置等候時間 <M=分鐘>" "desc": "自動關機前的閒置等候時間 <M=分鐘>"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"text2": [ "text2": "動作敏感度",
"",
"動作敏感度"
],
"desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度" "desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"text2": [ "text2": "溫標",
"",
"溫標"
],
"desc": "C=攝氏 | F=華氏" "desc": "C=攝氏 | F=華氏"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"text2": [ "text2": "詳細閒置畫面",
"",
"詳細閒置畫面"
],
"desc": "於閒置畫面以英文小字型顯示詳細資料" "desc": "於閒置畫面以英文小字型顯示詳細資料"
}, },
"DisplayRotation": { "DisplayRotation": {
"text2": [ "text2": "畫面方向",
"",
"畫面方向"
],
"desc": "A=自動 | L=使用左手 | R=使用右手" "desc": "A=自動 | L=使用左手 | R=使用右手"
}, },
"BoostTemperature": { "BoostTemperature": {
"text2": [ "text2": "增熱溫度",
"",
"增熱溫度"
],
"desc": "於增熱模式時使用的溫度" "desc": "於增熱模式時使用的溫度"
}, },
"AutoStart": { "AutoStart": {
"text2": [ "text2": "自動啟用",
"",
"自動啟用"
],
"desc": "開機時自動啟用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室溫待機>" "desc": "開機時自動啟用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室溫待機>"
}, },
"CooldownBlink": { "CooldownBlink": {
"text2": [ "text2": "降溫時閃爍",
"",
"降溫時閃爍"
],
"desc": "停止加熱之後,當鉻鐵頭仍處於高溫時閃爍畫面" "desc": "停止加熱之後,當鉻鐵頭仍處於高溫時閃爍畫面"
}, },
"TemperatureCalibration": { "TemperatureCalibration": {
"text2": [ "text2": "溫度校正?",
"",
"溫度校正?"
],
"desc": "開始校正鉻鐵頭溫度位移" "desc": "開始校正鉻鐵頭溫度位移"
}, },
"SettingsReset": { "SettingsReset": {
"text2": [ "text2": "全部重設?",
"",
"全部重設?"
],
"desc": "將所有設定重設到預設值" "desc": "將所有設定重設到預設值"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"text2": [ "text2": "輸入電壓校正?",
"",
"輸入電壓校正?"
],
"desc": "開始校正VIN輸入電壓 <長按以退出>" "desc": "開始校正VIN輸入電壓 <長按以退出>"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"text2": [ "text2": "詳細焊接畫面",
"",
"詳細焊接畫面"
],
"desc": "於焊接模式畫面以英文小字型顯示詳細資料" "desc": "於焊接模式畫面以英文小字型顯示詳細資料"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"text2": [ "text2": "捲動速度",
"",
"捲動速度"
],
"desc": "解說文字的捲動速度" "desc": "解說文字的捲動速度"
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"text2": [ "text2": "QC電壓",
"",
"QC電壓"
],
"desc": "使用QC電源時請求的最高目標電壓" "desc": "使用QC電源時請求的最高目標電壓"
}, },
"PowerLimit": { "PowerLimit": {
"text2": [ "text2": "功率限制",
"",
"功率限制"
],
"desc": "限制鉻鐵可用的最大功率 <W=watt瓦特>" "desc": "限制鉻鐵可用的最大功率 <W=watt瓦特>"
}, },
"ReverseButtonTempChange": { "ReverseButtonTempChange": {
"text2": [ "text2": "調換加減鍵",
"",
"調換加減鍵"
],
"desc": "調校溫度時調換加減鍵的方向" "desc": "調校溫度時調換加減鍵的方向"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"text2": [ "text2": "溫度調整 短",
"",
"溫度調整 短"
],
"desc": "調校溫度時短按一下的溫度變幅" "desc": "調校溫度時短按一下的溫度變幅"
}, },
"TempChangeLongStep": { "TempChangeLongStep": {
"text2": [ "text2": "溫度調整 長",
"",
"溫度調整 長"
],
"desc": "調校溫度時長按按鍵的溫度變幅" "desc": "調校溫度時長按按鍵的溫度變幅"
}, },
"PowerPulsePower": { "PowerPulsePower": {
"text2": [ "text2": "電源脈衝",
"",
"電源脈衝"
],
"desc": "為保持電源喚醒而通電所用的功率 <watt瓦特>" "desc": "為保持電源喚醒而通電所用的功率 <watt瓦特>"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"text2": [ "text2": "磁場敏感度",
"",
"磁場敏感度"
],
"desc": "磁場感應器用作啟動待機模式的敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>" "desc": "磁場感應器用作啟動待機模式的敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
}, },
"LockingMode": { "LockingMode": {
"text2": [ "text2": "按鍵鎖定",
"",
"按鍵鎖定"
],
"desc": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=鎖定增熱模式 | 全=鎖定全部>" "desc": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=鎖定增熱模式 | 全=鎖定全部>"
}, },
"MinVolCell": { "MinVolCell": {
"text2": [ "text2": "最低電壓",
"",
"最低電壓"
],
"desc": "每顆電池的最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>" "desc": "每顆電池的最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
}, },
"AnimLoop": { "AnimLoop": {
"text2": [ "text2": "動畫循環",
"",
"動畫循環"
],
"desc": "循環顯示功能表圖示動畫" "desc": "循環顯示功能表圖示動畫"
}, },
"AnimSpeed": { "AnimSpeed": {
"text2": [ "text2": "動畫速度",
"",
"動畫速度"
],
"desc": "功能表圖示動畫的速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>" "desc": "功能表圖示動畫的速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"text2": [ "text2": "電源脈衝間隔",
"",
"電源脈衝間隔"
],
"desc": "為保持電源喚醒,每次通電之間的間隔時間 <x2.5s(秒)>" "desc": "為保持電源喚醒,每次通電之間的間隔時間 <x2.5s(秒)>"
}, },
"PowerPulseDuration": { "PowerPulseDuration": {
"text2": [ "text2": "電源脈衝時長",
"",
"電源脈衝時長"
],
"desc": "為保持電源喚醒,每次通電脈衝的時間長度 <x250ms亳秒>" "desc": "為保持電源喚醒,每次通電脈衝的時間長度 <x250ms亳秒>"
} }
} }

View File

@@ -195,23 +195,28 @@ var def =
"menuGroups": [ "menuGroups": [
{ {
"id": "PowerMenu", "id": "PowerMenu",
"maxLen": 11 "maxLen": 5,
"maxLen2": 11
}, },
{ {
"id": "SolderingMenu", "id": "SolderingMenu",
"maxLen": 11 "maxLen": 5,
"maxLen2": 11
}, },
{ {
"id": "PowerSavingMenu", "id": "PowerSavingMenu",
"maxLen": 11 "maxLen": 5,
"maxLen2": 11
}, },
{ {
"id": "UIMenu", "id": "UIMenu",
"maxLen": 11 "maxLen": 5,
"maxLen2": 11
}, },
{ {
"id": "AdvancedMenu", "id": "AdvancedMenu",
"maxLen": 11 "maxLen": 5,
"maxLen2": 11
} }
], ],
"menuOptions": [ "menuOptions": [