import { ref } from 'vue'
import { uiTranslations } from './i18n-ui'

const STORAGE_KEY = 'gbfr-pe-patch-tool.language'
const supported = new Set(['en', 'zh'])

export const language = ref(normalizeLanguage(localStorage.getItem(STORAGE_KEY) || 'zh'))
export const hasStoredLanguage = () => localStorage.getItem(STORAGE_KEY) !== null

function normalizeLanguage(value) {
  return supported.has(value) ? value : 'zh'
}

const translations = {
  "\"\", \"\", \"圣德芬\", \"希耶提\",": "\"\", \"\", \"Sandalphon\", \"Seofon\",",
  "\"\", \"卡莉奥丝特罗\",": "\"\", \"Cagliostro\",",
  "\"\", \"泽塔\", \"伊德\", \"巴萨拉卡\",": "\"\", \"Zeta\", \"Id\", \"Vaseraga\",",
  "\"\", \"萝赛塔\", \"冈达葛萨\", \"菲莉\", \"兰斯洛特\", \"巴恩\", \"珀西瓦尔\",": "\"\", \"Rosetta\", \"Ghandagoza\", \"Ferry\", \"Lancelot\", \"Vane\", \"Percival\",",
  "\"\", \"齐格飞\", \"夏洛特\", \"索恩\", \"尤达拉哈\", \"娜露梅\",": "\"\", \"Siegfried\", \"Charlotta\", \"Tweyen\", \"Yodarha\", \"Narmaya\",",
  "\"古兰\", \"姬塔\", \"卡塔莉娜\", \"拉卡姆\", \"伊欧\", \"欧根\",": "\"Gran\", \"Djeeta\", \"Katalina\", \"Rackam\", \"Io\", \"Eugen\",",
  "${updated.name}写入成功": "${updated.name} written successfully",
  "%s %s 不允许等级 %d": "%s %s does not allow level %d",
  "%s 不允许主特性等级 %d": "%s does not allow primary-trait level %d",
  "%s 不允许副特性等级 %d": "%s does not allow secondary-trait level %d",
  "%s 不允许因子等级 %d": "%s does not allow sigil level %d",
  "%s 不支持副特性": "%s does not support a secondary trait",
  "%s 不是 %s 的已验证副特性": "%s is not a verified secondary trait for %s",
  "%s 哈希无效": "Invalid hash for %s",
  "%s 哈希无效: %s": "Invalid hash for %s: %s",
  "%s 数值不能超过 %.0f": "%s value cannot exceed %.0f",
  "%s 的默认特性不存在: %s": "Default trait for %s does not exist: %s",
  "%s 缺少默认特性": "%s is missing its default trait",
  "%s 需要选择副特性": "%s requires a secondary trait",
  "%s命中多个位置: %d": "%s matched multiple locations: %d",
  "%s指令字节未知: %s": "Unknown instruction bytes for %s: %s",
  "%s指针为空，请确保已进入游戏存档": "%s pointer is null; make sure a save is loaded in-game",
  "%s指针路径为空": "%s pointer path is empty",
  "%s指针链为空，请确保已进入游戏存档": "%s pointer chain is null; make sure a save is loaded in-game",
  "'四个上限突破槽位已写入，请返回游戏确认保存'": "'All four Over Mastery slots were written. Return to the game and confirm to save.'",
  "(加载中...)": "(loading...)",
  "(加载失败)": "(load failed)",
  "--%s 必须是数字: %w": "--%s must be a number: %w",
  "--quantity 必须是数字: %w": "--quantity must be a number: %w",
  ".catch((err) => showStatus('备份失败: ' + (err || '未知错误'), 'error'))": ".catch((err) => showStatus('Backup failed: ' + (err || 'Unknown error'), 'error'))",
  ".catch((err) => showStatus('恢复失败: ' + (err || '未知错误'), 'error'))": ".catch((err) => showStatus('Restore failed: ' + (err || 'Unknown error'), 'error'))",
  ".catch((err) => { patchingID.value = ''; showStatus('补丁失败: ' + (err || '未知错误'), 'error') })": ".catch((err) => { patchingID.value = ''; showStatus('Patch failed: ' + (err || 'Unknown error'), 'error') })",
  ".then(() => emit('status', '设置成功', 'success'))": ".then(() => emit('status', 'Value set successfully', 'success'))",
  ".then(() => showStatus('备份创建成功', 'success'))": ".then(() => showStatus('Backup created successfully', 'success'))",
  ".then(() => showStatus('文件已恢复', 'success'))": ".then(() => showStatus('File restored', 'success'))",
  ".then(() => { patchingID.value = ''; showStatus('补丁写入成功', 'success') })": ".then(() => { patchingID.value = ''; showStatus('Patch applied successfully', 'success') })",
  ".then((n) => refresh().then(() => emit('status', `已设置 ${n} 个角色`, 'success')))": ".then((n) => refresh().then(() => emit('status', `Updated ${n} characters`, 'success')))",
  ".then((status) => { applyCountdownStatus(status); emit('status', '倒计时写入成功', 'success') })": ".then((status) => { applyCountdownStatus(status); emit('status', 'Countdown written successfully', 'success') })",
  ".then((status) => { applyCountdownStatus(status); emit('status', '倒计时特征定位成功', 'success') })": ".then((status) => { applyCountdownStatus(status); emit('status', 'Countdown signature located', 'success') })",
  ".then((status) => { applyFaceAccessoryStatus(status); emit('status', '脸部符文特征定位成功', 'success') })": ".then((status) => { applyFaceAccessoryStatus(status); emit('status', 'Face-rune signature located', 'success') })",
  ".then((status) => { applyFaceAccessoryStatus(status); emit('status', hidden ? '已隐藏脸部符文' : '已恢复脸部符文显示', 'success') })": ".then((status) => { applyFaceAccessoryStatus(status); emit('status', hidden ? 'Face runes hidden' : 'Face-rune display restored', 'success') })",
  ".then((status) => { applyInfiniteChallengeStatus(status); emit('status', enabled ? '已开启无限挑战' : '已恢复挑战次数递增', 'success') })": ".then((status) => { applyInfiniteChallengeStatus(status); emit('status', enabled ? 'Infinite challenges enabled' : 'Challenge-count increment restored', 'success') })",
  ".then((status) => { applyMaterialConsumeStatus(status); emit('status', enabled ? '已开启升级/强化不材料消耗' : '已恢复升级/强化材料变化', 'success') })": ".then((status) => { applyMaterialConsumeStatus(status); emit('status', enabled ? 'Upgrade/enhancement material consumption disabled' : 'Upgrade/enhancement material changes restored', 'success') })",
  ".then((status) => { applyOtherSkinPurpleRuneStatus(status); emit('status', enabled ? '已开启其他皮肤紫色符文显示' : '已恢复其他皮肤紫色符文判断', 'success') })": ".then((status) => { applyOtherSkinPurpleRuneStatus(status); emit('status', enabled ? 'Purple runes enabled on other skins' : 'Default purple-rune skin check restored', 'success') })",
  ".then((status) => { applyTerminusDropStatus(status); emit('status', '巴武掉落特征定位成功', 'success') })": ".then((status) => { applyTerminusDropStatus(status); emit('status', 'Terminus Weapon drop signature located', 'success') })",
  ".then((status) => { applyTerminusDropStatus(status); emit('status', enabled ? '已开启巴武掉落 100%' : '已恢复巴武默认掉率', 'success') })": ".then((status) => { applyTerminusDropStatus(status); emit('status', enabled ? '100% Terminus Weapon drop enabled' : 'Default Terminus Weapon drop rate restored', 'success') })",
  ".then((status) => { applyUnlockAllTrophyStatus(status); emit('status', '全称号解锁特征定位成功', 'success') })": ".then((status) => { applyUnlockAllTrophyStatus(status); emit('status', 'Unlock-all-titles signature located', 'success') })",
  ".then((status) => { applyUnlockAllTrophyStatus(status); emit('status', enabled ? '已开启游戏内全称号解锁' : '已恢复称号默认判断', 'success') })": ".then((status) => { applyUnlockAllTrophyStatus(status); emit('status', enabled ? 'All in-game titles unlocked' : 'Default title checks restored', 'success') })",
  "/* 因子选择列表 */": "/* Sigil选择列表 */",
  "/* 已有因子列表 */": "/* Existing Sigils列表 */",
  "/* 队列列表 */": "/* Queue列表 */",
  "// GetCompatibleSecondaryTraits 返回可选副特性列表": "// GetCompatibleSecondaryTraits 返回可选Secondary Trait列表",
  "// GetDefaultSecondaryTrait 返回因子的默认副特性": "// GetDefaultSecondaryTrait 返回因子的默认Secondary Trait",
  "// GetPrimaryTrait 返回因子的主特性": "// GetPrimaryTrait 返回因子的Primary Trait",
  "// GetPrimaryTraitLevels 返回主特性可选等级": "// GetPrimaryTraitLevels 返回Primary Trait可选等级",
  "// GetSecondaryTraitLevels 返回副特性可选等级": "// GetSecondaryTraitLevels 返回Secondary Trait可选等级",
  "// ── 加载数据 ──": "// ── Load数据 ──",
  "// ── 因子选择变化 ──": "// ── Sigil选择变化 ──",
  "// ── 无限挑战 (运行时 NOP 挑战次数递增) ──": "// ── 无限挑战 (运行时 NOP Quest Clear Count递增) ──",
  "// ── 队列操作 ──": "// ── Queue操作 ──",
  "// 主特性": "// Primary Trait",
  "// 副特性": "// Secondary Trait",
  "// 加载等级": "// LoadLevel",
  "// 已有因子": "// Existing Sigils",
  "// 队列": "// Queue",
  "// 验证主特性": "// 验证Primary Trait",
  "// 验证副特性": "// 验证Secondary Trait",
  "// 验证因子等级": "// 验证Sigil Level",
  "// 默认等级": "// DefaultLevel",
  "0x004557B8: \"刀上舞IV+\",": "0x004557B8: \"Glass Cannon IV+\",",
  "0x004CDEEC: \"蓄力会心II\",": "0x004CDEEC: \"Lucky Charge II\",",
  "0x0053599E: \"蓄力强化\",": "0x0053599E: \"Steady Focus\",",
  "0x0114DD91: \"追击III\",": "0x0114DD91: \"Supplementary DMG III\",",
  "0x01643EF4: \"玫瑰早绽\",": "0x01643EF4: \"Rose's Blooming\",",
  "0x01D1A6CE: \"玫瑰早绽+\",": "0x01D1A6CE: \"Rose's Blooming+\",",
  "0x02472C43: \"王者之觉醒+\",": "0x02472C43: \"Lord's Awakening+\",",
  "0x02B1F8C0: \"极致之觉醒+\",": "0x02B1F8C0: \"Founder's Awakening+\",",
  "0x02BA37A3: \"穷寇心V+\",": "0x02BA37A3: \"Berserker V+\",",
  "0x02C67F5E: \"蓄力攻击V+\",": "0x02C67F5E: \"Charged Attack V+\",",
  "0x035A4DDD: \"追击V+\",": "0x035A4DDD: \"Supplementary Damage V+\",",
  "0x040549B7: \"明镜止水V\",": "0x040549B7: \"Nimble Onslaught V\",",
  "0x04D028E3: \"暴击伤害IV\",": "0x04D028E3: \"Critical Hit DMG IV\",",
  "0x0537EF0B: \"昏厥\",": "0x0537EF0B: \"Stun Power\",",
  "0x05ACA892: \"老兵的天眼+\",": "0x05ACA892: \"Veteran's Vision+\",",
  "0x05F2ECDC: \"怒涛\",": "0x05F2ECDC: \"Cascade\",",
  "0x05FA4599: \"屠龙者的才智\",": "0x05FA4599: \"Dragonslayer's Ingenuity\",",
  "0x06260D96: \"背水IV+\",": "0x06260D96: \"Enmity IV+\",",
  "0x062844FD: \"背水III\",": "0x062844FD: \"Enmity III\",",
  "0x062ECB15: \"弱点攻击III\",": "0x062ECB15: \"Weak Point DMG III\",",
  "0x069046D9: \"屠龙者的威猛\",": "0x069046D9: \"Dragonslayer's Dominance\",",
  "0x07703A8A: \"激昂III\",": "0x07703A8A: \"Uplift III\",",
  "0x082033CB: \"钳蟹的共鸣\",": "0x082033CB: \"Crabby Resonance\",",
  "0x08DA7279: \"攻击力V+\",": "0x08DA7279: \"Attack Power V+\",",
  "0x0952F945: \"快速蓄力V\",": "0x0952F945: \"Quick Charge V\",",
  "0x09AA7DB5: \"凝神\",": "0x09AA7DB5: \"Nimble Defense\",",
  "0x0A410BD8: \"英勇神速\",": "0x0A410BD8: \"Fearless Drive\",",
  "0x0A4651BB: \"摇曳步+\",": "0x0A4651BB: \"Flight over Fight+\",",
  "0x0AA20846: \"格挡性能\",": "0x0AA20846: \"Improved Guard\",",
  "0x0AA7735E: \"修罗V\",": "0x0AA7735E: \"Power Hungry V\",",
  "0x0B3A6CC9: \"HP吸收II\",": "0x0B3A6CC9: \"Drain II\",",
  "0x0BB4CCDA: \"先发制人V+\",": "0x0BB4CCDA: \"Head Start V+\",",
  "0x0BB9C188: \"暴击率V+\",": "0x0BB9C188: \"Critical Hit Rate V+\",",
  "0x0BBD27F6: \"灾祸抗性II\",": "0x0BBD27F6: \"Blight Resistance II\",",
  "0x0C967A31: \"伤害上限IV+\",": "0x0C967A31: \"DMG Cap IV+\",",
  "0x0CD6C625: \"变换自如的迅刃\",": "0x0CD6C625: \"Swordmaster's Prowess\",",
  "0x0DA193FE: \"破防特效IV+\",": "0x0DA193FE: \"Break Assassin IV+\",",
  "0x0DB316F8: \"刀上舞V\",": "0x0DB316F8: \"Glass Cannon V\",",
  "0x0DB62B78: \"奋不顾身III+\",": "0x0DB62B78: \"Life on the Line III+\",",
  "0x0DD30EC5: \"古今无双的强者\",": "0x0DD30EC5: \"Eternal Rage's Ethos\",",
  "0x0E24BE1B: \"老兵的战气\",": "0x0E24BE1B: \"Veteran's Warpath\",",
  "0x0E3BE66C: \"连击收招III+\",": "0x0E3BE66C: \"Combo Finisher DMG III+\",",
  "0x0E83606D: \"能力伤害V\",": "0x0E83606D: \"Skilled Assault V\",",
  "0x0EA21045: \"穷寇心IV+\",": "0x0EA21045: \"Berserker IV+\",",
  "0x0EAD65E0: \"全弱化效果抗性\",": "0x0EAD65E0: \"Natural Defenses\",",
  "0x0EE1E9D7: \"骰子剑\",": "0x0EE1E9D7: \"Roll of the Die\",",
  "0x0F026CF0: \"古今无双的战气\",": "0x0F026CF0: \"Eternal Rage's Warpath\",",
  "0x0F06D22C: \"修罗IV+\",": "0x0F06D22C: \"Power Hungry IV+\",",
  "0x0F1E9FF1: \"穷寇心IV+\",": "0x0F1E9FF1: \"Berserker IV+\",",
  "0x0F2BB8B2: \"灼热抗性III\",": "0x0F2BB8B2: \"Burn Resistance III\",",
  "0x0F386F8E: \"冰冻抗性\",": "0x0F386F8E: \"Glaciate Resistance\",",
  "0x0F4A0A62: \"身无长技\",": "0x0F4A0A62: \"Less Is More\",",
  "0x0FBA47E8: \"强健甘露\",": "0x0FBA47E8: \"Instilling Vigor\",",
  "0x100E4B1D: \"获得经验值IV\",": "0x100E4B1D: \"Fast Learner IV\",",
  "0x102FF7AA: \"攻击力IV\",": "0x102FF7AA: \"ATK IV\",",
  "0x104CD6EA: \"破防特效V+\",": "0x104CD6EA: \"Break Assassin V+\",",
  "0x10B32273: \"昏厥III\",": "0x10B32273: \"Stun Power III\",",
  "0x1122D016: \"快速蓄力III\",": "0x1122D016: \"Quick Charge III\",",
  "0x1150513C: \"奋不顾身IV\",": "0x1150513C: \"Life on the Line IV\",",
  "0x119B24A8: \"变幻自如之觉醒+\",": "0x119B24A8: \"Swordmaster's Awakening+\",",
  "0x11AAE5F5: \"魔法师的伶俐\",": "0x11AAE5F5: \"Mage's Savvy\",",
  "0x11DF14E3: \"古今无双的气概\",": "0x11DF14E3: \"Eternal Rage's Mettle\",",
  "0x120C5D98: \"获得MSPIV\",": "0x120C5D98: \"Path to Mastery IV\",",
  "0x1291F7CA: \"破防特效III+\",": "0x1291F7CA: \"Break Assassin III+\",",
  "0x129E224A: \"协同攻击IV+\",": "0x129E224A: \"Linked Together IV+\",",
  "0x12D6F539: \"弱点攻击V+\",": "0x12D6F539: \"Exploiter V+\",",
  "0x12FBB007: \"弱化状态特效IV\",": "0x12FBB007: \"Injury to Insult IV\",",
  "0x130508AC: \"连击收招V+\",": "0x130508AC: \"Combo Finisher V+\",",
  "0x132952C1: \"蓄力会心III+\",": "0x132952C1: \"Lucky Charge III+\",",
  "0x13896108: \"连击收招IV+\",": "0x13896108: \"Combo Finisher DMG IV+\",",
  "0x14082B75: \"修罗III+\",": "0x14082B75: \"Power Hungry III+\",",
  "0x1470F860: \"坚持\",": "0x1470F860: \"Steel Nerves\",",
  "0x147DA58B: \"极致真理+\",": "0x147DA58B: \"Founder's Truth+\",",
  "0x14C58BF1: \"极致谋略+\",": "0x14C58BF1: \"Founder's Strategy+\",",
  "0x151E4674: \"舵手的指引\",": "0x151E4674: \"Helmsman's Navigation\",",
  "0x1568E0E4: \"先发制人\",": "0x1568E0E4: \"Head Start\",",
  "0x16216FDD: \"激昂IV\",": "0x16216FDD: \"Uplift IV\",",
  "0x164E776A: \"刚健IV+\",": "0x164E776A: \"Stronghold IV+\",",
  "0x16EFF868: \"勇士的毅力\",": "0x16EFF868: \"Hero's Will\",",
  "0x1706DB6C: \"弱点攻击IV+\",": "0x1706DB6C: \"Weak Point DMG IV+\",",
  "0x1727E6B7: \"灾祸抗性V\",": "0x1727E6B7: \"Blight Resistance V\",",
  "0x1791546F: \"舵手的战气\",": "0x1791546F: \"Helmsman's Warpath\",",
  "0x17974BBA: \"热血II\",": "0x17974BBA: \"Stamina II\",",
  "0x17BE4841: \"能力伤害III+\",": "0x17BE4841: \"Skilled Assault III+\",",
  "0x17CE9A47: \"连击加成IV\",": "0x17CE9A47: \"Combo Booster IV\",",
  "0x190C656D: \"追击IV+\",": "0x190C656D: \"Supplementary DMG IV+\",",
  "0x197818B7: \"麻痹抗性IV\",": "0x197818B7: \"Paralysis Resistance IV\",",
  "0x19F0455D: \"协同攻击V\",": "0x19F0455D: \"Linked Together V\",",
  "0x1A225843: \"凝神V\",": "0x1A225843: \"Nimble Defense V\",",
  "0x1A57AEF1: \"斩姬之觉醒+\",": "0x1A57AEF1: \"Butterfly's Awakening+\",",
  "0x1A94123D: \"热血IV+\",": "0x1A94123D: \"Stamina IV+\",",
  "0x1ABADC4D: \"圣骑士的剑辉\",": "0x1ABADC4D: \"Holy Knight's Luster\",",
  "0x1AF3D4DC: \"蓄力强化\",": "0x1AF3D4DC: \"Steady Focus\",",
  "0x1B0D9897: \"钳蟹的报恩\",": "0x1B0D9897: \"Crabvestment Returns\",",
  "0x1BBE919C: \"老兵之觉醒+\",": "0x1BBE919C: \"Veteran's Awakening+\",",
  "0x1BF76D02: \"明镜止水\",": "0x1BF76D02: \"Nimble Onslaught\",",
  "0x1C1123CA: \"OVERDRIVE特效III+\",": "0x1C1123CA: \"Overdrive Assassin III+\",",
  "0x1C360C63: \"蓄力攻击\",": "0x1C360C63: \"Charged Attack DMG\",",
  "0x1C4D37E4: \"钳蟹的共鸣\",": "0x1C4D37E4: \"Crabby Resonance\",",
  "0x1CA872E7: \"蓄力攻击V+\",": "0x1CA872E7: \"Charged Attack V+\",",
  "0x1CD1D367: \"追击V+\",": "0x1CD1D367: \"Supplementary Damage V+\",",
  "0x1CEB58AA: \"刚健III\",": "0x1CEB58AA: \"Stronghold III\",",
  "0x1D3B007A: \"抗争V+\",": "0x1D3B007A: \"Precise Resilience V+\",",
  "0x1D409445: \"刀上舞V+\",": "0x1D409445: \"Glass Cannon V+\",",
  "0x1DC9D7E7: \"水牢抗性\",": "0x1DC9D7E7: \"Held Under Resistance\",",
  "0x1DF4D351: \"躲避仇火IV\",": "0x1DF4D351: \"Dodge Payback IV\",",
  "0x1E56FE99: \"昏厥II\",": "0x1E56FE99: \"Stun Power II\",",
  "0x1FC0C1A5: \"守护V+\",": "0x1FC0C1A5: \"Aegis V+\",",
  "0x2014714C: \"协同攻击\",": "0x2014714C: \"Linked Together\",",
  "0x2037A9ED: \"弱点攻击IV+\",": "0x2037A9ED: \"Weak Point DMG IV+\",",
  "0x207559B9: \"蓄力会心V+\",": "0x207559B9: \"Lucky Charge V+\",",
  "0x208AF595: \"躲避性能\",": "0x208AF595: \"Improved Dodge\",",
  "0x212B81F5: \"幽幻之应\",": "0x212B81F5: \"Phantasm's Concord\",",
  "0x21E10EB7: \"玫瑰缤纷+\",": "0x21E10EB7: \"Rose's Profusion+\",",
  "0x22319F27: \"不动II\",": "0x22319F27: \"Firm Stance II\",",
  "0x2242921F: \"麻痹抗性\",": "0x2242921F: \"Paralysis Resistance\",",
  "0x232147AD: \"身无长技IV+\",": "0x232147AD: \"Less Is More IV+\",",
  "0x237CAA21: \"水牢抗性\",": "0x237CAA21: \"Held Under Resistance\",",
  "0x23D0F67F: \"玫瑰早绽\",": "0x23D0F67F: \"Rose's Blooming\",",
  "0x24883AF3: \"药水携带数\",": "0x24883AF3: \"Potion Hoarder\",",
  "0x248C0116: \"昏迷抗性\",": "0x248C0116: \"Dizzy Resistance\",",
  "0x24ED29E6: \"格挡仇火IV\",": "0x24ED29E6: \"Guard Payback IV\",",
  "0x268CEDC5: \"怒涛IV\",": "0x268CEDC5: \"Cascade IV\",",
  "0x27C62352: \"泥沙抗性III\",": "0x27C62352: \"Sandtomb Resistance III\",",
  "0x28089A97: \"异能增长\",": "0x28089A97: \"Versalis Foundation\",",
  "0x281214AB: \"涯之二王+\",": "0x281214AB: \"Two-Crown Boundary+\",",
  "0x28A30205: \"连击收招III+\",": "0x28A30205: \"Combo Finisher DMG III+\",",
  "0x29B07BEB: \"斩姬梦幻\",": "0x29B07BEB: \"Butterfly's Grace\",",
  "0x29B292A8: \"抗争\",": "0x29B292A8: \"Precise Resilience\",",
  "0x29BE4772: \"泥沙抗性\",": "0x29BE4772: \"Sandtomb Resistance\",",
  "0x2A85A4C2: \"能力伤害V+\",": "0x2A85A4C2: \"Skilled Assault V+\",",
  "0x2B247EE4: \"HP吸收\",": "0x2B247EE4: \"Drain\",",
  "0x2B94D8D6: \"获得MSPIII\",": "0x2B94D8D6: \"Path to Mastery III\",",
  "0x2BDFBA94: \"昏迷抗性V\",": "0x2BDFBA94: \"Dizzy Resistance V\",",
  "0x2C958609: \"能力封印抗性\",": "0x2C958609: \"Skill Sealed Resistance\",",
  "0x2C95CEE8: \"OVERDRIVE特效II\",": "0x2C95CEE8: \"Overdrive Assassin II\",",
  "0x2CB6D0D9: \"刚健II\",": "0x2CB6D0D9: \"Stronghold II\",",
  "0x2CDC1FE0: \"迅捷能力V\",": "0x2CDC1FE0: \"Quick Cooldown V\",",
  "0x2D188557: \"修罗IV\",": "0x2D188557: \"Power Hungry IV\",",
  "0x2D2C99E9: \"坚持V\",": "0x2D2C99E9: \"Steel Nerves V\",",
  "0x2D637D25: \"穷寇心V\",": "0x2D637D25: \"Berserker V\",",
  "0x2D7F2E70: \"攻击力V+\",": "0x2D7F2E70: \"Attack Power V+\",",
  "0x2E65A774: \"勇士的信念\",": "0x2E65A774: \"Hero's Creed\",",
  "0x2F06AC30: \"躲避距离\",": "0x2F06AC30: \"Untouchable\",",
  "0x2F5ADAC6: \"身无长技II\",": "0x2F5ADAC6: \"Less Is More II\",",
  "0x2FC8FBFF: \"热血\",": "0x2FC8FBFF: \"Stamina\",",
  "0x2FD5965C: \"追击III+\",": "0x2FD5965C: \"Supplementary DMG III+\",",
  "0x30A3F2EA: \"守护者的骄傲+\",": "0x30A3F2EA: \"Guardian's Honor+\",",
  "0x311D9CB9: \"破防特效IV\",": "0x311D9CB9: \"Break Assassin IV\",",
  "0x318D12E9: \"迅捷能力\",": "0x318D12E9: \"Quick Cooldown\",",
  "0x31AFD43A: \"先发制人III+\",": "0x31AFD43A: \"Head Start III+\",",
  "0x31D241E4: \"暴击率III+\",": "0x31D241E4: \"Critical Hit Rate III+\",",
  "0x31F91FCF: \"屠龙者的才智\",": "0x31F91FCF: \"Dragonslayer's Ingenuity\",",
  "0x3332E18D: \"能力封印抗性V\",": "0x3332E18D: \"Skill Sealed Resistance V\",",
  "0x333E5862: \"骰子剑\",": "0x333E5862: \"Roll of the Die\",",
  "0x335B55D0: \"格挡仇火III+\",": "0x335B55D0: \"Guard Payback III+\",",
  "0x33C89F1C: \"先发制人V\",": "0x33C89F1C: \"Head Start V\",",
  "0x33F01810: \"英勇神速+\",": "0x33F01810: \"Fearless Drive+\",",
  "0x342143D7: \"OVERDRIVE特效III\",": "0x342143D7: \"Overdrive Assassin III\",",
  "0x34C77091: \"圣骑士的战气\",": "0x34C77091: \"Holy Knight's Warpath\",",
  "0x3559988C: \"奋不顾身V\",": "0x3559988C: \"Life on the Line V\",",
  "0x3564AA4D: \"奋不顾身III+\",": "0x3564AA4D: \"Life on the Line III+\",",
  "0x3572645C: \"修罗III+\",": "0x3572645C: \"Power Hungry III+\",",
  "0x35A14FC3: \"昏厥IV\",": "0x35A14FC3: \"Stun Power IV\",",
  "0x35A6BADD: \"背水IV\",": "0x35A6BADD: \"Enmity IV\",",
  "0x35ACCC3C: \"破防特效IV+\",": "0x35ACCC3C: \"Break Assassin IV+\",",
  "0x35BD0F81: \"背水III+\",": "0x35BD0F81: \"Enmity III+\",",
  "0x361D44C4: \"投掷III+\",": "0x361D44C4: \"Throw DMG III+\",",
  "0x3644EF2C: \"明镜止水III\",": "0x3644EF2C: \"Nimble Onslaught III\",",
  "0x364C8E19: \"躲避仇火III+\",": "0x364C8E19: \"Dodge Payback III+\",",
  "0x36F4B48A: \"暴击伤害III+\",": "0x36F4B48A: \"Critical Hit DMG III+\",",
  "0x3759A5B9: \"昏迷抗性\",": "0x3759A5B9: \"Dizzy Resistance\",",
  "0x37B0783C: \"剑圣的闪刃\",": "0x37B0783C: \"Spirit Edge's Fury\",",
  "0x37E83548: \"守护IV\",": "0x37E83548: \"Aegis IV\",",
  "0x380A3CA8: \"英勇灵气+\",": "0x380A3CA8: \"Fearless Spirit+\",",
  "0x381BBE64: \"坚守V+\",": "0x381BBE64: \"Garrison V+\",",
  "0x38A9CADF: \"豪胆III\",": "0x38A9CADF: \"Guts III\",",
  "0x38DE81D2: \"魔法师的伶俐\",": "0x38DE81D2: \"Mage's Savvy\",",
  "0x390175E7: \"灼热抗性\",": "0x390175E7: \"Burn Resistance\",",
  "0x3973C1C4: \"OVERDRIVE特效V+\",": "0x3973C1C4: \"Overdrive Assassin V+\",",
  "0x3976136F: \"身无长技III+\",": "0x3976136F: \"Less Is More III+\",",
  "0x397A3150: \"攻击DOWN抗性III\",": "0x397A3150: \"Attack Down Resistance III\",",
  "0x39A38B2C: \"缓速抗性III\",": "0x39A38B2C: \"Slow Resistance III\",",
  "0x39B62087: \"勇士的毅力\",": "0x39B62087: \"Hero's Will\",",
  "0x39BEA99B: \"昏厥V+\",": "0x39BEA99B: \"Stun Power V+\",",
  "0x3B03DC0F: \"刀上舞III\",": "0x3B03DC0F: \"Glass Cannon III\",",
  "0x3B48E4E7: \"集中炮火V\",": "0x3B48E4E7: \"Concentrated Fire V\",",
  "0x3BCA3FD5: \"异能耐受IV\",": "0x3BCA3FD5: \"Darkflame Resistance IV\",",
  "0x3BDBE4B0: \"魔法师的心愿\",": "0x3BDBE4B0: \"Mage's Aspiration\",",
  "0x3BFED918: \"守护者的决心\",": "0x3BFED918: \"Guardian's Conviction\",",
  "0x3C2B57B0: \"格挡仇火\",": "0x3C2B57B0: \"Guard Payback\",",
  "0x3C4E2FCF: \"暴击率III+\",": "0x3C4E2FCF: \"Critical Hit Rate III+\",",
  "0x3D5E4678: \"魔眼的万箭\",": "0x3D5E4678: \"Dark Huntress's Volley\",",
  "0x3D8D9109: \"勇士的战气\",": "0x3D8D9109: \"Hero's Warpath\",",
  "0x3D9B8E6F: \"攻击力II\",": "0x3D9B8E6F: \"ATK II\",",
  "0x3DC4D818: \"灼热抗性IV\",": "0x3DC4D818: \"Burn Resistance IV\",",
  "0x3EDD4C1F: \"自愈III\",": "0x3EDD4C1F: \"Regen III\",",
  "0x3F2C482E: \"弱化效果延长\",": "0x3F2C482E: \"Supplements\",",
  "0x3F45DBDC: \"昏迷抗性III\",": "0x3F45DBDC: \"Dizzy Resistance III\",",
  "0x3F488339: \"背水\",": "0x3F488339: \"Enmity\",",
  "0x3F5E8FD8: \"追击III+\",": "0x3F5E8FD8: \"Supplementary DMG III+\",",
  "0x3F8FC674: \"防御DOWN抗性\",": "0x3F8FC674: \"Defense Down Resistance\",",
  "0x3FEC5F80: \"协同攻击\",": "0x3FEC5F80: \"Linked Together\",",
  "0x40223C28: \"浩劫\",": "0x40223C28: \"Catastrophe\",",
  "0x40738CDD: \"幽幻的战气\",": "0x40738CDD: \"Phantasm's Warpath\",",
  "0x408CC3B5: \"奋不顾身V+\",": "0x408CC3B5: \"Life on the Line V+\",",
  "0x42BB0C1C: \"追击V\",": "0x42BB0C1C: \"Supplementary DMG V\",",
  "0x430DF884: \"蓄力会心\",": "0x430DF884: \"Lucky Charge\",",
  "0x430FB951: \"暴击率II\",": "0x430FB951: \"Critical Hit Rate II\",",
  "0x4365B3FF: \"怒发冲冠II\",": "0x4365B3FF: \"Precise Wrath II\",",
  "0x439A2D9C: \"集中炮火III+\",": "0x439A2D9C: \"Concentrated Fire III+\",",
  "0x43DDE5DD: \"涯之二王+\",": "0x43DDE5DD: \"Two-Crown Boundary+\",",
  "0x4438676E: \"γ秘纹+\",": "0x4438676E: \"Gamma+\",",
  "0x44D48479: \"真红翔舞+\",": "0x44D48479: \"Crimson's Flight+\",",
  "0x450B862C: \"屠龙者的战气\",": "0x450B862C: \"Dragonslayer's Warpath\",",
  "0x45140AE4: \"刀上舞III+\",": "0x45140AE4: \"Glass Cannon III+\",",
  "0x451D814C: \"古今无双的强者\",": "0x451D814C: \"Eternal Rage's Ethos\",",
  "0x459DD2C2: \"暴击率V+\",": "0x459DD2C2: \"Critical Hit Rate V+\",",
  "0x45B43024: \"背水II\",": "0x45B43024: \"Enmity II\",",
  "0x462782D5: \"王者行进\",": "0x462782D5: \"Lord's Procession\",",
  "0x462B27D3: \"暴君IV+\",": "0x462B27D3: \"Tyranny IV+\",",
  "0x46ABA3C0: \"怒发冲冠V\",": "0x46ABA3C0: \"Precise Wrath V\",",
  "0x47B00599: \"冰冻抗性IV\",": "0x47B00599: \"Glaciate Resistance IV\",",
  "0x47DA8C35: \"明镜止水II\",": "0x47DA8C35: \"Nimble Onslaught II\",",
  "0x4823BBB3: \"自愈II\",": "0x4823BBB3: \"Regen II\",",
  "0x4840C322: \"蓄力攻击IV\",": "0x4840C322: \"Charged Attack DMG IV\",",
  "0x48A95B8D: \"金刚\",": "0x48A95B8D: \"Greater Aegis\",",
  "0x49651C89: \"变幻自如的妖剑士+\",": "0x49651C89: \"Swordmaster's Art+\",",
  "0x4971E8FB: \"刀上舞V+\",": "0x4971E8FB: \"Glass Cannon V+\",",
  "0x49745934: \"躲避距离+\",": "0x49745934: \"Untouchable+\",",
  "0x4A336D1E: \"凝神III\",": "0x4A336D1E: \"Nimble Defense III\",",
  "0x4A36B37F: \"抗争IV\",": "0x4A36B37F: \"Precise Resilience IV\",",
  "0x4A39DC7D: \"中毒抗性IV\",": "0x4A39DC7D: \"Poison Resistance IV\",",
  "0x4B754D3A: \"能力伤害\",": "0x4B754D3A: \"Skilled Assault\",",
  "0x4B98F53A: \"守护III\",": "0x4B98F53A: \"Aegis III\",",
  "0x4BA4E4AC: \"热血V+\",": "0x4BA4E4AC: \"Stamina V+\",",
  "0x4BF2E191: \"攻击DOWN抗性\",": "0x4BF2E191: \"Attack Down Resistance\",",
  "0x4C588C27: \"属性克制转换\",": "0x4C588C27: \"War Elemental\",",
  "0x4C6AD990: \"真红烈焰\",": "0x4C6AD990: \"Crimson's Clout\",",
  "0x4C942ED5: \"躲避仇火\",": "0x4C942ED5: \"Dodge Payback\",",
  "0x4CC406CA: \"挑衅IV\",": "0x4CC406CA: \"Provoke IV\",",
  "0x4CC5031D: \"异能耐受V\",": "0x4CC5031D: \"Darkflame Resistance V\",",
  "0x4D7C8632: \"王者的战气\",": "0x4D7C8632: \"Lord's Warpath\",",
  "0x4D962F18: \"防御DOWN抗性III\",": "0x4D962F18: \"Defense Down Resistance III\",",
  "0x4DB1FDC1: \"格挡仇火V+\",": "0x4DB1FDC1: \"Guard Payback V+\",",
  "0x4E4911FA: \"挑衅V\",": "0x4E4911FA: \"Provoke V\",",
  "0x4E988D4F: \"伤害上限II\",": "0x4E988D4F: \"DMG Cap II\",",
  "0x4EBAA02A: \"冰冻抗性III\",": "0x4EBAA02A: \"Glaciate Resistance III\",",
  "0x4F01D6CA: \"真红之觉醒+\",": "0x4F01D6CA: \"Crimson's Awakening+\",",
  "0x4F135217: \"真红的战气\",": "0x4F135217: \"Crimson's Warpath\",",
  "0x4F1A3683: \"弱化状态特效\",": "0x4F1A3683: \"Injury to Insult\",",
  "0x4F37BE70: \"激昂\",": "0x4F37BE70: \"Uplift\",",
  "0x4F500FBF: \"迅捷能力III\",": "0x4F500FBF: \"Quick Cooldown III\",",
  "0x4FFE62E5: \"暴君III+\",": "0x4FFE62E5: \"Tyranny III+\",",
  "0x50079A1C: \"攻击力\",": "0x50079A1C: \"ATK\",",
  "0x50B05700: \"匿踪V\",": "0x50B05700: \"Low Profile V\",",
  "0x50B453DD: \"能力封印抗性\",": "0x50B453DD: \"Skill Sealed Resistance\",",
  "0x5144FE4D: \"破防特效V+\",": "0x5144FE4D: \"Break Assassin V+\",",
  "0x522004AB: \"守护者的决心+\",": "0x522004AB: \"Guardian's Conviction+\",",
  "0x522C13B8: \"格挡仇火V+\",": "0x522C13B8: \"Guard Payback V+\",",
  "0x522E2388: \"圣骑士的威光\",": "0x522E2388: \"Holy Knight's Grandeur\",",
  "0x524DE21C: \"剑圣的练气\",": "0x524DE21C: \"Spirit Edge's Rally\",",
  "0x52A6E299: \"英勇之魂+\",": "0x52A6E299: \"Fearless Soul+\",",
  "0x52BD3102: \"奋不顾身IV+\",": "0x52BD3102: \"Life on the Line IV+\",",
  "0x533D337B: \"身无长技V+\",": "0x533D337B: \"Less Is More V+\",",
  "0x534B93C2: \"背水III+\",": "0x534B93C2: \"Enmity III+\",",
  "0x5463232F: \"古今无双的气概\",": "0x5463232F: \"Eternal Rage's Mettle\",",
  "0x54CEFD1C: \"背水\",": "0x54CEFD1C: \"Enmity\",",
  "0x54D62FDF: \"身无长技IV\",": "0x54D62FDF: \"Less Is More IV\",",
  "0x54D8EA04: \"伤害上限V+\",": "0x54D8EA04: \"Damage Cap V+\",",
  "0x5608EF7E: \"身无长技III\",": "0x5608EF7E: \"Less Is More III\",",
  "0x5670AECA: \"奋不顾身IV+\",": "0x5670AECA: \"Life on the Line IV+\",",
  "0x56881C69: \"白龙的誓约\",": "0x56881C69: \"White Dragon's Oath\",",
  "0x56A668B1: \"修炼甘露\",": "0x56A668B1: \"Gilding Vigor\",",
  "0x57AB5B10: \"追击\",": "0x57AB5B10: \"Supplementary DMG\",",
  "0x57B6D9A5: \"奥义封印抗性IV\",": "0x57B6D9A5: \"SBA Sealed Resistance IV\",",
  "0x57D2CAF2: \"穷寇心III+\",": "0x57D2CAF2: \"Berserker III+\",",
  "0x57E8A93F: \"因子强化\",": "0x57E8A93F: \"Sigil Booster\",",
  "0x583CF40F: \"变幻自如的迅刃\",": "0x583CF40F: \"Swordmaster's Prowess\",",
  "0x58F63427: \"豪胆\",": "0x58F63427: \"Guts\",",
  "0x58FFAEAA: \"体力III\",": "0x58FFAEAA: \"HP III\",",
  "0x590C19C8: \"冥暗的战气\",": "0x590C19C8: \"Ebony's Warpath\",",
  "0x59E5335B: \"协同攻击V+\",": "0x59E5335B: \"Linked Together V+\",",
  "0x5B939637: \"防御DOWN抗性IV\",": "0x5B939637: \"Defense Down Resistance IV\",",
  "0x5C19BBB0: \"中毒抗性V\",": "0x5C19BBB0: \"Poison Resistance V\",",
  "0x5C569745: \"修罗IV+\",": "0x5C569745: \"Power Hungry IV+\",",
  "0x5C862E13: \"γ秘纹\",": "0x5C862E13: \"Gamma\",",
  "0x5DCC1F70: \"昏厥III+\",": "0x5DCC1F70: \"Stun Power III+\",",
  "0x5E422AE5: \"获得MSP\",": "0x5E422AE5: \"Path to Mastery\",",
  "0x5E7EEEC4: \"体力V\",": "0x5E7EEEC4: \"HP V\",",
  "0x5EB282C6: \"自动复活V\",": "0x5EB282C6: \"Autorevive V\",",
  "0x5F117445: \"暴击伤害IV+\",": "0x5F117445: \"Critical Hit DMG IV+\",",
  "0x5F988136: \"抗争IV+\",": "0x5F988136: \"Precise Resilience IV+\",",
  "0x5FAA08E3: \"斩姬梦幻\",": "0x5FAA08E3: \"Butterfly's Grace\",",
  "0x5FB842E4: \"极致的战气\",": "0x5FB842E4: \"Founder's Warpath\",",
  "0x6018372B: \"挑衅\",": "0x6018372B: \"Provoke\",",
  "0x6056E1C7: \"弱点攻击IV\",": "0x6056E1C7: \"Weak Point DMG IV\",",
  "0x60571189: \"躲避仇火V+\",": "0x60571189: \"Dodge Payback V+\",",
  "0x6085DA25: \"自愈\",": "0x6085DA25: \"Regen\",",
  "0x60BD40A1: \"修罗V+\",": "0x60BD40A1: \"Power Hungry V+\",",
  "0x60CABDDB: \"能力封印抗性II\",": "0x60CABDDB: \"Skill Sealed Resistance II\",",
  "0x6130D327: \"守护II\",": "0x6130D327: \"Aegis II\",",
  "0x6151F5F6: \"刀上舞IV+\",": "0x6151F5F6: \"Glass Cannon IV+\",",
  "0x621A2A97: \"守护者的战气\",": "0x621A2A97: \"Guardian's Warpath\",",
  "0x628DD0DF: \"集中炮火\",": "0x628DD0DF: \"Concentrated Fire\",",
  "0x62FED4F1: \"缓速抗性IV\",": "0x62FED4F1: \"Slow Resistance IV\",",
  "0x630DE5DD: \"暴击伤害V+\",": "0x630DE5DD: \"Critical Damage V+\",",
  "0x6316CBEB: \"白龙的战气\",": "0x6316CBEB: \"White Dragon's Warpath\",",
  "0x645ACEE5: \"变幻自如的妖剑士\",": "0x645ACEE5: \"Swordmaster's Art\",",
  "0x64D63823: \"老兵的智慧+\",": "0x64D63823: \"Veteran's Insight+\",",
  "0x65150A03: \"自动复活\",": "0x65150A03: \"Autorevive\",",
  "0x6674C639: \"真红的战气\",": "0x6674C639: \"Crimson's Warpath\",",
  "0x66DE60B1: \"防御DOWN抗性\",": "0x66DE60B1: \"Defense Down Resistance\",",
  "0x673C5D8F: \"勇士之觉醒+\",": "0x673C5D8F: \"Hero's Awakening+\",",
  "0x6786CF44: \"蓄力会心III\",": "0x6786CF44: \"Lucky Charge III\",",
  "0x67C1E5E3: \"剑圣的战气\",": "0x67C1E5E3: \"Spirit Edge's Warpath\",",
  "0x687B928E: \"药水携带数\",": "0x687B928E: \"Potion Hoarder\",",
  "0x68B1E888: \"热血V\",": "0x68B1E888: \"Stamina V\",",
  "0x68D0507A: \"协同攻击III+\",": "0x68D0507A: \"Linked Together III+\",",
  "0x692276E2: \"获得经验值II\",": "0x692276E2: \"Fast Learner II\",",
  "0x695EBC2E: \"快速蓄力III+\",": "0x695EBC2E: \"Quick Charge III+\",",
  "0x696226BB: \"冥暗刚刃\",": "0x696226BB: \"Ebony Presence\",",
  "0x69BF4AAC: \"投掷II\",": "0x69BF4AAC: \"Throw DMG II\",",
  "0x6A3B2653: \"连击加成V+\",": "0x6A3B2653: \"Combo Booster V+\",",
  "0x6AB4974C: \"获得金币IV\",": "0x6AB4974C: \"Rupie Tycoon IV\",",
  "0x6B59242A: \"万能药\",": "0x6B59242A: \"Potent Greens\",",
  "0x6B694D6D: \"弱点攻击\",": "0x6B694D6D: \"Weak Point DMG\",",
  "0x6BA991CD: \"获得经验值\",": "0x6BA991CD: \"Fast Learner\",",
  "0x6BB655F1: \"灾祸抗性IV\",": "0x6BB655F1: \"Blight Resistance IV\",",
  "0x6C85983C: \"刚健V+\",": "0x6C85983C: \"Stronghold V+\",",
  "0x6CCA1FF7: \"古今无双的强者+\",": "0x6CCA1FF7: \"Eternal Rage's Ethos+\",",
  "0x6D18E7DC: \"舵手的坚持\",": "0x6D18E7DC: \"Helmsman's Tenacity\",",
  "0x6EBFA176: \"真红烈焰\",": "0x6EBFA176: \"Crimson's Clout\",",
  "0x6EC9D6BB: \"蓄力会心IV+\",": "0x6EC9D6BB: \"Lucky Charge IV+\",",
  "0x6F2CF65F: \"OVERDRIVE特效\",": "0x6F2CF65F: \"Overdrive Assassin\",",
  "0x6F4749AD: \"先发制人IV\",": "0x6F4749AD: \"Head Start IV\",",
  "0x6FF05223: \"王者一心\",": "0x6FF05223: \"Lord's Ambition\",",
  "0x70336D00: \"迅捷能力\",": "0x70336D00: \"Quick Cooldown\",",
  "0x70361EF1: \"真红翔舞\",": "0x70361EF1: \"Crimson's Flight\",",
  "0x70395731: \"穷寇心\",": "0x70395731: \"Berserker\",",
  "0x70F6AE03: \"破防特效II\",": "0x70F6AE03: \"Break Assassin II\",",
  "0x7173B93F: \"快速蓄力V+\",": "0x7173B93F: \"Quick Charge V+\",",
  "0x718F62F7: \"格挡仇火IV+\",": "0x718F62F7: \"Guard Payback IV+\",",
  "0x71F11A9B: \"暴君\",": "0x71F11A9B: \"Tyranny\",",
  "0x71FF966A: \"连击加成III+\",": "0x71FF966A: \"Combo Booster III+\",",
  "0x72304799: \"玫瑰缤纷\",": "0x72304799: \"Rose's Profusion\",",
  "0x72466F3C: \"奋不顾身III+\",": "0x72466F3C: \"Life on the Line III+\",",
  "0x72735A07: \"暴君V\",": "0x72735A07: \"Tyranny V\",",
  "0x728BDA66: \"自愈\",": "0x728BDA66: \"Regen\",",
  "0x72946A51: \"能力封印抗性IV\",": "0x72946A51: \"Skill Sealed Resistance IV\",",
  "0x72CBA710: \"泥沙抗性V\",": "0x72CBA710: \"Sandtomb Resistance V\",",
  "0x72D83138: \"身无长技III+\",": "0x72D83138: \"Less Is More III+\",",
  "0x7351D602: \"幽幻之应\",": "0x7351D602: \"Phantasm's Concord\",",
  "0x735769A7: \"迅捷能力II\",": "0x735769A7: \"Quick Cooldown II\",",
  "0x73E5554F: \"坚守\",": "0x73E5554F: \"Garrison\",",
  "0x7428DF74: \"穷寇心III+\",": "0x7428DF74: \"Berserker III+\",",
  "0x7440E869: \"冥暗刚刃\",": "0x7440E869: \"Ebony Presence\",",
  "0x7461BD6D: \"获得MSPII\",": "0x7461BD6D: \"Path to Mastery II\",",
  "0x74AA75D6: \"刚健\",": "0x74AA75D6: \"Stronghold\",",
  "0x751228A2: \"热血III\",": "0x751228A2: \"Stamina III\",",
  "0x75183BFD: \"刀上舞\",": "0x75183BFD: \"Glass Cannon\",",
  "0x753ECF9D: \"王者一心\",": "0x753ECF9D: \"Lord's Ambition\",",
  "0x7562F00A: \"热血IV+\",": "0x7562F00A: \"Stamina IV+\",",
  "0x758D5322: \"先发制人\",": "0x758D5322: \"Head Start\",",
  "0x75B8DAD7: \"蓄力强化II\",": "0x75B8DAD7: \"Steady Focus II\",",
  "0x75FE50E5: \"弱化状态特效IV+\",": "0x75FE50E5: \"Injury to Insult IV+\",",
  "0x7653B159: \"斩姬武艺\",": "0x7653B159: \"Butterfly's Valor\",",
  "0x76710852: \"挑衅II\",": "0x76710852: \"Provoke II\",",
  "0x76C7EB69: \"格挡性能II\",": "0x76C7EB69: \"Improved Guard II\",",
  "0x772601D4: \"追击II\",": "0x772601D4: \"Supplementary DMG II\",",
  "0x7739FEBD: \"老兵的天眼\",": "0x7739FEBD: \"Veteran's Vision\",",
  "0x77802303: \"奋不顾身V+\",": "0x77802303: \"Life on the Line V+\",",
  "0x77803875: \"投掷III\",": "0x77803875: \"Throw DMG III\",",
  "0x77C809F5: \"剑圣的练气\",": "0x77C809F5: \"Spirit Edge's Rally\",",
  "0x7885354A: \"匿踪II\",": "0x7885354A: \"Low Profile II\",",
  "0x78B9F5AB: \"追击IV+\",": "0x78B9F5AB: \"Supplementary DMG IV+\",",
  "0x78C6F203: \"灾祸抗性\",": "0x78C6F203: \"Blight Resistance\",",
  "0x791DA8ED: \"昏厥V+\",": "0x791DA8ED: \"Stun Power V+\",",
  "0x793CFAC5: \"弱点攻击\",": "0x793CFAC5: \"Weak Point DMG\",",
  "0x79D7536F: \"回复性能III\",": "0x79D7536F: \"Improved Healing III\",",
  "0x79F4FD3E: \"暴君\",": "0x79F4FD3E: \"Tyranny\",",
  "0x7A74E84C: \"刚健IV+\",": "0x7A74E84C: \"Stronghold IV+\",",
  "0x7AA335B6: \"连击加成V\",": "0x7AA335B6: \"Combo Booster V\",",
  "0x7AD0C010: \"异能战意\",": "0x7AD0C010: \"Versalis Ignition\",",
  "0x7AEBEF91: \"投掷\",": "0x7AEBEF91: \"Throw DMG\",",
  "0x7B4FC47A: \"剑圣的战气\",": "0x7B4FC47A: \"Spirit Edge's Warpath\",",
  "0x7B8C3E06: \"刀上舞IV\",": "0x7B8C3E06: \"Glass Cannon IV\",",
  "0x7C2E4D64: \"躲避仇火\",": "0x7C2E4D64: \"Dodge Payback\",",
  "0x7C7EC053: \"老兵的战气\",": "0x7C7EC053: \"Veteran's Warpath\",",
  "0x7C84A6B3: \"灼热抗性\",": "0x7C84A6B3: \"Burn Resistance\",",
  "0x7C8580CA: \"圣骑士的威光+\",": "0x7C8580CA: \"Holy Knight's Grandeur+\",",
  "0x7CCFF74F: \"HP吸收\",": "0x7CCFF74F: \"Drain\",",
  "0x7D318FF7: \"古今无双的气概+\",": "0x7D318FF7: \"Eternal Rage's Mettle+\",",
  "0x7D5C5A42: \"攻击DOWN抗性\",": "0x7D5C5A42: \"Attack Down Resistance\",",
  "0x7D8FF2EE: \"蓄力强化III\",": "0x7D8FF2EE: \"Steady Focus III\",",
  "0x7DEA157B: \"药水携带数V\",": "0x7DEA157B: \"Potion Hoarder V\",",
  "0x7E0D082A: \"防御DOWN抗性II\",": "0x7E0D082A: \"Defense Down Resistance II\",",
  "0x7E76F58D: \"挑衅III\",": "0x7E76F58D: \"Provoke III\",",
  "0x7EDD69D0: \"怒发冲冠\",": "0x7EDD69D0: \"Precise Wrath\",",
  "0x7EFA8C0D: \"暴击伤害III+\",": "0x7EFA8C0D: \"Critical Hit DMG III+\",",
  "0x7F5DDA19: \"昏厥IV+\",": "0x7F5DDA19: \"Stun Power IV+\",",
  "0x7F7E82AB: \"白龙的荣耀\",": "0x7F7E82AB: \"White Dragon's Glory\",",
  "0x7FB3E3D5: \"灾祸抗性III\",": "0x7FB3E3D5: \"Blight Resistance III\",",
  "0x803F64BD: \"冥暗自若\",": "0x803F64BD: \"Ebony's Poise\",",
  "0x80A6DD30: \"修罗\",": "0x80A6DD30: \"Power Hungry\",",
  "0x80CCCD83: \"极致真理\",": "0x80CCCD83: \"Founder's Truth\",",
  "0xB0DC0FB8: \"不动V\",": "0xB1CCC211: \"Firm Stance V\",",
  "0x811D8A6A: \"蓄力会心III+\",": "0x811D8A6A: \"Lucky Charge III+\",",
  "0x81742849: \"刚健IV\",": "0x81742849: \"Stronghold IV\",",
  "0x81B293D9: \"魔眼的战气\",": "0x81B293D9: \"Dark Huntress's Warpath\",",
  "0x81CB6C6B: \"明镜止水IV\",": "0x81CB6C6B: \"Nimble Onslaught IV\",",
  "0x8224E6E0: \"蓄力会心V+\",": "0x8224E6E0: \"Lucky Charge V+\",",
  "0x8230B722: \"集中炮火III+\",": "0x8230B722: \"Concentrated Fire III+\",",
  "0x82677AAA: \"防御DOWN抗性V\",": "0x82677AAA: \"Defense Down Resistance V\",",
  "0x82903E7E: \"连击加成IV+\",": "0x82903E7E: \"Combo Booster IV+\",",
  "0x829EE87B: \"协同攻击II\",": "0x829EE87B: \"Linked Together II\",",
  "0x82B300F5: \"获得MSPV\",": "0x82B300F5: \"Path to Mastery V\",",
  "0x82CE278D: \"身无长技\",": "0x82CE278D: \"Less Is More\",",
  "0x82CEA35A: \"暴击率\",": "0x82CEA35A: \"Critical Hit Rate\",",
  "0x83E5006E: \"穷寇心V+\",": "0x83E5006E: \"Berserker V+\",",
  "0x84078CB0: \"快速蓄力\",": "0x84078CB0: \"Quick Charge\",",
  "0x842ABBEB: \"投掷IV\",": "0x842ABBEB: \"Throw DMG IV\",",
  "0x843070E7: \"古今无双的战气\",": "0x843070E7: \"Eternal Rage's Warpath\",",
  "0x8456B1A3: \"躲避仇火V\",": "0x8456B1A3: \"Dodge Payback V\",",
  "0x8519AD4A: \"玫瑰的战气\",": "0x8519AD4A: \"Rose's Warpath\",",
  "0x855E7713: \"异能战意\",": "0x855E7713: \"Versalis Ignition\",",
  "0x8572B8AF: \"魔眼的凛翔\",": "0x8572B8AF: \"Dark Huntress's Surge\",",
  "0x85D7B335: \"白龙的誓约+\",": "0x85D7B335: \"White Dragon's Oath+\",",
  "0x867EFFED: \"攻击力III+\",": "0x867EFFED: \"ATK III+\",",
  "0x86CBCDC4: \"屠龙者的威猛\",": "0x86CBCDC4: \"Dragonslayer's Dominance\",",
  "0x872D3AF9: \"魔眼的凛翔\",": "0x872D3AF9: \"Dark Huntress's Surge\",",
  "0x883380D4: \"激昂V\",": "0x883380D4: \"Uplift V\",",
  "0x8856F755: \"快速蓄力II\",": "0x8856F755: \"Quick Charge II\",",
  "0x887AE0B0: \"无\",": "0x887AE0B0: \"None\",",
  "0x89CA4DB0: \"体力IV+\",": "0x89CA4DB0: \"HP IV+\",",
  "0x8A108211: \"穷寇心II\",": "0x8A108211: \"Berserker II\",",
  "0x8A3DCAB1: \"热血III+\",": "0x8A3DCAB1: \"Stamina III+\",",
  "0x8A967A6E: \"连击收招V+\",": "0x8A967A6E: \"Combo Finisher V+\",",
  "0x8A9F7374: \"穷寇心III\",": "0x8A9F7374: \"Berserker III\",",
  "0x8B3BF60C: \"躲避性能\",": "0x8B3BF60C: \"Improved Dodge\",",
  "0x8B647510: \"暴击率IV+\",": "0x8B647510: \"Critical Hit Rate IV+\",",
  "0x8B66775A: \"格挡仇火III\",": "0x8B66775A: \"Guard Payback III\",",
  "0x8CA7D9C1: \"投掷V+\",": "0x8CA7D9C1: \"Throw V+\",",
  "0x8CDF9382: \"白龙的誓约\",": "0x8CDF9382: \"White Dragon's Oath\",",
  "0x8D078597: \"投掷\",": "0x8D078597: \"Throw DMG\",",
  "0x8D2ADB6E: \"β秘纹\",": "0x8D2ADB6E: \"Beta\",",
  "0x8D639E0C: \"获得金币II\",": "0x8D639E0C: \"Rupie Tycoon II\",",
  "0x8D78A19B: \"暴击率\",": "0x8D78A19B: \"Critical Hit Rate\",",
  "0x8DBF201A: \"体力III+\",": "0x8DBF201A: \"HP III+\",",
  "0x8E3F1EC7: \"先发制人II\",": "0x8E3F1EC7: \"Head Start II\",",
  "0x8E5B056B: \"蓄力会心IV\",": "0x8E5B056B: \"Lucky Charge IV\",",
  "0x8F0329FC: \"蓄力攻击III+\",": "0x8F0329FC: \"Charged Attack DMG III+\",",
  "0x8F1B4DC4: \"集中炮火IV\",": "0x8F1B4DC4: \"Concentrated Fire IV\",",
  "0x8F502F0D: \"奋不顾身\",": "0x8F502F0D: \"Life on the Line\",",
  "0x905C6D7F: \"连击加成\",": "0x905C6D7F: \"Combo Booster\",",
  "0x909A3AEB: \"暴君II\",": "0x909A3AEB: \"Tyranny II\",",
  "0x90FBB4BF: \"自动复活II\",": "0x90FBB4BF: \"Autorevive II\",",
  "0x91196499: \"不动\",": "0x91196499: \"Firm Stance\",",
  "0x9172D000: \"体力III+\",": "0x9172D000: \"HP III+\",",
  "0x91956B39: \"快速蓄力V+\",": "0x91956B39: \"Quick Charge V+\",",
  "0x9196A989: \"快速蓄力IV+\",": "0x9196A989: \"Quick Charge IV+\",",
  "0x91CC46C0: \"连击加成II\",": "0x91CC46C0: \"Combo Booster II\",",
  "0x921B6B0C: \"老兵的天眼\",": "0x921B6B0C: \"Veteran's Vision\",",
  "0x921BB96E: \"体力IV\",": "0x921BB96E: \"HP IV\",",
  "0x921D90D8: \"α秘纹+\",": "0x921D90D8: \"Alpha+\",",
  "0x922804EF: \"攻击力IV+\",": "0x922804EF: \"ATK IV+\",",
  "0x9230E3F5: \"剑圣的闪刃\",": "0x9230E3F5: \"Spirit Edge's Fury\",",
  "0x92B2D85F: \"挑衅\",": "0x92B2D85F: \"Provoke\",",
  "0x936DFE00: \"英勇灵气\",": "0x936DFE00: \"Fearless Spirit\",",
  "0x9389CC06: \"回复性能\",": "0x9389CC06: \"Improved Healing\",",
  "0x93A2093C: \"异能增长\",": "0x93A2093C: \"Versalis Foundation\",",
  "0x93D9774F: \"蓄力攻击II\",": "0x93D9774F: \"Charged Attack DMG II\",",
  "0x946481A5: \"坚守IV\",": "0x946481A5: \"Garrison IV\",",
  "0x94B33570: \"奥义封印抗性II\",": "0x94B33570: \"SBA Sealed Resistance II\",",
  "0x94C2D5B3: \"修罗III\",": "0x94C2D5B3: \"Power Hungry III\",",
  "0x94F7053C: \"弱点攻击III+\",": "0x94F7053C: \"Weak Point DMG III+\",",
  "0x958588F6: \"不动IV\",": "0x958588F6: \"Firm Stance IV\",",
  "0x95858B63: \"攻击力\",": "0x95858B63: \"ATK\",",
  "0x959C926E: \"身无长技V\",": "0x959C926E: \"Less Is More V\",",
  "0x95A41365: \"蓄力攻击III+\",": "0x95A41365: \"Charged Attack DMG III+\",",
  "0x95F3FA86: \"自动复活\",": "0x95F3FA86: \"Autorevive\",",
  "0x961B274C: \"暴击率IV+\",": "0x961B274C: \"Critical Hit Rate IV+\",",
  "0x96434C8D: \"中毒抗性II\",": "0x96434C8D: \"Poison Resistance II\",",
  "0x9673ABB9: \"药水携带数IV\",": "0x9673ABB9: \"Potion Hoarder IV\",",
  "0x9702860F: \"灾祸抗性\",": "0x9702860F: \"Blight Resistance\",",
  "0x973B49AF: \"中毒抗性\",": "0x973B49AF: \"Poison Resistance\",",
  "0x978255EF: \"格挡性能\",": "0x978255EF: \"Improved Guard\",",
  "0x9814E19B: \"投掷III+\",": "0x9814E19B: \"Throw DMG III+\",",
  "0x9851FD38: \"躲避仇火IV+\",": "0x9851FD38: \"Dodge Payback IV+\",",
  "0x987968DF: \"弱化状态特效II\",": "0x987968DF: \"Injury to Insult II\",",
  "0x989216CB: \"能力伤害II\",": "0x989216CB: \"Skilled Assault II\",",
  "0x98A6D249: \"舵手之觉醒+\",": "0x98A6D249: \"Helmsman's Awakening+\",",
  "0x98AEB873: \"OVERDRIVE特效IV+\",": "0x98AEB873: \"Overdrive Assassin IV+\",",
  "0x98C33860: \"异能耐受III\",": "0x98C33860: \"Darkflame Resistance III\",",
  "0x98DFFCA0: \"攻击力IV+\",": "0x98DFFCA0: \"ATK IV+\",",
  "0x98E88FDF: \"能力封印抗性III\",": "0x98E88FDF: \"Skill Sealed Resistance III\",",
  "0x99A4B2A7: \"获得金币\",": "0x99A4B2A7: \"Rupie Tycoon\",",
  "0x99C83B77: \"异能耐受II\",": "0x99C83B77: \"Darkflame Resistance II\",",
  "0x9A341899: \"获得MSP\",": "0x9A341899: \"Path to Mastery\",",
  "0x9A59F1EC: \"穷寇心\",": "0x9A59F1EC: \"Berserker\",",
  "0x9A753E01: \"蓄力会心V\",": "0x9A753E01: \"Lucky Charge V\",",
  "0x9A9DC170: \"圣骑士的剑辉\",": "0x9A9DC170: \"Holy Knight's Luster\",",
  "0x9ADA3E00: \"守护者之觉醒+\",": "0x9ADA3E00: \"Guardian's Awakening+\",",
  "0x9AFDFA9E: \"守护者的战气\",": "0x9AFDFA9E: \"Guardian's Warpath\",",
  "0x9B2B4B8F: \"英勇之心\",": "0x9B2B4B8F: \"Fearless Heart\",",
  "0x9BD1CC24: \"玫瑰之觉醒+\",": "0x9BD1CC24: \"Rose's Awakening+\",",
  "0x9C2399DA: \"奋不顾身IV+\",": "0x9C2399DA: \"Life on the Line IV+\",",
  "0x9CB98CC1: \"坚守III\",": "0x9CB98CC1: \"Garrison III\",",
  "0x9D3093AE: \"暴击伤害V+\",": "0x9D3093AE: \"Critical Damage V+\",",
  "0x9D5BC5BF: \"勇士的信念+\",": "0x9D5BC5BF: \"Hero's Creed+\",",
  "0x9D65E6B6: \"泥沙抗性IV\",": "0x9D65E6B6: \"Sandtomb Resistance IV\",",
  "0x9D88DEA1: \"魔法师的心愿+\",": "0x9D88DEA1: \"Mage's Aspiration+\",",
  "0x9DC8305D: \"暴君V+\",": "0x9DC8305D: \"Tyranny V+\",",
  "0x9DE27B41: \"连击加成III+\",": "0x9DE27B41: \"Combo Booster III+\",",
  "0x9F08F697: \"舵手的指引+\",": "0x9F08F697: \"Helmsman's Navigation+\",",
  "0x9F741115: \"格挡性能III\",": "0x9F741115: \"Improved Guard III\",",
  "0x9FE3A10D: \"弱化状态特效V\",": "0x9FE3A10D: \"Injury to Insult V\",",
  "0xA0F94F69: \"圣骑士的剑辉+\",": "0xA0F94F69: \"Holy Knight's Luster+\",",
  "0xA110DC1E: \"格挡性能IV+\",": "0xA110DC1E: \"Improved Guard IV+\",",
  "0xA12CCE9B: \"格挡仇火V\",": "0xA12CCE9B: \"Guard Payback V\",",
  "0xA1448DB8: \"刚健III+\",": "0xA1448DB8: \"Stronghold III+\",",
  "0xA1A8E39D: \"霸体\",": "0xA1A8E39D: \"Stout Heart\",",
  "0xA1C947C2: \"伤害上限IV+\",": "0xA1C947C2: \"DMG Cap IV+\",",
  "0xA1E5C919: \"奥义封印抗性\",": "0xA1E5C919: \"SBA Sealed Resistance\",",
  "0xA224A830: \"坚守V\",": "0xA224A830: \"Garrison V\",",
  "0xA248E5D1: \"坚持IV\",": "0xA248E5D1: \"Steel Nerves IV\",",
  "0xA278238E: \"躲避仇火V+\",": "0xA278238E: \"Dodge Payback V+\",",
  "0xA2FA9685: \"缓速抗性\",": "0xA2FA9685: \"Slow Resistance\",",
  "0xA3021B5E: \"背水V+\",": "0xA3021B5E: \"Enmity V+\",",
  "0xA3210B84: \"攻击DOWN抗性IV\",": "0xA3210B84: \"Attack Down Resistance IV\",",
  "0xA339D642: \"幽幻的战气\",": "0xA339D642: \"Phantasm's Warpath\",",
  "0xA33AF136: \"凝神\",": "0xA33AF136: \"Nimble Defense\",",
  "0xA3578968: \"坚守IV+\",": "0xA3578968: \"Garrison IV+\",",
  "0xA374FDF0: \"舵手的坚持\",": "0xA374FDF0: \"Helmsman's Tenacity\",",
  "0xA38510E2: \"英勇灵气\",": "0xA38510E2: \"Fearless Spirit\",",
  "0xA3B49220: \"变换自如的妖剑士\",": "0xA3B49220: \"Swordmaster's Art\",",
  "0xA4204593: \"暴君III\",": "0xA4204593: \"Tyranny III\",",
  "0xA441FB51: \"魔法师的战气\",": "0xA441FB51: \"Mage's Warpath\",",
  "0xA4456853: \"弱化状态特效\",": "0xA4456853: \"Injury to Insult\",",
  "0xA44AEFC0: \"水牢抗性III\",": "0xA44AEFC0: \"Held Under Resistance III\",",
  "0xA468A3E8: \"能力伤害V+\",": "0xA468A3E8: \"Skilled Assault V+\",",
  "0xA492FFAC: \"暴君V+\",": "0xA492FFAC: \"Tyranny V+\",",
  "0xA4B849A0: \"凝神V+\",": "0xA4B849A0: \"Nimble Defense V+\",",
  "0xA4D6B880: \"修炼甘露\",": "0xA4D6B880: \"Gilding Vigor\",",
  "0xA576B01B: \"修罗II\",": "0xA576B01B: \"Power Hungry II\",",
  "0xA59C9613: \"冥暗自若+\",": "0xA59C9613: \"Ebony's Poise+\",",
  "0xA5B20C3C: \"攻击力III\",": "0xA5B20C3C: \"ATK III\",",
  "0xA63B89CD: \"斩姬武艺\",": "0xA63B89CD: \"Butterfly's Valor\",",
  "0xA6EE588A: \"体力\",": "0xA6EE588A: \"HP\",",
  "0xA70DAF5A: \"奋不顾身\",": "0xA70DAF5A: \"Life on the Line\",",
  "0xA74C2893: \"异能耐受\",": "0xA74C2893: \"Darkflame Resistance\",",
  "0xA7856A22: \"暴击率V\",": "0xA7856A22: \"Critical Hit Rate V\",",
  "0xA7A45F28: \"连击收招\",": "0xA7A45F28: \"Combo Finisher DMG\",",
  "0xA7F292BF: \"回复性能II\",": "0xA7F292BF: \"Improved Healing II\",",
  "0xA7F84C3B: \"摇曳步+\",": "0xA7F84C3B: \"Flight over Fight+\",",
  "0xA879208F: \"斩姬武艺+\",": "0xA879208F: \"Butterfly's Valor+\",",
  "0xA89C98C9: \"连击加成V+\",": "0xA89C98C9: \"Combo Booster V+\",",
  "0xA8A3163B: \"刀上舞\",": "0xA8A3163B: \"Glass Cannon\",",
  "0xA8C67937: \"快速蓄力III+\",": "0xA8C67937: \"Quick Charge III+\",",
  "0xA8DC84BD: \"弱点攻击II\",": "0xA8DC84BD: \"Weak Point DMG II\",",
  "0xA91BE816: \"灼热抗性II\",": "0xA91BE816: \"Burn Resistance II\",",
  "0xA931E9FA: \"热血III+\",": "0xA931E9FA: \"Stamina III+\",",
  "0xA9D17F55: \"OVERDRIVE特效\",": "0xA9D17F55: \"Overdrive Assassin\",",
  "0xA9D804D4: \"异能之心\",": "0xA9D804D4: \"Versalis Heart\",",
  "0xAA793DE2: \"昏迷抗性IV\",": "0xAA793DE2: \"Dizzy Resistance IV\",",
  "0xAA83F548: \"老兵的智慧\",": "0xAA83F548: \"Veteran's Insight\",",
  "0xAA941053: \"奋不顾身II\",": "0xAA941053: \"Life on the Line II\",",
  "0xAAC7A219: \"追击IV\",": "0xAAC7A219: \"Supplementary DMG IV\",",
  "0xAB835493: \"屠龙之觉醒+\",": "0xAB835493: \"Dragonslayer's Awakening+\",",
  "0xABC07972: \"暴君III+\",": "0xABC07972: \"Tyranny III+\",",
  "0xABFA79F2: \"强健甘露\",": "0xABFA79F2: \"Instilling Vigor\",",
  "0xAC7822A4: \"灼热抗性V\",": "0xAC7822A4: \"Burn Resistance V\",",
  "0xAC9674C1: \"破防特效\",": "0xAC9674C1: \"Break Assassin\",",
  "0xAD0A2AE1: \"怒涛II\",": "0xAD0A2AE1: \"Cascade II\",",
  "0xAE5D5A4F: \"破防特效III+\",": "0xAE5D5A4F: \"Break Assassin III+\",",
  "0xAE6C2F04: \"弱点攻击III+\",": "0xAE6C2F04: \"Weak Point DMG III+\",",
  "0xAE9899C6: \"追击\",": "0xAE9899C6: \"Supplementary DMG\",",
  "0xAEBFADF5: \"先发制人III+\",": "0xAEBFADF5: \"Head Start III+\",",
  "0xAEEF8343: \"圣骑士之觉醒+\",": "0xAEEF8343: \"Holy Knight's Awakening+\",",
  "0xAF513A9D: \"极致真理\",": "0xAF513A9D: \"Founder's Truth\",",
  "0xAF794A87: \"躲避距离\",": "0xAF794A87: \"Untouchable\",",
  "0xAF7FB20D: \"协同攻击IV\",": "0xAF7FB20D: \"Linked Together IV\",",
  "0xAF8E7E7E: \"异能之魂+\",": "0xAF8E7E7E: \"Versalis Soul+\",",
  "0xB0634504: \"魔眼的战气\",": "0xB0634504: \"Dark Huntress's Warpath\",",
  "0xB064A634: \"异能之心\",": "0xB064A634: \"Versalis Heart\",",
  "0xB06C66A6: \"凝神IV+\",": "0xB06C66A6: \"Nimble Defense IV+\",",
  "0xB0AD15DD: \"背水IV+\",": "0xB0AD15DD: \"Enmity IV+\",",
  "0xB0CB5C64: \"伤害上限V+\",": "0xB0CB5C64: \"Damage Cap V+\",",
  "0xB109C429: \"中毒抗性\",": "0xB109C429: \"Poison Resistance\",",
  "0xB143DAE6: \"斩姬梦幻+\",": "0xB143DAE6: \"Butterfly's Grace+\",",
  "0xB17C7207: \"能力伤害IV+\",": "0xB17C7207: \"Skilled Assault IV+\",",
  "0xB1C1200B: \"玫瑰的战气\",": "0xB1C1200B: \"Rose's Warpath\",",
  "0xB1D40170: \"骰子剑+\",": "0xB1D40170: \"Roll of the Die+\",",
  "0xB20182A7: \"躲避仇火III\",": "0xB20182A7: \"Dodge Payback III\",",
  "0xB2191F16: \"圣骑士的威光\",": "0xB2191F16: \"Holy Knight's Grandeur\",",
  "0xB2B08F0D: \"匿踪III\",": "0xB2B08F0D: \"Low Profile III\",",
  "0xB2C6F95A: \"集中炮火III\",": "0xB2C6F95A: \"Concentrated Fire III\",",
  "0xB2D492A3: \"迅捷能力IV\",": "0xB2D492A3: \"Quick Cooldown IV\",",
  "0xB360801D: \"集中炮火\",": "0xB360801D: \"Concentrated Fire\",",
  "0xB441275D: \"幽幻之觉醒+\",": "0xB441275D: \"Phantasm's Awakening+\",",
  "0xB48EEF48: \"魔法师的心愿\",": "0xB48EEF48: \"Mage's Aspiration\",",
  "0xB4ADDDC5: \"投掷V+\",": "0xB4ADDDC5: \"Throw V+\",",
  "0xB570D9CA: \"暴击伤害\",": "0xB570D9CA: \"Critical Hit DMG\",",
  "0xB5725272: \"王者行进+\",": "0xB5725272: \"Lord's Procession+\",",
  "0xB5B23F02: \"体力V+\",": "0xB5B23F02: \"Health V+\",",
  "0xB5DA3E80: \"白龙的荣耀+\",": "0xB5DA3E80: \"White Dragon's Glory+\",",
  "0xB5FF9FD3: \"激昂\",": "0xB5FF9FD3: \"Uplift\",",
  "0xB60D6796: \"伤害上限III\",": "0xB60D6796: \"DMG Cap III\",",
  "0xB63E221A: \"水牢抗性IV\",": "0xB63E221A: \"Held Under Resistance IV\",",
  "0xB6552BA8: \"暴击伤害III\",": "0xB6552BA8: \"Critical Hit DMG III\",",
  "0xB694CDD6: \"刀上舞II\",": "0xB694CDD6: \"Glass Cannon II\",",
  "0xB6E31F76: \"不动\",": "0xB6E31F76: \"Firm Stance\",",
  "0xB71DF666: \"缓速抗性\",": "0xB71DF666: \"Slow Resistance\",",
  "0xB74C207B: \"真红烈焰+\",": "0xB74C207B: \"Crimson's Clout+\",",
  "0xB7C4535A: \"集中炮火V+\",": "0xB7C4535A: \"Concentrated Fire V+\",",
  "0xB7F89AC3: \"怒涛V\",": "0xB7F89AC3: \"Cascade V\",",
  "0xB832E7A7: \"格挡性能V+\",": "0xB832E7A7: \"Improved Guard V+\",",
  "0xB83FB38E: \"OVERDRIVE特效IV\",": "0xB83FB38E: \"Overdrive Assassin IV\",",
  "0xB85202BC: \"圣骑士的战气\",": "0xB85202BC: \"Holy Knight's Warpath\",",
  "0xB85C5C3B: \"激昂II\",": "0xB85C5C3B: \"Uplift II\",",
  "0xB8A811ED: \"获得金币V\",": "0xB8A811ED: \"Rupie Tycoon V\",",
  "0xB98A0F22: \"异能增长+\",": "0xB98A0F22: \"Versalis Foundation+\",",
  "0xBA504607: \"王者的战气\",": "0xBA504607: \"Lord's Warpath\",",
  "0xBA77B7F2: \"豪胆V\",": "0xBA77B7F2: \"Guts V\",",
  "0xBA8A0229: \"身无长技IV+\",": "0xBA8A0229: \"Less Is More IV+\",",
  "0xBB86EF75: \"集中炮火IV+\",": "0xBB86EF75: \"Concentrated Fire IV+\",",
  "0xBBF1566E: \"守护者的决心\",": "0xBBF1566E: \"Guardian's Conviction\",",
  "0xBC445153: \"协同攻击V+\",": "0xBC445153: \"Linked Together V+\",",
  "0xBC795189: \"投掷IV+\",": "0xBC795189: \"Throw DMG IV+\",",
  "0xBCEDF060: \"屠龙者的才智+\",": "0xBCEDF060: \"Dragonslayer's Ingenuity+\",",
  "0xBD2CF495: \"热血IV\",": "0xBD2CF495: \"Stamina IV\",",
  "0xBDCC9A89: \"守护者的骄傲\",": "0xBDCC9A89: \"Guardian's Honor\",",
  "0xBE0F226F: \"凝神IV\",": "0xBE0F226F: \"Nimble Defense IV\",",
  "0xBE3C851C: \"攻击力V\",": "0xBE3C851C: \"ATK V\",",
  "0xBE6B6288: \"先发制人V+\",": "0xBE6B6288: \"Head Start V+\",",
  "0xBE799271: \"自愈IV\",": "0xBE799271: \"Regen IV\",",
  "0xBE8CAF15: \"刀上舞III+\",": "0xBE8CAF15: \"Glass Cannon III+\",",
  "0xBF4D978A: \"快速蓄力\",": "0xBF4D978A: \"Quick Charge\",",
  "0xBF714A8A: \"幽幻之应+\",": "0xBF714A8A: \"Phantasm's Concord+\",",
  "0xBF7CA5DB: \"昏迷抗性II\",": "0xBF7CA5DB: \"Dizzy Resistance II\",",
  "0xBFAA447E: \"弱点攻击V+\",": "0xBFAA447E: \"Exploiter V+\",",
  "0xC00163B3: \"魔法师的战气\",": "0xC00163B3: \"Mage's Warpath\",",
  "0xC02E6BEA: \"金刚V\",": "0xC02E6BEA: \"Greater Aegis V\",",
  "0xC06F4708: \"王者一心+\",": "0xC06F4708: \"Lord's Ambition+\",",
  "0xC0979A17: \"暴击伤害\",": "0xC0979A17: \"Critical Hit DMG\",",
  "0xC0B5128E: \"屠龙者的威猛+\",": "0xC0B5128E: \"Dragonslayer's Dominance+\",",
  "0xC0C92D64: \"能力伤害IV+\",": "0xC0C92D64: \"Skilled Assault IV+\",",
  "0xC1377955: \"匿踪\",": "0xC1377955: \"Low Profile\",",
  "0xC19839BD: \"暴君IV+\",": "0xC19839BD: \"Tyranny IV+\",",
  "0xC1A3F47E: \"冰冻抗性V\",": "0xC1A3F47E: \"Glaciate Resistance V\",",
  "0xC275B86F: \"躲避仇火IV+\",": "0xC275B86F: \"Dodge Payback IV+\",",
  "0xC2A4C7A9: \"玫瑰缤纷\",": "0xC2A4C7A9: \"Rose's Profusion\",",
  "0xC349AD51: \"格挡仇火II\",": "0xC349AD51: \"Guard Payback II\",",
  "0xC35B111B: \"蓄力会心\",": "0xC35B111B: \"Lucky Charge\",",
  "0xC37A0842: \"弱化状态特效V+\",": "0xC37A0842: \"Injury to Insult V+\",",
  "0xC37D080A: \"体力II\",": "0xC37D080A: \"HP II\",",
  "0xC452AB03: \"投掷V\",": "0xC452AB03: \"Throw DMG V\",",
  "0xC4DD863A: \"涯之七星+\",": "0xC4DD863A: \"Seven-Star Boundary+\",",
  "0xC55F6CDF: \"抗争II\",": "0xC55F6CDF: \"Precise Resilience II\",",
  "0xC5B72CE6: \"暴击伤害IV+\",": "0xC5B72CE6: \"Critical Hit DMG IV+\",",
  "0xC64737E7: \"抗争\",": "0xC64737E7: \"Precise Resilience\",",
  "0xC6539CB5: \"昏厥IV+\",": "0xC6539CB5: \"Stun Power IV+\",",
  "0xC66E8203: \"极致谋略\",": "0xC66E8203: \"Founder's Strategy\",",
  "0xC6A019AE: \"协同攻击III\",": "0xC6A019AE: \"Linked Together III\",",
  "0xC6B1BBE6: \"伤害上限\",": "0xC6B1BBE6: \"DMG Cap\",",
  "0xC6E71D09: \"快速蓄力IV+\",": "0xC6E71D09: \"Quick Charge IV+\",",
  "0xC7D124DD: \"药水携带数III\",": "0xC7D124DD: \"Potion Hoarder III\",",
  "0xC7D379F1: \"屠龙者的战气\",": "0xC7D379F1: \"Dragonslayer's Warpath\",",
  "0xC7D94DC9: \"连击收招V\",": "0xC7D94DC9: \"Combo Finisher DMG V\",",
  "0xC86F3082: \"获得金币\",": "0xC86F3082: \"Rupie Tycoon\",",
  "0xC8935975: \"破防特效III\",": "0xC8935975: \"Break Assassin III\",",
  "0xC98DC248: \"自愈V\",": "0xC98DC248: \"Regen V\",",
  "0xCB5F29C1: \"霸体\",": "0xCB5F29C1: \"Stout Heart\",",
  "0xCBABDB59: \"集中炮火II\",": "0xCBABDB59: \"Concentrated Fire II\",",
  "0xCC29955A: \"匿踪IV\",": "0xCC29955A: \"Low Profile IV\",",
  "0xCC5DB833: \"蓄力攻击III\",": "0xCC5DB833: \"Charged Attack DMG III\",",
  "0xCCD29B2B: \"缓速抗性V\",": "0xCCD29B2B: \"Slow Resistance V\",",
  "0xCD030268: \"英勇神速\",": "0xCD030268: \"Fearless Drive\",",
  "0xCD124165: \"冥暗自若\",": "0xCD124165: \"Ebony's Poise\",",
  "0xCD18A77D: \"万能药\",": "0xCD18A77D: \"Potent Greens\",",
  "0xCD4B83C7: \"水牢抗性V\",": "0xCD4B83C7: \"Held Under Resistance V\",",
  "0xCDEB73F6: \"幸运甘露\",": "0xCDEB73F6: \"Fortifying Vigor\",",
  "0xCDFEB37E: \"先发制人IV+\",": "0xCDFEB37E: \"Head Start IV+\",",
  "0xCE16D68B: \"古今无双之觉醒+\",": "0xCE16D68B: \"Eternal Rage's Awakening+\",",
  "0xCEB700EE: \"昏厥\",": "0xCEB700EE: \"Stun Power\",",
  "0xCEE9DD46: \"先发制人III\",": "0xCEE9DD46: \"Head Start III\",",
  "0xCFB48782: \"奥义封印抗性\",": "0xCFB48782: \"SBA Sealed Resistance\",",
  "0xD038F852: \"集中炮火V+\",": "0xD038F852: \"Concentrated Fire V+\",",
  "0xD0B43CA0: \"蓄力攻击IV+\",": "0xD0B43CA0: \"Charged Attack DMG IV+\",",
  "0xD0D61CAA: \"怒涛\",": "0xD0D61CAA: \"Cascade\",",
  "0xD1012D8C: \"白龙的荣耀\",": "0xD1012D8C: \"White Dragon's Glory\",",
  "0xD14AA754: \"弱化状态特效III+\",": "0xD14AA754: \"Injury to Insult III+\",",
  "0xD1B747C5: \"蓄力攻击IV+\",": "0xD1B747C5: \"Charged Attack DMG IV+\",",
  "0xD259D5D7: \"弱化状态特效III+\",": "0xD259D5D7: \"Injury to Insult III+\",",
  "0xD2740E3B: \"麻痹抗性\",": "0xD2740E3B: \"Paralysis Resistance\",",
  "0xD2C8E10A: \"明镜止水\",": "0xD2C8E10A: \"Nimble Onslaught\",",
  "0xD32C0CAF: \"暴击率III\",": "0xD32C0CAF: \"Critical Hit Rate III\",",
  "0xD32DC086: \"蓄力会心IV+\",": "0xD32DC086: \"Lucky Charge IV+\",",
  "0xD3538CFD: \"凝神II\",": "0xD3538CFD: \"Nimble Defense II\",",
  "0xD36CC890: \"勇士的信念\",": "0xD36CC890: \"Hero's Creed\",",
  "0xD3774B13: \"HP吸收III\",": "0xD3774B13: \"Drain III\",",
  "0xD393DA22: \"伤害上限IV\",": "0xD393DA22: \"DMG Cap IV\",",
  "0xD39F1C79: \"HP吸收V\",": "0xD39F1C79: \"Drain V\",",
  "0xD3A40C27: \"协同攻击III+\",": "0xD3A40C27: \"Linked Together III+\",",
  "0xD42A2D77: \"怒发冲冠\",": "0xD42A2D77: \"Precise Wrath\",",
  "0xD42DC37C: \"连击收招IV+\",": "0xD42DC37C: \"Combo Finisher DMG IV+\",",
  "0xD4488A1D: \"变幻自如的战气\",": "0xD4488A1D: \"Swordmaster's Warpath\",",
  "0xD48ABDDA: \"舵手的坚持+\",": "0xD48ABDDA: \"Helmsman's Tenacity+\",",
  "0xD4B2ADBA: \"不动III\",": "0xD4B2ADBA: \"Firm Stance III\",",
  "0xD4EBB836: \"刚健V+\",": "0xD4EBB836: \"Stronghold V+\",",
  "0xD54F8CA7: \"泥沙抗性\",": "0xD54F8CA7: \"Sandtomb Resistance\",",
  "0xD5808F9E: \"体力IV+\",": "0xD5808F9E: \"HP IV+\",",
  "0xD5A23569: \"缓速抗性II\",": "0xD5A23569: \"Slow Resistance II\",",
  "0xD5CA277F: \"协同攻击IV+\",": "0xD5CA277F: \"Linked Together IV+\",",
  "0xD626AC9F: \"泥沙抗性II\",": "0xD626AC9F: \"Sandtomb Resistance II\",",
  "0xD657DB39: \"连击加成III\",": "0xD657DB39: \"Combo Booster III\",",
  "0xD6738E0F: \"蓄力攻击\",": "0xD6738E0F: \"Charged Attack DMG\",",
  "0xD6C28E35: \"格挡性能V\",": "0xD6C28E35: \"Improved Guard V\",",
  "0xD76F4D24: \"舵手的战气\",": "0xD76F4D24: \"Helmsman's Warpath\",",
  "0xD77EFBC6: \"中毒抗性III\",": "0xD77EFBC6: \"Poison Resistance III\",",
  "0xD7C37871: \"冰冻抗性II\",": "0xD7C37871: \"Glaciate Resistance II\",",
  "0xD7F9BB88: \"冥暗的战气\",": "0xD7F9BB88: \"Ebony's Warpath\",",
  "0xD8D6B380: \"豪胆II\",": "0xD8D6B380: \"Guts II\",",
  "0xD8F66C1C: \"勇士的战气\",": "0xD8F66C1C: \"Hero's Warpath\",",
  "0xD908223D: \"幽幻之谊\",": "0xD908223D: \"Phantasm's Harmony\",",
  "0xD959A6D2: \"连击收招III\",": "0xD959A6D2: \"Combo Finisher DMG III\",",
  "0xD982AE55: \"药水携带数II\",": "0xD982AE55: \"Potion Hoarder II\",",
  "0xDA9136A1: \"属性克制转换\",": "0xDA9136A1: \"War Elemental\",",
  "0xDADE14DC: \"英勇之心\",": "0xDADE14DC: \"Fearless Heart\",",
  "0xDAEFBB27: \"变幻自如的战气\",": "0xDAEFBB27: \"Swordmaster's Warpath\",",
  "0xDBE1D775: \"α秘纹\",": "0xDBE1D775: \"Alpha\",",
  "0xDBEBFDAD: \"坚守II\",": "0xDBEBFDAD: \"Garrison II\",",
  "0xDC09B8D1: \"OVERDRIVE特效V+\",": "0xDC09B8D1: \"Overdrive Assassin V+\",",
  "0xDC225C96: \"修罗\",": "0xDC225C96: \"Power Hungry\",",
  "0xDC584F60: \"伤害上限\",": "0xDC584F60: \"DMG Cap\",",
  "0xDC607D75: \"匿踪\",": "0xDC607D75: \"Low Profile\",",
  "0xDD12001E: \"坚持III\",": "0xDD12001E: \"Steel Nerves III\",",
  "0xDD492226: \"格挡仇火III+\",": "0xDD492226: \"Guard Payback III+\",",
  "0xDD4A701E: \"异能耐受\",": "0xDD4A701E: \"Darkflame Resistance\",",
  "0xDD5EFF28: \"蓄力强化IV\",": "0xDD5EFF28: \"Steady Focus IV\",",
  "0xDED4E384: \"刚健V\",": "0xDED4E384: \"Stronghold V\",",
  "0xDF4A666E: \"奥义封印抗性V\",": "0xDF4A666E: \"SBA Sealed Resistance V\",",
  "0xDF8A52FB: \"水牢抗性II\",": "0xDF8A52FB: \"Held Under Resistance II\",",
  "0xDFC20239: \"暴君IV\",": "0xDFC20239: \"Tyranny IV\",",
  "0xDFD60614: \"OVERDRIVE特效IV+\",": "0xDFD60614: \"Overdrive Assassin IV+\",",
  "0xDFE82763: \"回复性能IV\",": "0xDFE82763: \"Improved Healing IV\",",
  "0xE073EA65: \"幽幻之谊+\",": "0xE073EA65: \"Phantasm's Harmony+\",",
  "0xE0ABFDFE: \"守护\",": "0xE0ABFDFE: \"Aegis\",",
  "0xE0B702C6: \"连击收招IV\",": "0xE0B702C6: \"Combo Finisher DMG IV\",",
  "0xE135A05A: \"幸运甘露\",": "0xE135A05A: \"Fortifying Vigor\",",
  "0xE1443933: \"能力伤害IV\",": "0xE1443933: \"Skilled Assault IV\",",
  "0xE16E4DD4: \"昏厥V\",": "0xE16E4DD4: \"Stun Power V\",",
  "0xE19B1965: \"白龙之觉醒+\",": "0xE19B1965: \"White Dragon's Awakening+\",",
  "0xE19DE7AE: \"获得经验值V\",": "0xE19DE7AE: \"Fast Learner V\",",
  "0xE255FAD2: \"破防特效\",": "0xE255FAD2: \"Break Assassin\",",
  "0xE27B1C51: \"回复性能V\",": "0xE27B1C51: \"Improved Healing V\",",
  "0xE2B380E5: \"魔法师之觉醒+\",": "0xE2B380E5: \"Mage's Awakening+\",",
  "0xE3103186: \"自动复活III\",": "0xE3103186: \"Autorevive III\",",
  "0xE347B563: \"暴击伤害V\",": "0xE347B563: \"Critical Hit DMG V\",",
  "0xE405ACA0: \"抗争III\",": "0xE405ACA0: \"Precise Resilience III\",",
  "0xE4F986D9: \"冥暗之觉醒+\",": "0xE4F986D9: \"Ebony's Awakening+\",",
  "0xE4FC5AF6: \"抗争V\",": "0xE4FC5AF6: \"Precise Resilience V\",",
  "0xE501B772: \"伤害上限III+\",": "0xE501B772: \"DMG Cap III+\",",
  "0xE507A543: \"奋不顾身III\",": "0xE507A543: \"Life on the Line III\",",
  "0xE53D0E38: \"豪胆IV\",": "0xE53D0E38: \"Guts IV\",",
  "0xE546F899: \"骰子剑+\",": "0xE546F899: \"Roll of the Die+\",",
  "0xE570A041: \"白龙的战气\",": "0xE570A041: \"White Dragon's Warpath\",",
  "0xE5B58127: \"获得金币III\",": "0xE5B58127: \"Rupie Tycoon III\",",
  "0xE5D96666: \"集中炮火IV+\",": "0xE5D96666: \"Concentrated Fire IV+\",",
  "0xE60A735C: \"王者行进\",": "0xE60A735C: \"Lord's Procession\",",
  "0xE69A4694: \"豪胆\",": "0xE69A4694: \"Guts\",",
  "0xE6B92E34: \"极致的战气\",": "0xE6B92E34: \"Founder's Warpath\",",
  "0xE6CDBA9C: \"坚守\",": "0xE6CDBA9C: \"Garrison\",",
  "0xE7062C19: \"舵手的指引\",": "0xE7062C19: \"Helmsman's Navigation\",",
  "0xE71B1FE4: \"守护V\",": "0xE71B1FE4: \"Aegis V\",",
  "0xE7624711: \"变幻自如的迅刃+\",": "0xE7624711: \"Swordmaster's Prowess+\",",
  "0xE7643634: \"昏厥III+\",": "0xE7643634: \"Stun Power III+\",",
  "0xE8454459: \"热血V+\",": "0xE8454459: \"Stamina V+\",",
  "0xE85FF8E0: \"魔眼的万箭\",": "0xE85FF8E0: \"Dark Huntress's Volley\",",
  "0xE89224A1: \"躲避性能+\",": "0xE89224A1: \"Improved Dodge+\",",
  "0xE8B8A474: \"攻击DOWN抗性V\",": "0xE8B8A474: \"Attack Down Resistance V\",",
  "0xE92EE838: \"体力V+\",": "0xE92EE838: \"Health V+\",",
  "0xE93B7346: \"麻痹抗性II\",": "0xE93B7346: \"Paralysis Resistance II\",",
  "0xE9917AC1: \"暴击伤害II\",": "0xE9917AC1: \"Critical Hit DMG II\",",
  "0xE9D3B6CA: \"奥义封印抗性III\",": "0xE9D3B6CA: \"SBA Sealed Resistance III\",",
  "0xEAA911B2: \"异能战意+\",": "0xEAA911B2: \"Versalis Ignition+\",",
  "0xEAE321EB: \"能力伤害\",": "0xEAE321EB: \"Skilled Assault\",",
  "0xEB105B98: \"刚健III+\",": "0xEB105B98: \"Stronghold III+\",",
  "0xEB10ACA3: \"怒发冲冠III\",": "0xEB10ACA3: \"Precise Wrath III\",",
  "0xEB5F28E0: \"能力伤害III+\",": "0xEB5F28E0: \"Skilled Assault III+\",",
  "0xEB73E730: \"怒涛III\",": "0xEB73E730: \"Cascade III\",",
  "0xEBC1FE90: \"刚健\",": "0xEBC1FE90: \"Stronghold\",",
  "0xEBCC193C: \"坚持\",": "0xEBCC193C: \"Steel Nerves\",",
  "0xEC1C6779: \"摇曳步\",": "0xEC1C6779: \"Flight over Fight\",",
  "0xEC3CF174: \"极致谋略\",": "0xEC3CF174: \"Founder's Strategy\",",
  "0xECD324C7: \"蓄力强化V\",": "0xECD324C7: \"Steady Focus V\",",
  "0xEDA2116A: \"凝神III+\",": "0xEDA2116A: \"Nimble Defense III+\",",
  "0xEE25BD8F: \"能力伤害III\",": "0xEE25BD8F: \"Skilled Assault III\",",
  "0xEE337FE3: \"β秘纹+\",": "0xEE337FE3: \"Beta+\",",
  "0xEE732781: \"伤害上限V\",": "0xEE732781: \"DMG Cap V\",",
  "0xEEB6C4CC: \"OVERDRIVE特效V\",": "0xEEB6C4CC: \"Overdrive Assassin V\",",
  "0xEF05EC4D: \"涯之七星+\",": "0xEF05EC4D: \"Seven-Star Boundary+\",",
  "0xF04C2CDC: \"连击加成IV+\",": "0xF04C2CDC: \"Combo Booster IV+\",",
  "0xF127D45F: \"投掷IV+\",": "0xF127D45F: \"Throw DMG IV+\",",
  "0xF142A66C: \"HP吸收IV\",": "0xF142A66C: \"Drain IV\",",
  "0xF1691ADC: \"格挡性能IV\",": "0xF1691ADC: \"Improved Guard IV\",",
  "0xF17850B9: \"连击加成\",": "0xF17850B9: \"Combo Booster\",",
  "0xF1839306: \"攻击力III+\",": "0xF1839306: \"ATK III+\",",
  "0xF1CAFFA6: \"修罗V+\",": "0xF1CAFFA6: \"Power Hungry V+\",",
  "0xF1D5DBD0: \"真红翔舞\",": "0xF1D5DBD0: \"Crimson's Flight\",",
  "0xF1D9E8DD: \"暴击率IV\",": "0xF1D9E8DD: \"Critical Hit Rate IV\",",
  "0xF212DB64: \"弱化状态特效IV+\",": "0xF212DB64: \"Injury to Insult IV+\",",
  "0xF22290A6: \"背水V+\",": "0xF22290A6: \"Enmity V+\",",
  "0xF2C84D4F: \"全弱化效果抗性\",": "0xF2C84D4F: \"Natural Defenses\",",
  "0xF2CBFFD2: \"自动复活IV\",": "0xF2CBFFD2: \"Autorevive IV\",",
  "0xF30A86F6: \"怒发冲冠IV\",": "0xF30A86F6: \"Precise Wrath IV\",",
  "0xF3220FD0: \"躲避距离+\",": "0xF3220FD0: \"Untouchable+\",",
  "0xF3336835: \"摇曳步\",": "0xF3336835: \"Flight over Fight\",",
  "0xF372F096: \"体力\",": "0xF372F096: \"HP\",",
  "0xF3C8C676: \"麻痹抗性III\",": "0xF3C8C676: \"Paralysis Resistance III\",",
  "0xF40082D6: \"OVERDRIVE特效III+\",": "0xF40082D6: \"Overdrive Assassin III+\",",
  "0xF47FDA29: \"坚持II\",": "0xF47FDA29: \"Steel Nerves II\",",
  "0xF4A5E0AD: \"躲避仇火III+\",": "0xF4A5E0AD: \"Dodge Payback III+\",",
  "0xF4ACCC72: \"躲避仇火II\",": "0xF4ACCC72: \"Dodge Payback II\",",
  "0xF50A5FE2: \"守护\",": "0xF50A5FE2: \"Aegis\",",
  "0xF610E3B9: \"奋不顾身V+\",": "0xF610E3B9: \"Life on the Line V+\",",
  "0xF687B1BB: \"背水V\",": "0xF687B1BB: \"Enmity V\",",
  "0xF687C5EF: \"获得经验值\",": "0xF687C5EF: \"Fast Learner\",",
  "0xF6C0FCA5: \"魔法师的伶俐+\",": "0xF6C0FCA5: \"Mage's Savvy+\",",
  "0xF6F3C863: \"回复性能\",": "0xF6F3C863: \"Improved Healing\",",
  "0xF719D195: \"斩姬的战气\",": "0xF719D195: \"Butterfly's Warpath\",",
  "0xF71F8997: \"自动药水\",": "0xF71F8997: \"Auto Potion\",",
  "0xF7707CAC: \"弱点攻击V\",": "0xF7707CAC: \"Weak Point DMG V\",",
  "0xF7A65030: \"破防特效V\",": "0xF7A65030: \"Break Assassin V\",",
  "0xF7B836F6: \"连击收招\",": "0xF7B836F6: \"Combo Finisher DMG\",",
  "0xF8496336: \"守护者的骄傲\",": "0xF8496336: \"Guardian's Honor\",",
  "0xF85B6AB0: \"获得经验值III\",": "0xF85B6AB0: \"Fast Learner III\",",
  "0xF8CF8814: \"身无长技V+\",": "0xF8CF8814: \"Less Is More V+\",",
  "0xF8FEF304: \"钳蟹的报恩\",": "0xF8FEF304: \"Crabvestment Returns\",",
  "0xF94B6319: \"弱化状态特效V+\",": "0xF94B6319: \"Injury to Insult V+\",",
  "0xF9870AD0: \"伤害上限III+\",": "0xF9870AD0: \"DMG Cap III+\",",
  "0xFA3DB1E3: \"连击收招II\",": "0xFA3DB1E3: \"Combo Finisher DMG II\",",
  "0xFB0F9037: \"冥暗刚刃+\",": "0xFB0F9037: \"Ebony Presence+\",",
  "0xFB5092F2: \"自动药水\",": "0xFB5092F2: \"Auto Potion\",",
  "0xFB572681: \"冰冻抗性\",": "0xFB572681: \"Glaciate Resistance\",",
  "0xFB8C743F: \"蓄力攻击V\",": "0xFB8C743F: \"Charged Attack DMG V\",",
  "0xFB9B6DD5: \"勇士的毅力+\",": "0xFB9B6DD5: \"Hero's Will+\",",
  "0xFB9BC6C9: \"麻痹抗性V\",": "0xFB9BC6C9: \"Paralysis Resistance V\",",
  "0xFBB938E9: \"格挡仇火IV+\",": "0xFBB938E9: \"Guard Payback IV+\",",
  "0xFBF16984: \"热血\",": "0xFBF16984: \"Stamina\",",
  "0xFBF24912: \"格挡仇火\",": "0xFBF24912: \"Guard Payback\",",
  "0xFC1A2561: \"穷寇心IV\",": "0xFC1A2561: \"Berserker IV\",",
  "0xFCF90349: \"攻击DOWN抗性II\",": "0xFCF90349: \"Attack Down Resistance II\",",
  "0xFD99311B: \"幽幻之谊\",": "0xFD99311B: \"Phantasm's Harmony\",",
  "0xFDD1AD24: \"斩姬的战气\",": "0xFDD1AD24: \"Butterfly's Warpath\",",
  "0xFEEE9198: \"先发制人IV+\",": "0xFEEE9198: \"Head Start IV+\",",
  "0xFF580AF6: \"老兵的智慧\",": "0xFF580AF6: \"Veteran's Insight\",",
  "0xFF8A608B: \"快速蓄力IV\",": "0xFF8A608B: \"Quick Charge IV\",",
  "0xFFBA8AF0: \"弱化状态特效III\",": "0xFFBA8AF0: \"Injury to Insult III\",",
  "1 满红条": "1 Full red gauge",
  "2147483647) { emit('status', '请输入 0 到 2147483647 之间的整数', 'error'); return }": "2147483647) { emit('status', 'Enter an integer between 0 and 2147483647', 'error'); return }",
  "4 满黄条": "4 Full yellow gauge",
  "9999) { emit('status', '倍率请输入 0 到 9999 之间的数值', 'error'); return }": "9999) { emit('status', 'Enter a multiplier between 0 and 9999', 'error'); return }",
  "9999) { emit('status', '请输入 0 到 9999 之间的数值', 'error'); return }": "9999) { emit('status', 'Enter a value between 0 and 9999', 'error'); return }",
  ":readonly=\"inPlaceEdit\" placeholder=\"输出存档路径...\" />": ":readonly=\"inPlaceEdit\" placeholder=\"Output save-file path...\" />",
  "AOB 定位后 NOP 巴武 lot 排除跳转": "Locates the AOB, then NOPs the Terminus Weapon lot exclusion jump",
  "AOB 定位后切换 SETNE/SETNO": "Locates the AOB, then switches SETNE/SETNO",
  "AOB 定位后动态写入两个 float 值": "Locates the AOB and dynamically writes two float values",
  "CP(极沌空域)": "Conflux Points (CP)",
  "DLL 注入开启 · Go 恢复关闭": "DLL injection enables · Go restores on disable",
  "GBFR 存档 (*.dat)": "GBFR Save (*.dat)",
  "GBFR 存档修改工具": "GBFR PE Patch Tool",
  "GBFR 存档文件 (.dat | C:\\Users\\UserName\\AppData\\Local\\GBFR\\Saved\\SaveGames\\)": "GBFR save file (.dat | C:\\Users\\UserName\\AppData\\Local\\GBFR\\Saved\\SaveGames\\)",
  "HP吸收": "Drain",
  "HP吸收II": "Drain II",
  "HP吸收III": "Drain III",
  "HP吸收IV": "Drain IV",
  "HP吸收V": "Drain V",
  "HP回复上限": "Healing Cap",
  "ImageBaseAddress 为空": "ImageBaseAddress is null",
  "MB (仅 exe)": "MB (EXE only)",
  "NOP 挑战次数递增": "NOPs the challenge-count increment",
  "Name:     \"奥义接续计时\",": "Name:     \"SBA Chain Timer\",",
  "Name:     \"怪物 Overdrive 状态\",": "Name:     \"Monster Overdrive State\",",
  "Name:     \"怪物伤害\",": "Name:     \"Monster Damage Multiplier\",",
  "Name:     \"怪物多倍昏厥条\",": "Name:     \"Monster Stun Gauge Multiplier\",",
  "Name:     \"怪物多倍血\",": "Name:     \"Monster HP Multiplier\",",
  "Name:     \"无法进入 link time\",": "Name:     \"Prevent Link Time\",",
  "Name:     \"无限 link time\",": "Name:     \"Infinite Link Time\",",
  "Name:     \"昏厥蓝条不增长\",": "Name:     \"Prevent Blue Stun Gauge Gain\",",
  "Name:     \"昏厥蓝条不自然扣减\",": "Name:     \"Prevent Unnatural Blue Stun-Gauge Drain\",",
  "Name:     \"紫条不自然扣减\",": "Name:     \"Prevent Unnatural Purple-Gauge Drain\",",
  "Name:     \"鳄鱼多倍血(鳄鱼需单独设置)\",": "Name:     \"Crocodile HP Multiplier (set separately)\",",
  "NtQueryInformationProcess 失败: NTSTATUS 0x%X": "NtQueryInformationProcess failed: NTSTATUS 0x%X",
  "OVERDRIVE特效": "Overdrive Assassin",
  "OVERDRIVE特效II": "Overdrive Assassin II",
  "OVERDRIVE特效III": "Overdrive Assassin III",
  "OVERDRIVE特效III+": "Overdrive Assassin III+",
  "OVERDRIVE特效IV": "Overdrive Assassin IV",
  "OVERDRIVE特效IV+": "Overdrive Assassin IV+",
  "OVERDRIVE特效V": "Overdrive Assassin V",
  "OVERDRIVE特效V+": "Overdrive Assassin V+",
  "Overdrive特效": "Overdrive Assassin",
  "Overdrive特效II": "Overdrive Assassin II",
  "Overdrive特效II+": "Overdrive Assassin II+",
  "Overdrive特效III": "Overdrive Assassin III",
  "Overdrive特效III+": "Overdrive Assassin III+",
  "Overdrive特效IV": "Overdrive Assassin IV",
  "Overdrive特效IV+": "Overdrive Assassin IV+",
  "Overdrive特效V": "Overdrive Assassin V",
  "Overdrive特效V+": "Overdrive Assassin V+",
  "Overdrive特效+": "Overdrive Assassin+",
  "Overdrive 状态请选择 1、4 或自动OD": "Choose Overdrive state 1, 4, or Auto OD",
  "PEB 地址为空": "PEB address is null",
  "SigilName: fmt.Sprintf(\"[共 %d 个因子，仅显示前 500 个]\", len(result)),": "SigilName: fmt.Sprintf(\"[%d sigils total; showing the first 500]\", len(result)),",
  "Title:            \"选择输出存档文件\",": "Title:            \"Select Output Save File\",",
  "Title:     \"GBFR 存档修改工具\",": "Title:     \"GBFR PE Patch Tool\",",
  "Title: \"选择 GBFR 存档文件\",": "Title: \"Select GBFR Save File\",",
  "VirtualAllocEx 附近分配失败": "VirtualAllocEx nearby allocation failed",
  "VirtualFreeEx 失败": "VirtualFreeEx failed",
  "Wails 上下文未初始化": "Wails context is not initialized",
  "[共 %d 个因子，仅显示前 500 个]": "[%d sigils total; showing the first 500]",
  "addr, err := a.scanPatternUnique(faceAccessoryPattern, faceAccessoryMask, \"脸部符文特征\")": "addr, err := a.scanPatternUnique(faceAccessoryPattern, faceAccessoryMask, \"face-rune signature\")",
  "addr, err := a.scanPatternUnique(overLimitCommitPattern, overLimitCommitMask, \"上限突破保存函数特征\")": "addr, err := a.scanPatternUnique(overLimitCommitPattern, overLimitCommitMask, \"Over Mastery save-function signature\")",
  "addr, err := a.scanPatternUnique(overLimitSelectedPattern, overLimitSelectedMask, \"上限突破角色指针特征\")": "addr, err := a.scanPatternUnique(overLimitSelectedPattern, overLimitSelectedMask, \"Over Mastery character-pointer signature\")",
  "addr, err := a.scanPatternUnique(terminusDropPattern, terminusDropMask, \"巴武掉落特征\")": "addr, err := a.scanPatternUnique(terminusDropPattern, terminusDropMask, \"Terminus Weapon drop signature\")",
  "addr, err := a.scanPatternUnique(unlockAllTrophyPattern, unlockAllTrophyMask, \"全称号解锁特征\")": "addr, err := a.scanPatternUnique(unlockAllTrophyPattern, unlockAllTrophyMask, \"unlock-all-titles signature\")",
  "addr, err = a.scanPatternUnique(overLimitSelectedPattern, overLimitSelectedHookedMask(), \"上限突破角色指针特征\")": "addr, err = a.scanPatternUnique(overLimitSelectedPattern, overLimitSelectedHookedMask(), \"Over Mastery character-pointer signature\")",
  "catch (e) { show('读取因子数据失败: ' + String(e), 'error') }": "catch (e) { show('Failed to read sigil data: ' + String(e), 'error') }",
  "const charaEditEnabled = false // 开关：是否显示次数修改功能": "const charaEditEnabled = false // 开关：是否VisibleCountEdit功能",
  "const verb = id === 'overdrive_state_apply' || (item.id === 'sba_chain_timer' && enabled) ? '已应用' : (enabled ? '已开启' : '已关闭')": "const verb = id === 'overdrive_state_apply' || (item.id === 'sba_chain_timer' && enabled) ? 'Applied' : (enabled ? 'Enabled' : 'Disabled')",
  "dataError.value = '加载因子数据失败: ' + String(e)": "dataError.value = 'Failed to load sigil data: ' + String(e)",
  "dataError.value = '加载祝福数据失败: ' + String(e)": "dataError.value = 'Failed to load wrightstone data: ' + String(e)",
  "dataError.value = '因子数据为空'": "dataError.value = 'Sigil data is empty'",
  "dataError.value = '祝福或特性数据为空'": "dataError.value = 'Wrightstone or trait data is empty'",
  "else if (!next.selectedAddr) show('读取已开启。请在游戏内因子列表选中一个因子。', 'success')": "else if (!next.selectedAddr) show('Reading enabled. Select a sigil in the in-game sigil list.', 'success')",
  "else show(`已读取: ${next.sigilName}`, 'success')": "else show(`Read: ${next.sigilName}`, 'success')",
  "emit('status', `${updated.name}写入成功`, 'success')": "emit('status', `${updated.name} written successfully`, 'success')",
  "emit('status', info.hasUpdate ? `发现新版本 ${info.latestVersion}` : '当前已是最新版本', info.hasUpdate ? 'success' : 'success')": "emit('status', info.hasUpdate ? `New version found: ${info.latestVersion}` : 'You are using the latest version', info.hasUpdate ? 'success' : 'success')",
  "emit('status', res?.selectedAddr ? '上限突破角色数据已刷新' : '已刷新，尚未读取到角色数据；请在突破界面切换一次角色或重新打开突破界面', res?.selectedAddr ? 'success' : 'error')": "emit('status', res?.selectedAddr ? 'Over Mastery character data refreshed' : 'Refreshed, but no character data was found. Switch characters once or reopen the Over Mastery screen.', res?.selectedAddr ? 'success' : 'error')",
  "hash table 偏移超出 slot data 范围": "Hash-table offset is outside slot-data bounds",
  "hash 区间无效": "Invalid hash range",
  "if (![1, 4, 9].includes(v)) { emit('status', 'Overdrive 状态请选择 1、4 或自动OD', 'error'); return }": "if (![1, 4, 9].includes(v)) { emit('status', 'Choose Overdrive state 1, 4, or Auto OD', 'error'); return }",
  "if (!confirm('这将清除输出存档中的所有因子，确定继续？')) return": "if (!confirm('This will remove every sigil from the output save. Continue?')) return",
  "if (!confirm(`确定要删除 ${selectedForDelete.value.size} 个因子吗？此操作不可撤销。`)) return": "if (!confirm(`Delete ${selectedForDelete.value.size} sigils? This cannot be undone.`)) return",
  "if (!connected.value) { emit('status', '请先连接游戏进程', 'error'); return }": "if (!connected.value) { emit('status', 'Connect to the game process first', 'error'); return }",
  "if (!inputPath.value.trim()) { showStatus('请输入存档路径', 'error'); return }": "if (!inputPath.value.trim()) { showStatus('Please enter a save-file path', 'error'); return }",
  "if (!next.hooked) show('已定位。点击开启读取后，在游戏内选中因子。', 'success')": "if (!next.hooked) show('Located. Enable reading, then select a sigil in-game.', 'success')",
  "if (!outputPath.value.trim()) { showStatus('请输入输出路径', 'error'); return }": "if (!outputPath.value.trim()) { showStatus('Please enter an output path', 'error'); return }",
  "if (!p) { showStatus('请输入文件路径', 'error'); return }": "if (!p) { showStatus('Please enter a file path', 'error'); return }",
  "if (!quantity.value || quantity.value < 1) { showStatus('数量至少为 1', 'error'); return false }": "if (!quantity.value || quantity.value < 1) { showStatus('Quantity must be at least 1', 'error'); return false }",
  "if (!saveLoaded.value) { showStatus('请先加载存档', 'error'); return }": "if (!saveLoaded.value) { showStatus('Load a save file first', 'error'); return }",
  "if (!selectedSigilID.value) { showStatus('请选择因子', 'error'); return }": "if (!selectedSigilID.value) { showStatus('Please select a sigil', 'error'); return }",
  "if (!selectedWrightstoneID.value) { showStatus('请选择祝福', 'error'); return false }": "if (!selectedWrightstoneID.value) { showStatus('Please select a wrightstone', 'error'); return false }",
  "if (!status.hooked || !status.selectedAddr) { show('请先开启读取，并在游戏内选中一个因子', 'error'); return }": "if (!status.hooked || !status.selectedAddr) { show('Enable reading and select a sigil in-game first', 'error'); return }",
  "if (exists && !window.confirm(`输出文件已存在，是否覆盖？\\n${output}`)) return": "if (exists && !window.confirm(`The output file already exists. Overwrite it?\\n${output}`)) return",
  "if (isNaN(v) || v < 0) { emit('status', '请输入有效数值', 'error'); return }": "if (isNaN(v) || v < 0) { emit('status', 'Please enter a valid value', 'error'); return }",
  "if (isNaN(v) || v < 0) { showStatus('请输入有效数值', 'error'); return }": "if (isNaN(v) || v < 0) { showStatus('Please enter a valid value', 'error'); return }",
  "if (item.id === 'crocodile_damage') return '输入 10 = 鳄鱼10倍血'": "if (item.id === 'crocodile_damage') return 'Enter 10 for 10× crocodile HP'",
  "if (item.id === 'monster_damage') return '输入 32 = 怪物伤害32倍'": "if (item.id === 'monster_damage') return 'Enter 32 for 32× monster damage'",
  "if (item.id === 'monster_hp') return '输入 10 = 怪物10倍血'": "if (item.id === 'monster_hp') return 'Enter 10 for 10× monster HP'",
  "if (item.id === 'monster_stun') return '输入 10 = 怪物10倍昏厥条'": "if (item.id === 'monster_stun') return 'Enter 10 for 10× monster stun gauge'",
  "if (item.id === 'sba_chain_timer') return '游戏默认 3 秒'": "if (item.id === 'sba_chain_timer') return 'Game default: 3 seconds'",
  "if err := check(GemFlagsIDType, uint32(gemUnitID), NormalSigilFlags, \"因子标记\"); err != nil {": "if err := check(GemFlagsIDType, uint32(gemUnitID), NormalSigilFlags, \"Sigil Flags\"); err != nil {",
  "if err := check(GemIDType, uint32(gemUnitID), sigilHash, \"因子哈希\"); err != nil {": "if err := check(GemIDType, uint32(gemUnitID), sigilHash, \"Sigil Hash\"); err != nil {",
  "if err := check(GemWornByIDType, uint32(gemUnitID), EmptyHash, \"装备角色\"); err != nil {": "if err := check(GemWornByIDType, uint32(gemUnitID), EmptyHash, \"Equipped Character\"); err != nil {",
  "if err := check(TraitHashIDType, uint32(primaryTraitUnit), primaryHash, \"主特性哈希\"); err != nil {": "if err := check(TraitHashIDType, uint32(primaryTraitUnit), primaryHash, \"Primary Trait Hash\"); err != nil {",
  "if err := check(TraitHashIDType, uint32(secondaryTraitUnit), secondaryHash, \"副特性哈希\"); err != nil {": "if err := check(TraitHashIDType, uint32(secondaryTraitUnit), secondaryHash, \"Secondary Trait Hash\"); err != nil {",
  "if err := check(TraitHashIDType, uint32(traitBase), firstTraitHash, \"第一特性哈希\"); err != nil {": "if err := check(TraitHashIDType, uint32(traitBase), firstTraitHash, \"First Trait Hash\"); err != nil {",
  "if err := check(TraitHashIDType, uint32(traitBase+1), secondTraitHash, \"第二特性哈希\"); err != nil {": "if err := check(TraitHashIDType, uint32(traitBase+1), secondTraitHash, \"Second Trait Hash\"); err != nil {",
  "if err := check(TraitHashIDType, uint32(traitBase+2), thirdTraitHash, \"第三特性哈希\"); err != nil {": "if err := check(TraitHashIDType, uint32(traitBase+2), thirdTraitHash, \"Third Trait Hash\"); err != nil {",
  "if err := check(WrightstoneFlagsIDType, uint32(itemUnitID), NormalWrightstoneFlags, \"祝福标记\"); err != nil {": "if err := check(WrightstoneFlagsIDType, uint32(itemUnitID), NormalWrightstoneFlags, \"Wrightstone Flags\"); err != nil {",
  "if err := check(WrightstoneItemIDType, uint32(itemUnitID), wrightstoneHash, \"祝福哈希\"); err != nil {": "if err := check(WrightstoneItemIDType, uint32(itemUnitID), wrightstoneHash, \"Wrightstone Hash\"); err != nil {",
  "if err := check(WrightstoneSlotIDType, uint32(itemUnitID), uint32(newSlotID), \"祝福槽位 ID\"); err != nil {": "if err := check(WrightstoneSlotIDType, uint32(itemUnitID), uint32(newSlotID), \"Wrightstone Slot ID\"); err != nil {",
  "if err := checkBool(WrightstoneBoolIDType, uint32(itemUnitID), false, \"祝福布尔字段\"); err != nil {": "if err := checkBool(WrightstoneBoolIDType, uint32(itemUnitID), false, \"Wrightstone Boolean Field\"); err != nil {",
  "if err := checkInt(GemLevelIDType, uint32(gemUnitID), level, \"因子等级\"); err != nil {": "if err := checkInt(GemLevelIDType, uint32(gemUnitID), level, \"Sigil Level\"); err != nil {",
  "if err := checkInt(TraitLevelIDType, uint32(primaryTraitUnit), primaryLevel, \"主特性等级\"); err != nil {": "if err := checkInt(TraitLevelIDType, uint32(primaryTraitUnit), primaryLevel, \"Primary Trait Level\"); err != nil {",
  "if err := checkInt(TraitLevelIDType, uint32(secondaryTraitUnit), secondaryLevel, \"副特性等级\"); err != nil {": "if err := checkInt(TraitLevelIDType, uint32(secondaryTraitUnit), secondaryLevel, \"Secondary Trait Level\"); err != nil {",
  "if err := checkInt(TraitLevelIDType, uint32(traitBase), firstLevel, \"第一特性等级\"); err != nil {": "if err := checkInt(TraitLevelIDType, uint32(traitBase), firstLevel, \"First Trait Level\"); err != nil {",
  "if err := checkInt(TraitLevelIDType, uint32(traitBase+1), secondLevel, \"第二特性等级\"); err != nil {": "if err := checkInt(TraitLevelIDType, uint32(traitBase+1), secondLevel, \"Second Trait Level\"); err != nil {",
  "if err := checkInt(TraitLevelIDType, uint32(traitBase+2), thirdLevel, \"第三特性等级\"); err != nil {": "if err := checkInt(TraitLevelIDType, uint32(traitBase+2), thirdLevel, \"Third Trait Level\"); err != nil {",
  "if err := validateWrightstoneTraitLevel(firstTrait, item.FirstLevel, \"第一特性\"); err != nil {": "if err := validateWrightstoneTraitLevel(firstTrait, item.FirstLevel, \"First Trait\"); err != nil {",
  "if err := validateWrightstoneTraitLevel(secondTrait, item.SecondLevel, \"第二特性\"); err != nil {": "if err := validateWrightstoneTraitLevel(secondTrait, item.SecondLevel, \"Second Trait\"); err != nil {",
  "if err := validateWrightstoneTraitLevel(thirdTrait, item.ThirdLevel, \"第三特性\"); err != nil {": "if err := validateWrightstoneTraitLevel(thirdTrait, item.ThirdLevel, \"Third Trait\"); err != nil {",
  "mission: '此修改不影响存档',": "mission: 'This change does not affect the save file',",
  "name = fmt.Sprintf(\"槽位 %d\", i)": "name = fmt.Sprintf(\"Slot %d\", i)",
  "placeholder=\"GBFR 存档文件 (.dat | C:\\Users\\UserName\\AppData\\Local\\GBFR\\Saved\\SaveGames\\)\" />": "placeholder=\"GBFR save file (.dat | C:\\Users\\UserName\\AppData\\Local\\GBFR\\Saved\\SaveGames\\)\" />",
  "placeholder=\"粘贴 exe 文件完整路径...\" @keyup.enter=\"applyManualPath\" />": "placeholder=\"Paste the full path to the EXE...\" @keyup.enter=\"applyManualPath\" />",
  "placeholder=\"输入关键词过滤...\" @input=\"showSigilDropdown = true\" />": "placeholder=\"Type to filter...\" @input=\"showSigilDropdown = true\" />",
  "placeholder=\"输入关键词过滤副特性...\" />": "placeholder=\"Type to filter secondary traits...\" />",
  "placeholder=\"输出存档路径...\" />": "placeholder=\"Output save-file path...\" />",
  "return \"\", fmt.Errorf(\"Wails 上下文未初始化\")": "return \"\", fmt.Errorf(\"Wails context is not initialized\")",
  "return \"\", fmt.Errorf(\"内置 patch_core.dll 为空，请先编译 src_dll/patch_core Release x64\")": "return \"\", fmt.Errorf(\"Bundled patch_core.dll is empty. Build src_dll/patch_core in Release x64 first.\")",
  "return 0, fmt.Errorf(\"%s命中多个位置: %d\", label, len(matches))": "return 0, fmt.Errorf(\"%s matched multiple locations: %d\", label, len(matches))",
  "return 0, fmt.Errorf(\"%s指针为空，请确保已进入游戏存档\", def.Name)": "return 0, fmt.Errorf(\"%s pointer is null; make sure a save is loaded in-game\", def.Name)",
  "return 0, fmt.Errorf(\"%s指针路径为空\", def.Name)": "return 0, fmt.Errorf(\"%s pointer path is empty\", def.Name)",
  "return 0, fmt.Errorf(\"%s指针链为空，请确保已进入游戏存档\", def.Name)": "return 0, fmt.Errorf(\"%s pointer chain is null; make sure a save is loaded in-game\", def.Name)",
  "return 0, fmt.Errorf(\"--%s 必须是数字: %w\", key, err)": "return 0, fmt.Errorf(\"--%s must be a number: %w\", key, err)",
  "return 0, fmt.Errorf(\"ImageBaseAddress 为空\")": "return 0, fmt.Errorf(\"ImageBaseAddress is null\")",
  "return 0, fmt.Errorf(\"NtQueryInformationProcess 失败: NTSTATUS 0x%X\", r1)": "return 0, fmt.Errorf(\"NtQueryInformationProcess failed: NTSTATUS 0x%X\", r1)",
  "return 0, fmt.Errorf(\"PEB 地址为空\")": "return 0, fmt.Errorf(\"PEB address is null\")",
  "return 0, fmt.Errorf(\"VirtualAllocEx 附近分配失败\")": "return 0, fmt.Errorf(\"VirtualAllocEx nearby allocation failed\")",
  "return 0, fmt.Errorf(\"上限突破保存 call 字节异常: %s\", bytesToHex(buf))": "return 0, fmt.Errorf(\"Unexpected Over Mastery save-call bytes: %s\", bytesToHex(buf))",
  "return 0, fmt.Errorf(\"找不到 GEMDATA_MAX_SLOT_ID (2701)\")": "return 0, fmt.Errorf(\"GEMDATA_MAX_SLOT_ID (2701) not found\")",
  "return 0, fmt.Errorf(\"找不到 ITEM_UNK_MAX_SLOT_ID (2101)\")": "return 0, fmt.Errorf(\"ITEM_UNK_MAX_SLOT_ID (2101) not found\")",
  "return 0, fmt.Errorf(\"无效的哈希值: %s\", s)": "return 0, fmt.Errorf(\"Invalid hash value: %s\", s)",
  "return 0, fmt.Errorf(\"未找到%s码\", label)": "return 0, fmt.Errorf(\"Could not find %s\", label)",
  "return 0, fmt.Errorf(\"未找到选中因子特征码；当前游戏版本与内置特征不匹配\")": "return 0, fmt.Errorf(\"Selected-sigil signature not found; the current game version does not match the built-in signature\")",
  "return 0, fmt.Errorf(\"未连接游戏进程\")": "return 0, fmt.Errorf(\"Not connected to the game process\")",
  "return 0, fmt.Errorf(\"模块 DOS 头无效\")": "return 0, fmt.Errorf(\"Invalid module DOS header\")",
  "return 0, fmt.Errorf(\"模块 PE 头偏移无效\")": "return 0, fmt.Errorf(\"Invalid module PE-header offset\")",
  "return 0, fmt.Errorf(\"模块 PE 头无效\")": "return 0, fmt.Errorf(\"Invalid module PE header\")",
  "return 0, fmt.Errorf(\"模块 SizeOfImage 无效\")": "return 0, fmt.Errorf(\"Invalid module SizeOfImage\")",
  "return 0, fmt.Errorf(\"管理器指针无效\")": "return 0, fmt.Errorf(\"Invalid manager pointer\")",
  "return 0, fmt.Errorf(\"读取 PEB.ImageBaseAddress 失败: %v\", err)": "return 0, fmt.Errorf(\"Failed to read PEB.ImageBaseAddress: %v\", err)",
  "return 0, fmt.Errorf(\"读取%s指针失败: %w\", def.Name, err)": "return 0, fmt.Errorf(\"Failed to read %s pointer: %w\", def.Name, err)",
  "return 0, fmt.Errorf(\"读取%s指针链失败: %w\", def.Name, err)": "return 0, fmt.Errorf(\"Failed to read %s pointer chain: %w\", def.Name, err)",
  "return 0, fmt.Errorf(\"读取上限突破保存 call 失败: %w\", err)": "return 0, fmt.Errorf(\"Failed to read Over Mastery save call: %w\", err)",
  "return 0, fmt.Errorf(\"读取模块头失败: %w\", err)": "return 0, fmt.Errorf(\"Failed to read module header: %w\", err)",
  "return 0, fmt.Errorf(\"进程未找到: %s\", name)": "return 0, fmt.Errorf(\"Process not found: %s\", name)",
  "return CharaProcessInfo{}, fmt.Errorf(\"无法打开进程 (错误 %v)，请以管理员身份运行\", err)": "return CharaProcessInfo{}, fmt.Errorf(\"Unable to open process (error %v). Run as administrator.\", err)",
  "return CharaProcessInfo{}, fmt.Errorf(\"无法获取模块基址 (ptrSize=%d): %v\", unsafe.Sizeof(uintptr(0)), err)": "return CharaProcessInfo{}, fmt.Errorf(\"Unable to get module base address (ptrSize=%d): %v\", unsafe.Sizeof(uintptr(0)), err)",
  "return CharaProcessInfo{}, fmt.Errorf(\"未找到游戏进程，请先启动游戏\")": "return CharaProcessInfo{}, fmt.Errorf(\"Game process not found. Start the game first.\")",
  "return CharaProcessInfo{}, fmt.Errorf(\"管理器指针为空，请确保已进入游戏存档\")": "return CharaProcessInfo{}, fmt.Errorf(\"Manager pointer is null. Make sure a save is loaded in game.\")",
  "return CountdownStatus{}, fmt.Errorf(\"倒计时指令字节已变化，请重新扫描\")": "return CountdownStatus{}, fmt.Errorf(\"Countdown instruction bytes changed. Rescan.\")",
  "return CountdownStatus{}, fmt.Errorf(\"写入倒计时失败: %w\", err)": "return CountdownStatus{}, fmt.Errorf(\"Failed to write countdown: %w\", err)",
  "return CountdownStatus{}, fmt.Errorf(\"未定位倒计时指令\")": "return CountdownStatus{}, fmt.Errorf(\"Countdown instruction not located\")",
  "return CountdownStatus{}, fmt.Errorf(\"请输入 0 到 9999 之间的有效倒计时数值\")": "return CountdownStatus{}, fmt.Errorf(\"Enter a valid countdown value between 0 and 9999\")",
  "return CountdownStatus{}, fmt.Errorf(\"读取倒计时指令失败: %w\", err)": "return CountdownStatus{}, fmt.Errorf(\"Failed to read countdown instruction: %w\", err)",
  "return CurrencyInfo{}, fmt.Errorf(\"写入%s失败: %w\", def.Name, err)": "return CurrencyInfo{}, fmt.Errorf(\"Failed to write %s: %w\", def.Name, err)",
  "return CurrencyInfo{}, fmt.Errorf(\"未知货币: %s\", id)": "return CurrencyInfo{}, fmt.Errorf(\"Unknown currency: %s\", id)",
  "return CurrencyInfo{}, fmt.Errorf(\"请输入 0 到 %d 之间的整数\", math.MaxInt32)": "return CurrencyInfo{}, fmt.Errorf(\"Enter an integer between 0 and %d\", math.MaxInt32)",
  "return CurrencyInfo{}, fmt.Errorf(\"读取%s失败: %w\", def.Name, err)": "return CurrencyInfo{}, fmt.Errorf(\"Failed to read %s: %w\", def.Name, err)",
  "return FaceAccessoryStatus{}, fmt.Errorf(\"写入脸部符文显示开关失败: %w\", err)": "return FaceAccessoryStatus{}, fmt.Errorf(\"Failed to write face-rune display toggle: %w\", err)",
  "return FaceAccessoryStatus{}, fmt.Errorf(\"未定位脸部符文指令\")": "return FaceAccessoryStatus{}, fmt.Errorf(\"Face-rune instruction not located\")",
  "return FaceAccessoryStatus{}, fmt.Errorf(\"脸部符文指令字节已变化，请重新扫描\")": "return FaceAccessoryStatus{}, fmt.Errorf(\"Face-rune instruction bytes changed. Rescan.\")",
  "return FaceAccessoryStatus{}, fmt.Errorf(\"脸部符文跳转 opcode 异常: 0x%02X\", buf[8])": "return FaceAccessoryStatus{}, fmt.Errorf(\"Unexpected face-rune jump opcode: 0x%02X\", buf[8])",
  "return FaceAccessoryStatus{}, fmt.Errorf(\"读取脸部符文指令失败: %w\", err)": "return FaceAccessoryStatus{}, fmt.Errorf(\"Failed to read face-rune instruction: %w\", err)",
  "return InfiniteChallengeStatus{}, fmt.Errorf(\"写入无限挑战失败: %w\", err)": "return InfiniteChallengeStatus{}, fmt.Errorf(\"Failed to enable infinite challenges: %w\", err)",
  "return InfiniteChallengeStatus{}, fmt.Errorf(\"无限挑战指令字节异常: %s\", bytesToHex(buf))": "return InfiniteChallengeStatus{}, fmt.Errorf(\"Unexpected infinite-challenge instruction bytes: %s\", bytesToHex(buf))",
  "return InfiniteChallengeStatus{}, fmt.Errorf(\"读取无限挑战指令失败: %w\", err)": "return InfiniteChallengeStatus{}, fmt.Errorf(\"Failed to read infinite-challenge instruction: %w\", err)",
  "return MaterialConsumeStatus{}, fmt.Errorf(\"写入升级/强化材料消耗失败: %w\", err)": "return MaterialConsumeStatus{}, fmt.Errorf(\"Failed to change upgrade/enhancement material consumption: %w\", err)",
  "return MaterialConsumeStatus{}, fmt.Errorf(\"升级/强化材料消耗指令字节异常: %s\", bytesToHex(buf))": "return MaterialConsumeStatus{}, fmt.Errorf(\"Unexpected upgrade/enhancement material-consumption instruction bytes: %s\", bytesToHex(buf))",
  "return MaterialConsumeStatus{}, fmt.Errorf(\"读取升级/强化材料消耗指令失败: %w\", err)": "return MaterialConsumeStatus{}, fmt.Errorf(\"Failed to read the upgrade/enhancement material-consumption instruction: %w\", err)",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"Overdrive 状态请选择 1、4 或自动OD\")": "return MonsterEnhanceResult{}, fmt.Errorf(\"Choose Overdrive state 1, 4, or Auto OD\")",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"奥义接续计时请输入 0 到 9999 之间的数值\")": "return MonsterEnhanceResult{}, fmt.Errorf(\"Enter an SBA chain timer between 0 and 9999\")",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"怪物倍率请输入 0 到 9999 之间的数值\")": "return MonsterEnhanceResult{}, fmt.Errorf(\"Enter a monster multiplier between 0 and 9999\")",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"怪物增强 Hook 未写入目标地址\")": "return MonsterEnhanceResult{}, fmt.Errorf(\"The monster-enhancement hook was not written to the target address\")",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"怪物增强项目为空\")": "return MonsterEnhanceResult{}, fmt.Errorf(\"Monster enhancement item is empty\")",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"未知怪物增强项目: %s\", id)": "return MonsterEnhanceResult{}, fmt.Errorf(\"Unknown monster enhancement item: %s\", id)",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"注入怪物增强 DLL 失败: %w\", err)": "return MonsterEnhanceResult{}, fmt.Errorf(\"Failed to inject monster-enhancement DLL: %w\", err)",
  "return MonsterEnhanceResult{}, fmt.Errorf(\"读取%s失败: %w\", point.Name, err)": "return MonsterEnhanceResult{}, fmt.Errorf(\"Failed to read %s: %w\", point.Name, err)",
  "return OtherSkinPurpleRuneStatus{}, fmt.Errorf(\"其他皮肤紫色符文跳转字节异常: %s\", bytesToHex(buf))": "return OtherSkinPurpleRuneStatus{}, fmt.Errorf(\"Unexpected purple-rune skin jump bytes: %s\", bytesToHex(buf))",
  "return OtherSkinPurpleRuneStatus{}, fmt.Errorf(\"写入其他皮肤紫色符文显示失败: %w\", err)": "return OtherSkinPurpleRuneStatus{}, fmt.Errorf(\"Failed to enable purple runes on other skins: %w\", err)",
  "return OtherSkinPurpleRuneStatus{}, fmt.Errorf(\"读取其他皮肤紫色符文显示失败: %w\", err)": "return OtherSkinPurpleRuneStatus{}, fmt.Errorf(\"Failed to read purple-rune skin instruction: %w\", err)",
  "return OverLimitStatus{}, fmt.Errorf(\"%s 数值不能超过 %.0f\", overLimitAttributeName(update.Attribute), maxValue)": "return OverLimitStatus{}, fmt.Errorf(\"%s value cannot exceed %.0f\", overLimitAttributeName(update.Attribute), maxValue)",
  "return OverLimitStatus{}, fmt.Errorf(\"上限突破指令字节异常: %s\", bytesToHex(buf))": "return OverLimitStatus{}, fmt.Errorf(\"Unexpected Over Mastery instruction bytes: %s\", bytesToHex(buf))",
  "return OverLimitStatus{}, fmt.Errorf(\"写入上限突破 hook 失败: %w\", err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to write Over Mastery hook: %w\", err)",
  "return OverLimitStatus{}, fmt.Errorf(\"写入上限突破代码洞失败: %w\", err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to write Over Mastery code cave: %w\", err)",
  "return OverLimitStatus{}, fmt.Errorf(\"写入槽位 %d 属性失败: %w\", update.Index+1, err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to write slot %d attribute: %w\", update.Index+1, err)",
  "return OverLimitStatus{}, fmt.Errorf(\"写入槽位 %d 效果ID失败: %w\", update.Index+1, err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to write slot %d effect ID: %w\", update.Index+1, err)",
  "return OverLimitStatus{}, fmt.Errorf(\"写入槽位 %d 数值失败: %w\", update.Index+1, err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to write slot %d value: %w\", update.Index+1, err)",
  "return OverLimitStatus{}, fmt.Errorf(\"写入槽位 %d 等级失败: %w\", update.Index+1, err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to write slot %d level: %w\", update.Index+1, err)",
  "return OverLimitStatus{}, fmt.Errorf(\"分配上限突破代码洞失败: %w\", err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to allocate Over Mastery code cave: %w\", err)",
  "return OverLimitStatus{}, fmt.Errorf(\"无效的上限突破属性: 0x%08X\", update.Attribute)": "return OverLimitStatus{}, fmt.Errorf(\"Invalid Over Mastery attribute: 0x%08X\", update.Attribute)",
  "return OverLimitStatus{}, fmt.Errorf(\"无效的上限突破槽位: %d\", update.Index+1)": "return OverLimitStatus{}, fmt.Errorf(\"Invalid Over Mastery slot: %d\", update.Index+1)",
  "return OverLimitStatus{}, fmt.Errorf(\"无效的上限突破等级: 0x%08X\", update.Level)": "return OverLimitStatus{}, fmt.Errorf(\"Invalid Over Mastery level: 0x%08X\", update.Level)",
  "return OverLimitStatus{}, fmt.Errorf(\"未定位上限突破角色指针特征\")": "return OverLimitStatus{}, fmt.Errorf(\"Over Mastery character-pointer signature not located\")",
  "return OverLimitStatus{}, fmt.Errorf(\"请先在游戏突破界面加载角色\")": "return OverLimitStatus{}, fmt.Errorf(\"Load a character in the game’s Over Mastery screen first\")",
  "return OverLimitStatus{}, fmt.Errorf(\"请先开启上限突破读取，并在游戏突破界面加载角色\")": "return OverLimitStatus{}, fmt.Errorf(\"Enable Over Mastery reading and load a character in the game screen first\")",
  "return OverLimitStatus{}, fmt.Errorf(\"读取上限突破 hook 指令失败: %w\", err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to read Over Mastery hook instruction: %w\", err)",
  "return OverLimitStatus{}, fmt.Errorf(\"读取上限突破角色指针失败: %w\", err)": "return OverLimitStatus{}, fmt.Errorf(\"Failed to read Over Mastery character pointer: %w\", err)",
  "return PotionInfo{}, fmt.Errorf(\"写入%s失败: %w\", def.Name, err)": "return PotionInfo{}, fmt.Errorf(\"Failed to write %s: %w\", def.Name, err)",
  "return PotionInfo{}, fmt.Errorf(\"未知药水: %s\", id)": "return PotionInfo{}, fmt.Errorf(\"Unknown potion: %s\", id)",
  "return PotionInfo{}, fmt.Errorf(\"请输入 0 到 %d 之间的整数\", math.MaxInt32)": "return PotionInfo{}, fmt.Errorf(\"Enter an integer between 0 and %d\", math.MaxInt32)",
  "return PotionInfo{}, fmt.Errorf(\"读取%s失败: %w\", def.Name, err)": "return PotionInfo{}, fmt.Errorf(\"Failed to read %s: %w\", def.Name, err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"写入%s失败: %w\", write.name, err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to write %s: %w\", write.name, err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"写入因子读取 Hook 失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to write the sigil-reading hook: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"写入因子读取代码洞失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to write the sigil-reading code cave: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"分配因子读取代码洞失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to allocate the sigil-reading code cave: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"因子和词条等级不能超过 999\")": "return SigilMemoryStatus{}, fmt.Errorf(\"Sigil and trait levels cannot exceed 999\")",
  "return SigilMemoryStatus{}, fmt.Errorf(\"未定位选中因子特征\")": "return SigilMemoryStatus{}, fmt.Errorf(\"Selected-sigil signature has not been located\")",
  "return SigilMemoryStatus{}, fmt.Errorf(\"请先开启读取，并在游戏内因子列表选中一个因子\")": "return SigilMemoryStatus{}, fmt.Errorf(\"Enable reading and select a sigil in the in-game sigil list first\")",
  "return SigilMemoryStatus{}, fmt.Errorf(\"读取选中因子 Hook 指令失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to read the selected-sigil hook instruction: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"读取选中因子原始指令失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to read the original selected-sigil instruction: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"读取选中因子指令失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to read the selected-sigil instruction: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"读取选中因子指针失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to read the selected-sigil pointer: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"读取选中因子数据失败: %w\", err)": "return SigilMemoryStatus{}, fmt.Errorf(\"Failed to read the selected-sigil data: %w\", err)",
  "return SigilMemoryStatus{}, fmt.Errorf(\"选中因子指令字节异常: %s\", bytesToHex(buf))": "return SigilMemoryStatus{}, fmt.Errorf(\"Unexpected selected-sigil instruction bytes: %s\", bytesToHex(buf))",
  "return SigilMemoryStatus{}, fmt.Errorf(\"选中因子指令字节异常: %s\", bytesToHex(first))": "return SigilMemoryStatus{}, fmt.Errorf(\"Unexpected selected-sigil instruction bytes: %s\", bytesToHex(first))",
  "return StatusInfo{}, fmt.Errorf(\"文件不存在: %s\", path)": "return StatusInfo{}, fmt.Errorf(\"File does not exist: %s\", path)",
  "return TerminusDropStatus{}, fmt.Errorf(\"写入巴武掉落失败: %w\", err)": "return TerminusDropStatus{}, fmt.Errorf(\"Failed to write Terminus Weapon drop patch: %w\", err)",
  "return TerminusDropStatus{}, fmt.Errorf(\"巴武掉落指令字节已变化，请重新扫描\")": "return TerminusDropStatus{}, fmt.Errorf(\"Terminus Weapon drop instruction bytes changed. Rescan.\")",
  "return TerminusDropStatus{}, fmt.Errorf(\"巴武掉落跳转字节异常: %s\", bytesToHex(buf))": "return TerminusDropStatus{}, fmt.Errorf(\"Unexpected Terminus Weapon drop jump bytes: %s\", bytesToHex(buf))",
  "return TerminusDropStatus{}, fmt.Errorf(\"未定位巴武掉落指令\")": "return TerminusDropStatus{}, fmt.Errorf(\"Terminus Weapon drop instruction not located\")",
  "return TerminusDropStatus{}, fmt.Errorf(\"读取巴武掉落指令失败: %w\", err)": "return TerminusDropStatus{}, fmt.Errorf(\"Failed to read Terminus Weapon drop instruction: %w\", err)",
  "return UnlockAllTrophyStatus{}, fmt.Errorf(\"全称号解锁 opcode 异常: 0x%02X\", buf[9])": "return UnlockAllTrophyStatus{}, fmt.Errorf(\"Unexpected unlock-all-titles opcode: 0x%02X\", buf[9])",
  "return UnlockAllTrophyStatus{}, fmt.Errorf(\"全称号解锁指令字节已变化，请重新扫描\")": "return UnlockAllTrophyStatus{}, fmt.Errorf(\"Unlock-all-titles instruction bytes changed. Rescan.\")",
  "return UnlockAllTrophyStatus{}, fmt.Errorf(\"写入全称号解锁失败: %w\", err)": "return UnlockAllTrophyStatus{}, fmt.Errorf(\"Failed to write unlock-all-titles patch: %w\", err)",
  "return UnlockAllTrophyStatus{}, fmt.Errorf(\"未定位全称号解锁指令\")": "return UnlockAllTrophyStatus{}, fmt.Errorf(\"Unlock-all-titles instruction not located\")",
  "return UnlockAllTrophyStatus{}, fmt.Errorf(\"读取全称号解锁指令失败: %w\", err)": "return UnlockAllTrophyStatus{}, fmt.Errorf(\"Failed to read unlock-all-titles instruction: %w\", err)",
  "return UpdateInfo{}, fmt.Errorf(\"检查更新失败: %w\", err)": "return UpdateInfo{}, fmt.Errorf(\"Failed to check for updates: %w\", err)",
  "return UpdateInfo{}, fmt.Errorf(\"检查更新失败: GitHub 返回 %s\", resp.Status)": "return UpdateInfo{}, fmt.Errorf(\"Failed to check for updates: GitHub returned %s\", resp.Status)",
  "return UpdateInfo{}, fmt.Errorf(\"解析更新信息失败: %w\", err)": "return UpdateInfo{}, fmt.Errorf(\"Failed to parse update information: %w\", err)",
  "return ['第一特性', '第二特性', '第三特性'][slot]": "return ['First Trait', 'Second Trait', 'Third Trait'][slot]",
  "return a.scanPatternUnique(countdownPattern, countdownMask, \"倒计时特征\")": "return a.scanPatternUnique(countdownPattern, countdownMask, \"countdown signature\")",
  "return fmt.Errorf(\"%s %s 不允许等级 %d\", label, trait.DisplayName, level)": "return fmt.Errorf(\"%s %s does not allow level %d\", label, trait.DisplayName, level)",
  "return fmt.Errorf(\"%s 不允许主特性等级 %d\", primaryTrait.DisplayName, item.PrimaryLevel)": "return fmt.Errorf(\"%s does not allow primary-trait level %d\", primaryTrait.DisplayName, item.PrimaryLevel)",
  "return fmt.Errorf(\"%s 不允许副特性等级 %d\", secondaryTrait.DisplayName, item.SecondaryLevel)": "return fmt.Errorf(\"%s does not allow secondary-trait level %d\", secondaryTrait.DisplayName, item.SecondaryLevel)",
  "return fmt.Errorf(\"%s 不允许因子等级 %d\", sigil.DisplayName, item.Level)": "return fmt.Errorf(\"%s does not allow sigil level %d\", sigil.DisplayName, item.Level)",
  "return fmt.Errorf(\"%s 不支持副特性\", sigil.DisplayName)": "return fmt.Errorf(\"%s does not support a secondary trait\", sigil.DisplayName)",
  "return fmt.Errorf(\"%s 不是 %s 的已验证副特性\", secondaryTrait.DisplayName, sigil.DisplayName)": "return fmt.Errorf(\"%s is not a verified secondary trait for %s\", secondaryTrait.DisplayName, sigil.DisplayName)",
  "return fmt.Errorf(\"%s 需要选择副特性\", sigil.DisplayName)": "return fmt.Errorf(\"%s requires a secondary trait\", sigil.DisplayName)",
  "return fmt.Errorf(\"%s指令字节未知: %s\", point.Name, bytesToHex(current))": "return fmt.Errorf(\"Unknown instruction bytes for %s: %s\", point.Name, bytesToHex(current))",
  "return fmt.Errorf(\"--quantity 必须是数字: %w\", err)": "return fmt.Errorf(\"--quantity must be a number: %w\", err)",
  "return fmt.Errorf(\"VirtualFreeEx 失败\")": "return fmt.Errorf(\"VirtualFreeEx failed\")",
  "return fmt.Errorf(\"hash table 偏移超出 slot data 范围\")": "return fmt.Errorf(\"Hash-table offset is outside slot-data bounds\")",
  "return fmt.Errorf(\"hash 区间无效\")": "return fmt.Errorf(\"Invalid hash range\")",
  "return fmt.Errorf(\"slot data 太小，无 hash table\")": "return fmt.Errorf(\"Slot data is too small and contains no hash table\")",
  "return fmt.Errorf(\"保存因子字段 +0x%02X 失败: %w\", offset, err)": "return fmt.Errorf(\"Failed to commit sigil field +0x%02X: %w\", offset, err)",
  "return fmt.Errorf(\"写入%s失败: %w\", point.Name, err)": "return fmt.Errorf(\"Failed to write %s: %w\", point.Name, err)",
  "return fmt.Errorf(\"创建输出目录失败: %w\", err)": "return fmt.Errorf(\"Failed to create output directory: %w\", err)",
  "return fmt.Errorf(\"备份已存在，使用强制覆盖选项\")": "return fmt.Errorf(\"Backup already exists. Enable overwrite to replace it.\")",
  "return fmt.Errorf(\"备份文件不存在\")": "return fmt.Errorf(\"Backup file does not exist\")",
  "return fmt.Errorf(\"恢复%s失败: %w\", point.Name, err)": "return fmt.Errorf(\"Failed to restore %s: %w\", point.Name, err)",
  "return fmt.Errorf(\"恢复鳄鱼多倍血1HP保底失败: %w\", err)": "return fmt.Errorf(\"Failed to restore the crocodile 1-HP safeguard: %w\", err)",
  "return fmt.Errorf(\"找不到 GEMDATA_MAX_SLOT_ID (2701)\")": "return fmt.Errorf(\"GEMDATA_MAX_SLOT_ID (2701) not found\")",
  "return fmt.Errorf(\"找不到 ITEM_UNK_MAX_SLOT_ID (2101)\")": "return fmt.Errorf(\"ITEM_UNK_MAX_SLOT_ID (2101) not found\")",
  "return fmt.Errorf(\"找不到 SAVEDATA_HASHSEED (1003)\")": "return fmt.Errorf(\"SAVEDATA_HASHSEED (1003) not found\")",
  "return fmt.Errorf(\"找不到 save unit: IDType=%d, UnitID=%d\", idType, unitID)": "return fmt.Errorf(\"Save unit not found: IDType=%d, UnitID=%d\", idType, unitID)",
  "return fmt.Errorf(\"找不到可用的代码空间\")": "return fmt.Errorf(\"No usable code cave found\")",
  "return fmt.Errorf(\"数量至少为 1\")": "return fmt.Errorf(\"Quantity must be at least 1\")",
  "return fmt.Errorf(\"无效的角色索引: %d\", index)": "return fmt.Errorf(\"Invalid character index: %d\", index)",
  "return fmt.Errorf(\"无效的队列索引: %d\", index)": "return fmt.Errorf(\"Invalid queue index: %d\", index)",
  "return fmt.Errorf(\"无法定位 RVA 0x%X\", def.RVA)": "return fmt.Errorf(\"Unable to locate RVA 0x%X\", def.RVA)",
  "return fmt.Errorf(\"无法定位已有跳板\")": "return fmt.Errorf(\"Unable to locate existing trampoline\")",
  "return fmt.Errorf(\"无法打开进程 (错误 %v)，请以管理员身份运行\", err)": "return fmt.Errorf(\"Unable to open process (error %v). Run as administrator.\", err)",
  "return fmt.Errorf(\"无法获取模块基址: %v\", err)": "return fmt.Errorf(\"Unable to get module base address: %v\", err)",
  "return fmt.Errorf(\"未找到游戏进程，请先启动游戏\")": "return fmt.Errorf(\"Game process not found. Start the game first.\")",
  "return fmt.Errorf(\"未知补丁: %s\", patchID)": "return fmt.Errorf(\"Unknown patch: %s\", patchID)",
  "return fmt.Errorf(\"未连接游戏进程\")": "return fmt.Errorf(\"Not connected to the game process\")",
  "return fmt.Errorf(\"未选择文件\")": "return fmt.Errorf(\"No file selected\")",
  "return fmt.Errorf(\"目标字节异常，拒绝补丁\\n当前: %s\", bytesToHex(target))": "return fmt.Errorf(\"Unexpected target bytes; patch refused\\nCurrent: %s\", bytesToHex(target))",
  "return fmt.Errorf(\"目标文件不存在\")": "return fmt.Errorf(\"Target file does not exist\")",
  "return fmt.Errorf(\"管理器指针无效\")": "return fmt.Errorf(\"Invalid manager pointer\")",
  "return fmt.Errorf(\"补丁超出文件范围\")": "return fmt.Errorf(\"Patch exceeds file bounds\")",
  "return fmt.Errorf(\"读取%s失败: %w\", point.Name, err)": "return fmt.Errorf(\"Failed to read %s: %w\", point.Name, err)",
  "return fmt.Errorf(\"读取备份失败: %w\", err)": "return fmt.Errorf(\"Failed to read backup: %w\", err)",
  "return fmt.Errorf(\"读取文件失败: %w\", err)": "return fmt.Errorf(\"Failed to read file: %w\", err)",
  "return fmt.Errorf(\"远程保存调用超时\")": "return fmt.Errorf(\"Remote save call timed out\")",
  "return fmt.Errorf(\"验证失败 %s: 期望 %d, 实际 %d\", label, expected, actual)": "return fmt.Errorf(\"Verification failed for %s: expected %d, got %d\", label, expected, actual)",
  "return fmt.Errorf(\"验证失败 %s: 期望 %v, 实际 %v\", label, expected, actual)": "return fmt.Errorf(\"Verification failed for %s: expected %v, got %v\", label, expected, actual)",
  "return fmt.Errorf(\"验证失败 %s: 期望 0x%08X, 实际 0x%08X\", label, expected, actual)": "return fmt.Errorf(\"Verification failed for %s: expected 0x%08X, got 0x%08X\", label, expected, actual)",
  "return fmt.Errorf(\"验证失败: 找不到 %s\", label)": "return fmt.Errorf(\"Verification failed: %s not found\", label)",
  "return item, fmt.Errorf(\"数量至少为 1\")": "return item, fmt.Errorf(\"Quantity must be at least 1\")",
  "return nil, fmt.Errorf(\"%s 哈希无效\", firstTrait.DisplayName)": "return nil, fmt.Errorf(\"Invalid hash for %s\", firstTrait.DisplayName)",
  "return nil, fmt.Errorf(\"%s 哈希无效\", primaryTrait.DisplayName)": "return nil, fmt.Errorf(\"Invalid hash for %s\", primaryTrait.DisplayName)",
  "return nil, fmt.Errorf(\"%s 哈希无效\", secondTrait.DisplayName)": "return nil, fmt.Errorf(\"Invalid hash for %s\", secondTrait.DisplayName)",
  "return nil, fmt.Errorf(\"%s 哈希无效\", secondaryTrait.DisplayName)": "return nil, fmt.Errorf(\"Invalid hash for %s\", secondaryTrait.DisplayName)",
  "return nil, fmt.Errorf(\"%s 哈希无效\", thirdTrait.DisplayName)": "return nil, fmt.Errorf(\"Invalid hash for %s\", thirdTrait.DisplayName)",
  "return nil, fmt.Errorf(\"%s 哈希无效: %s\", sigil.DisplayName, sigil.Hash)": "return nil, fmt.Errorf(\"Invalid hash for %s: %s\", sigil.DisplayName, sigil.Hash)",
  "return nil, fmt.Errorf(\"%s 哈希无效: %s\", wrightstone.DisplayName, wrightstone.Hash)": "return nil, fmt.Errorf(\"Invalid hash for %s: %s\", wrightstone.DisplayName, wrightstone.Hash)",
  "return nil, fmt.Errorf(\"%s 的默认特性不存在: %s\", w.DisplayName, w.DefaultTraitID)": "return nil, fmt.Errorf(\"Default trait for %s does not exist: %s\", w.DisplayName, w.DefaultTraitID)",
  "return nil, fmt.Errorf(\"%s 缺少默认特性\", w.DisplayName)": "return nil, fmt.Errorf(\"%s is missing its default trait\", w.DisplayName)",
  "return nil, fmt.Errorf(\"root offset超出范围\")": "return nil, fmt.Errorf(\"Root offset is out of range\")",
  "return nil, fmt.Errorf(\"写入 %s 失败: %w\", item.SigilName, err)": "return nil, fmt.Errorf(\"Failed to write %s: %w\", item.SigilName, err)",
  "return nil, fmt.Errorf(\"写入 %s 失败: %w\", item.WrightstoneName, err)": "return nil, fmt.Errorf(\"Failed to write %s: %w\", item.WrightstoneName, err)",
  "return nil, fmt.Errorf(\"写入输出文件失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to write output file: %w\", err)",
  "return nil, fmt.Errorf(\"加载因子数据失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to load sigil data: %w\", err)",
  "return nil, fmt.Errorf(\"加载特性数据失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to load trait data: %w\", err)",
  "return nil, fmt.Errorf(\"加载祝福数据失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to load wrightstone data: %w\", err)",
  "return nil, fmt.Errorf(\"加载祝福特性数据失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to load wrightstone-trait data: %w\", err)",
  "return nil, fmt.Errorf(\"加载规则数据失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to load rule data: %w\", err)",
  "return nil, fmt.Errorf(\"参数 --%s 缺少值\", key)": "return nil, fmt.Errorf(\"Argument --%s is missing a value\", key)",
  "return nil, fmt.Errorf(\"因子 %s 缺少已验证的等级范围\", sigil.DisplayName)": "return nil, fmt.Errorf(\"Sigil %s is missing a verified level range\", sigil.DisplayName)",
  "return nil, fmt.Errorf(\"因子槽 %d 缺少 GEMDATA_FLAGS\", gemUnitID)": "return nil, fmt.Errorf(\"Sigil slot %d is missing GEMDATA_FLAGS\", gemUnitID)",
  "return nil, fmt.Errorf(\"因子槽 %d 缺少 GEMDATA_SKILL_1_LEVEL\", gemUnitID)": "return nil, fmt.Errorf(\"Sigil slot %d is missing GEMDATA_SKILL_1_LEVEL\", gemUnitID)",
  "return nil, fmt.Errorf(\"因子槽 %d 缺少 GEMDATA_SLOT_IDS\", gemUnitID)": "return nil, fmt.Errorf(\"Sigil slot %d is missing GEMDATA_SLOT_IDS\", gemUnitID)",
  "return nil, fmt.Errorf(\"因子槽 %d 缺少 GEMDATA_WORN_BY\", gemUnitID)": "return nil, fmt.Errorf(\"Sigil slot %d is missing GEMDATA_WORN_BY\", gemUnitID)",
  "return nil, fmt.Errorf(\"因子槽 %d 缺少主特性哈希\", gemUnitID)": "return nil, fmt.Errorf(\"Sigil slot %d is missing the primary-trait hash\", gemUnitID)",
  "return nil, fmt.Errorf(\"因子槽 %d 缺少主特性等级\", gemUnitID)": "return nil, fmt.Errorf(\"Sigil slot %d is missing the primary-trait level\", gemUnitID)",
  "return nil, fmt.Errorf(\"存档SlotData为空\")": "return nil, fmt.Errorf(\"Save SlotData is empty\")",
  "return nil, fmt.Errorf(\"存档头 slot-data 偏移无效\")": "return nil, fmt.Errorf(\"Invalid slot-data offset in save header\")",
  "return nil, fmt.Errorf(\"存档扫描未发现任何因子数据 (扫描了 %d 条 Entry)\", totalScanned)": "return nil, fmt.Errorf(\"No sigil data found in save scan (%d entries scanned)\", totalScanned)",
  "return nil, fmt.Errorf(\"存档文件太小\")": "return nil, fmt.Errorf(\"Save file is too small\")",
  "return nil, fmt.Errorf(\"数据太小\")": "return nil, fmt.Errorf(\"Data is too small\")",
  "return nil, fmt.Errorf(\"文件太小，不是有效的存档\")": "return nil, fmt.Errorf(\"File is too small to be a valid save\")",
  "return nil, fmt.Errorf(\"未加载存档\")": "return nil, fmt.Errorf(\"No save file loaded\")",
  "return nil, fmt.Errorf(\"未知参数: %s\", arg)": "return nil, fmt.Errorf(\"Unknown argument: %s\", arg)",
  "return nil, fmt.Errorf(\"未知因子 ID: %s\", id)": "return nil, fmt.Errorf(\"Unknown sigil ID: %s\", id)",
  "return nil, fmt.Errorf(\"未知特性 ID: %s\", id)": "return nil, fmt.Errorf(\"Unknown trait ID: %s\", id)",
  "return nil, fmt.Errorf(\"未知祝福 ID: %s\", id)": "return nil, fmt.Errorf(\"Unknown wrightstone ID: %s\", id)",
  "return nil, fmt.Errorf(\"未连接游戏进程\")": "return nil, fmt.Errorf(\"Not connected to the game process\")",
  "return nil, fmt.Errorf(\"未选择要删除的因子\")": "return nil, fmt.Errorf(\"No sigils selected for deletion\")",
  "return nil, fmt.Errorf(\"校验和修复失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to repair checksum: %w\", err)",
  "return nil, fmt.Errorf(\"根表vtable无效\")": "return nil, fmt.Errorf(\"Invalid root-table vtable\")",
  "return nil, fmt.Errorf(\"槽位 %d 个，全部为空\", totalOccupied)": "return nil, fmt.Errorf(\"All %d slots are empty\", totalOccupied)",
  "return nil, fmt.Errorf(\"没有要写入的祝福\")": "return nil, fmt.Errorf(\"No wrightstones to write\")",
  "return nil, fmt.Errorf(\"特性 %s 缺少已验证的等级范围 (%s)\", trait.DisplayName, label)": "return nil, fmt.Errorf(\"Trait %s is missing a verified level range (%s)\", trait.DisplayName, label)",
  "return nil, fmt.Errorf(\"特性 %s 缺少已验证的等级范围\", trait.DisplayName)": "return nil, fmt.Errorf(\"Trait %s is missing a verified level range\", trait.DisplayName)",
  "return nil, fmt.Errorf(\"祝福数据缺少 ID 或哈希\")": "return nil, fmt.Errorf(\"Wrightstone data is missing an ID or hash\")",
  "return nil, fmt.Errorf(\"祝福槽 %d 缺少 BOOL 字段\", itemUnitID)": "return nil, fmt.Errorf(\"Wrightstone slot %d is missing the BOOL field\", itemUnitID)",
  "return nil, fmt.Errorf(\"祝福槽 %d 缺少 FLAGS\", itemUnitID)": "return nil, fmt.Errorf(\"Wrightstone slot %d is missing FLAGS\", itemUnitID)",
  "return nil, fmt.Errorf(\"祝福槽 %d 缺少 ITEM_ID\", itemUnitID)": "return nil, fmt.Errorf(\"Wrightstone slot %d is missing ITEM_ID\", itemUnitID)",
  "return nil, fmt.Errorf(\"祝福槽 %d 缺少 SLOT_ID\", itemUnitID)": "return nil, fmt.Errorf(\"Wrightstone slot %d is missing SLOT_ID\", itemUnitID)",
  "return nil, fmt.Errorf(\"祝福槽 %d 缺少第 %d 个特性哈希\", itemUnitID, j+1)": "return nil, fmt.Errorf(\"Wrightstone slot %d is missing trait hash %d\", itemUnitID, j+1)",
  "return nil, fmt.Errorf(\"祝福槽 %d 缺少第 %d 个特性等级\", itemUnitID, j+1)": "return nil, fmt.Errorf(\"Wrightstone slot %d is missing trait level %d\", itemUnitID, j+1)",
  "return nil, fmt.Errorf(\"空因子槽不足 (需要 %d, 找到 %d)\", count, len(emptyIDs))": "return nil, fmt.Errorf(\"Not enough empty sigil slots (needed %d, found %d)\", count, len(emptyIDs))",
  "return nil, fmt.Errorf(\"空祝福槽不足 (需要 %d, 找到 %d)\", count, len(emptyIDs))": "return nil, fmt.Errorf(\"Not enough empty wrightstone slots (needed %d, found %d)\", count, len(emptyIDs))",
  "return nil, fmt.Errorf(\"管理器指针无效，请确保在游戏存档中\")": "return nil, fmt.Errorf(\"Invalid manager pointer. Make sure a save is loaded in game.\")",
  "return nil, fmt.Errorf(\"缺少参数 --%s\", key)": "return nil, fmt.Errorf(\"Missing argument --%s\", key)",
  "return nil, fmt.Errorf(\"缺少已验证的特性 ID\")": "return nil, fmt.Errorf(\"Verified trait ID is missing\")",
  "return nil, fmt.Errorf(\"解析SlotData失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to parse SlotData: %w\", err)",
  "return nil, fmt.Errorf(\"解析存档失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to parse save: %w\", err)",
  "return nil, fmt.Errorf(\"请先加载存档\")": "return nil, fmt.Errorf(\"Load a save file first\")",
  "return nil, fmt.Errorf(\"请输入输出路径\")": "return nil, fmt.Errorf(\"Please enter an output path\")",
  "return nil, fmt.Errorf(\"请选择特性\")": "return nil, fmt.Errorf(\"Please select a trait\")",
  "return nil, fmt.Errorf(\"读取上限突破槽位 %d 失败: %w\", i+1, err)": "return nil, fmt.Errorf(\"Failed to read Over Mastery slot %d: %w\", i+1, err)",
  "return nil, fmt.Errorf(\"读取存档失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to read save: %w\", err)",
  "return nil, fmt.Errorf(\"读取文件失败: %w\", err)": "return nil, fmt.Errorf(\"Failed to read file: %w\", err)",
  "return nil, fmt.Errorf(\"跳转覆盖长度不足\")": "return nil, fmt.Errorf(\"Insufficient jump overwrite length\")",
  "return nil, fmt.Errorf(\"跳转距离超过 rel32 范围\")": "return nil, fmt.Errorf(\"Jump distance exceeds rel32 range\")",
  "return nil, fmt.Errorf(\"选中因子原始指令长度异常\")": "return nil, fmt.Errorf(\"Unexpected original selected-sigil instruction length\")",
  "return nil, fmt.Errorf(\"队列为空，请先添加因子\")": "return nil, fmt.Errorf(\"Queue is empty. Add a sigil first.\")",
  "return requireTraitLevels(trait, \"主特性\")": "return requireTraitLevels(trait, \"Primary Trait\")",
  "return requireTraitLevels(trait, \"副特性\")": "return requireTraitLevels(trait, \"Secondary Trait\")",
  "return result, fmt.Errorf(\"解析 %s 失败: %w\", path, err)": "return result, fmt.Errorf(\"Failed to parse %s: %w\", path, err)",
  "return result, fmt.Errorf(\"读取 %s 失败: %w\", path, err)": "return result, fmt.Errorf(\"Failed to read %s: %w\", path, err)",
  "return result, fmt.Errorf(\"读取 %v 失败: %w\", paths, lastErr)": "return result, fmt.Errorf(\"Failed to read %v: %w\", paths, lastErr)",
  "root offset超出范围": "Root offset is out of range",
  "run(() => OverLimitEnable(), '上限突破读取已开启，请在突破界面加载角色')": "run(() => OverLimitEnable(), 'Over Mastery reading enabled. Load a character in the Over Mastery screen.')",
  "run(() => OverLimitScan(), '上限突破特征定位成功')": "run(() => OverLimitScan(), 'Over Mastery signature located')",
  "show('读取已开启。请在游戏内因子列表选中一个因子。', 'success')": "show('Reading enabled. Select a sigil in the in-game sigil list.', 'success')",
  "show(`已写入并提交保存: ${next.sigilName}`, 'success')": "show(`Written and committed for saving: ${next.sigilName}`, 'success')",
  "showStatus('已添加到队列', 'success')": "showStatus('Added to queue', 'success')",
  "showStatus('文件加载成功', 'success')": "showStatus('File loaded successfully', 'success')",
  "showStatus('未选中任何因子', 'error'); return": "showStatus('No sigils selected', 'error'); return",
  "showStatus('请先填写输入和输出路径', 'error'); return": "showStatus('Enter both input and output paths first', 'error'); return",
  "showStatus('请填写输出路径', 'error'); return": "showStatus('Please enter an output path', 'error'); return",
  "showStatus('读取已有因子失败: ' + String(e), 'error')": "showStatus('Failed to read existing sigils: ' + String(e), 'error')",
  "showStatus(`已写入 ${result.createdCount} 个因子 (验证 ${result.verifiedCount})`, 'success')": "showStatus(`Wrote ${result.createdCount} sigils (verified ${result.verifiedCount})`, 'success')",
  "showStatus(`已写入 ${result.createdCount} 个祝福 (验证 ${result.verifiedCount})`, 'success')": "showStatus(`Wrote ${result.createdCount} wrightstones (verified ${result.verifiedCount})`, 'success')",
  "showStatus(`已删除 ${result.createdCount} 个因子`, 'success')": "showStatus(`Deleted ${result.createdCount} sigils`, 'success')",
  "showStatus(`已加载存档: ${info.occupiedSigils} 个因子`, 'success')": "showStatus(`Loaded save: ${info.occupiedSigils} sigils`, 'success')",
  "showStatus(`已加载存档: ${info.occupiedWrightstones} 个祝福`, 'success')": "showStatus(`Loaded save: ${info.occupiedWrightstones} wrightstones`, 'success')",
  "showStatus(`已清除 ${result.createdCount} 个因子 (剩余 ${result.verifiedCount})`, 'success')": "showStatus(`Removed ${result.createdCount} sigils (${result.verifiedCount} remaining)`, 'success')",
  "showStatus(`请选择${traitLabel(i)}及等级`, 'error')": "showStatus(`Select ${traitLabel(i)} and its level`, 'error')",
  "slot data 太小，无 hash table": "Slot data is too small and contains no hash table",
  "{0x00, update.PrimaryTraitHash, \"主词条\"},": "{0x00, update.PrimaryTraitHash, \"primary trait\"},",
  "{0x04, update.PrimaryTraitLevel, \"主词条等级\"},": "{0x04, update.PrimaryTraitLevel, \"primary trait level\"},",
  "{0x04AC2281, \"激昂\"},": "{0x04AC2281, \"Uplift\"},",
  "{0x0523A202, \"黑龙的咒印\"},": "{0x0523A202, \"The Black's Mark\"},",
  "{0x06719232, \"黑龙的咒印\"},": "{0x06719232, \"The Black's Mark\"},",
  "{0x0723F7EC, \"黑龙的折跃\"},": "{0x0723F7EC, \"The Black's Impulse\"},",
  "{0x08, update.SecondaryTraitHash, \"副词条\"},": "{0x08, update.SecondaryTraitHash, \"secondary trait\"},",
  "{0x08DA7279, \"攻击力\"},": "{0x08DA7279, \"Attack Power\"},",
  "{0x0C, update.SecondaryTraitLevel, \"副词条等级\"},": "{0x0C, update.SecondaryTraitLevel, \"secondary trait level\"},",
  "{0x0DE887A0, \"天星之炼\"},": "{0x0DE887A0, \"Celestial Nyx\"},",
  "{0x10, update.SigilHash, \"因子\"},": "{0x10, update.SigilHash, \"sigil\"},",
  "{0x18, update.SigilLevel, \"因子等级\"},": "{0x18, update.SigilLevel, \"sigil level\"},",
  "{0x1A359B67, \"雷狼的慧眼\"},": "{0x1A359B67, \"Thunderwolf's Acuity\"},",
  "{0x1DE14C65, \"狼王之觉醒\"},": "{0x1DE14C65, \"Gladiator's Awakening\"},",
  "{0x20492635, \"天星之煌\"},": "{0x20492635, \"Celestial Lumen\"},",
  "{0x23953FD4, \"雷狼之觉醒\"},": "{0x23953FD4, \"Thunderwolf's Awakening\"},",
  "{0x2679A4F0, \"明镜止水\"},": "{0x2679A4F0, \"Nimble Onslaught\"},",
  "{0x26956F25, \"狼王的大轮转\"},": "{0x26956F25, \"Gladiator's Top\"},",
  "{0x2D70C37D, \"转世的战气\"},": "{0x2D70C37D, \"Enchantress's Warpath\"},",
  "{0x30773197, \"转世的跃动\"},": "{0x30773197, \"Enchantress's Rhythm\"},",
  "{0x36E3848D, \"天星之焰\"},": "{0x36E3848D, \"Celestial Incendo\"},",
  "{0x3BA37635, \"HP吸收\"},": "{0x3BA37635, \"Drain\"},",
  "{0x3EB345D7, \"雷狼的战气\"},": "{0x3EB345D7, \"Thunderwolf's Warpath\"},",
  "{0x3ED16FB2, \"药水携带数\"},": "{0x3ED16FB2, \"Potion Hoarder\"},",
  "{0x41AC1082, \"狼王的战气\"},": "{0x41AC1082, \"Gladiator's Warpath\"},",
  "{0x43B7581D, \"43B7581D\", \"普通攻击上限\", 103, 20, 1},": "{0x43B7581D, \"43B7581D\", \"Normal Attack Damage Cap\", 103, 20, 1},",
  "{0x45C65767, \"45C65767\", \"暴击率\", 2, 20, 1},": "{0x45C65767, \"45C65767\", \"Critical Hit Rate\", 2, 20, 1},",
  "{0x461A8E07, \"群青的逆境\"},": "{0x461A8E07, \"Ultramarine's Adversity\"},",
  "{0x47384248, \"转世的恩宠\"},": "{0x47384248, \"Enchantress's Blessing\"},",
  "{0x4A4C093D, \"4A4C093D\", \"奥义伤害上限\", 105, 20, 1},": "{0x4A4C093D, \"4A4C093D\", \"SBA Damage Cap\", 105, 20, 1},",
  "{0x4E42646B, \"4E42646B\", \"奥义伤害\", 101, 20, 1},": "{0x4E42646B, \"4E42646B\", \"SBA Damage\", 101, 20, 1},",
  "{0x51E98A7C, \"群青的战气\"},": "{0x51E98A7C, \"Ultramarine's Warpath\"},",
  "{0x54929589, \"54929589\", \"HP回复上限\", 107, 20, 1},": "{0x54929589, \"54929589\", \"Healing Cap\", 107, 20, 1},",
  "{0x5559232F, \"黑龙的战气\"},": "{0x5559232F, \"The Black's Warpath\"},",
  "{0x5BF84FD1, \"浪迹天涯\"},": "{0x5BF84FD1, \"Fatebreaker\"},",
  "{0x64301E91, \"转世的恩宠\"},": "{0x64301E91, \"Enchantress's Blessing\"},",
  "{0x68B39018, \"68B39018\", \"奥义连锁伤害\", 102, 20, 1},": "{0x68B39018, \"68B39018\", \"Chain Burst Damage\", 102, 20, 1},",
  "{0x6CB38EF3, \"6CB38EF3\", \"昏厥值\", 3, 20, 10},": "{0x6CB38EF3, \"6CB38EF3\", \"Stun Power\", 3, 20, 10},",
  "{0x73220725, \"天星之止息\"},": "{0x73220725, \"Celestial Ventus\"},",
  "{0x74061B0C, \"天星之焰\"},": "{0x74061B0C, \"Celestial Incendo\"},",
  "{0x79266456, \"刃姬的战气\"},": "{0x79266456, \"Bladequeen's Warpath\"},",
  "{0x7B4AAB30, \"分歧\"},": "{0x7B4AAB30, \"Divergence\"},",
  "{0x7B5B081D, \"刃姬的小夜曲\"},": "{0x7B5B081D, \"Bladequeen's Serenade\"},",
  "{0x7D75D904, \"雷狼的弹匣\"},": "{0x7D75D904, \"Thunderwolf's Recharge\"},",
  "{0x807B6684, \"转世的战气\"},": "{0x807B6684, \"Enchantress's Warpath\"},",
  "{0x837B3D64, \"自愈\"},": "{0x837B3D64, \"Regen\"},",
  "{0x895ABBF6, \"狼王之觉醒\"},": "{0x895ABBF6, \"Gladiator's Awakening\"},",
  "{0x8B8085C0, \"天星之炼\"},": "{0x8B8085C0, \"Celestial Nyx\"},",
  "{0x9232DC17, \"天星之界\"},": "{0x9232DC17, \"Celestial Terra\"},",
  "{0x9300FADB, \"天星之止息\"},": "{0x9300FADB, \"Celestial Ventus\"},",
  "{0x95CC3CB8, \"群青之觉醒\"},": "{0x95CC3CB8, \"Ultramarine's Awakening\"},",
  "{0x96D6FE5E, \"刃姬的轮舞曲\"},": "{0x96D6FE5E, \"Bladequeen's Circuit\"},",
  "{0x9A97C049, \"9A97C049\", \"能力伤害\", 100, 20, 1},": "{0x9A97C049, \"9A97C049\", \"Skill Damage\", 100, 20, 1},",
  "{0x9ABD2DA5, \"黑龙的战气\"},": "{0x9ABD2DA5, \"The Black's Warpath\"},",
  "{0x9ACE140B, \"刃姬的轮舞曲\"},": "{0x9ACE140B, \"Bladequeen's Circuit\"},",
  "{0x9C555433, \"9C555433\", \"能力伤害上限\", 104, 20, 1},": "{0x9C555433, \"9C555433\", \"Skill Damage Cap\", 104, 20, 1},",
  "{0x9EC6C56D, \"狼王的激昂\"},": "{0x9EC6C56D, \"Gladiator's Frenzy\"},",
  "{0xA7726190, \"天星之煌\"},": "{0xA7726190, \"Celestial Lumen\"},",
  "{0xA898E283, \"天星之雪\"},": "{0xA898E283, \"Celestial Aqua\"},",
  "{0xA8A0CBFF, \"黑龙之觉醒\"},": "{0xA8A0CBFF, \"The Black's Awakening\"},",
  "{0xB5B23F02, \"体力\"},": "{0xB5B23F02, \"Health\"},",
  "{0xB953CC1E, \"群青的战气\"},": "{0xB953CC1E, \"Ultramarine's Warpath\"},",
  "{0xBA28C81C, \"转世的跃动\"},": "{0xBA28C81C, \"Enchantress's Rhythm\"},",
  "{0xBE3404B9, \"雷狼的慧眼\"},": "{0xBE3404B9, \"Thunderwolf's Acuity\"},",
  "{0xC4925BD7, \"C4925BD7\", \"攻击力\", 0, 1000, 1},": "{0xC4925BD7, \"C4925BD7\", \"Attack Power\", 0, 1000, 1},",
  "{0xD029FE08, \"浪迹天涯\"},": "{0xD029FE08, \"Fatebreaker\"},",
  "{0xD176D262, \"狼王的激昂\"},": "{0xD176D262, \"Gladiator's Frenzy\"},",
  "{0xD29CD8E0, \"天星之界\"},": "{0xD29CD8E0, \"Celestial Terra\"},",
  "{0xD340651C, \"自动复活\"},": "{0xD340651C, \"Autorevive\"},",
  "{0xD4117FF3, \"群青的逆境\"},": "{0xD4117FF3, \"Ultramarine's Adversity\"},",
  "{0xD8A464F1, \"刃姬之觉醒\"},": "{0xD8A464F1, \"Bladequeen's Awakening\"},",
  "{0xD8C61507, \"雷狼的战气\"},": "{0xD8C61507, \"Thunderwolf's Warpath\"},",
  "{0xDBA19768, \"狼王的战气\"},": "{0xDBA19768, \"Gladiator's Warpath\"},",
  "{0xE14E1598, \"天星之雪\"},": "{0xE14E1598, \"Celestial Aqua\"},",
  "{0xEB766D87, \"刃姬的战气\"},": "{0xEB766D87, \"Bladequeen's Warpath\"},",
  "{0xEC9FFE77, \"刃姬的小夜曲\"},": "{0xEC9FFE77, \"Bladequeen's Serenade\"},",
  "{0xED8D8AD8, \"黑龙的折跃\"},": "{0xED8D8AD8, \"The Black's Impulse\"},",
  "{0xF21404B1, \"狼王的大轮转\"},": "{0xF21404B1, \"Gladiator's Top\"},",
  "{0xF26BAEA5, \"分歧\"},": "{0xF26BAEA5, \"Divergence\"},",
  "{0xF964A4CA, \"雷狼的弹匣\"},": "{0xF964A4CA, \"Thunderwolf's Recharge\"},",
  "{DisplayName: \"GBFR 存档 (*.dat)\", Pattern: \"*.dat\"},": "{DisplayName: \"GBFR Save (*.dat)\", Pattern: \"*.dat\"},",
  "{DisplayName: \"所有文件 (*.*)\", Pattern: \"*.*\"},": "{DisplayName: \"All Files (*.*)\", Pattern: \"*.*\"},",
  "{ID: \"cp_extreme_void\", Name: \"CP(极沌空域)\", RVA: 0x07C23E38, Offset: 0x24},": "{ID: \"cp_extreme_void\", Name: \"Conflux Points (CP)\", RVA: 0x07C23E38, Offset: 0x24},",
  "{ID: \"group_chat\", Name: \"群疗药水\", RVA: 0x071B69B8, Offsets: []uintptr{0x28, 0x8, 0x8, 0x18, 0x18}},": "{ID: \"group_chat\", Name: \"Mega Potion\", RVA: 0x071B69B8, Offsets: []uintptr{0x28, 0x8, 0x8, 0x18, 0x18}},",
  "{ID: \"purple_msp\", Name: \"紫MSP\", RVA: 0x07C49CB0, Offset: 0x9C},": "{ID: \"purple_msp\", Name: \"Purple MSP\", RVA: 0x07C49CB0, Offset: 0x9C},",
  "{ID: \"revive\", Name: \"复活药水\", RVA: 0x071B69B8, Offsets: []uintptr{0x28, 0x8, 0x8, 0x18, 0x38}},": "{ID: \"revive\", Name: \"Revive Potion\", RVA: 0x071B69B8, Offsets: []uintptr{0x28, 0x8, 0x8, 0x18, 0x38}},",
  "{ID: \"rupies\", Name: \"金币\", RVA: 0x0701E220, Offset: 0x30},": "{ID: \"rupies\", Name: \"Rupies\", RVA: 0x0701E220, Offset: 0x30},",
  "· 默认": "· Default:",
  "α秘纹": "Alpha",
  "α秘纹+": "Alpha+",
  "β秘纹": "Beta",
  "β秘纹+": "Beta+",
  "γ秘纹": "Gamma",
  "γ秘纹+": "Gamma+",
  "— 不选择 —": "— None —",
  "— 请先搜索并选择因子 —": "— Search for and select a sigil —",
  "— 请选择特性 —": "— Select a trait —",
  "— 请选择祝福 —": "— Select a wrightstone —",
  "↑默认": "↑ Default",
  "↓次数": "↓ Count",
  "万能药": "Potent Greens",
  "上限突破": "Over Mastery",
  "上限突破保存 call 字节异常: %s": "Unexpected Over Mastery save-call bytes: %s",
  "上限突破保存函数特征": "Over Mastery save-function signature",
  "上限突破指令字节异常: %s": "Unexpected Over Mastery instruction bytes: %s",
  "上限突破特征定位成功": "Over Mastery signature located",
  "上限突破角色指针特征": "Over Mastery character-pointer signature",
  "上限突破角色数据已刷新": "Over Mastery character data refreshed",
  "上限突破读取已开启，请在突破界面加载角色": "Over Mastery reading enabled. Load a character in the Over Mastery screen.",
  "不动": "Firm Stance",
  "不动II": "Firm Stance II",
  "不动III": "Firm Stance III",
  "不动IV": "Firm Stance IV",
  "不动V": "Firm Stance V",
  "个任务 ·": "quests ·",
  "个因子": " sigils",
  "个因子 · 最大槽位": "sigils · Highest slot",
  "个因子，目前批量编辑处于测试阶段，不建议使用": "sigils. Bulk editing is experimental and not recommended.",
  "个祝福 · 最大槽位": "wrightstones · Highest slot",
  "中毒抗性": "Poison Resistance",
  "中毒抗性II": "Poison Resistance II",
  "中毒抗性III": "Poison Resistance III",
  "中毒抗性IV": "Poison Resistance IV",
  "中毒抗性V": "Poison Resistance V",
  "主特性": "Primary Trait",
  "主特性哈希": "Primary Trait Hash",
  "主特性等级": "Primary Trait Level",
  "主词条": "Primary Trait",
  "主词条等级": "Primary Trait Level",
  "仅让原型巴哈姆特任务的巴武 lot 不再被 80% 排除；仍保留未拥有、角色已解锁等游戏原始检查。": "Only removes the 80% exclusion for Terminus Weapon lots in The Tale of Bahamut’s Rage. Original ownership and character-unlock checks remain.",
  "以上操作完成后存档即可持久保存。": "Save the game after completing these steps to keep the changes.",
  "任务结算倒计时/零帧开箱": "Quest Result Countdown / Instant Chest Opening",
  "任务结算倒计时超过30s会导致进度条消失，但计时正常；零帧开箱需设置为0s。": "Countdowns above 30 seconds hide the progress bar, but timing still works. Set 0 seconds for instant chest opening.",
  "伊德": "Id",
  "伊欧": "Io",
  "伤害上限": "DMG Cap",
  "伤害上限II": "DMG Cap II",
  "伤害上限III": "DMG Cap III",
  "伤害上限III+": "DMG Cap III+",
  "伤害上限IV": "DMG Cap IV",
  "伤害上限IV+": "DMG Cap IV+",
  "伤害上限V": "DMG Cap V",
  "伤害上限V+": "Damage Cap V+",
  "体力": "Health",
  "体力II": "HP II",
  "体力III": "HP III",
  "体力III+": "HP III+",
  "体力IV": "HP IV",
  "体力IV+": "HP IV+",
  "体力V": "HP V",
  "体力V+": "Health V+",
  "使用提示": "Instructions",
  "依赖怪物增强中倍率血量，本功能自动开启默认1倍": "Uses the monster HP multiplier. This feature automatically enables it at 1×.",
  "保存因子字段 +0x%02X 失败: %w": "Failed to commit sigil field +0x%02X: %w",
  "修改": "Edit",
  "修改目标": "Edit Target",
  "修炼甘露": "Gilding Vigor",
  "修罗": "Power Hungry",
  "修罗II": "Power Hungry II",
  "修罗III": "Power Hungry III",
  "修罗III+": "Power Hungry III+",
  "修罗IV": "Power Hungry IV",
  "修罗IV+": "Power Hungry IV+",
  "修罗V": "Power Hungry V",
  "修罗V+": "Power Hungry V+",
  "倍率": "Multiplier",
  "倍率请输入 0 到 9999 之间的数值": "Enter a multiplier between 0 and 9999",
  "倒计时写入成功": "Countdown written successfully",
  "倒计时指令字节已变化，请重新扫描": "Countdown instruction bytes changed. Rescan.",
  "倒计时特征": "countdown signature",
  "倒计时特征定位成功": "Countdown signature located",
  "先发制人": "Head Start",
  "先发制人II": "Head Start II",
  "先发制人III": "Head Start III",
  "先发制人III+": "Head Start III+",
  "先发制人IV": "Head Start IV",
  "先发制人IV+": "Head Start IV+",
  "先发制人V": "Head Start V",
  "先发制人V+": "Head Start V+",
  "先进行一次 3 级突破，停在 “Over the limit!” 界面。": "Perform one Level 3 roll and remain on the “Over the limit!” screen.",
  "全弱化效果抗性": "Natural Defenses",
  "全称号解锁 opcode 异常: 0x%02X": "Unexpected unlock-all-titles opcode: 0x%02X",
  "全称号解锁指令字节已变化，请重新扫描": "Unlock-all-titles instruction bytes changed. Rescan.",
  "全称号解锁特征": "unlock-all-titles signature",
  "全称号解锁特征定位成功": "Unlock-all-titles signature located",
  "全选": "Select All",
  "全部设置为": "Set All To",
  "兰斯洛特": "Lancelot",
  "关闭": "Close",
  "其他皮肤紫色符文跳转字节异常: %s": "Unexpected purple-rune skin jump bytes: %s",
  "内存连接": "Memory Connection",
  "内置 patch_core.dll 为空，请先编译 src_dll/patch_core Release x64": "Bundled patch_core.dll is empty. Build src_dll/patch_core in Release x64 first.",
  "冈达葛萨": "Ghandagoza",
  "再次进行 3 级突破，但不确认替换之前突破，直接取消。": "Perform another Level 3 roll, but cancel instead of replacing the previous result.",
  "写入": "Write",
  "写入 %s 失败: %w": "Failed to write %s: %w",
  "写入%s失败: %w": "Failed to write %s: %w",
  "写入上限突破 hook 失败: %w": "Failed to write Over Mastery hook: %w",
  "写入上限突破代码洞失败: %w": "Failed to write Over Mastery code cave: %w",
  "写入中...": "Writing...",
  "写入倒计时失败: %w": "Failed to write countdown: %w",
  "写入全称号解锁失败: %w": "Failed to write unlock-all-titles patch: %w",
  "写入其他皮肤紫色符文显示失败: %w": "Failed to enable purple runes on other skins: %w",
  "写入升级/强化材料消耗失败: %w": "Failed to change upgrade/enhancement material consumption: %w",
  "写入因子读取 Hook 失败: %w": "Failed to write the sigil-reading hook: %w",
  "写入因子读取代码洞失败: %w": "Failed to write the sigil-reading code cave: %w",
  "写入巴武掉落失败: %w": "Failed to write Terminus Weapon drop patch: %w",
  "写入成功": " written successfully",
  "写入无限挑战失败: %w": "Failed to enable infinite challenges: %w",
  "写入槽位 %d 属性失败: %w": "Failed to write slot %d attribute: %w",
  "写入槽位 %d 效果ID失败: %w": "Failed to write slot %d effect ID: %w",
  "写入槽位 %d 数值失败: %w": "Failed to write slot %d value: %w",
  "写入槽位 %d 等级失败: %w": "Failed to write slot %d level: %w",
  "写入结果": "Write Result",
  "写入脸部符文显示开关失败: %w": "Failed to write face-rune display toggle: %w",
  "写入输出文件失败: %w": "Failed to write output file: %w",
  "写入选中因子": "Write Selected Sigil",
  "冥暗之觉醒+": "Ebony's Awakening+",
  "冥暗刚刃": "Ebony Presence",
  "冥暗刚刃+": "Ebony Presence+",
  "冥暗的战气": "Ebony's Warpath",
  "冥暗自若": "Ebony's Poise",
  "冥暗自若+": "Ebony's Poise+",
  "冰冻抗性": "Glaciate Resistance",
  "冰冻抗性II": "Glaciate Resistance II",
  "冰冻抗性III": "Glaciate Resistance III",
  "冰冻抗性IV": "Glaciate Resistance IV",
  "冰冻抗性V": "Glaciate Resistance V",
  "凝神": "Nimble Defense",
  "凝神II": "Nimble Defense II",
  "凝神III": "Nimble Defense III",
  "凝神III+": "Nimble Defense III+",
  "凝神IV": "Nimble Defense IV",
  "凝神IV+": "Nimble Defense IV+",
  "凝神V": "Nimble Defense V",
  "凝神V+": "Nimble Defense V+",
  "刀上舞": "Glass Cannon",
  "刀上舞II": "Glass Cannon II",
  "刀上舞III": "Glass Cannon III",
  "刀上舞III+": "Glass Cannon III+",
  "刀上舞IV": "Glass Cannon IV",
  "刀上舞IV+": "Glass Cannon IV+",
  "刀上舞V": "Glass Cannon V",
  "刀上舞V+": "Glass Cannon V+",
  "刃姬之觉醒": "Bladequeen's Awakening",
  "刃姬的轮舞曲": "Bladequeen's Circuit",
  "刃姬的小夜曲": "Bladequeen's Serenade",
  "刃姬的战气": "Bladequeen's Warpath",
  "分歧": "Divergence",
  "分配上限突破代码洞失败: %w": "Failed to allocate Over Mastery code cave: %w",
  "分配因子读取代码洞失败: %w": "Failed to allocate the sigil-reading code cave: %w",
  "切换 JE/JNE 控制渲染判断": "Switches JE/JNE to control the render check",
  "刚健": "Stronghold",
  "刚健II": "Stronghold II",
  "刚健III": "Stronghold III",
  "刚健III+": "Stronghold III+",
  "刚健IV": "Stronghold IV",
  "刚健IV+": "Stronghold IV+",
  "刚健V": "Stronghold V",
  "刚健V+": "Stronghold V+",
  "创建输出目录失败: %w": "Failed to create output directory: %w",
  "删除中...": "Deleting...",
  "删除选中 (${selectedForDelete.size})": "Delete Selected (${selectedForDelete.size})",
  "刷新": "Refresh",
  "刷新药水": "Refresh Potions",
  "刷新货币": "Refresh Currencies",
  "刷新选中因子": "Refresh Selected Sigil",
  "剑圣的战气": "Spirit Edge's Warpath",
  "剑圣的练气": "Spirit Edge's Rally",
  "剑圣的闪刃": "Spirit Edge's Fury",
  "副本次数": "Quest Clears",
  "副特性": "Secondary Trait",
  "副特性哈希": "Secondary Trait Hash",
  "副特性等级": "Secondary Trait Level",
  "副词条": "Secondary Trait",
  "副词条等级": "Secondary Trait Level",
  "加载": "Load",
  "加载中...": "Loading...",
  "加载因子数据失败:": "Failed to load sigil data:",
  "加载因子数据失败: %w": "Failed to load sigil data: %w",
  "加载特性数据失败: %w": "Failed to load trait data: %w",
  "加载祝福数据失败:": "Failed to load wrightstone data:",
  "加载祝福数据失败: %w": "Failed to load wrightstone data: %w",
  "加载祝福特性数据失败: %w": "Failed to load wrightstone-trait data: %w",
  "加载规则数据失败: %w": "Failed to load rule data: %w",
  "勇士之觉醒+": "Hero's Awakening+",
  "勇士的信念": "Hero's Creed",
  "勇士的信念+": "Hero's Creed+",
  "勇士的战气": "Hero's Warpath",
  "勇士的毅力": "Hero's Will",
  "勇士的毅力+": "Hero's Will+",
  "匿踪": "Low Profile",
  "匿踪II": "Low Profile II",
  "匿踪III": "Low Profile III",
  "匿踪IV": "Low Profile IV",
  "匿踪V": "Low Profile V",
  "升级/强化/练成不材料消耗（及开及用，开启后进入副本会导致无药水/无法获得奖励材料等问题）": "No Material Consumption for Upgrades/Enhancement/Synthesis (enable only while needed; entering a quest may disable potions or rewards)",
  "升级/强化材料消耗指令字节异常: %s": "Unexpected upgrade/enhancement material-consumption instruction bytes: %s",
  "协同攻击": "Linked Together",
  "协同攻击II": "Linked Together II",
  "协同攻击III": "Linked Together III",
  "协同攻击III+": "Linked Together III+",
  "协同攻击IV": "Linked Together IV",
  "协同攻击IV+": "Linked Together IV+",
  "协同攻击V": "Linked Together V",
  "协同攻击V+": "Linked Together V+",
  "卡塔莉娜": "Katalina",
  "卡莉奥丝特罗": "Cagliostro",
  "危险操作": "Danger Zone",
  "原始:": "Raw:",
  "原始扣血点会按怪物增强倍率折算显示": "Raw HP loss is adjusted using the monster-enhancement multiplier.",
  "参数 --%s 缺少值": "Argument --%s is missing a value",
  "发现新版本 ${info.latestVersion}": "New version found: ${info.latestVersion}",
  "取消": "Cancel",
  "取消全选": "Deselect All",
  "变幻自如之觉醒+": "Swordmaster's Awakening+",
  "变幻自如的妖剑士": "Swordmaster's Art",
  "变幻自如的妖剑士+": "Swordmaster's Art+",
  "变幻自如的战气": "Swordmaster's Warpath",
  "变幻自如的迅刃": "Swordmaster's Prowess",
  "变幻自如的迅刃+": "Swordmaster's Prowess+",
  "变换自如的妖剑士": "Swordmaster's Art",
  "变换自如的迅刃": "Swordmaster's Prowess",
  "古今无双之觉醒+": "Eternal Rage's Awakening+",
  "古今无双的强者": "Eternal Rage's Ethos",
  "古今无双的强者+": "Eternal Rage's Ethos+",
  "古今无双的战气": "Eternal Rage's Warpath",
  "古今无双的气概": "Eternal Rage's Mettle",
  "古今无双的气概+": "Eternal Rage's Mettle+",
  "古兰": "Gran",
  "可怕的漆黑钳蟹因子": "Dread Black Pincer Crab Sigil",
  "启动游戏后开启读取，确保角色任意突破过一次否则无法识别": "Start the game and enable reading. The character must have rolled Over Mastery at least once.",
  "启用原地修改（直接覆盖输入存档）": "Edit in place (overwrite the input save directly)",
  "四个上限突破槽位已写入，请返回游戏确认保存": "All four Over Mastery slots were written. Return to the game and confirm to save.",
  "回复性能": "Improved Healing",
  "回复性能II": "Improved Healing II",
  "回复性能III": "Improved Healing III",
  "回复性能IV": "Improved Healing IV",
  "回复性能V": "Improved Healing V",
  "因子": "Sigil",
  "因子 %s 缺少已验证的等级范围": "Sigil %s is missing a verified level range",
  "因子和词条等级不能超过 999": "Sigil and trait levels cannot exceed 999",
  "因子哈希": "Sigil Hash",
  "因子强化": "Sigil Booster",
  "因子数据为空": "Sigil data is empty",
  "因子标记": "Sigil Flags",
  "因子槽 %d 缺少 GEMDATA_FLAGS": "Sigil slot %d is missing GEMDATA_FLAGS",
  "因子槽 %d 缺少 GEMDATA_SKILL_1_LEVEL": "Sigil slot %d is missing GEMDATA_SKILL_1_LEVEL",
  "因子槽 %d 缺少 GEMDATA_SLOT_IDS": "Sigil slot %d is missing GEMDATA_SLOT_IDS",
  "因子槽 %d 缺少 GEMDATA_WORN_BY": "Sigil slot %d is missing GEMDATA_WORN_BY",
  "因子槽 %d 缺少主特性哈希": "Sigil slot %d is missing the primary-trait hash",
  "因子槽 %d 缺少主特性等级": "Sigil slot %d is missing the primary-trait level",
  "因子生成": "Sigil Generator",
  "因子生成-新": "Sigil Generator - New",
  "因子等级": "Sigil Level",
  "因子配置": "Sigil Configuration",
  "固定 RVA 切换 JNE/JE": "Switches JNE/JE at a fixed RVA",
  "圣德芬": "Sandalphon",
  "圣骑士之觉醒+": "Holy Knight's Awakening+",
  "圣骑士的剑辉": "Holy Knight's Luster",
  "圣骑士的剑辉+": "Holy Knight's Luster+",
  "圣骑士的威光": "Holy Knight's Grandeur",
  "圣骑士的威光+": "Holy Knight's Grandeur+",
  "圣骑士的战气": "Holy Knight's Warpath",
  "在其他皮肤显示紫色符文": "Show Purple Runes on Other Skins",
  "坚守": "Garrison",
  "坚守II": "Garrison II",
  "坚守III": "Garrison III",
  "坚守IV": "Garrison IV",
  "坚守IV+": "Garrison IV+",
  "坚守V": "Garrison V",
  "坚守V+": "Garrison V+",
  "坚持": "Steel Nerves",
  "坚持II": "Steel Nerves II",
  "坚持III": "Steel Nerves III",
  "坚持IV": "Steel Nerves IV",
  "坚持V": "Steel Nerves V",
  "泽塔": "Zeta",
  "备份": "Backup",
  "备份:": "Backup:",
  "备份创建成功": "Backup created successfully",
  "备份失败:": "Backup failed:",
  "备份已存在，使用强制覆盖选项": "Backup already exists. Enable overwrite to replace it.",
  "备份文件不存在": "Backup file does not exist",
  "复活药水": "Revive Potion",
  "夏洛特": "Charlotta",
  "天星之止息": "Celestial Ventus",
  "天星之焰": "Celestial Incendo",
  "天星之煌": "Celestial Lumen",
  "天星之界": "Celestial Terra",
  "天星之炼": "Celestial Nyx",
  "天星之雪": "Celestial Aqua",
  "奋不顾身": "Life on the Line",
  "奋不顾身II": "Life on the Line II",
  "奋不顾身III": "Life on the Line III",
  "奋不顾身III+": "Life on the Line III+",
  "奋不顾身IV": "Life on the Line IV",
  "奋不顾身IV+": "Life on the Line IV+",
  "奋不顾身V": "Life on the Line V",
  "奋不顾身V+": "Life on the Line V+",
  "奥义伤害": "SBA Damage",
  "奥义伤害上限": "SBA Damage Cap",
  "奥义封印抗性": "SBA Sealed Resistance",
  "奥义封印抗性II": "SBA Sealed Resistance II",
  "奥义封印抗性III": "SBA Sealed Resistance III",
  "奥义封印抗性IV": "SBA Sealed Resistance IV",
  "奥义封印抗性V": "SBA Sealed Resistance V",
  "奥义接续计时": "SBA Chain Timer",
  "奥义接续计时请输入 0 到 9999 之间的数值": "Enter an SBA chain timer between 0 and 9999",
  "奥义连锁伤害": "Chain Burst Damage",
  "姬塔": "Djeeta",
  "娜露梅": "Narmaya",
  "字号 +": "Font +",
  "字号 -": "Font -",
  "存档SlotData为空": "Save SlotData is empty",
  "存档头 slot-data 偏移无效": "Invalid slot-data offset in save header",
  "存档扫描未发现任何因子数据 (扫描了 %d 条 Entry)": "No sigil data found in save scan (%d entries scanned)",
  "存档文件": "Save File",
  "存档文件太小": "Save file is too small",
  "守护": "Aegis",
  "守护II": "Aegis II",
  "守护III": "Aegis III",
  "守护IV": "Aegis IV",
  "守护V": "Aegis V",
  "守护V+": "Aegis V+",
  "守护者之觉醒+": "Guardian's Awakening+",
  "守护者的决心": "Guardian's Conviction",
  "守护者的决心+": "Guardian's Conviction+",
  "守护者的战气": "Guardian's Warpath",
  "守护者的骄傲": "Guardian's Honor",
  "守护者的骄傲+": "Guardian's Honor+",
  "安全提示：只写入输出存档，不会覆盖原始输入存档；已有输出文件会先确认。": "Safety note: Only the output save is written. The input save is not overwritten, and existing output files require confirmation.",
  "尤达拉哈": "Yodarha",
  "属性克制转换": "War Elemental",
  "屠龙之觉醒+": "Dragonslayer's Awakening+",
  "屠龙者的威猛": "Dragonslayer's Dominance",
  "屠龙者的威猛+": "Dragonslayer's Dominance+",
  "屠龙者的战气": "Dragonslayer's Warpath",
  "屠龙者的才智": "Dragonslayer's Ingenuity",
  "屠龙者的才智+": "Dragonslayer's Ingenuity+",
  "已关闭": "Disabled",
  "已写入 ${result.createdCount} 个因子 (验证 ${result.verifiedCount})": "Wrote ${result.createdCount} sigils (verified ${result.verifiedCount})",
  "已写入 ${result.createdCount} 个祝福 (验证 ${result.verifiedCount})": "Wrote ${result.createdCount} wrightstones (verified ${result.verifiedCount})",
  "已写入并提交保存: ${next.sigilName}": "Written and committed for saving: ${next.sigilName}",
  "已删除 ${result.createdCount} 个因子": "Deleted ${result.createdCount} sigils",
  "已刷新，尚未读取到角色数据；请在突破界面切换一次角色或重新打开突破界面": "Refreshed, but no character data was found. Switch characters once or reopen the Over Mastery screen.",
  "已加载": "Loaded",
  "已加载 ·": "Loaded ·",
  "已加载 · {{ saveInfo.occupiedSigils }} 个因子 · 最大槽位 {{ saveInfo.maxSlotId }}": "Loaded · {{ saveInfo.occupiedSigils }} sigils · Highest slot {{ saveInfo.maxSlotId }}",
  "已加载 · {{ saveInfo.occupiedWrightstones }} 个祝福 · 最大槽位 {{ saveInfo.maxSlotId }}": "Loaded · {{ saveInfo.occupiedWrightstones }} wrightstones · Highest slot {{ saveInfo.maxSlotId }}",
  "已加载存档: ${info.occupiedSigils} 个因子": "Loaded save: ${info.occupiedSigils} sigils",
  "已加载存档: ${info.occupiedWrightstones} 个祝福": "Loaded save: ${info.occupiedWrightstones} wrightstones",
  "已定位。点击开启读取后，在游戏内选中因子。": "Located. Enable reading, then select a sigil in game.",
  "已定位游戏文件": "Game executable found",
  "已应用": "Applied",
  "已开启": "Enabled",
  "已开启其他皮肤紫色符文显示": "Purple runes enabled on other skins",
  "已开启升级/强化不材料消耗": "No material consumption enabled for upgrades/enhancement",
  "已开启巴武掉落 100%": "100% Terminus Weapon drop enabled",
  "已开启无限挑战": "Infinite challenges enabled",
  "已开启游戏内全称号解锁": "All in-game titles unlocked",
  "已恢复其他皮肤紫色符文判断": "Default purple-rune skin check restored",
  "已恢复升级/强化材料变化": "Default upgrade/enhancement material behavior restored",
  "已恢复巴武默认掉率": "Default Terminus Weapon drop rate restored",
  "已恢复挑战次数递增": "Challenge-count increment restored",
  "已恢复称号默认判断": "Default title checks restored",
  "已恢复脸部符文显示": "Face-rune display restored",
  "已是最新": "Up to date",
  "已有因子": "Existing Sigils",
  "已添加到队列": "Added to queue",
  "已清除 ${result.createdCount} 个因子 (剩余 ${result.verifiedCount})": "Removed ${result.createdCount} sigils (${result.verifiedCount} remaining)",
  "已补丁": "Patched",
  "已设置 ${n} 个角色": "Updated ${n} characters",
  "已读取: ${next.sigilName}": "Read: ${next.sigilName}",
  "已选中 ${hex(status.selectedAddr)}": "Selected ${hex(status.selectedAddr)}",
  "已隐藏脸部符文": "Face runes hidden",
  "巴恩": "Vane",
  "巴武掉落 100%": "100% Terminus Weapon Drop",
  "巴武掉落指令字节已变化，请重新扫描": "Terminus Weapon drop instruction bytes changed. Rescan.",
  "巴武掉落特征": "Terminus Weapon drop signature",
  "巴武掉落特征定位成功": "Terminus Weapon drop signature located",
  "巴武掉落跳转字节异常: %s": "Unexpected Terminus Weapon drop jump bytes: %s",
  "巴萨拉卡": "Vaseraga",
  "希耶提": "Seofon",
  "幸运甘露": "Fortifying Vigor",
  "幽幻之应": "Phantasm's Concord",
  "幽幻之应+": "Phantasm's Concord+",
  "幽幻之觉醒+": "Phantasm's Awakening+",
  "幽幻之谊": "Phantasm's Harmony",
  "幽幻之谊+": "Phantasm's Harmony+",
  "幽幻的战气": "Phantasm's Warpath",
  "应用": "Apply",
  "应用写入": "Write to Save",
  "建议先备份原始文件再进行补丁操作": "Create a backup of the original file before applying patches.",
  "开启": "Enable",
  "开启不消耗": "Enable No Consumption",
  "开启全称号": "Unlock All Titles",
  "开启后材料数量不会减少；同一指令也会阻止材料增加。": "Materials will not decrease while enabled; the same instruction also prevents material increases.",
  "开启巴武 100%": "Enable 100% Terminus Drop",
  "开启无限挑战": "EnableInfinite Challenges",
  "开启时释放内置 patch_core.dll 到临时目录并注入；关闭时 Go 侧恢复原始字节。": "When enabled, the bundled patch_core.dll is extracted and injected. Disabling restores the original bytes from Go.",
  "开启显示": "Enable Display",
  "开启记录": "Start Recording",
  "开启读取": "Enable Reading",
  "开启读取后，在游戏上限突破界面加载角色": "After enabling reading, load a character in the game’s Over Mastery screen.",
  "异能之心": "Versalis Heart",
  "异能之魂+": "Versalis Soul+",
  "异能增长": "Versalis Foundation",
  "异能增长+": "Versalis Foundation+",
  "异能战意": "Versalis Ignition",
  "异能战意+": "Versalis Ignition+",
  "异能耐受": "Darkflame Resistance",
  "异能耐受II": "Darkflame Resistance II",
  "异能耐受III": "Darkflame Resistance III",
  "异能耐受IV": "Darkflame Resistance IV",
  "异能耐受V": "Darkflame Resistance V",
  "弱化效果延长": "Supplements",
  "弱化状态特效": "Injury to Insult",
  "弱化状态特效II": "Injury to Insult II",
  "弱化状态特效III": "Injury to Insult III",
  "弱化状态特效III+": "Injury to Insult III+",
  "弱化状态特效IV": "Injury to Insult IV",
  "弱化状态特效IV+": "Injury to Insult IV+",
  "弱化状态特效V": "Injury to Insult V",
  "弱化状态特效V+": "Injury to Insult V+",
  "弱点攻击": "Weak Point DMG",
  "弱点攻击II": "Weak Point DMG II",
  "弱点攻击III": "Weak Point DMG III",
  "弱点攻击III+": "Weak Point DMG III+",
  "弱点攻击IV": "Weak Point DMG IV",
  "弱点攻击IV+": "Weak Point DMG IV+",
  "弱点攻击V": "Weak Point DMG V",
  "弱点攻击V+": "Exploiter V+",
  "强健甘露": "Instilling Vigor",
  "强制覆盖已有备份": "Overwrite existing backup",
  "当前": "Current:",
  "当前:": "Current:",
  "当前值:": "Current value:",
  "当前值: {{ p.currentValue }} (0x{{ p.currentValue.toString(16).toUpperCase() }})": "Current value: {{ p.currentValue }} (0x{{ p.currentValue.toString(16).toUpperCase() }})",
  "当前已是最新版本": "You are using the latest version",
  "当前版本": "Current version:",
  "当前选中因子": "Currently Selected Sigil",
  "快速蓄力": "Quick Charge",
  "快速蓄力II": "Quick Charge II",
  "快速蓄力III": "Quick Charge III",
  "快速蓄力III+": "Quick Charge III+",
  "快速蓄力IV": "Quick Charge IV",
  "快速蓄力IV+": "Quick Charge IV+",
  "快速蓄力V": "Quick Charge V",
  "快速蓄力V+": "Quick Charge V+",
  "怒发冲冠": "Precise Wrath",
  "怒发冲冠II": "Precise Wrath II",
  "怒发冲冠III": "Precise Wrath III",
  "怒发冲冠IV": "Precise Wrath IV",
  "怒发冲冠V": "Precise Wrath V",
  "怒涛": "Cascade",
  "怒涛II": "Cascade II",
  "怒涛III": "Cascade III",
  "怒涛IV": "Cascade IV",
  "怒涛V": "Cascade V",
  "怪物 Overdrive 状态": "Monster Overdrive State",
  "怪物伤害": "Monster Damage Multiplier",
  "怪物倍率请输入 0 到 9999 之间的数值": "Enter a monster multiplier between 0 and 9999",
  "怪物增强 Hook 未写入目标地址": "The monster-enhancement hook was not written to the target address",
  "怪物增强项目为空": "Monster enhancement item is empty",
  "怪物增强（未修复）": "Monster Enhancements (Not Fixed)",
  "怪物多倍昏厥条": "Monster Stun Gauge Multiplier",
  "怪物多倍血": "Monster HP Multiplier",
  "恢复": "Restore",
  "恢复%s失败: %w": "Failed to restore %s: %w",
  "恢复原序": "Original Order",
  "恢复失败:": "Restore failed:",
  "恢复符文显示": "Restore Rune Display",
  "恢复鳄鱼多倍血1HP保底失败: %w": "Failed to restore the crocodile 1-HP safeguard: %w",
  "恢复默认": "Restore Default",
  "我逆向水平一般也并非熟练的c++开发者，作这页功能最失败的决定就是之前用纯go来内存hook，没啥好用的库。": "My reverse-engineering skills are average and I am not an experienced C++ developer. The worst decision for this page was initially trying to implement the memory hooks entirely in Go without a suitable library.",
  "所有文件 (*.*)": "All Files (*.*)",
  "打开 Release 页面": "Open Releases Page",
  "找不到 GEMDATA_MAX_SLOT_ID (2701)": "GEMDATA_MAX_SLOT_ID (2701) not found",
  "找不到 ITEM_UNK_MAX_SLOT_ID (2101)": "ITEM_UNK_MAX_SLOT_ID (2101) not found",
  "找不到 SAVEDATA_HASHSEED (1003)": "SAVEDATA_HASHSEED (1003) not found",
  "找不到 save unit: IDType=%d, UnitID=%d": "Save unit not found: IDType=%d, UnitID=%d",
  "找不到可用的代码空间": "No usable code cave found",
  "投掷": "Throw DMG",
  "投掷II": "Throw DMG II",
  "投掷III": "Throw DMG III",
  "投掷III+": "Throw DMG III+",
  "投掷IV": "Throw DMG IV",
  "投掷IV+": "Throw DMG IV+",
  "投掷V": "Throw DMG V",
  "投掷V+": "Throw V+",
  "抗争": "Precise Resilience",
  "抗争II": "Precise Resilience II",
  "抗争III": "Precise Resilience III",
  "抗争IV": "Precise Resilience IV",
  "抗争IV+": "Precise Resilience IV+",
  "抗争V": "Precise Resilience V",
  "抗争V+": "Precise Resilience V+",
  "拉卡姆": "Rackam",
  "按次数排序": "Sort by Count",
  "按顺序操作": "Follow these steps in order",
  "挑战次数": "Quest Clear Count",
  "挑衅": "Provoke",
  "挑衅II": "Provoke II",
  "挑衅III": "Provoke III",
  "挑衅IV": "Provoke IV",
  "挑衅V": "Provoke V",
  "搜索主词条": "Search primary trait",
  "搜索副词条": "Search secondary trait",
  "搜索因子或 0x 哈希": "Search sigil or 0x hash",
  "摇曳步": "Flight over Fight",
  "摇曳步+": "Flight over Fight+",
  "攻击DOWN抗性": "Attack Down Resistance",
  "攻击DOWN抗性II": "Attack Down Resistance II",
  "攻击DOWN抗性III": "Attack Down Resistance III",
  "攻击DOWN抗性IV": "Attack Down Resistance IV",
  "攻击DOWN抗性V": "Attack Down Resistance V",
  "攻击力": "Attack Power",
  "攻击力II": "ATK II",
  "攻击力III": "ATK III",
  "攻击力III+": "ATK III+",
  "攻击力IV": "ATK IV",
  "攻击力IV+": "ATK IV+",
  "攻击力V": "ATK V",
  "攻击力V+": "Attack Power V+",
  "数值": "Value",
  "数据太小": "Data is too small",
  "数量": "Quantity",
  "数量至少为 1": "Quantity must be at least 1",
  "文件不存在: %s": "File does not exist: %s",
  "文件加载成功": "File loaded successfully",
  "文件太小，不是有效的存档": "File is too small to be a valid save",
  "文件已恢复": "File restored",
  "斩姬之觉醒+": "Butterfly's Awakening+",
  "斩姬梦幻": "Butterfly's Grace",
  "斩姬梦幻+": "Butterfly's Grace+",
  "斩姬武艺": "Butterfly's Valor",
  "斩姬武艺+": "Butterfly's Valor+",
  "斩姬的战气": "Butterfly's Warpath",
  "断开连接": "Disconnect",
  "无": "None",
  "无效的上限突破属性: 0x%08X": "Invalid Over Mastery attribute: 0x%08X",
  "无效的上限突破槽位: %d": "Invalid Over Mastery slot: %d",
  "无效的上限突破等级: 0x%08X": "Invalid Over Mastery level: 0x%08X",
  "无效的哈希值: %s": "Invalid hash value: %s",
  "无效的角色索引: %d": "Invalid character index: %d",
  "无效的队列索引: %d": "Invalid queue index: %d",
  "无法定位 RVA 0x%X": "Unable to locate RVA 0x%X",
  "无法定位已有跳板": "Unable to locate existing trampoline",
  "无法打开进程 (错误 %v)，请以管理员身份运行": "Unable to open process (error %v). Run as administrator.",
  "无法获取模块基址 (ptrSize=%d): %v": "Unable to get module base address (ptrSize=%d): %v",
  "无法获取模块基址: %v": "Unable to get module base address: %v",
  "无法进入 link time": "Prevent Link Time",
  "无限 link time": "Infinite Link Time",
  "无限挑战": "Infinite Challenges",
  "无限挑战指令字节异常: %s": "Unexpected infinite-challenge instruction bytes: %s",
  "明镜止水": "Nimble Onslaught",
  "明镜止水II": "Nimble Onslaught II",
  "明镜止水III": "Nimble Onslaught III",
  "明镜止水IV": "Nimble Onslaught IV",
  "明镜止水V": "Nimble Onslaught V",
  "昏厥": "Stun Power",
  "昏厥II": "Stun Power II",
  "昏厥III": "Stun Power III",
  "昏厥III+": "Stun Power III+",
  "昏厥IV": "Stun Power IV",
  "昏厥IV+": "Stun Power IV+",
  "昏厥V": "Stun Power V",
  "昏厥V+": "Stun Power V+",
  "昏厥值": "Stun Power",
  "昏厥蓝条不增长": "Prevent Blue Stun Gauge Gain",
  "昏厥蓝条不自然扣减": "Prevent Unnatural Blue Stun-Gauge Drain",
  "昏迷抗性": "Dizzy Resistance",
  "昏迷抗性II": "Dizzy Resistance II",
  "昏迷抗性III": "Dizzy Resistance III",
  "昏迷抗性IV": "Dizzy Resistance IV",
  "昏迷抗性V": "Dizzy Resistance V",
  "显示": "Visible",
  "普通攻击上限": "Normal Attack Damage Cap",
  "暂无已有因子或读取失败": "No existing sigils found, or reading failed.",
  "暂无待写入因子，请先添加": "No sigils queued. Add one first.",
  "暂无队列；直接点击应用时会写入当前选择": "Queue is empty. Apply will write the current selection directly.",
  "暴击伤害": "Critical Hit DMG",
  "暴击伤害II": "Critical Hit DMG II",
  "暴击伤害III": "Critical Hit DMG III",
  "暴击伤害III+": "Critical Hit DMG III+",
  "暴击伤害IV": "Critical Hit DMG IV",
  "暴击伤害IV+": "Critical Hit DMG IV+",
  "暴击伤害V": "Critical Hit DMG V",
  "暴击伤害V+": "Critical Damage V+",
  "暴击率": "Critical Hit Rate",
  "暴击率II": "Critical Hit Rate II",
  "暴击率III": "Critical Hit Rate III",
  "暴击率III+": "Critical Hit Rate III+",
  "暴击率IV": "Critical Hit Rate IV",
  "暴击率IV+": "Critical Hit Rate IV+",
  "暴击率V": "Critical Hit Rate V",
  "暴击率V+": "Critical Hit Rate V+",
  "暴君": "Tyranny",
  "暴君II": "Tyranny II",
  "暴君III": "Tyranny III",
  "暴君III+": "Tyranny III+",
  "暴君IV": "Tyranny IV",
  "暴君IV+": "Tyranny IV+",
  "暴君V": "Tyranny V",
  "暴君V+": "Tyranny V+",
  "最大槽位": "highest slot",
  "最小化": "Minimize",
  "最新版本:": "Latest version:",
  "有新版本": "Update available",
  "未加载存档": "No save file loaded",
  "未定位": "Not located",
  "未定位上限突破角色指针特征": "Over Mastery character-pointer signature not located",
  "未定位倒计时指令": "Countdown instruction not located",
  "未定位全称号解锁指令": "Unlock-all-titles instruction not located",
  "未定位巴武掉落指令": "Terminus Weapon drop instruction not located",
  "未定位脸部符文指令": "Face-rune instruction not located",
  "未定位选中因子特征": "Selected-sigil signature has not been located",
  "未开启": "Disabled",
  "未开启读取": "Reading Disabled",
  "未找到%s码": "Could not find %s",
  "未找到游戏进程，请先启动游戏": "Game process not found. Start the game first.",
  "未找到选中因子特征码；当前游戏版本与内置特征不匹配": "Selected-sigil signature not found; the current game version does not match the built-in signature",
  "未检查": "Not checked",
  "未知": "Unknown",
  "未知参数: %s": "Unknown argument: %s",
  "未知因子 ID: %s": "Unknown sigil ID: %s",
  "未知怪物增强项目: %s": "Unknown monster enhancement item: %s",
  "未知特性 ID: %s": "Unknown trait ID: %s",
  "未知祝福 ID: %s": "Unknown wrightstone ID: %s",
  "未知药水: %s": "Unknown potion: %s",
  "未知补丁: %s": "Unknown patch: %s",
  "未知货币: %s": "Unknown currency: %s",
  "未知错误": "Unknown error",
  "未自动检测到游戏，请手动输入 exe 路径": "The game was not detected automatically. Enter the EXE path manually.",
  "未补丁": "Not Patched",
  "未读取": "Not read",
  "未读取到角色数据，请确保已进入游戏存档": "No character data found. Make sure a save is loaded in game.",
  "未连接游戏进程": "Not connected to the game process",
  "未选中任何因子": "No sigils selected",
  "未选择文件": "No file selected",
  "未选择要删除的因子": "No sigils selected for deletion",
  "本页功能需要在主机下使用生效,开启也请告知队友": "These features must be used by the host. Tell your teammates before enabling them",
  "杂项": "Miscellaneous",
  "杂项（隐藏了不可用功能/新增了一些新功能）": "Miscellaneous (unavailable features hidden; new tools added)",
  "极致之觉醒+": "Founder's Awakening+",
  "极致的战气": "Founder's Warpath",
  "极致真理": "Founder's Truth",
  "极致真理+": "Founder's Truth+",
  "极致谋略": "Founder's Strategy",
  "极致谋略+": "Founder's Strategy+",
  "校验和修复失败: %w": "Failed to repair checksum: %w",
  "根表vtable无效": "Invalid root-table vtable",
  "格挡仇火": "Guard Payback",
  "格挡仇火II": "Guard Payback II",
  "格挡仇火III": "Guard Payback III",
  "格挡仇火III+": "Guard Payback III+",
  "格挡仇火IV": "Guard Payback IV",
  "格挡仇火IV+": "Guard Payback IV+",
  "格挡仇火V": "Guard Payback V",
  "格挡仇火V+": "Guard Payback V+",
  "格挡性能": "Improved Guard",
  "格挡性能II": "Improved Guard II",
  "格挡性能III": "Improved Guard III",
  "格挡性能IV": "Improved Guard IV",
  "格挡性能IV+": "Improved Guard IV+",
  "格挡性能V": "Improved Guard V",
  "格挡性能V+": "Improved Guard V+",
  "检查中...": "Checking...",
  "检查更新": "Check for Updates",
  "检查更新失败: %w": "Failed to check for updates: %w",
  "检查更新失败: GitHub 返回 %s": "Failed to check for updates: GitHub returned %s",
  "槽位 %d": "Slot %d",
  "槽位 %d 个，全部为空": "All %d slots are empty",
  "模块 DOS 头无效": "Invalid module DOS header",
  "模块 PE 头偏移无效": "Invalid module PE-header offset",
  "模块 PE 头无效": "Invalid module PE header",
  "模块 SizeOfImage 无效": "Invalid module SizeOfImage",
  "次挑战": "clears",
  "次数": "Count",
  "欧根": "Eugen",
  "正在扫描 Steam 安装路径...": "Scanning Steam installation paths...",
  "正在读取已有因子，数量较多时请耐心等待...": "Reading existing sigils. Large inventories may take a moment...",
  "此修改不影响存档": "This change does not affect the save file",
  "水牢抗性": "Held Under Resistance",
  "水牢抗性II": "Held Under Resistance II",
  "水牢抗性III": "Held Under Resistance III",
  "水牢抗性IV": "Held Under Resistance IV",
  "水牢抗性V": "Held Under Resistance V",
  "没有要写入的祝福": "No wrightstones to write",
  "泥沙抗性": "Sandtomb Resistance",
  "泥沙抗性II": "Sandtomb Resistance II",
  "泥沙抗性III": "Sandtomb Resistance III",
  "泥沙抗性IV": "Sandtomb Resistance IV",
  "泥沙抗性V": "Sandtomb Resistance V",
  "注入怪物增强 DLL 失败: %w": "Failed to inject monster-enhancement DLL: %w",
  "注意：当前存档有": "Warning: the current save contains",
  "注意：当前存档有 {{ saveInfo.occupiedSigils }} 个因子，目前批量编辑处于测试阶段，不建议使用": "Note: This save contains {{ saveInfo.occupiedSigils }} sigils. Bulk editing is experimental and not recommended.",
  "浏览": "Browse",
  "浩劫": "Catastrophe",
  "浪迹天涯": "Fatebreaker",
  "涯之七星+": "Seven-Star Boundary+",
  "涯之二王+": "Two-Crown Boundary+",
  "添加到队列": "Add to Queue",
  "清空": "Clear",
  "清除输出存档中所有因子": "Remove All Sigils from Output Save",
  "清零": "Reset",
  "游戏内全称号解锁": "Unlock All In-Game Titles",
  "游戏内打开因子列表并选中目标因子。修改后切换选择或关闭界面触发游戏保存。": "Open the in-game sigil list and select the target sigil. After editing, change the selection or close the menu to trigger a save.",
  "游戏默认 3 秒": "Game default: 3 seconds",
  "漆黑之谊": "Blackened Bond",
  "激昂": "Uplift",
  "激昂II": "Uplift II",
  "激昂III": "Uplift III",
  "激昂IV": "Uplift IV",
  "激昂V": "Uplift V",
  "灼热抗性": "Burn Resistance",
  "灼热抗性II": "Burn Resistance II",
  "灼热抗性III": "Burn Resistance III",
  "灼热抗性IV": "Burn Resistance IV",
  "灼热抗性V": "Burn Resistance V",
  "灾祸抗性": "Blight Resistance",
  "灾祸抗性II": "Blight Resistance II",
  "灾祸抗性III": "Blight Resistance III",
  "灾祸抗性IV": "Blight Resistance IV",
  "灾祸抗性V": "Blight Resistance V",
  "点击刷新，设置词条后写入，回到游戏确认。": "Click Refresh, configure the traits, write them, then confirm in game.",
  "热血": "Stamina",
  "热血II": "Stamina II",
  "热血III": "Stamina III",
  "热血III+": "Stamina III+",
  "热血IV": "Stamina IV",
  "热血IV+": "Stamina IV+",
  "热血V": "Stamina V",
  "热血V+": "Stamina V+",
  "特性": "Trait",
  "特性 %s 缺少已验证的等级范围": "Trait %s is missing a verified level range",
  "特性 %s 缺少已验证的等级范围 (%s)": "Trait %s is missing a verified level range (%s)",
  "状态:": "Status:",
  "狼王之觉醒": "Gladiator's Awakening",
  "狼王的大转轮": "Gladiator's Top",
  "狼王的大轮转": "Gladiator's Top",
  "狼王的战气": "Gladiator's Warpath",
  "狼王的激昂": "Gladiator's Uplift",
  "王者一心": "Lord's Ambition",
  "王者一心+": "Lord's Ambition+",
  "王者之觉醒+": "Lord's Awakening+",
  "王者的战气": "Lord's Warpath",
  "王者行进": "Lord's Procession",
  "王者行进+": "Lord's Procession+",
  "玫瑰之觉醒+": "Rose's Awakening+",
  "玫瑰早绽": "Rose's Blooming",
  "玫瑰早绽+": "Rose's Blooming+",
  "玫瑰的战气": "Rose's Warpath",
  "玫瑰缤纷": "Rose's Profusion",
  "玫瑰缤纷+": "Rose's Profusion+",
  "珀西瓦尔": "Percival",
  "白龙之觉醒+": "White Dragon's Awakening+",
  "白龙的战气": "White Dragon's Warpath",
  "白龙的荣耀": "White Dragon's Glory",
  "白龙的荣耀+": "White Dragon's Glory+",
  "白龙的誓约": "White Dragon's Oath",
  "白龙的誓约+": "White Dragon's Oath+",
  "目前存档时机尚不明确，可以领取任务奖励、佩戴选定称号、选择佩戴界面有多个“未设置”是正常现象": "The exact save timing is currently unclear. You can claim title rewards and equip selected titles. Multiple “Not Set” entries in the title-selection screen are normal.",
  "目前批量编辑处于测试阶段，不建议使用": "Batch editing is currently experimental and is not recommended.",
  "目标值": "Target value",
  "目标字节异常，拒绝补丁\\n当前: %s": "Unexpected target bytes; patch refused\\nCurrent: %s",
  "目标文件不存在": "Target file does not exist",
  "目标进程: granblue_fantasy_relink.exe": "Target process: granblue_fantasy_relink.exe",
  "相扑斗力": "Sumo Power",
  "真红之觉醒+": "Crimson's Awakening+",
  "真红烈焰": "Crimson's Clout",
  "真红烈焰+": "Crimson's Clout+",
  "真红的战气": "Crimson's Warpath",
  "真红翔舞": "Crimson's Flight",
  "真红翔舞+": "Crimson's Flight+",
  "破防特效": "Break Assassin",
  "破防特效II": "Break Assassin II",
  "破防特效III": "Break Assassin III",
  "破防特效III+": "Break Assassin III+",
  "破防特效IV": "Break Assassin IV",
  "破防特效IV+": "Break Assassin IV+",
  "破防特效V": "Break Assassin V",
  "破防特效V+": "Break Assassin V+",
  "确定": "Confirm",
  "确定要删除 ${selectedForDelete.value.size} 个因子吗？此操作不可撤销。": "Delete ${selectedForDelete.value.size} sigils? This cannot be undone.",
  "确认开启": "Confirm Enable",
  "确认开启游戏内全称号解锁": "Confirm Unlocking All In-Game Titles",
  "祝福": "Wrightstone",
  "祝福哈希": "Wrightstone Hash",
  "祝福布尔字段": "Wrightstone Boolean Field",
  "祝福或特性数据为空": "Wrightstone or trait data is empty",
  "祝福数据缺少 ID 或哈希": "Wrightstone data is missing an ID or hash",
  "祝福标记": "Wrightstone Flags",
  "祝福槽 %d 缺少 BOOL 字段": "Wrightstone slot %d is missing the BOOL field",
  "祝福槽 %d 缺少 FLAGS": "Wrightstone slot %d is missing FLAGS",
  "祝福槽 %d 缺少 ITEM_ID": "Wrightstone slot %d is missing ITEM_ID",
  "祝福槽 %d 缺少 SLOT_ID": "Wrightstone slot %d is missing SLOT_ID",
  "祝福槽 %d 缺少第 %d 个特性哈希": "Wrightstone slot %d is missing trait hash %d",
  "祝福槽 %d 缺少第 %d 个特性等级": "Wrightstone slot %d is missing trait level %d",
  "祝福槽位 ID": "Wrightstone Slot ID",
  "祝福生成": "Wrightstone Generator",
  "祝福配置": "Wrightstone Configuration",
  "秒数": "Seconds",
  "移除": "Remove",
  "稳定指针读取/写入 int32": "Stable pointer read/write (int32)",
  "稳定指针链读取/写入 int32": "Stable pointer-chain read/write (int32)",
  "穷寇心": "Berserker",
  "穷寇心II": "Berserker II",
  "穷寇心III": "Berserker III",
  "穷寇心III+": "Berserker III+",
  "穷寇心IV": "Berserker IV",
  "穷寇心IV+": "Berserker IV+",
  "穷寇心V": "Berserker V",
  "穷寇心V+": "Berserker V+",
  "空因子槽不足 (需要 %d, 找到 %d)": "Not enough empty sigil slots (needed %d, found %d)",
  "空祝福槽不足 (需要 %d, 找到 %d)": "Not enough empty wrightstone slots (needed %d, found %d)",
  "突破界面读取": "Over Mastery Screen Reader",
  "第一特性": "First Trait",
  "第一特性哈希": "First Trait Hash",
  "第一特性等级": "First Trait Level",
  "第三特性": "Third Trait",
  "第三特性哈希": "Third Trait Hash",
  "第三特性等级": "Third Trait Level",
  "第二特性": "Second Trait",
  "第二特性哈希": "Second Trait Hash",
  "第二特性等级": "Second Trait Level",
  "等待共享内存": "Waiting for shared memory",
  "等待游戏内选中因子": "Waiting for an in-game sigil selection",
  "等级": "Level",
  "简体中文": "Simplified Chinese",
  "管理器指针为空，请确保已进入游戏存档": "Manager pointer is null. Make sure a save is loaded in game.",
  "管理器指针无效": "Invalid manager pointer",
  "管理器指针无效，请确保在游戏存档中": "Invalid manager pointer. Make sure a save is loaded in game.",
  "粘贴 exe 文件完整路径...": "Paste the full path to the EXE...",
  "索恩": "Tweyen",
  "紫MSP": "Purple MSP",
  "紫条不自然扣减": "Prevent Unnatural Purple-Gauge Drain",
  "缓速抗性": "Slow Resistance",
  "缓速抗性II": "Slow Resistance II",
  "缓速抗性III": "Slow Resistance III",
  "缓速抗性IV": "Slow Resistance IV",
  "缓速抗性V": "Slow Resistance V",
  "缺少参数 --%s": "Missing argument --%s",
  "缺少已验证的特性 ID": "Verified trait ID is missing",
  "群疗药水": "Mega Potion",
  "群青之觉醒": "Ultramarine's Awakening",
  "群青的剑光": "Ultramarine's Swordlight",
  "群青的战气": "Ultramarine's Warpath",
  "群青的逆境": "Ultramarine's Adversity",
  "老兵之觉醒+": "Veteran's Awakening+",
  "老兵的天眼": "Veteran's Vision",
  "老兵的天眼+": "Veteran's Vision+",
  "老兵的战气": "Veteran's Warpath",
  "老兵的智慧": "Veteran's Insight",
  "老兵的智慧+": "Veteran's Insight+",
  "背水": "Enmity",
  "背水II": "Enmity II",
  "背水III": "Enmity III",
  "背水III+": "Enmity III+",
  "背水IV": "Enmity IV",
  "背水IV+": "Enmity IV+",
  "背水V": "Enmity V",
  "背水V+": "Enmity V+",
  "能力": "Ability",
  "能力伤害": "Skilled Assault",
  "能力伤害II": "Skilled Assault II",
  "能力伤害III": "Skilled Assault III",
  "能力伤害III+": "Skilled Assault III+",
  "能力伤害IV": "Skilled Assault IV",
  "能力伤害IV+": "Skilled Assault IV+",
  "能力伤害V": "Skilled Assault V",
  "能力伤害V+": "Skilled Assault V+",
  "能力伤害上限": "Skill Damage Cap",
  "能力封印抗性": "Skill Sealed Resistance",
  "能力封印抗性II": "Skill Sealed Resistance II",
  "能力封印抗性III": "Skill Sealed Resistance III",
  "能力封印抗性IV": "Skill Sealed Resistance IV",
  "能力封印抗性V": "Skill Sealed Resistance V",
  "脸部符文指令字节已变化，请重新扫描": "Face-rune instruction bytes changed. Rescan.",
  "脸部符文显示(紫色皮肤包)": "Face Rune Display (Purple Skin Pack)",
  "脸部符文特征": "face-rune signature",
  "脸部符文特征定位成功": "Face-rune signature located",
  "脸部符文跳转 opcode 异常: 0x%02X": "Unexpected face-rune jump opcode: 0x%02X",
  "自动OD": "Auto OD",
  "自动复活": "Autorevive",
  "自动复活II": "Autorevive II",
  "自动复活III": "Autorevive III",
  "自动复活IV": "Autorevive IV",
  "自动复活V": "Autorevive V",
  "自动药水": "Auto Potion",
  "自愈": "Regen",
  "自愈II": "Regen II",
  "自愈III": "Regen III",
  "自愈IV": "Regen IV",
  "自愈V": "Regen V",
  "舵手之觉醒+": "Helmsman's Awakening+",
  "舵手的坚持": "Helmsman's Tenacity",
  "舵手的坚持+": "Helmsman's Tenacity+",
  "舵手的战气": "Helmsman's Warpath",
  "舵手的指引": "Helmsman's Navigation",
  "舵手的指引+": "Helmsman's Navigation+",
  "英勇之心": "Fearless Heart",
  "英勇之魂+": "Fearless Soul+",
  "英勇灵气": "Fearless Spirit",
  "英勇灵气+": "Fearless Spirit+",
  "英勇神速": "Fearless Drive",
  "英勇神速+": "Fearless Drive+",
  "英文": "English",
  "药水携带数": "Potion Hoarder",
  "药水携带数II": "Potion Hoarder II",
  "药水携带数III": "Potion Hoarder III",
  "药水携带数IV": "Potion Hoarder IV",
  "药水携带数V": "Potion Hoarder V",
  "药神（进入副本后点刷新看到药水数量正常后设置即可）": "Potion Editor (enter a quest, refresh, then edit once the displayed counts are correct)",
  "获得MSP": "Path to Mastery",
  "获得MSPII": "Path to Mastery II",
  "获得MSPIII": "Path to Mastery III",
  "获得MSPIV": "Path to Mastery IV",
  "获得MSPV": "Path to Mastery V",
  "获得经验值": "Fast Learner",
  "获得经验值II": "Fast Learner II",
  "获得经验值III": "Fast Learner III",
  "获得经验值IV": "Fast Learner IV",
  "获得经验值V": "Fast Learner V",
  "获得金币": "Rupie Tycoon",
  "获得金币II": "Rupie Tycoon II",
  "获得金币III": "Rupie Tycoon III",
  "获得金币IV": "Rupie Tycoon IV",
  "获得金币V": "Rupie Tycoon V",
  "菲莉": "Ferry",
  "萝赛塔": "Rosetta",
  "蓄力会心": "Lucky Charge",
  "蓄力会心II": "Lucky Charge II",
  "蓄力会心III": "Lucky Charge III",
  "蓄力会心III+": "Lucky Charge III+",
  "蓄力会心IV": "Lucky Charge IV",
  "蓄力会心IV+": "Lucky Charge IV+",
  "蓄力会心V": "Lucky Charge V",
  "蓄力会心V+": "Lucky Charge V+",
  "蓄力强化": "Steady Focus",
  "蓄力强化II": "Steady Focus II",
  "蓄力强化III": "Steady Focus III",
  "蓄力强化IV": "Steady Focus IV",
  "蓄力强化V": "Steady Focus V",
  "蓄力攻击": "Charged Attack DMG",
  "蓄力攻击II": "Charged Attack DMG II",
  "蓄力攻击III": "Charged Attack DMG III",
  "蓄力攻击III+": "Charged Attack DMG III+",
  "蓄力攻击IV": "Charged Attack DMG IV",
  "蓄力攻击IV+": "Charged Attack DMG IV+",
  "蓄力攻击V": "Charged Attack DMG V",
  "蓄力攻击V+": "Charged Attack V+",
  "补丁修改（未修复）": "EXE Patches (Not Fixed)",
  "补丁写入成功": "Patch applied successfully",
  "补丁失败:": "Patch failed:",
  "补丁超出文件范围": "Patch exceeds file bounds",
  "被点赞后生效（影响存档）": "Takes effect after receiving a commendation (affects save data)",
  "装备角色": "Equipped Character",
  "角色": "Character",
  "角色数据:": "Character data:",
  "角色次数统计": "Character Usage",
  "解析 %s 失败: %w": "Failed to parse %s: %w",
  "解析SlotData失败: %w": "Failed to parse SlotData: %w",
  "解析中...": "Parsing...",
  "解析存档失败: %w": "Failed to parse save: %w",
  "解析更新信息失败: %w": "Failed to parse update information: %w",
  "警告：启用后，应用写入将直接覆盖当前输入存档，建议先备份。": "Warning: Writing will directly overwrite the input save. Make a backup first.",
  "记录中": "Recording",
  "设置": "Set",
  "设置倒计时": "Set Countdown",
  "设置成功": "Value set successfully",
  "词条": "Attribute",
  "语言": "Language",
  "语言设置": "Language Settings",
  "请先加载存档": "Load a save file first",
  "请先在游戏突破界面加载角色": "Load a character in the game’s Over Mastery screen first",
  "请先填写输入和输出路径": "Enter both input and output paths first",
  "请先开启上限突破读取，并在游戏突破界面加载角色": "Enable Over Mastery reading and load a character in the game screen first",
  "请先开启读取，并在游戏内因子列表选中一个因子": "Enable reading and select a sigil in the in-game sigil list first",
  "请先开启读取，并在游戏内选中一个因子": "Enable reading and select a sigil in game first.",
  "请先连接游戏进程": "Connect to the game process first",
  "请启动游戏后刷新状态": "Start the game, then refresh the status.",
  "请填写输出路径": "Please enter an output path",
  "请输入 0 到 %d 之间的整数": "Enter an integer between 0 and %d",
  "请输入 0 到 2147483647 之间的整数": "Enter an integer from 0 to 2147483647",
  "请输入 0 到 9999 之间的数值": "Enter a value between 0 and 9999",
  "请输入 0 到 9999 之间的有效倒计时数值": "Enter a valid countdown value between 0 and 9999",
  "请输入存档路径": "Please enter a save-file path",
  "请输入文件路径": "Please enter a file path",
  "请输入有效数值": "Please enter a valid value",
  "请输入输出路径": "Please enter an output path",
  "请选择${traitLabel(i)}及等级": "Select ${traitLabel(i)} and its level",
  "请选择因子": "Please select a sigil",
  "请选择特性": "Please select a trait",
  "请选择祝福": "Please select a wrightstone",
  "读取 %s 失败: %w": "Failed to read %s: %w",
  "读取 %v 失败: %w": "Failed to read %v: %w",
  "读取 PEB.ImageBaseAddress 失败: %v": "Failed to read PEB.ImageBaseAddress: %v",
  "读取%s失败: %w": "Failed to read %s: %w",
  "读取%s指针失败: %w": "Failed to read %s pointer: %w",
  "读取%s指针链失败: %w": "Failed to read %s pointer chain: %w",
  "读取上限突破 hook 指令失败: %w": "Failed to read Over Mastery hook instruction: %w",
  "读取上限突破保存 call 失败: %w": "Failed to read Over Mastery save call: %w",
  "读取上限突破槽位 %d 失败: %w": "Failed to read Over Mastery slot %d: %w",
  "读取上限突破角色指针失败: %w": "Failed to read Over Mastery character pointer: %w",
  "读取中...": "Reading...",
  "读取倒计时指令失败: %w": "Failed to read countdown instruction: %w",
  "读取全称号解锁指令失败: %w": "Failed to read unlock-all-titles instruction: %w",
  "读取其他皮肤紫色符文显示失败: %w": "Failed to read purple-rune skin instruction: %w",
  "读取升级/强化材料消耗指令失败: %w": "Failed to read the upgrade/enhancement material-consumption instruction: %w",
  "读取因子数据失败:": "Failed to load sigil data:",
  "读取备份失败: %w": "Failed to read backup: %w",
  "读取存档失败: %w": "Failed to read save: %w",
  "读取已开启": "Reading Enabled",
  "读取已开启。请在游戏内因子列表选中一个因子。": "Reading enabled. Select a sigil from the in-game sigil list.",
  "读取已有因子失败:": "Failed to read existing sigils:",
  "读取巴武掉落指令失败: %w": "Failed to read Terminus Weapon drop instruction: %w",
  "读取当前突破界面四个能力槽": "Read the four ability slots shown on the current Over Mastery screen",
  "读取文件失败: %w": "Failed to read file: %w",
  "读取无限挑战指令失败: %w": "Failed to read infinite-challenge instruction: %w",
  "读取模块头失败: %w": "Failed to read module header: %w",
  "读取脸部符文指令失败: %w": "Failed to read face-rune instruction: %w",
  "读取选中因子 Hook 指令失败: %w": "Failed to read the selected-sigil hook instruction: %w",
  "读取选中因子原始指令失败: %w": "Failed to read the original selected-sigil instruction: %w",
  "读取选中因子指令失败: %w": "Failed to read the selected-sigil instruction: %w",
  "读取选中因子指针失败: %w": "Failed to read the selected-sigil pointer: %w",
  "读取选中因子数据失败: %w": "Failed to read the selected-sigil data: %w",
  "豪胆": "Guts",
  "豪胆II": "Guts II",
  "豪胆III": "Guts III",
  "豪胆IV": "Guts IV",
  "豪胆V": "Guts V",
  "货币编辑": "Currency Editor",
  "跳转:": "Jump:",
  "跳转覆盖长度不足": "Insufficient jump overwrite length",
  "跳转距离超过 rel32 范围": "Jump distance exceeds rel32 range",
  "身无长技": "Less Is More",
  "身无长技II": "Less Is More II",
  "身无长技III": "Less Is More III",
  "身无长技III+": "Less Is More III+",
  "身无长技IV": "Less Is More IV",
  "身无长技IV+": "Less Is More IV+",
  "身无长技V": "Less Is More V",
  "身无长技V+": "Less Is More V+",
  "躲避仇火": "Dodge Payback",
  "躲避仇火II": "Dodge Payback II",
  "躲避仇火III": "Dodge Payback III",
  "躲避仇火III+": "Dodge Payback III+",
  "躲避仇火IV": "Dodge Payback IV",
  "躲避仇火IV+": "Dodge Payback IV+",
  "躲避仇火V": "Dodge Payback V",
  "躲避仇火V+": "Dodge Payback V+",
  "躲避性能": "Improved Dodge",
  "躲避性能+": "Improved Dodge+",
  "躲避距离": "Untouchable",
  "躲避距离+": "Untouchable+",
  "转世之觉醒": "Enchantress's Awakening",
  "转世的恩宠": "Enchantress's Blessing",
  "转世的战气": "Enchantress's Warpath",
  "转世的跃动": "Enchantress's Rhythm",
  "输入 10 = 怪物10倍昏厥条": "Enter 10 for 10× monster stun gauge",
  "输入 10 = 怪物10倍血": "Enter 10 for 10× monster HP",
  "输入 10 = 鳄鱼10倍血": "Enter 10 for 10× crocodile HP",
  "输入 32 = 怪物伤害32倍": "Enter 32 for 32× monster damage",
  "输入 granblue_fantasy_relink.exe 路径": "Enter the path to granblue_fantasy_relink.exe",
  "输入关键词过滤...": "Type to filter...",
  "输入关键词过滤副特性...": "Type to filter secondary traits...",
  "输入关键词过滤特性...": "Type to filter traits...",
  "输入数值": "Enter value",
  "输出": "Output",
  "输出存档路径...": "Output save-file path...",
  "输出文件已存在，是否覆盖？\\n${output}": "The output file already exists. Overwrite it?\\n${output}",
  "迅捷能力": "Quick Cooldown",
  "迅捷能力II": "Quick Cooldown II",
  "迅捷能力III": "Quick Cooldown III",
  "迅捷能力IV": "Quick Cooldown IV",
  "迅捷能力V": "Quick Cooldown V",
  "这些功能会修改游戏运行时内存，不写入存档；重启游戏或切换版本后需要重新连接并设置。": "These functions modify runtime memory and do not write to the save. Reconnect and reapply them after restarting or changing game versions.",
  "这将清除输出存档中的所有因子，确定继续？": "This will remove every sigil from the output save. Continue?",
  "进程未找到: %s": "Process not found: %s",
  "远程保存调用超时": "Remote save call timed out",
  "连击加成": "Combo Booster",
  "连击加成II": "Combo Booster II",
  "连击加成III": "Combo Booster III",
  "连击加成III+": "Combo Booster III+",
  "连击加成IV": "Combo Booster IV",
  "连击加成IV+": "Combo Booster IV+",
  "连击加成V": "Combo Booster V",
  "连击加成V+": "Combo Booster V+",
  "连击收招": "Combo Finisher DMG",
  "连击收招II": "Combo Finisher DMG II",
  "连击收招III": "Combo Finisher DMG III",
  "连击收招III+": "Combo Finisher DMG III+",
  "连击收招IV": "Combo Finisher DMG IV",
  "连击收招IV+": "Combo Finisher DMG IV+",
  "连击收招V": "Combo Finisher DMG V",
  "连击收招V+": "Combo Finisher V+",
  "连接中...": "Connecting...",
  "连接游戏进程": "Connect to Game",
  "追击": "Supplementary DMG",
  "追击II": "Supplementary DMG II",
  "追击III": "Supplementary DMG III",
  "追击III+": "Supplementary DMG III+",
  "追击IV": "Supplementary DMG IV",
  "追击IV+": "Supplementary DMG IV+",
  "追击V": "Supplementary DMG V",
  "追击V+": "Supplementary Damage V+",
  "选中因子原始指令长度异常": "Unexpected original selected-sigil instruction length",
  "选中因子指令字节异常: %s": "Unexpected selected-sigil instruction bytes: %s",
  "选择 GBFR 存档文件": "Select GBFR Save File",
  "选择祝福后配置三个词条与等级；不加入队列时，直接点击应用会写入当前选择。": "Select a wrightstone, configure its three traits and levels. If the queue is empty, Apply writes the current selection directly.",
  "选择输出存档文件": "Select Output Save File",
  "重新扫描": "Rescan",
  "金刚": "Greater Aegis",
  "金刚V": "Greater Aegis V",
  "金币": "Rupies",
  "钳蟹的共鸣": "Crabby Resonance",
  "钳蟹的报恩": "Crabvestment Returns",
  "锁定": "Lock",
  "锁定=持续写入；自动OD=非红条时写一次满黄条": "Lock continuously writes the value. Auto OD fills the yellow gauge once when it is not red.",
  "闪避性能": "Improved Dodge",
  "队列": "Queue",
  "队列 (": "Queue (",
  "队列 ({{ queue.length }})": "Queue ({{ queue.length }})",
  "队列为空，请先添加因子": "Queue is empty. Add a sigil first.",
  "防御DOWN抗性": "Defense Down Resistance",
  "防御DOWN抗性II": "Defense Down Resistance II",
  "防御DOWN抗性III": "Defense Down Resistance III",
  "防御DOWN抗性IV": "Defense Down Resistance IV",
  "防御DOWN抗性V": "Defense Down Resistance V",
  "隐藏": "Hidden",
  "隐藏脸部符文": "Hide Face Runes",
  "集中炮火": "Concentrated Fire",
  "集中炮火II": "Concentrated Fire II",
  "集中炮火III": "Concentrated Fire III",
  "集中炮火III+": "Concentrated Fire III+",
  "集中炮火IV": "Concentrated Fire IV",
  "集中炮火IV+": "Concentrated Fire IV+",
  "集中炮火V": "Concentrated Fire V",
  "集中炮火V+": "Concentrated Fire V+",
  "雷狼之觉醒": "Thunderwolf's Awakening",
  "雷狼的弹匣": "Thunderwolf's Recharge",
  "雷狼的慧眼": "Thunderwolf's Acuity",
  "雷狼的战气": "Thunderwolf's Warpath",
  "需游戏运行中使用 · 修改后需对应角色结算一局": "Game must be running · Complete one quest with the character after editing",
  "需游戏运行中使用 · 重启游戏后需重新设置": "Game must be running · Reapply after restarting the game",
  "需游戏运行中使用；先开启读取，再进入角色上限突破界面加载角色。": "Game must be running. Enable reading, then load a character in the Over Mastery screen.",
  "霸体": "Stout Heart",
  "验证失败 %s: 期望 %d, 实际 %d": "Verification failed for %s: expected %d, got %d",
  "验证失败 %s: 期望 %v, 实际 %v": "Verification failed for %s: expected %v, got %v",
  "验证失败 %s: 期望 0x%08X, 实际 0x%08X": "Verification failed for %s: expected 0x%08X, got 0x%08X",
  "验证失败: 找不到 %s": "Verification failed: %s not found",
  "骰子剑": "Roll of the Die",
  "骰子剑+": "Roll of the Die+",
  "魔法师之觉醒+": "Mage's Awakening+",
  "魔法师的伶俐": "Mage's Savvy",
  "魔法师的伶俐+": "Mage's Savvy+",
  "魔法师的心愿": "Mage's Aspiration",
  "魔法师的心愿+": "Mage's Aspiration+",
  "魔法师的战气": "Mage's Warpath",
  "魔眼的万箭": "Dark Huntress's Volley",
  "魔眼的凛翔": "Dark Huntress's Surge",
  "魔眼的战气": "Dark Huntress's Warpath",
  "鳄鱼多倍血(鳄鱼需单独设置)": "Crocodile HP Multiplier (set separately)",
  "麻痹抗性": "Paralysis Resistance",
  "麻痹抗性II": "Paralysis Resistance II",
  "麻痹抗性III": "Paralysis Resistance III",
  "麻痹抗性IV": "Paralysis Resistance IV",
  "麻痹抗性V": "Paralysis Resistance V",
  "黑龙之觉醒": "The Black's Awakening",
  "黑龙的咒印": "The Black's Mark",
  "黑龙的战气": "The Black's Warpath",
  "黑龙的折跃": "The Black's Impulse",
  "默认": "Default",
  "齐格飞": "Siegfried",
  "已启用": "Enabled",
  "就绪": "Ready",
  "启用读取": "Enable Reading",
  "重新连接": "Reconnect",
  "刷新中…": "Refreshing…",
  "点击启用读取，然后在游戏内选择因子": "Click Enable Reading, then select a sigil in-game",
  "等待游戏内因子选择": "Waiting for in-game sigil selection",
  "等待游戏内因子选择。": "Waiting for in-game sigil selection.",
  "因子编辑": "Sigil Editor",
  "＋ 保存为模板": "＋ Save as Template",
  "保存为模板": "Save as Template",
  "↺ 还原": "↺ Revert",
  "还原": "Revert",
  "— 未设置": "— Not set",
  "未设置": "Not set",
  "未知条目": "Unknown entry",
  "选择因子": "Select sigil",
  "选择主词条": "Select primary trait",
  "选择副词条": "Select secondary trait",
  "未选择 (可选)": "Not selected (optional)",
  "一键最大": "Auto MAX",
  "无等级元数据": "No level metadata",
  "将所有等级设为上限并立即写入": "Set all levels to max and write immediately",
  "写入中…": "Writing…",
  "最近写入": "Recent",
  "搜索模板...": "Search templates...",
  "无匹配模板": "No matching templates",
  "尚无模板 · 在编辑器点击 \"＋ 保存为模板\"": "No templates yet · Click \"＋ Save as Template\" in the editor",
  "尚无历史": "No history",
  "处变更": " changes",
  " · 未写入": " · unwritten",
  "未写入": "unwritten",
  "空模板": "Empty template",
  "无主": "no primary",
  "刚刚": "just now",
  "分钟前": " min ago",
  "小时前": " hr ago",
  "天前": " days ago",
  "读取因子数据失败: ": "Failed to load sigil data: ",
  "已就绪。启用读取后，在游戏内选中因子。": "Ready. After enabling, select a sigil in-game.",
  "已读取: ": "Read: ",
  "已启用。请在游戏内选择一个因子。": "Enabled. Select a sigil in-game.",
  "请先启用读取，并在游戏内选中一个因子": "Enable reading first, then select a sigil in-game",
  "已写入: ": "Written: ",
  "模板已保存: ": "Template saved: ",
  "模板名称不能为空": "Template name cannot be empty",
  "保存当前目标为模板 (稍后可重命名)": "Save current target as template (rename later)",
  "放弃修改，恢复为游戏内当前值": "Discard changes and revert to in-game value",
  "重命名": "Rename",
  "搜索名称 / 拼音 / hex": "Search name / pinyin / hex",
  "无匹配": "No match",
  "因子等级超过上限 %d": "Sigil level exceeds max %d",
  "主词条等级超过上限 %d": "Primary trait level exceeds max %d",
  "副词条等级超过上限 %d": "Secondary trait level exceeds max %d",
  "该因子不支持副词条": "This sigil does not support a secondary trait",
  "副词条不在该因子允许名单中": "Secondary trait not in this sigil's allowed list",
  "上限 %d": "Max %d",
  "补": "Ext",
  "主": "Primary",
  "副": "Secondary"
}

