From 14c1aeb03a257decc35d42b1ce00da405d0baec2 Mon Sep 17 00:00:00 2001 From: Akurosia Kamo Date: Thu, 14 Dec 2023 17:54:53 +0100 Subject: [PATCH] i18n: aai translations --- .../dungeon/another_aloalo_island-savage.ts | 371 +++++++++++++++++- .../06-ew/dungeon/another_aloalo_island.ts | 371 +++++++++++++++++- ui/raidboss/raidboss_config.ts | 7 + 3 files changed, 743 insertions(+), 6 deletions(-) diff --git a/ui/raidboss/data/06-ew/dungeon/another_aloalo_island-savage.ts b/ui/raidboss/data/06-ew/dungeon/another_aloalo_island-savage.ts index 722a4cd4be..92be39b223 100644 --- a/ui/raidboss/data/06-ew/dungeon/another_aloalo_island-savage.ts +++ b/ui/raidboss/data/06-ew/dungeon/another_aloalo_island-savage.ts @@ -115,18 +115,23 @@ const triggerSet: TriggerSet = { outputStrings: { orbDirFront: { en: 'Face Towards Orb', + de: 'Den Orb anschauen', }, orbDirBack: { en: 'Face Away from Orb', + de: 'Weg vom Orb schauen', }, orbDirLeft: { en: 'Point Left at Orb', + de: 'Zeige links auf den Orb', }, orbDirRight: { en: 'Point Right at Orb', + de: 'Zeige Rechts auf den Orb', }, orbGeneral: { en: 'Point opening at Orb', + de: 'Zeige die Öffnung auf den Orb', }, }, }, @@ -142,9 +147,11 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { tankBusterOnYou: { en: '3x Tankbuster on YOU', + de: '3x Tankbuster auf DIR', }, tankBusterOnPlayer: { en: '3x Tankbuster on ${player}', + de: '3x Tankbuster auf ${player}', }, }; @@ -282,9 +289,11 @@ const triggerSet: TriggerSet = { outputStrings: { fetters: { en: 'Fetters (w/${player})', + de: 'Fesseln (mit ${player})', }, bubble: { en: 'Bubble (w/${player})', + de: 'Blase (mit ${player})', }, }, }, @@ -308,6 +317,11 @@ const triggerSet: TriggerSet = { For brevity, "next to" always means horizontal east/west of something. The number in parentheses is the limit cut wind you should be on. See trigger source for diagrams in comments.`, + de: `Diese Anweisungen gehen davon aus, dass Sie immer ein Quadrat im gleichen + Quadranten wie der angegebene Kristall liegt. + Der Einfachheit halber bedeutet "neben" immer horizontal östlich/westlich von etwas. + Die Zahl in Klammern ist der Grenzwert für den Wind-Rückstoß, auf dem Sie sich befinden sollten. + Siehe Triggerquelle für Diagramme in den Kommentaren.`, }, type: 'StartsUsing', netRegex: { id: ['8AB8', '8AB4'], source: 'Ketuduke' }, @@ -415,34 +429,44 @@ const triggerSet: TriggerSet = { outputStrings: { bubbleNetMech: { en: '${fettersBubble} + ${spreadStack}', + de: '${fettersBubble} + ${spreadStack}', }, bubbleNetMechPartner: { en: '${fettersBubble} + ${spreadStack} (w/${player})', + de: '${fettersBubble} + ${spreadStack} (mit ${player})', }, bubbleBuff: { en: 'Bubble', + de: 'Blase', }, fettersBuff: { en: 'Fetters', + de: 'Ketten', }, spread: Outputs.spread, stacks: { en: 'Stacks', + de: 'Sammeln', }, bubbleAnything: { en: 'Next to Horizontal (1)', + de: 'Neben Horizontal (1)', }, fettersSpreadSplit: { en: 'Diagonal of Vertical (2)', + de: 'Diagonale der Vertikalen (2)', }, fettersSpreadColumn: { en: 'Next to Vertical (2)', + de: 'Neben Vertikal (2)', }, fettersStackSplit: { en: 'On Horizontal (1)', + de: 'Auf Horizontal (1)', }, fettersStackColumn: { en: 'Diagonal of Horizontal (1)', + de: 'Diagonale der Horizontalen (1)', }, }, }, @@ -458,9 +482,11 @@ const triggerSet: TriggerSet = { outputStrings: { spread: { en: 'Spread => Stacks', + de: 'Verteilen => Sammeln', }, stacks: { en: 'Stacks => Spread', + de: 'Sammeln => Verteilen', }, }, }, @@ -483,9 +509,11 @@ const triggerSet: TriggerSet = { spread: Outputs.spread, stacks: { en: 'Stacks', + de: 'Sammeln', }, roleStacks: { en: 'Role Stacks', + de: 'Rollengruppe sammeln', }, }, }, @@ -529,12 +557,15 @@ const triggerSet: TriggerSet = { outputStrings: { roleStacks: { en: 'Role Stacks', + de: 'Rollengruppe sammeln', }, spreadThenRoleStacks: { en: 'Spread => Role Stacks', + de: 'Verteilen => Rollengruppe sammeln', }, roleStacksThenSpread: { en: 'Role Stacks => Spread', + de: 'Rollengruppe sammeln => Verteilen', }, }, }, @@ -551,9 +582,11 @@ const triggerSet: TriggerSet = { outputStrings: { outInStacks: { en: 'Out => In + Stacks', + de: 'Raus => Rein + sammeln', }, outInRoleStacks: { en: 'Out => In + Role Stacks', + de: 'Raus => Rein + Rollengruppe sammeln', }, }, }, @@ -570,9 +603,11 @@ const triggerSet: TriggerSet = { outputStrings: { inOutStacks: { en: 'In => Out + Stacks', + de: 'Rein => Raus + sammeln', }, inOutRoleStacks: { en: 'In => Out + Role Stacks', + de: 'Rein => Raus + Rollengruppe sammeln', }, }, }, @@ -596,14 +631,17 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: '${inOut} + ${stack}', + de: '${inOut} + ${stack}', }, in: Outputs.in, out: Outputs.out, stack: { en: 'Stacks', + de: 'Sammeln', }, roleStacks: { en: 'Role Stacks', + de: 'Rollengruppe sammeln', }, }, }, @@ -643,12 +681,15 @@ const triggerSet: TriggerSet = { outputStrings: { northSouthSafe: { en: 'North/South', + de: 'Norden/Süden', }, eastWestSafe: { en: 'East/West', + de: 'Osten/Westen', }, cornersSafe: { en: 'Corners', + de: 'Ecken', }, }, }, @@ -666,12 +707,15 @@ const triggerSet: TriggerSet = { outputStrings: { knockbackSpread: { en: 'Knockback => Spread', + de: 'Rückstoß => verteilen', }, knockbackStacks: { en: 'Knockback => Stacks', + de: 'Rückstoß => sammeln', }, knockbackRoleStacks: { en: 'Knockback => Role Stacks', + de: 'Rückstoß => Rollengruppe sammeln', }, }, }, @@ -692,9 +736,11 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { tornadoOn: { en: 'Away from ${player}', + de: 'Weg von ${player}', }, tornadoOnYou: { en: 'Tornado on YOU', + de: 'Tornado auf DIR', }, }; @@ -714,6 +760,7 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: 'Cleanse ${player}', + de: 'Reinige ${player}', }, }, }, @@ -737,6 +784,7 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: 'Get Behind + Out', + de: 'Geh nach Hinten + Raus', }, }, }, @@ -754,6 +802,7 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: 'Kill Islekeeper!', + de: 'Wächter besiegen!', }, }, }, @@ -899,15 +948,19 @@ const triggerSet: TriggerSet = { outputStrings: { front: { en: 'Face Towards Lala', + de: 'Lala anschauen', }, back: { en: 'Look Away from Lala', + de: 'Von Lala weg schauen', }, left: { en: 'Left Flank towards Lala', + de: 'Linke Seite zu Lala zeigen', }, right: { en: 'Right Flank towards Lala', + de: 'Rechte Seite zu Lala zeigen', }, }, }, @@ -935,25 +988,32 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { one: { en: 'One', + de: 'Eins', }, bigTwo: { en: 'Two (stack with three)', + de: 'Zwei (sammeln mit Drei)', }, smallTwo: { en: 'Two (stack with one)', + de: 'Zwei (sammeln mit Eins)', }, eitherTwo: { en: 'Either Two (w/${player})', + de: 'Eine Zwei (mit ${player})', }, three: { en: 'Three', + de: 'Drei', }, // This is just a raidcall so you can direct your friends. smallTwoOn: { en: '(Two with one: ${players})', + de: '(Zwei mit Eins: ${players})', }, unknownNum: { en: '${num}', + de: '${num}', }, num1: Outputs.num1, num2: Outputs.num2, @@ -1053,9 +1113,11 @@ const triggerSet: TriggerSet = { outputStrings: { left: { en: 'Leftward March', + de: 'Linker March', }, right: { en: 'Rightward March', + de: 'Rechter March', }, }, }, @@ -1075,15 +1137,19 @@ const triggerSet: TriggerSet = { outputStrings: { num1: { en: 'One (avoid all)', + de: 'Eins (alles ausweichen)', }, num2: { en: 'Two (stay middle)', + de: 'Zwei (steh in der Mitte)', }, num3: { en: 'Three (adjacent to middle)', + de: 'Drei (steh neben der Mitte)', }, num4: { en: 'Four', + de: 'Vier', }, }, }, @@ -1130,6 +1196,7 @@ const triggerSet: TriggerSet = { spreadThenStack: Outputs.spreadThenStack, numSafeLater: { en: '(${num} safe later)', + de: '(${num} später sicher)', }, num1: Outputs.num1, num2: Outputs.num2, @@ -1188,12 +1255,15 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { dartOnYou: { en: 'Dart on YOU', + de: 'Dart auf DIR', }, noDartOnYou: { en: 'No Dart', + de: 'Kein Dart', }, flexCall: { en: '(${player} unmarked)', + de: '(${player} unmarkiert)', }, }; @@ -1241,6 +1311,7 @@ const triggerSet: TriggerSet = { outputStrings: { numSafeSoon: { en: '(${num} safe soon)', + de: '(${num} gleich sicher)', }, num1: Outputs.num1, num2: Outputs.num2, @@ -1268,6 +1339,7 @@ const triggerSet: TriggerSet = { outputStrings: { knockbackToNum: { en: 'Knockback => ${num}', + de: 'Rückstoß => ${num}', }, knockback: Outputs.knockback, num1: Outputs.num1, @@ -1311,15 +1383,19 @@ const triggerSet: TriggerSet = { outputStrings: { forward: { en: 'Forward March => ${mech}', + de: 'Vorwärtsmarsch => ${mech}', }, backward: { en: 'Backward March => ${mech}', + de: 'Rückwärtsmarsch => ${mech}', }, left: { en: 'Left March => ${mech}', + de: 'Marsch Links => ${mech}', }, right: { en: 'Right March => ${mech}', + de: 'Marsch Rechts => ${mech}', }, spread: Outputs.spread, stack: Outputs.stackMarker, @@ -1353,6 +1429,7 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { missileOnYou: { en: 'Bait Tethers => Missile Spread', + de: 'Verbindungen ködern => Verteilen mit Raketen', }, }; @@ -1387,6 +1464,7 @@ const triggerSet: TriggerSet = { outputStrings: { stack: { en: 'Juke Claw => Stack', + de: 'Zieh Klaue => Sammeln', }, }, }, @@ -1421,18 +1499,23 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { dartOnYou: { en: 'Dart (w/${player})', + de: 'Dart (mit ${player})', }, noDartOnYou: { en: 'No Dart', + de: 'Kein Dart', }, blue: { en: 'Avoid Blue', + de: 'Vermeide Blau', }, red: { en: 'Avoid Red', + de: 'Vermeide Rot', }, yellow: { en: 'Avoid Yellow', + de: 'Vermeide Gelb', }, }; @@ -1506,21 +1589,303 @@ const triggerSet: TriggerSet = { // TODO: maybe this should remind you of dart color tether: { en: 'Tether w/${player}', + de: 'Verbindung mit ${player}', }, stack: { en: 'Stack w/${player}', + de: 'Sammeln mit ${player}', }, }, }, ], timelineReplace: [ { - locale: 'en', - replaceText: { + 'locale': 'en', + 'replaceText': { + 'Far Tide/Near Tide': 'Far/Near Tide', 'Hydrobullet/Hydrofall': 'Hydrobullet/fall', 'Hydrofall/Hydrobullet': 'Hydrofall/bullet', 'Receding Twintides/Encroaching Twintides': 'Receding/Encroaching Twintides', - 'Far Tide/Near Tide': 'Far/Near Tide', + }, + }, + { + 'locale': 'de', + 'replaceSync': { + 'Aloalo Golem': 'Aloalo-Holzgolem', + 'Aloalo Islekeeper': 'Aloalo-Wächter', + 'Aloalo Kiwakin': 'Aloalo-Kiwakin', + 'Aloalo Monk': 'Aloalo-Mönch', + 'Aloalo Ray': 'Aloalo-Rochen', + 'Aloalo Snipper': 'Aloalo-Schnippler', + 'Aloalo Wood Golem': 'Aloalo-Holzgolem', + 'Aloalo Zaratan': 'Aloalo-Zaratan', + 'Arcane Font': 'arkan(?:e|er|es|en) Körper', + 'Arcane Globe': 'arkan(?:e|er|es|en) Kugel', + 'Ball of Fire': 'Feuerkugel', + 'Bomb': 'Bombe', + 'Ketuduke': 'Ketuduke', + 'Lala': 'Lala', + 'Needle': 'Nadel', + 'Spring Crystal': 'Wasserquell-Kristall', + 'Statice': 'Statice', + 'Surprising Claw': 'Überraschungsklaue', + 'Surprising Missile': 'Überraschungsrakete', + 'Surprising Staff': 'Überraschungsstab', + 'The Dawn Trial': 'Morgenrot-Probe', + 'The Dusk Trial': 'Abendrot-Probe', + 'The Midnight Trial': 'Vollmond-Probe', + }, + 'replaceText': { + '\\(buff\\)': '(Statusveränderung)', + '\\(cast\\)': '(wirken)', + 'Aero II': 'Windra', + 'Aero IV': 'Windka', + 'Analysis': 'Analyse', + 'Angry Seas': 'Zornige Fluten', + 'Angular Addition': 'Winkeladdition', + 'Arcane Array': 'Arkanes Spektrum', + 'Arcane Blight': 'Arkane Fäule', + 'Arcane Mine': 'Arkane Mine', + 'Arcane Plot': 'Arkane Flur', + 'Arcane Point': 'Arkane Stätte', + 'Beguiling Glitter': 'Irrleuchten', + 'Blowing Bubbles': 'Pusteblasen', + 'Bright Pulse': 'Glühen', + 'Bubble Net': 'Blasennetz', + 'Burning Chains': 'Brennende Ketten', + 'Burst': 'Explosion', + 'Constructive Figure': 'Ruf der Schöpfer', + 'Dartboard of Dancing Explosives': 'Darts und Drehung', + 'Encroaching Twintides': 'Ring der Zwiegezeiten', + 'Explosive Theorem': 'Arkane Fäule', + 'Faerie Ring': 'Feenring', + 'Far Tide': 'Ring der Gezeiten', + 'Fire Spread': 'Brandstiftung', + 'Fireworks': 'Feuerwerk', + 'Fluke Gale': 'Flossensturm', + 'Fluke Typhoon': 'Flossentaifun', + 'Hundred Lashings': 'Auspeitschung', + 'Hydrobomb': 'Hydro-Bombe', + 'Hydrobullet': 'Hydro-Kugel', + 'Hydrofall': 'Hydro-Sturz', + 'Inferno Divide': 'Infernale Teilung', + 'Inferno Theorem': 'Infernales Theorem', + 'Locked and Loaded': 'Geladen und entsichert', + 'Misload': 'Fehlladung', + 'Near Tide': 'Kreis der Gezeiten', + 'Pinwheeling Dartboard': 'Darts und Rad', + 'Planar Tactics': 'Flächentaktiken', + 'Pop': 'Platzen', + 'Powerful Light': 'Entladenes Licht', + 'Present Box': 'Geschenkschachtel', + 'Radiance': 'Radiation', + 'Receding Twintides': 'Kreis der Zwiegezeiten', + 'Ring a Ring o\' Explosions': 'Ringel-Ringel-Bombe', + '(? = { outputStrings: { orbDirFront: { en: 'Face Towards Orb', + de: 'Den Orb anschauen', }, orbDirBack: { en: 'Face Away from Orb', + de: 'Weg vom Orb schauen', }, orbDirLeft: { en: 'Point Left at Orb', + de: 'Zeige links auf den Orb', }, orbDirRight: { en: 'Point Right at Orb', + de: 'Zeige Rechts auf den Orb', }, orbGeneral: { en: 'Point opening at Orb', + de: 'Zeige die Öffnung auf den Orb', }, }, }, @@ -137,9 +142,11 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { tankBusterOnYou: { en: '3x Tankbuster on YOU', + de: '3x Tankbuster auf DIR', }, tankBusterOnPlayer: { en: '3x Tankbuster on ${player}', + de: '3x Tankbuster auf ${player}', }, }; @@ -277,9 +284,11 @@ const triggerSet: TriggerSet = { outputStrings: { fetters: { en: 'Fetters (w/${player})', + de: 'Fesseln (mit ${player})', }, bubble: { en: 'Bubble (w/${player})', + de: 'Blase (mit ${player})', }, }, }, @@ -303,6 +312,11 @@ const triggerSet: TriggerSet = { For brevity, "next to" always means horizontal east/west of something. The number in parentheses is the limit cut wind you should be on. See trigger source for diagrams in comments.`, + de: `Diese Anweisungen gehen davon aus, dass Sie immer ein Quadrat im gleichen + Quadranten wie der angegebene Kristall liegt. + Der Einfachheit halber bedeutet "neben" immer horizontal östlich/westlich von etwas. + Die Zahl in Klammern ist der Grenzwert für den Wind-Rückstoß, auf dem Sie sich befinden sollten. + Siehe Triggerquelle für Diagramme in den Kommentaren.`, }, type: 'StartsUsing', netRegex: { id: ['8AB8', '8AB4'], source: 'Ketuduke' }, @@ -410,34 +424,44 @@ const triggerSet: TriggerSet = { outputStrings: { bubbleNetMech: { en: '${fettersBubble} + ${spreadStack}', + de: '${fettersBubble} + ${spreadStack}', }, bubbleNetMechPartner: { en: '${fettersBubble} + ${spreadStack} (w/${player})', + de: '${fettersBubble} + ${spreadStack} (mit ${player})', }, bubbleBuff: { en: 'Bubble', + de: 'Blase', }, fettersBuff: { en: 'Fetters', + de: 'Ketten', }, spread: Outputs.spread, stacks: { en: 'Stacks', + de: 'Sammeln', }, bubbleAnything: { en: 'Next to Horizontal (1)', + de: 'Neben Horizontal (1)', }, fettersSpreadSplit: { en: 'Diagonal of Vertical (2)', + de: 'Diagonale der Vertikalen (2)', }, fettersSpreadColumn: { en: 'Next to Vertical (2)', + de: 'Neben Vertikal (2)', }, fettersStackSplit: { en: 'On Horizontal (1)', + de: 'Auf Horizontal (1)', }, fettersStackColumn: { en: 'Diagonal of Horizontal (1)', + de: 'Diagonale der Horizontalen (1)', }, }, }, @@ -453,9 +477,11 @@ const triggerSet: TriggerSet = { outputStrings: { spread: { en: 'Spread => Stacks', + de: 'Verteilen => Sammeln', }, stacks: { en: 'Stacks => Spread', + de: 'Sammeln => Verteilen', }, }, }, @@ -478,9 +504,11 @@ const triggerSet: TriggerSet = { spread: Outputs.spread, stacks: { en: 'Stacks', + de: 'Sammeln', }, roleStacks: { en: 'Role Stacks', + de: 'Rollengruppe sammeln', }, }, }, @@ -524,12 +552,15 @@ const triggerSet: TriggerSet = { outputStrings: { roleStacks: { en: 'Role Stacks', + de: 'Rollengruppe sammeln', }, spreadThenRoleStacks: { en: 'Spread => Role Stacks', + de: 'Verteilen => Rollengruppe sammeln', }, roleStacksThenSpread: { en: 'Role Stacks => Spread', + de: 'Rollengruppe sammeln => Verteilen', }, }, }, @@ -546,9 +577,11 @@ const triggerSet: TriggerSet = { outputStrings: { outInStacks: { en: 'Out => In + Stacks', + de: 'Raus => Rein + sammeln', }, outInRoleStacks: { en: 'Out => In + Role Stacks', + de: 'Raus => Rein + Rollengruppe sammeln', }, }, }, @@ -565,9 +598,11 @@ const triggerSet: TriggerSet = { outputStrings: { inOutStacks: { en: 'In => Out + Stacks', + de: 'Rein => Raus + sammeln', }, inOutRoleStacks: { en: 'In => Out + Role Stacks', + de: 'Rein => Raus + Rollengruppe sammeln', }, }, }, @@ -591,14 +626,17 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: '${inOut} + ${stack}', + de: '${inOut} + ${stack}', }, in: Outputs.in, out: Outputs.out, stack: { en: 'Stacks', + de: 'Sammeln', }, roleStacks: { en: 'Role Stacks', + de: 'Rollengruppe sammeln', }, }, }, @@ -638,12 +676,15 @@ const triggerSet: TriggerSet = { outputStrings: { northSouthSafe: { en: 'North/South', + de: 'Norden/Süden', }, eastWestSafe: { en: 'East/West', + de: 'Osten/Westen', }, cornersSafe: { en: 'Corners', + de: 'Ecken', }, }, }, @@ -661,12 +702,15 @@ const triggerSet: TriggerSet = { outputStrings: { knockbackSpread: { en: 'Knockback => Spread', + de: 'Rückstoß => verteilen', }, knockbackStacks: { en: 'Knockback => Stacks', + de: 'Rückstoß => sammeln', }, knockbackRoleStacks: { en: 'Knockback => Role Stacks', + de: 'Rückstoß => Rollengruppe sammeln', }, }, }, @@ -687,9 +731,11 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { tornadoOn: { en: 'Away from ${player}', + de: 'Weg von ${player}', }, tornadoOnYou: { en: 'Tornado on YOU', + de: 'Tornado auf DIR', }, }; @@ -709,6 +755,7 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: 'Cleanse ${player}', + de: 'Reinige ${player}', }, }, }, @@ -732,6 +779,7 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: 'Get Behind + Out', + de: 'Geh nach Hinten + Raus', }, }, }, @@ -749,6 +797,7 @@ const triggerSet: TriggerSet = { outputStrings: { text: { en: 'Kill Islekeeper!', + de: 'Wächter besiegen!', }, }, }, @@ -894,15 +943,19 @@ const triggerSet: TriggerSet = { outputStrings: { front: { en: 'Face Towards Lala', + de: 'Lala anschauen', }, back: { en: 'Look Away from Lala', + de: 'Von Lala weg schauen', }, left: { en: 'Left Flank towards Lala', + de: 'Linke Seite zu Lala zeigen', }, right: { en: 'Right Flank towards Lala', + de: 'Rechte Seite zu Lala zeigen', }, }, }, @@ -930,25 +983,32 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { one: { en: 'One', + de: 'Eins', }, bigTwo: { en: 'Two (stack with three)', + de: 'Zwei (sammeln mit Drei)', }, smallTwo: { en: 'Two (stack with one)', + de: 'Zwei (sammeln mit Eins)', }, eitherTwo: { en: 'Either Two (w/${player})', + de: 'Eine Zwei (mit ${player})', }, three: { en: 'Three', + de: 'Drei', }, // This is just a raidcall so you can direct your friends. smallTwoOn: { en: '(Two with one: ${players})', + de: '(Zwei mit Eins: ${players})', }, unknownNum: { en: '${num}', + de: '${num}', }, num1: Outputs.num1, num2: Outputs.num2, @@ -1048,9 +1108,11 @@ const triggerSet: TriggerSet = { outputStrings: { left: { en: 'Leftward March', + de: 'Linker March', }, right: { en: 'Rightward March', + de: 'Rechter March', }, }, }, @@ -1070,15 +1132,19 @@ const triggerSet: TriggerSet = { outputStrings: { num1: { en: 'One (avoid all)', + de: 'Eins (alles ausweichen)', }, num2: { en: 'Two (stay middle)', + de: 'Zwei (steh in der Mitte)', }, num3: { en: 'Three (adjacent to middle)', + de: 'Drei (steh neben der Mitte)', }, num4: { en: 'Four', + de: 'Vier', }, }, }, @@ -1125,6 +1191,7 @@ const triggerSet: TriggerSet = { spreadThenStack: Outputs.spreadThenStack, numSafeLater: { en: '(${num} safe later)', + de: '(${num} später sicher)', }, num1: Outputs.num1, num2: Outputs.num2, @@ -1183,12 +1250,15 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { dartOnYou: { en: 'Dart on YOU', + de: 'Dart auf DIR', }, noDartOnYou: { en: 'No Dart', + de: 'Kein Dart', }, flexCall: { en: '(${player} unmarked)', + de: '(${player} unmarkiert)', }, }; @@ -1236,6 +1306,7 @@ const triggerSet: TriggerSet = { outputStrings: { numSafeSoon: { en: '(${num} safe soon)', + de: '(${num} gleich sicher)', }, num1: Outputs.num1, num2: Outputs.num2, @@ -1263,6 +1334,7 @@ const triggerSet: TriggerSet = { outputStrings: { knockbackToNum: { en: 'Knockback => ${num}', + de: 'Rückstoß => ${num}', }, knockback: Outputs.knockback, num1: Outputs.num1, @@ -1306,15 +1378,19 @@ const triggerSet: TriggerSet = { outputStrings: { forward: { en: 'Forward March => ${mech}', + de: 'Vorwärtsmarsch => ${mech}', }, backward: { en: 'Backward March => ${mech}', + de: 'Rückwärtsmarsch => ${mech}', }, left: { en: 'Left March => ${mech}', + de: 'Marsch Links => ${mech}', }, right: { en: 'Right March => ${mech}', + de: 'Marsch Rechts => ${mech}', }, spread: Outputs.spread, stack: Outputs.stackMarker, @@ -1348,6 +1424,7 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { missileOnYou: { en: 'Bait Tethers => Missile Spread', + de: 'Verbindungen ködern => Verteilen mit Raketen', }, }; @@ -1382,6 +1459,7 @@ const triggerSet: TriggerSet = { outputStrings: { stack: { en: 'Juke Claw => Stack', + de: 'Zieh Klaue => Sammeln', }, }, }, @@ -1416,18 +1494,23 @@ const triggerSet: TriggerSet = { output.responseOutputStrings = { dartOnYou: { en: 'Dart (w/${player})', + de: 'Dart (mit ${player})', }, noDartOnYou: { en: 'No Dart', + de: 'Kein Dart', }, blue: { en: 'Avoid Blue', + de: 'Vermeide Blau', }, red: { en: 'Avoid Red', + de: 'Vermeide Rot', }, yellow: { en: 'Avoid Yellow', + de: 'Vermeide Gelb', }, }; @@ -1501,21 +1584,303 @@ const triggerSet: TriggerSet = { // TODO: maybe this should remind you of dart color tether: { en: 'Tether w/${player}', + de: 'Verbindung mit ${player}', }, stack: { en: 'Stack w/${player}', + de: 'Sammeln mit ${player}', }, }, }, ], timelineReplace: [ { - locale: 'en', - replaceText: { + 'locale': 'en', + 'replaceText': { + 'Far Tide/Near Tide': 'Far/Near Tide', 'Hydrobullet/Hydrofall': 'Hydrobullet/fall', 'Hydrofall/Hydrobullet': 'Hydrofall/bullet', 'Receding Twintides/Encroaching Twintides': 'Receding/Encroaching Twintides', - 'Far Tide/Near Tide': 'Far/Near Tide', + }, + }, + { + 'locale': 'de', + 'replaceSync': { + 'Aloalo Golem': 'Aloalo-Holzgolem', + 'Aloalo Islekeeper': 'Aloalo-Wächter', + 'Aloalo Kiwakin': 'Aloalo-Kiwakin', + 'Aloalo Monk': 'Aloalo-Mönch', + 'Aloalo Ray': 'Aloalo-Rochen', + 'Aloalo Snipper': 'Aloalo-Schnippler', + 'Aloalo Wood Golem': 'Aloalo-Holzgolem', + 'Aloalo Zaratan': 'Aloalo-Zaratan', + 'Arcane Font': 'arkan(?:e|er|es|en) Körper', + 'Arcane Globe': 'arkan(?:e|er|es|en) Kugel', + 'Ball of Fire': 'Feuerkugel', + 'Bomb': 'Bombe', + 'Ketuduke': 'Ketuduke', + 'Lala': 'Lala', + 'Needle': 'Nadel', + 'Spring Crystal': 'Wasserquell-Kristall', + 'Statice': 'Statice', + 'Surprising Claw': 'Überraschungsklaue', + 'Surprising Missile': 'Überraschungsrakete', + 'Surprising Staff': 'Überraschungsstab', + 'The Dawn Trial': 'Morgenrot-Probe', + 'The Dusk Trial': 'Abendrot-Probe', + 'The Midnight Trial': 'Vollmond-Probe', + }, + 'replaceText': { + '\\(buff\\)': '(Statusveränderung)', + '\\(cast\\)': '(wirken)', + 'Aero II': 'Windra', + 'Aero IV': 'Windka', + 'Analysis': 'Analyse', + 'Angry Seas': 'Zornige Fluten', + 'Angular Addition': 'Winkeladdition', + 'Arcane Array': 'Arkanes Spektrum', + 'Arcane Blight': 'Arkane Fäule', + 'Arcane Mine': 'Arkane Mine', + 'Arcane Plot': 'Arkane Flur', + 'Arcane Point': 'Arkane Stätte', + 'Beguiling Glitter': 'Irrleuchten', + 'Blowing Bubbles': 'Pusteblasen', + 'Bright Pulse': 'Glühen', + 'Bubble Net': 'Blasennetz', + 'Burning Chains': 'Brennende Ketten', + 'Burst': 'Explosion', + 'Constructive Figure': 'Ruf der Schöpfer', + 'Dartboard of Dancing Explosives': 'Darts und Drehung', + 'Encroaching Twintides': 'Ring der Zwiegezeiten', + 'Explosive Theorem': 'Arkane Fäule', + 'Faerie Ring': 'Feenring', + 'Far Tide': 'Ring der Gezeiten', + 'Fire Spread': 'Brandstiftung', + 'Fireworks': 'Feuerwerk', + 'Fluke Gale': 'Flossensturm', + 'Fluke Typhoon': 'Flossentaifun', + 'Hundred Lashings': 'Auspeitschung', + 'Hydrobomb': 'Hydro-Bombe', + 'Hydrobullet': 'Hydro-Kugel', + 'Hydrofall': 'Hydro-Sturz', + 'Inferno Divide': 'Infernale Teilung', + 'Inferno Theorem': 'Infernales Theorem', + 'Locked and Loaded': 'Geladen und entsichert', + 'Misload': 'Fehlladung', + 'Near Tide': 'Kreis der Gezeiten', + 'Pinwheeling Dartboard': 'Darts und Rad', + 'Planar Tactics': 'Flächentaktiken', + 'Pop': 'Platzen', + 'Powerful Light': 'Entladenes Licht', + 'Present Box': 'Geschenkschachtel', + 'Radiance': 'Radiation', + 'Receding Twintides': 'Kreis der Zwiegezeiten', + 'Ring a Ring o\' Explosions': 'Ringel-Ringel-Bombe', + '(?