From 809fd1b4499330d419647fff487184a69da5511d Mon Sep 17 00:00:00 2001 From: jelly1029 Date: Tue, 29 Sep 2026 17:18:54 +0800 Subject: [PATCH 1/3] i18n: tc translation for 7.25 update --- ui/eureka/zone_south_horn.ts | 24 +- .../eureka/occult_crescent_south_horn.ts | 679 +++++++++--------- util/coverage/coverage.ts | 2 + 3 files changed, 362 insertions(+), 343 deletions(-) diff --git a/ui/eureka/zone_south_horn.ts b/ui/eureka/zone_south_horn.ts index 129335407a..0ccacb9ecd 100644 --- a/ui/eureka/zone_south_horn.ts +++ b/ui/eureka/zone_south_horn.ts @@ -70,7 +70,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'おねだりポット', cn: '撒娇罐', ko: '떼쟁이 항아리', - tc: '撒嬌罐', + tc: '撒嬌甕', }, shortName: { en: 'Pots', @@ -79,7 +79,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'ポット', cn: '撒娇罐', ko: '항아리', - tc: '撒嬌罐', + tc: '撒嬌甕', }, rarity: 0, }, @@ -158,7 +158,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'クロイスターデーモン', cn: '回廊恶魔', ko: '회랑 악마', - tc: '迴廊惡魔', + tc: '回廊惡魔', }, shortName: { en: 'Cloister', @@ -167,7 +167,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'デーモン', cn: '回廊恶魔', ko: '회랑 악마', - tc: '迴廊惡魔', + tc: '回廊惡魔', }, rarity: 0, }, @@ -434,7 +434,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'しあわせのマジックポット', cn: '幸福的魔法罐', ko: '행복한 마법 항아리', - tc: '幸福的魔法罐', + tc: '幸福的魔法甕', }, fieldNotes: 11, shortLabel: { @@ -444,7 +444,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'ポット', cn: '魔法罐', ko: '항아리', - tc: '魔法罐', + tc: '魔法甕', }, x: 25.4, y: 17.1, @@ -460,7 +460,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'カチカチのマジックポット', cn: '瑟瑟发抖的魔法罐', ko: '고집불통 마법 항아리', - tc: '瑟瑟發抖的魔法罐', + tc: '瑟瑟發抖的魔法甕', }, fieldNotes: 11, shortLabel: { @@ -470,7 +470,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'ポット', cn: '魔法罐', ko: '항아리', - tc: '魔法罐', + tc: '魔法甕', }, x: 11.8, y: 32, @@ -584,7 +584,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: '忍び寄る爪「デスクロー」', cn: '潜影撕裂者——死亡爪', ko: '은밀히 다가오는 손톱 \'죽음손아귀\'', - tc: '潛影撕裂者——死亡爪', + tc: '潛影撕裂者——死亡厲爪', }, shortLabel: { en: 'Death', @@ -593,7 +593,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'デスクロー', cn: '死亡爪', ko: '죽음손아귀', - tc: '死亡爪', + tc: '死亡厲爪', }, x: 35.0, y: 32.1, @@ -608,7 +608,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: '封印大妖「クロイスターデーモン」', cn: '挣脱封印的大妖异——回廊恶魔', ko: '봉인된 대요마 \'회랑 악마\'', - tc: '掙脫封印的大妖異——迴廊惡魔', + tc: '掙脫封印的大妖異——回廊惡魔', }, fieldNotes: 20, shortLabel: { @@ -618,7 +618,7 @@ export const zoneInfoSouthHorn: EurekaZoneInfo = { ja: 'クロイスター', cn: '回廊恶魔', ko: '회랑 악마', - tc: '迴廊惡魔', + tc: '回廊惡魔', }, x: 14.6, y: 37.4, diff --git a/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts b/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts index c9506c506e..0df1e03fd1 100644 --- a/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts +++ b/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts @@ -370,35 +370,35 @@ const magitaurOutputStrings = { de: 'Nordosten aus', cn: '右上外', ko: '북동쪽 밖', - tc: '右上外', + tc: '东北外', }, northeastOn: { en: 'Northeast On', de: 'Nordosten an', cn: '右上内', ko: '북동쪽 안', - tc: '右上內', + tc: '东北內', }, southOff: { en: 'South Off', de: 'Süden aus', cn: '下方外', ko: '남쪽 밖', - tc: '下方外', + tc: '南方外', }, southOn: { en: 'South On', de: 'Süden an', cn: '下方内', ko: '남쪽 안', - tc: '下方內', + tc: '南方內', }, northwestOff: { en: 'Northwest Off', de: 'Nordwesten aus', cn: '左上外', ko: '북서쪽 밖', - tc: '左上外', + tc: '西北外', }, out: { en: 'Out, Square Corner', @@ -497,6 +497,7 @@ const triggerSet: TriggerSet = { de: 'Fork-Turm: Blut Astronomischer Trio Rache-Richtungs Strategy', cn: '两歧塔力之塔 星头三兄弟 复仇方向策略', ko: '포크타워: 별머리 삼인조 복수의 파이가/블리자가/바이오가 방향 전략', + tc: '兩歧塔力之塔 星頭三兄弟 復仇方向策略', }, type: 'select', options: { @@ -522,6 +523,11 @@ const triggerSet: TriggerSet = { '바닥징: 안전 지점의 ABBA/FOE/CAFE 바닥징을 호출합니다.': 'waymark', '둘 다: 안전 지점의 방향과 바닥징을 모두 호출합니다.': 'both', }, + tc: { + '方向: 僅提示安全點八方方向.': 'direction', + '標點: 根據 ABBA/FOE/CAFE 坐標播報安全點.': 'waymark', + '全部: 同時播報安全點的方向和標點.': 'both', + }, }, default: 'direction', }, @@ -894,6 +900,7 @@ const triggerSet: TriggerSet = { ja: '${name}にバフ解除', cn: '驱散 ${name} 的BUFF', ko: '${name} 버프 해제', + tc: '驅散 ${name} 的BUFF', }, }, }, @@ -965,6 +972,7 @@ const triggerSet: TriggerSet = { ja: '${name}にバフ解除', cn: '驱散 ${name} 的BUFF', ko: '${name} 버프 해제', + tc: '驅散 ${name} 的BUFF', }, }, }, @@ -1138,6 +1146,7 @@ const triggerSet: TriggerSet = { de: '${dir} + ${wedge}', cn: '${dir} + ${wedge}', ko: '${dir} + ${wedge}', + tc: '${dir} + ${wedge}', }, }, }, @@ -1153,6 +1162,7 @@ const triggerSet: TriggerSet = { de: 'Weiche größer werdende Ringe aus', cn: '躲避扩散环', ko: '퍼지는 고리 장판 피하기', + tc: '躲避擴散環', }, }, }, @@ -1180,6 +1190,7 @@ const triggerSet: TriggerSet = { de: 'Rein => Raus => Seiten', cn: '靠近 => 远离 => 两侧', ko: '안 => 밖 => 양 옆', + tc: '靠近 => 遠離 => 兩側', }, }, }, @@ -1202,6 +1213,7 @@ const triggerSet: TriggerSet = { de: 'Raus => Rein => Seiten', cn: '远离 => 靠近 => 两侧', ko: '밖 => 안 => 양 옆', + tc: '遠離 => 靠近 => 兩側', }, }, }, @@ -1247,6 +1259,7 @@ const triggerSet: TriggerSet = { de: 'Ansturm folgen => Geh hinter den Boss', cn: '跟随冲锋 => 去背后', ko: '돌진 따라가기 => 보스 뒤로', + tc: '跟隨衝鋒 => 去背後', }, }, }, @@ -1261,6 +1274,7 @@ const triggerSet: TriggerSet = { de: 'Nach dem Ansturm weggehen', cn: '冲锋后远离', ko: '돌진 후 멀어지기', + tc: '衝鋒後遠離', }, }, }, @@ -1400,7 +1414,7 @@ const triggerSet: TriggerSet = { de: 'Tankbusters auf ${player1}, ${player2}, ${player3}', cn: '坦克死刑点 ${player1}, ${player2}, ${player3}', ko: '탱버 대상자 ${player1}, ${player2}, ${player3}', - tc: '坦剋死刑點 ${player1}, ${player2}, ${player3}', + tc: '坦克死刑點 ${player1}, ${player2}, ${player3}', }, tankBusterOnYou: Outputs.tankBusterOnYou, }; @@ -2103,7 +2117,7 @@ const triggerSet: TriggerSet = { de: 'Sichere Ecken', cn: '安全角落', ko: '안전한 구석', - tc: '安全形落', + tc: '安全角落', }, }, }, @@ -3015,24 +3029,28 @@ const triggerSet: TriggerSet = { de: 'A', cn: 'A 点', ko: 'A', + tc: 'A 點', }, waymark2and3: { en: '2/3', de: '2/3', cn: '2 或 3 点', ko: '2/3', + tc: '2 或 3 點', }, waymarkCandD: { en: 'C/D', de: 'C/D', cn: 'C 或 D 点', ko: 'C/D', + tc: 'C 或 D 點', }, combined: { en: '${waymark} (${dir})', de: '${waymark} (${dir})', cn: '${waymark} (${dir})', ko: '${waymark} (${dir})', + tc: '${waymark} (${dir})', }, }, }, @@ -3439,7 +3457,7 @@ const triggerSet: TriggerSet = { de: 'Ansturm (Osten), In einer Reihe sammeln', cn: '狂野冲锋(右), 在同一行集合', ko: '직선 쉐어 (동쪽), 한 줄로 서기', - tc: '狂野衝鋒(右), 在同一行集合', + tc: '狂野衝鋒(東), 在同一行集合', }, }, }, @@ -3689,7 +3707,7 @@ const triggerSet: TriggerSet = { de: 'Ansturm (Osten), In einer Reihe sammeln', cn: '狂野冲锋(右), 在同一行集合', ko: '직선 쉐어 (동쪽), 한 줄로 서기', - tc: '狂野衝鋒(右), 在同一行集合', + tc: '狂野衝鋒(東), 在同一行集合', }, }, }, @@ -3815,14 +3833,14 @@ const triggerSet: TriggerSet = { de: 'Osten/Westen', cn: '左/右', ko: '동/서', - tc: '左/右', + tc: '東/西', }, northSouth: { en: 'North/South', de: 'Norden/Süden', cn: '上/下', ko: '남/북', - tc: '上/下', + tc: '北/南', }, sides: Outputs.sides, }, @@ -4181,14 +4199,14 @@ const triggerSet: TriggerSet = { de: '(Osten Später)', cn: '(稍后左)', ko: '(나중에 동쪽)', - tc: '(稍後左)', + tc: '(稍後西)', }, west: { en: '(West Later)', de: '(Westen Später)', cn: '(稍后右)', ko: '(나중에 서쪽)', - tc: '(稍後右)', + tc: '(稍後東)', }, }, }, @@ -4904,14 +4922,14 @@ const triggerSet: TriggerSet = { de: 'Osten/Westen', cn: '左/右', ko: '동/서', - tc: '左/右', + tc: '東/西', }, northSouth: { en: 'North/South', de: 'Norden/Süden', cn: '上/下', ko: '남/북', - tc: '上/下', + tc: '北/南', }, dirCrossesFirst: { en: '${dir}: Crosses First + ${clock}', @@ -4997,14 +5015,14 @@ const triggerSet: TriggerSet = { de: 'Osten/Westen', cn: '左/右', ko: '동/서', - tc: '左/右', + tc: '東/西', }, northSouth: { en: 'North/South', de: 'Norden/Süden', cn: '上/下', ko: '남/북', - tc: '上/下', + tc: '北/南', }, getTowers: Outputs.getTowers, getVerticalTowers: { @@ -5069,14 +5087,14 @@ const triggerSet: TriggerSet = { de: 'Osten/Westen', cn: '左/右', ko: '동/서', - tc: '左/右', + tc: '東/西', }, northSouth: { en: 'North/South', de: 'Norden/Süden', cn: '上/下', ko: '남/북', - tc: '上/下', + tc: '北/南', }, }, }, @@ -5368,14 +5386,14 @@ const triggerSet: TriggerSet = { ja: 'ボス背面のサークル上に', cn: '站在目标圈上 (远离坦克死刑)', ko: '보스 히트박스 경계에 있기 (광역 탱버 피하기)', - tc: '站在目標圈上 (遠離坦剋死刑)', + tc: '站在目標圈上 (遠離坦克死刑)', }, nearFarTankCleave: { en: 'Near and far tank cleave => 2 tank autos', de: 'Nah und entfernte Tank-Cleaves => 2 Tank Autoangriffe', cn: '近远坦克死刑 => 2次坦克普攻', ko: '근거리/원거리 광역탱버 => 탱커 평타 2회', - tc: '近遠坦剋死刑 => 2次坦克普攻', + tc: '近遠坦克死刑 => 2次坦克普攻', }, }, }, @@ -7179,384 +7197,383 @@ const triggerSet: TriggerSet = { }, { 'locale': 'tc', - 'missingTranslations': true, 'replaceSync': { - // 'Advanced Aevis': '', // FIXME '高等魔鸟' - // 'Assassin\'s Dagger': '', // FIXME '暗杀短剑' + 'Advanced Aevis': '高等魔鳥', + 'Assassin\'s Dagger': '暗殺短劍', 'Ball of Fire': '火球', 'Black Chocobo': '黑陸行鳥', - // 'Black Star': '', // FIXME '黑色天星' - // 'Chatterbird': '', // FIXME '叽喳鸟' - // 'Clawmarks': '', // FIXME '抓痕' - // 'Cloister Demon': '', // FIXME '回廊恶魔' - // 'Command Urn': '', // FIXME '指令罐' - // 'Crescent Berserker': '', // FIXME '新月狂战士' - // 'Crystal Dragon': '', // FIXME '水晶龙' - // 'Dead Stars': '', // FIXME '星头三兄弟' - // 'Death Claw': '', // FIXME '死亡爪' - // 'Dehumidifier': '', // FIXME '除湿之火' - // 'Demon Tablet': '', // FIXME '恶魔板' - // 'Draconic Double': '', // FIXME '水晶龙的幻影' - // 'Execrator': '', // FIXME '执行者' - // 'Frozen Phobos': '', // FIXME '冰冻的福博斯' - // 'Gaseous Nereid': '', // FIXME '燃烧的涅瑞伊得' - // 'Gaseous Phobos': '', // FIXME '燃烧的福博斯' - // 'Giant Bird': '', // FIXME '巨大鸟' - // 'Gilded Headstone': '', // FIXME '金色石碑' - // 'Guardian Berserker': '', // FIXME '狂战士守卫' - // 'Guardian Knight': '', // FIXME '骑士守卫' - // 'Guardian Weapon': '', // FIXME '兵装守卫' - // 'Guardian Wraith': '', // FIXME '幽灵守卫' - // 'Hinkypunk': '', // FIXME '鬼火苗' - // 'Holy Sphere': '', // FIXME '光球' - // 'Ice Golem': '', // FIXME '寒冰巨像' - // 'Icewind': '', // FIXME '冰风' - // 'Jesting Jackanapes': '', // FIXME '小妖魔' - // 'Lifereaper': '', // FIXME '生命收割者' - // 'Lion Rampant': '', // FIXME '跃立狮' - // 'Liquified Triton': '', // FIXME '融化的特里同' - // 'Luminous Lance': '', // FIXME '光枪' - // 'Magitaur': '', // FIXME '魔陶洛斯' - // 'Nammu': '', // FIXME '纳木' - // 'Marble Dragon': '', // FIXME '大理石龙' - // 'Master Lockward': '', // FIXME '首领看锁人' - // 'Megaloknight': '', // FIXME '巨型骑士' - // 'Mysterious Mindflayer': '', // FIXME '夺心魔' - // 'Mythic Idol': '', // FIXME '神秘土偶' - // 'Mythic Mirror': '', // FIXME '神秘土偶的幻影' - // 'Neo Garula': '', // FIXME '进化加鲁拉' - // 'Nereid': '', // FIXME '涅瑞伊得' - // 'Nymian Petalodus': '', // FIXME '尼姆瓣齿鲨' - // 'Observer': '', // FIXME '岛屿监视者' - // 'Occult Knight': '', // FIXME '新月骑士' - // 'Ochre Stone': '', // FIXME '巨岩' - // 'Petalodus Progeny': '', // FIXME '子代瓣齿鲨' - // 'Phantom Claw': '', // FIXME '死亡爪的幻影' - // '(? Date: Wed, 30 Sep 2026 08:29:18 +0800 Subject: [PATCH 2/3] Update ultimate raidboss MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 7.25 update all action and npc Name '·' to '・' --- .../data/04-sb/ultimate/unending_coil_ultimate.ts | 2 +- .../06-ew/ultimate/dragonsongs_reprise_ultimate.ts | 4 ++-- ui/raidboss/data/07-dt/ultimate/futures_rewritten.ts | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ui/raidboss/data/04-sb/ultimate/unending_coil_ultimate.ts b/ui/raidboss/data/04-sb/ultimate/unending_coil_ultimate.ts index bcfd2dfcd7..d76a51e8c7 100644 --- a/ui/raidboss/data/04-sb/ultimate/unending_coil_ultimate.ts +++ b/ui/raidboss/data/04-sb/ultimate/unending_coil_ultimate.ts @@ -2450,7 +2450,7 @@ const triggerSet: TriggerSet = { 'Fang Of Light': '光牙', 'Firehorn': '火角', 'Iceclaw': '冰爪', - 'Nael Deus Darnus': '奈爾·神·達納斯', + 'Nael Deus Darnus': '奈爾・神・達納斯', 'Nael Geminus': '奈爾雙生子', 'Ragnarok': '諸神黃昏', 'Tail Of Darkness': '暗尾', diff --git a/ui/raidboss/data/06-ew/ultimate/dragonsongs_reprise_ultimate.ts b/ui/raidboss/data/06-ew/ultimate/dragonsongs_reprise_ultimate.ts index bbcd846cb2..be43ba28a7 100644 --- a/ui/raidboss/data/06-ew/ultimate/dragonsongs_reprise_ultimate.ts +++ b/ui/raidboss/data/06-ew/ultimate/dragonsongs_reprise_ultimate.ts @@ -3684,8 +3684,8 @@ const triggerSet: TriggerSet = { 'Ancient Quaga': '古代爆震', 'Alternative End': '異史終結', 'Altar Flare': '聖壇火光', - 'Ascalon\'s Mercy Concealed': '阿斯卡隆之仁·隱秘', - 'Ascalon\'s Mercy Revealed': '阿斯卡隆之仁·揭示', + 'Ascalon\'s Mercy Concealed': '阿斯卡隆之仁・隱秘', + 'Ascalon\'s Mercy Revealed': '阿斯卡隆之仁・揭示', 'Ascalon\'s Might': '阿斯卡隆之威', 'Brightblade\'s Steel': '光輝劍的決意', 'Brightwing(?!ed)': '光翼閃', diff --git a/ui/raidboss/data/07-dt/ultimate/futures_rewritten.ts b/ui/raidboss/data/07-dt/ultimate/futures_rewritten.ts index 69988ae8cb..b27eeb7dcd 100644 --- a/ui/raidboss/data/07-dt/ultimate/futures_rewritten.ts +++ b/ui/raidboss/data/07-dt/ultimate/futures_rewritten.ts @@ -3587,9 +3587,9 @@ const triggerSet: TriggerSet = { 'Ice Veil': '永久冰晶', 'Oracle of Darkness': '暗之巫女', 'Oracle\'s Reflection': '巫女的鏡像', - 'Pandora': '潘朵拉·米特隆', + 'Pandora': '潘朵拉・米特隆', 'Sorrow\'s Hourglass': '悲傷的沙漏', - 'Usurper of Frost': '濕婆·米特隆', + 'Usurper of Frost': '濕婆・米特隆', }, 'replaceText': { '\\(cast\\)': '(詠唱)', @@ -3616,7 +3616,7 @@ const triggerSet: TriggerSet = { '--Oracle targetable--': '--巫女可選中--', '--Oracle untargetable--': '--巫女不可選中--', '--reposition--': '--歸位--', - '--Usurper untargetable--': '--濕婆·米特隆不可選中--', + '--Usurper untargetable--': '--濕婆・米特隆不可選中--', 'Absolute Zero': '絕對零度', 'Akh Morn': '死亡輪迴', 'Akh Rhai': '天光輪迴', @@ -3715,7 +3715,7 @@ const triggerSet: TriggerSet = { 'Solemn Charge': '急衝刺', 'Somber Dance': '真夜舞蹈', 'Speed': '限速', - 'Spell-in-Waiting Refrain': '延遲詠唱·遞進', + 'Spell-in-Waiting Refrain': '延遲詠唱・遞進', 'Spirit Taker': '碎靈一擊', 'Swelling Frost': '寒波', 'The House of Light': '光之海嘯', @@ -3726,7 +3726,7 @@ const triggerSet: TriggerSet = { 'Twin Poles': '光與暗的雙劍技', 'Twin Silence': '閒寂的雙劍技', 'Twin Stillness': '靜寂的雙劍技', - 'Ultimate Relativity': '時間壓縮·絕', + 'Ultimate Relativity': '時間壓縮・絕', 'Unholy Darkness': '黑暗神聖', 'Unmitigated Explosion': '大爆炸', 'Utopian Sky': '樂園絕技', From 5797c470498eb558dd8546510ab193d892eaf1ab Mon Sep 17 00:00:00 2001 From: jelly1029 Date: Wed, 30 Sep 2026 17:22:53 +0800 Subject: [PATCH 3/3] Update occult_crescent_south_horn.ts fix mistake --- .../data/07-dt/eureka/occult_crescent_south_horn.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts b/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts index 0df1e03fd1..b69f297a8f 100644 --- a/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts +++ b/ui/raidboss/data/07-dt/eureka/occult_crescent_south_horn.ts @@ -4199,14 +4199,14 @@ const triggerSet: TriggerSet = { de: '(Osten Später)', cn: '(稍后左)', ko: '(나중에 동쪽)', - tc: '(稍後西)', + tc: '(稍後東)', }, west: { en: '(West Later)', de: '(Westen Später)', cn: '(稍后右)', ko: '(나중에 서쪽)', - tc: '(稍後東)', + tc: '(稍後西)', }, }, }, @@ -7282,7 +7282,7 @@ const triggerSet: TriggerSet = { '--holy spheres': '--光球', '--ice golems--': '--寒冰巨像--', '--ice sprites--': '--冰元精--', - '--Icicle Puddles--': '模仿冰柱', + '--Icicle Puddles--': '--模仿冰柱--', '--knockback': '--擊退', '--Mythic Mirror': '--神秘幻影', '--Nereid targetable--': '--涅瑞伊得可選中--', @@ -7496,7 +7496,7 @@ const triggerSet: TriggerSet = { 'Onepenny Inflation': '一幣咒爆風', 'Open Water': '開放水域', 'Pelagic Cleaver': '深海切割者', - 'Portentous Comet(?!eor)': '惡魔微型隕石', + 'Portentous Comet(?!eor)': '惡魔隕星', 'Portentous Cometeor': '惡魔微型隕石', 'Primal Roar': '大咆哮', 'Primordial Chaos': '毒液樂園',