const allTranslations = { ...translations, ...uiTranslations }
const orderedKeys = Object.keys(allTranslations).filter((key) => key.length >= 2 && key !== '无').sort((a, b) => b.length - a.length)

const formatTokenSource = '%[-+#0-9.*]*[a-zA-Z]'
const formatTokenTestPattern = new RegExp(formatTokenSource)

function escapeRegExp(value) {
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
}

function compileFormatRule(source, target) {
  const tokenPattern = new RegExp(formatTokenSource, 'g')
  const matches = [...source.matchAll(tokenPattern)]
  if (!matches.length) return null
  let cursor = 0
  let pattern = ''
  matches.forEach((match, index) => {
    pattern += escapeRegExp(source.slice(cursor, match.index))
    const isLastAtEnd = index === matches.length - 1 && match.index + match[0].length === source.length
    pattern += isLastAtEnd ? '(.+)' : '(.+?)'
    cursor = match.index + match[0].length
  })
  pattern += escapeRegExp(source.slice(cursor))
  let replacementIndex = 0
  const replacement = target.replace(new RegExp(formatTokenSource, 'g'), () => `$${++replacementIndex}`)
  try {
    return [new RegExp(pattern, 'g'), replacement]
  } catch {
    return null
  }
}

const formatRules = Object.entries(allTranslations)
  .filter(([source]) => /[\u3400-\u9fff]/u.test(source) && formatTokenTestPattern.test(source))
  .sort(([left], [right]) => right.length - left.length)
  .map(([source, target]) => compileFormatRule(source, target))
  .filter(Boolean)

