Skip to content

Commit 0a95b8d

Browse files
authored
i18n: add tc timelineReplace started (OverlayPlugin#875)
Uses an automated script to process datamined CSV files, auto-generating Traditional Chinese (TC) `replaceSync` and `replaceText` entries. ## Details * Uses a set of predefined rules to query `BNpcName`, `Action`, `Status`, `PlaceName`, `InstanceContentTextData`, `NpcYell`, `LogMessage` ,`PublicContentTextData` tables for accurate translations. * Extracts action IDs from corresponding timeline `.txt` files to prevent name collisions. * To ensure 100% accuracy, TC translations are only applied if the database entry for a given ID matches the existing CN string in the .ts file. * For entries where automated rules could not be confidently applied, I have preserved the original CN strings as commented-out **`FIXME`** lines. ## Known Issues - Some entries in `timeline.txt` use descriptive strings (e.g., 'in/out') rather than the actual ability name. In these cases, the script uses the TC translation of the associated Ability ID. For example, in `seiryu-un.ts`, the descriptive string `in/out` would be replaced by the TC name for 'Onmyo Sigil' (`蛇眼之印`). This is as far as I can provide; further adjustments by the TC team are welcome. @ooo-Jay
1 parent 2df6633 commit 0a95b8d

388 files changed

Lines changed: 14448 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ui/raidboss/data/00-misc/general.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,18 @@ const triggerSet: TriggerSet<Data> = {
345345
'7 minutes have elapsed since your last activity.': '已经7分钟没有进行任何操作',
346346
},
347347
},
348+
{
349+
locale: 'tc',
350+
replaceSync: {
351+
' has initiated a ready check': '發起了準備確認。',
352+
'You have commenced a ready check': '發起了準備確認。',
353+
'You poke the striking dummy': '.*用手指戳向木人',
354+
'You psych yourself up alongside the striking dummy': '.*激勵木人',
355+
'You burst out laughing at the striking dummy': '.*看著木人高聲大笑',
356+
'You clap for the striking dummy': '.*向木人送上掌聲',
357+
'7 minutes have elapsed since your last activity.': '已經7分鐘沒有進行任何操作',
358+
},
359+
},
348360
{
349361
locale: 'ko',
350362
replaceSync: {

ui/raidboss/data/00-misc/test.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -676,6 +676,46 @@ const triggerSet: TriggerSet<Data> = {
676676
'Invisible': '不可见',
677677
},
678678
},
679+
{
680+
locale: 'tc',
681+
replaceSync: {
682+
'You bid farewell to the striking dummy': '.*向木人告别',
683+
'You bow courteously to the striking dummy': '.*恭敬地對木人行禮',
684+
'test sync': 'test sync',
685+
'testNetRegexTimeline': 'testNetRegexTimeline',
686+
'You burst out laughing at the striking dummy': '.*看着木人高聲大笑',
687+
'cactbot lang': 'cactbot語言',
688+
'cactbot test combatant cast': 'cactbot測試戰鬥員施法',
689+
'cactbot test config': 'cactbot測試配置',
690+
'cactbot test outputStrings': 'cactbot測試輸出字符串',
691+
'cactbot test response': 'cactbot響應測試',
692+
'cactbot test trigger countdown': 'cactbot測試觸發器倒計時',
693+
'cactbot test watch': 'cactbot探測測試',
694+
'You clap for the striking dummy': '.*向木人送上掌聲',
695+
'You psych yourself up alongside the striking dummy': '.*激勵木人',
696+
'You poke the striking dummy': '.*用手指戳向木人',
697+
},
698+
replaceText: {
699+
'Final Sting': '最終刺針',
700+
'Almagest': '至高無上',
701+
'Angry Dummy': '憤怒的木人',
702+
'Long Castbar': '長時間詠唱',
703+
'Dummy Stands Still': '木人8動了',
704+
'Super Tankbuster': '超級無敵轉圈死刑',
705+
'Death To': '嗝屁攻擊:',
706+
'Death': '嗝屁',
707+
'Engage': '戰鬥開始',
708+
'Pentacle Sac': '傳毒',
709+
'Two': '貳',
710+
'(?<! )Three': '叄',
711+
'Four': '肆',
712+
'Six': '陸',
713+
'Ten': '拾',
714+
'Fifteen': '拾伍',
715+
'Force Jump Three': '強制跳轉叄',
716+
'Invisible': '不可見',
717+
},
718+
},
679719
{
680720
locale: 'ko',
681721
replaceSync: {

ui/raidboss/data/00-misc/the_masked_carnivale.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1724,6 +1724,49 @@ const triggerSet: TriggerSet<Data> = {
17241724
'Zipacna': '希帕克纳',
17251725
},
17261726
},
1727+
{
1728+
'locale': 'tc',
1729+
'missingTranslations': true,
1730+
'replaceSync': {
1731+
'Apademak': '阿帕德馬克',
1732+
'Arena Catoblepas': '鬥場卡托佈雷帕斯',
1733+
'Arena Eye': '鬥場之眼',
1734+
'Arena Gas Bomb': '鬥場瓦斯彈怪',
1735+
'Arena Grenade': '鬥場榴彈怪',
1736+
'Arena Imp': '鬥場小頑童',
1737+
'Arena Jam': '鬥場劇毒果醬怪',
1738+
'Arena Manticore': '鬥場蠍尾獅',
1739+
'Arena Mirrorknight': '鬥場魔鏡騎士',
1740+
'Arena Progenitrix': '鬥場炸彈之母',
1741+
'Arena Scribe': '鬥場抄寫員',
1742+
'Arena Shabti': '鬥場沙布提',
1743+
'Arena Succubus': '鬥場魅魔',
1744+
'Azulmagia': '啟示者',
1745+
'Bestial Node': '鬥獸系統',
1746+
'Blazing Angon': '烈火投槍',
1747+
'Carmilla': '卡蜜拉',
1748+
'Crom Dubh': '幽黑曲偶',
1749+
'Durinn': '都靈',
1750+
'Epilogi': '艾匹羅基',
1751+
'Gladiatorial Node': '鬥技系統',
1752+
'Gogo, Master of Mimicry': '模仿師 格格',
1753+
'Guimauve': '棉花軟糖',
1754+
'Hydnora': '火花草',
1755+
'Kreios': '克利俄斯',
1756+
'Kronprinz Behemoth': '凶惡巨獸太子',
1757+
'Papa Humbaba': '洪巴巴之父',
1758+
'Reflective Rebekkah': '反射魔花瑞貝卡',
1759+
'Shikigami of the Pyre': '火之式神',
1760+
'Shikigami of the Undertow': '水之式神',
1761+
'Siegfried': '齊格弗里德',
1762+
'Stylish Tentacle': '章魚觸手',
1763+
'The Forefather': '炸彈之祖',
1764+
'Tikbalang': '迪克巴朗',
1765+
'Typhon': '杜彭',
1766+
'Ultros': '奧爾特羅斯',
1767+
'Zipacna': '希派克納',
1768+
},
1769+
},
17271770
{
17281771
'locale': 'ko',
17291772
'replaceSync': {

ui/raidboss/data/02-arr/alliance/the_world_of_darkness.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,12 @@ const triggerSet: TriggerSet<Data> = {
159159
'Angra Mainyu': '安哥拉·曼纽',
160160
},
161161
},
162+
{
163+
'locale': 'tc',
164+
'replaceSync': {
165+
'Angra Mainyu': '安格拉·曼紐',
166+
},
167+
},
162168
{
163169
'locale': 'ko',
164170
'replaceSync': {

ui/raidboss/data/02-arr/dungeon/amdapor_keep.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ const triggerSet: TriggerSet<Data> = {
5353
'Demon Wall': '恶魔墙',
5454
},
5555
},
56+
{
57+
'locale': 'tc',
58+
'replaceSync': {
59+
'Demon Wall': '惡魔牆',
60+
},
61+
},
5662
{
5763
'locale': 'ko',
5864
'replaceSync': {

ui/raidboss/data/02-arr/dungeon/amdapor_keep_hard.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ const triggerSet: TriggerSet<Data> = {
8383
'Boogyman': '夜魔人',
8484
},
8585
},
86+
{
87+
'locale': 'tc',
88+
'replaceSync': {
89+
'Boogyman': '夜魔人',
90+
},
91+
},
8692
{
8793
'locale': 'ko',
8894
'replaceSync': {

ui/raidboss/data/02-arr/dungeon/brayfloxs_longstop.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,16 @@ const triggerSet: TriggerSet<Data> = {
247247
'Inferno Drake': '狱炎火蛟',
248248
},
249249
},
250+
{
251+
'locale': 'tc',
252+
'replaceSync': {
253+
'Aiatar': '阿傑特',
254+
'Ashdrake': '白燼火蛟',
255+
'Great Yellow Pelican': '大黃鵜鶘',
256+
'Hellbender': '水棲蠑螈',
257+
'Inferno Drake': '獄炎火蛟',
258+
},
259+
},
250260
{
251261
'locale': 'ko',
252262
'replaceSync': {

ui/raidboss/data/02-arr/dungeon/cutters_cry.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ const triggerSet: TriggerSet<Data> = {
5555
'Chimera': '奇美拉',
5656
},
5757
},
58+
{
59+
'locale': 'tc',
60+
'replaceSync': {
61+
'Chimera': '奇美拉',
62+
},
63+
},
5864
{
5965
'locale': 'ko',
6066
'replaceSync': {

ui/raidboss/data/02-arr/dungeon/cutters_cry72.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ const triggerSet: TriggerSet<Data> = {
4747
'Chimera': '奇美拉',
4848
},
4949
},
50+
{
51+
'locale': 'tc',
52+
'replaceSync': {
53+
'Chimera': '奇美拉',
54+
},
55+
},
5056
{
5157
'locale': 'ko',
5258
'replaceSync': {

ui/raidboss/data/02-arr/dungeon/halatali_hard.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@ const triggerSet: TriggerSet<Data> = {
7272
'Mumuepo the Beholden': '退位主教 穆穆埃珀',
7373
},
7474
},
75+
{
76+
'locale': 'tc',
77+
'replaceSync': {
78+
'Catoblepas': '卡托佈雷帕斯',
79+
'Mumuepo the Beholden': '退位主教 穆穆艾珀',
80+
},
81+
},
7582
{
7683
'locale': 'ko',
7784
'replaceSync': {

0 commit comments

Comments
 (0)