const priorityRules = [
  [/目标字节异常，拒绝补丁/g, 'Unexpected target bytes; patch refused'],
]

const patternRules = [
  [/([A-Za-z][A-Za-z .'-]*)的建议/g, "$1's Advice"],
  [/副参数档位必须为 0 到 (\d+)，越界会读取错误数值表/g, 'Sub-parameter tier must be between 0 and $1; out-of-range values use an invalid table'],
  [/已设置\s*(\d+)\s*个角色/g, 'Set $1 characters'],
  [/已加载存档:\s*(\d+)\s*个因子/g, 'Save loaded: $1 sigils'],
  [/已删除\s*(\d+)\s*个因子/g, 'Deleted $1 sigils'],
  [/已写入\s*(\d+)\s*个因子\s*\(验证\s*(\d+)\)/g, 'Wrote $1 sigils (verified $2)'],
  [/已清除\s*(\d+)\s*个因子\s*\(剩余\s*(\d+)\)/g, 'Removed $1 sigils ($2 remaining)'],
  [/发现新版本\s*([^\s]+)/g, 'New version found: $1'],
  [/槽位\s*(\d+)/g, 'Slot $1'],
  [/读取(.+?)失败:/g, 'Failed to read $1:'],
  [/写入(.+?)失败:/g, 'Failed to write $1:'],
  [/未知(.+?):/g, 'Unknown $1:'],
  [/请输入\s*(\d+)\s*到\s*(\d+)\s*之间的数值/g, 'Enter a value from $1 to $2'],
  [/请输入\s*(\d+)\s*到\s*(\d+)\s*之间的整数/g, 'Enter an integer from $1 to $2'],
  [/已写入并提交保存:\s*/g, 'Written and committed to save: '],
  [/已读取:\s*/g, 'Read: '],
  [/已选中\s*/g, 'Selected '],
  [/个因子/g, ' sigils'],
  [/个祝福/g, ' wrightstones'],
  [/个角色/g, ' characters'],
  [/次挑战/g, ' clears'],
]

export function getStoredLanguage() {
  return language.value
}

export function storeLanguage(value) {
  const next = normalizeLanguage(value)
  localStorage.setItem(STORAGE_KEY, next)
  language.value = next
  document.documentElement.lang = next === 'zh' ? 'zh-CN' : 'en'
  return next
}

export function translateText(value) {
  if (value == null) return value
  const input = String(value)
  if (language.value !== 'en' || !/[\u3400-\u9fff]/u.test(input)) return input
  if (Object.prototype.hasOwnProperty.call(allTranslations, input)) return allTranslations[input]

  const leadingWhitespace = input.match(/^\s*/u)?.[0] || ''
  const trailingWhitespace = input.match(/\s*$/u)?.[0] || ''
  const trimmed = input.trim()
  if (trimmed !== input && Object.prototype.hasOwnProperty.call(allTranslations, trimmed)) {
    return leadingWhitespace + allTranslations[trimmed] + trailingWhitespace
  }

  let output = input
  for (const [pattern, replacement] of priorityRules) output = output.replace(pattern, replacement)
  for (const [pattern, replacement] of formatRules) output = output.replace(pattern, replacement)
  for (const [pattern, replacement] of patternRules) output = output.replace(pattern, replacement)
  for (const key of orderedKeys) {
    if (output.includes(key)) output = output.split(key).join(allTranslations[key])
  }
  for (const [pattern, replacement] of patternRules) output = output.replace(pattern, replacement)
  return output
}

let observer
let applying = false
const originalText = new WeakMap()
const originalAttributes = new WeakMap()
const translatedAttributes = ['placeholder', 'title', 'aria-label']

function translateTextNode(node) {
  if (!node || node.nodeType !== Node.TEXT_NODE) return
  const current = node.nodeValue || ''
  if (!/[\u3400-\u9fff]/u.test(current)) return
  if (!originalText.has(node)) originalText.set(node, current)
  const translated = translateText(current)
  if (translated !== current) node.nodeValue = translated
}

function translateElement(element) {
  if (!(element instanceof Element)) return
  let attributeMap = originalAttributes.get(element)
  if (!attributeMap) { attributeMap = new Map(); originalAttributes.set(element, attributeMap) }
  for (const attribute of translatedAttributes) {
    if (!element.hasAttribute(attribute)) continue
    const current = element.getAttribute(attribute) || ''
    if (!/[\u3400-\u9fff]/u.test(current)) continue
    if (!attributeMap.has(attribute)) attributeMap.set(attribute, current)
    const translated = translateText(current)
    if (translated !== current) element.setAttribute(attribute, translated)
  }
  for (const child of element.childNodes) {
    if (child.nodeType === Node.TEXT_NODE) translateTextNode(child)
    else if (child.nodeType === Node.ELEMENT_NODE) translateElement(child)
  }
}

function translateDocument() {
  if (language.value !== 'en' || !document.body) return
  applying = true
  try { translateElement(document.body) } finally { applying = false }
}

export function installI18nObserver() {
  document.documentElement.lang = language.value === 'zh' ? 'zh-CN' : 'en'
  if (language.value !== 'en') return
  const nativeConfirm = window.confirm.bind(window)
  const nativeAlert = window.alert.bind(window)
  window.confirm = (message) => nativeConfirm(translateText(message))
  window.alert = (message) => nativeAlert(translateText(message))
  translateDocument()
  observer = new MutationObserver((mutations) => {
    if (applying || language.value !== 'en') return
    applying = true
    try {
      for (const mutation of mutations) {
        if (mutation.type === 'characterData') translateTextNode(mutation.target)
        else if (mutation.type === 'attributes') translateElement(mutation.target)
        else for (const node of mutation.addedNodes) {
          if (node.nodeType === Node.TEXT_NODE) translateTextNode(node)
          else if (node.nodeType === Node.ELEMENT_NODE) translateElement(node)
        }
      }
    } finally { applying = false }
  })
  observer.observe(document.documentElement, { subtree: true, childList: true, characterData: true, attributes: true, attributeFilter: translatedAttributes })
}
