local _, ns = ...

local clientLocale = type(GetLocale) == "function" and GetLocale() or "enUS"

local enUS = {
    ["Einzelziel"] = "Single Target",
    ["Mana sparen"] = "Mana Saving",
    ["Hotkey %s ist mehrfach belegt: %s"] = "Hotkey %s is assigned more than once: %s",
    ["Lokalen Zustand außerhalb des Kampfes abgeglichen."] = "Local state reconciled outside combat.",
    ["Heilmodus: %s"] = "Healing mode: %s",
    ["Prioritätsplatz %s ist nicht belegt."] = "Priority slot %s is not configured.",
    ["Downpour lokal wiederhergestellt."] = "Downpour restored locally.",
    ["%s lokal zurückerstattet."] = "%s refunded locally.",
    ["Lokale Cooldown-Simulation zurückgesetzt."] = "Local cooldown simulation reset.",
    ["Unbekannte Fähigkeit. Beispiele: /hh refund hst, riptide, downpour, rain"] = "Unknown ability. Examples: /hh refund hst, riptide, downpour, rain",
    ["Modi: standard, aoe, single, mana, next"] = "Modes: standard, aoe, single, mana, next",
    ["Anzeige gesperrt."] = "Display locked.",
    ["Anzeige entsperrt."] = "Display unlocked.",
    ["Talent-Snapshot noch nicht verfügbar; bestehende Preset-Annahmen bleiben aktiv."] = "Talent snapshot is not available yet; existing preset assumptions remain active.",
    ["JA"] = "YES",
    ["nein"] = "no",
    ["Talente (Config %s): %s"] = "Talents (Config %s): %s",
    ["Nicht belegt"] = "Not configured",
    ["Übersicht"] = "Overview",
    ["Anzeige, Verhalten und Größe des statischen Priority-Trackers."] = "Display, behavior and size of the static priority tracker.",
    ["Tracker anzeigen"] = "Show tracker",
    ["Blendet die HeliHeal-Prioritätsleiste ein oder aus."] = "Show or hide the HeliHeal priority strip.",
    ["Position sperren"] = "Lock position",
    ["Verhindert das versehentliche Verschieben der Anzeige."] = "Prevents accidentally moving the display.",
    ["UI-Skalierung"] = "UI scale",
    ["Skaliert die vollständige Priority-Anzeige."] = "Scales the complete priority display.",
    ["Icon-Abstand"] = "Icon spacing",
    ["Bestimmt den Abstand zwischen Empfehlung und Folgeslots."] = "Controls the gap between the recommendation icons.",
    ["Sprache"] = "Language",
    ["Standard: WoW-Clientsprache. Ein Wechsel lädt die UI neu."] = "Default: WoW client language. Changing it reloads the UI.",
    ["CLIENTSPRACHE"] = "CLIENT LANGUAGE",
    ["DEUTSCH"] = "GERMAN",
    ["LOKALE TIMER ZURÜCKSETZEN"] = "RESET LOCAL TIMERS",
    ["ANZEIGE ZENTRIEREN"] = "CENTER DISPLAY",
    ["Inputs können während des Kampfes nicht neu belegt werden."] = "Inputs cannot be rebound during combat.",
    ["TASTE DRÜCKEN • ESC HALTEN"] = "PRESS A KEY • HOLD ESC",
    ["ESC HALTEN ZUM LÖSCHEN"] = "HOLD ESC TO CLEAR",
    ["Hotkey-Feld anklicken und ESC 1,5 Sekunden halten, um die Belegung zu entfernen."] = "Click a hotkey field and hold ESC for 1.5 seconds to clear its binding.",
    ["Standard bleibt das Guide-Paket; Kontextmodi verändern nur dessen lokale Reihenfolge."] = "Standard retains the guide pack; context modes only change its local order.",
    ["EINZELZIEL"] = "SINGLE TARGET",
    ["MANA SPAREN"] = "MANA SAVING",
    ["FESTE GUIDE-FÄHIGKEIT"] = "STATIC GUIDE ABILITY",
    ["BEOBACHTETER ACTIONBAR-HOTKEY"] = "OBSERVED ACTION BAR HOTKEY",
    ["HUD-Elemente"] = "HUD Elements",
    ["Reduziere die Anzeige auf das Wesentliche oder aktiviere einzelne Details."] = "Reduce the display to essentials or enable individual details.",
    ["Panel-Hintergrund"] = "Panel background",
    ["Dunkler gemeinsamer Hintergrund um alle Icons."] = "Shared dark background around all icons.",
    ["HeliHeal-Header"] = "HeliHeal header",
    ["Zeigt die Überschrift über der Priority-Leiste."] = "Shows the heading above the priority strip.",
    ["Fähigkeitsname"] = "Ability name",
    ["Blendet den Namen der Fähigkeit am Icon ein."] = "Shows the ability name above its icon.",
    ["Prioritätsbadge"] = "Priority badge",
    ["Zeigt P1 bis P5 direkt auf dem jeweiligen Icon."] = "Shows P1 through P5 on the corresponding icon.",
    ["Icon-Rahmen"] = "Icon border",
    ["Schmaler Rahmen und Schatten um jedes Spell-Icon."] = "Thin border and shadow around every spell icon.",
    ["Hotkey"] = "Hotkey",
    ["Zeigt den beobachteten Input unter dem Icon."] = "Shows the observed input below the icon.",
    ["Cooldown-Zahl"] = "Cooldown number",
    ["Zeigt den lokal simulierten Cooldown mittig auf dem Icon."] = "Shows the locally simulated cooldown on the icon.",
    ["SCHRIFT, GRÖSSE & FARBEN"] = "FONT, SIZE & COLORS",
    ["HUD-Schriftart"] = "HUD font",
    ["Wählt die Schriftart für alle Texte im Priority-HUD."] = "Selects the font used by all text in the priority HUD.",
    ["Ohne Kontur"] = "No outline",
    ["Normale Kontur"] = "Normal outline",
    ["Starke Kontur"] = "Thick outline",
    ["Textkontur"] = "Text outline",
    ["Legt die Lesbarkeit aller Texte auf den Spell-Icons fest."] = "Controls the outline and readability of all text on spell icons.",
    ["Haupt-Icon-Breite"] = "Primary icon width",
    ["Breite der aktuell empfohlenen Fähigkeit."] = "Width of the currently recommended ability.",
    ["Haupt-Icon-Höhe"] = "Primary icon height",
    ["Höhe der aktuell empfohlenen Fähigkeit."] = "Height of the currently recommended ability.",
    ["Haupt-Icon-Zoom"] = "Primary icon zoom",
    ["Vergrößert oder verkleinert den sichtbaren Ausschnitt im Haupt-Icon."] = "Zooms the visible texture inside the primary icon.",
    ["Haupt-Icon X"] = "Primary icon X",
    ["Verschiebt das Haupt-Icon horizontal innerhalb des HUDs."] = "Moves the primary icon horizontally inside the HUD.",
    ["Haupt-Icon Y"] = "Primary icon Y",
    ["Verschiebt das Haupt-Icon vertikal innerhalb des HUDs."] = "Moves the primary icon vertically inside the HUD.",
    ["Folge-Icon-Breite"] = "Secondary icon width",
    ["Breite der vier nachfolgenden Empfehlungen."] = "Width of the four following recommendations.",
    ["Folge-Icon-Höhe"] = "Secondary icon height",
    ["Höhe der vier nachfolgenden Empfehlungen."] = "Height of the four following recommendations.",
    ["Folge-Icon-Zoom"] = "Secondary icon zoom",
    ["Vergrößert oder verkleinert den sichtbaren Ausschnitt der Folge-Icons."] = "Zooms the visible texture inside secondary icons.",
    ["Folge-Icons X"] = "Secondary icons X",
    ["Verschiebt die gesamte Gruppe der Folge-Icons horizontal."] = "Moves the complete secondary icon group horizontally.",
    ["Folge-Icons Y"] = "Secondary icons Y",
    ["Verschiebt die gesamte Gruppe der Folge-Icons vertikal."] = "Moves the complete secondary icon group vertically.",
    ["Icon-Innenabstand"] = "Icon inset",
    ["Abstand zwischen Icon-Textur und ihrem Rahmen."] = "Space between the icon texture and its border.",
    ["Panel-Innenabstand X"] = "Panel padding X",
    ["Horizontaler Innenraum des HUD-Hintergrunds."] = "Horizontal padding inside the HUD background.",
    ["Panel-Innenabstand Y"] = "Panel padding Y",
    ["Vertikaler Innenraum des HUD-Hintergrunds."] = "Vertical padding inside the HUD background.",
    ["Panel-Deckkraft"] = "Panel opacity",
    ["Deckkraft des gemeinsamen HUD-Hintergrunds."] = "Opacity of the shared HUD background.",
    ["Haupt-Icon-Größe"] = "Primary icon size",
    ["Größe der aktuell empfohlenen Fähigkeit."] = "Size of the currently recommended ability.",
    ["Folge-Icon-Größe"] = "Secondary icon size",
    ["Größe der vier nachfolgenden Empfehlungen."] = "Size of the four following recommendations.",
    ["Rollen-Textgröße"] = "Role text size",
    ["Größe von AOE, SINGLE, BURST und SAVE."] = "Size of AOE, SINGLE, BURST and SAVE labels.",
    ["Rollen-Position"] = "Role position",
    ["Verschiebt den Rollen-Hinweis vertikal im Icon."] = "Moves the role label vertically inside the icon.",
    ["Hotkey-Textgröße"] = "Hotkey text size",
    ["Größe der Tastenbezeichnung unter dem Icon."] = "Size of the key label below the icon.",
    ["Hotkey X"] = "Hotkey X",
    ["Verschiebt jede Hotkey-Box horizontal relativ zu ihrem Icon."] = "Moves each hotkey badge horizontally relative to its icon.",
    ["Hotkey Y"] = "Hotkey Y",
    ["Verschiebt jede Hotkey-Box vertikal relativ zu ihrem Icon."] = "Moves each hotkey badge vertically relative to its icon.",
    ["Hotkey-Box-Höhe"] = "Hotkey badge height",
    ["Mindesthöhe der Hotkey-Box."] = "Minimum height of the hotkey badge.",
    ["Hotkey-Mindestbreite"] = "Hotkey minimum width",
    ["Kleinste Breite der Hotkey-Box; längere Bindings wachsen automatisch."] = "Minimum badge width; longer bindings grow automatically.",
    ["Hotkey-Textabstand"] = "Hotkey text padding",
    ["Zusätzlicher horizontaler Platz um den Hotkey-Text."] = "Additional horizontal space around the hotkey text.",
    ["Cooldown-Textgröße"] = "Cooldown text size",
    ["Größe des lokalen Timers und der Aufladungsanzeige."] = "Size of local timers and charge counters.",
    ["Cooldown X"] = "Cooldown X",
    ["Verschiebt Timer und Aufladungen horizontal im Icon."] = "Moves timers and charges horizontally inside the icon.",
    ["Cooldown Y"] = "Cooldown Y",
    ["Verschiebt Timer und Aufladungen vertikal im Icon."] = "Moves timers and charges vertically inside the icon.",
    ["Rollen-Position X"] = "Role label X",
    ["Verschiebt den Rollen-Hinweis horizontal im Icon."] = "Moves the role label horizontally inside the icon.",
    ["Rollen-Position Y"] = "Role label Y",
    ["Prioritäts-Textgröße"] = "Priority text size",
    ["Größe der P1-bis-P5-Anzeige."] = "Size of the P1 through P5 label.",
    ["Priorität X"] = "Priority X",
    ["Verschiebt das Prioritätsbadge horizontal."] = "Moves the priority badge horizontally.",
    ["Priorität Y"] = "Priority Y",
    ["Verschiebt das Prioritätsbadge vertikal."] = "Moves the priority badge vertically.",
    ["Namens-Textgröße"] = "Ability name size",
    ["Größe des Fähigkeitsnamens."] = "Size of the ability name.",
    ["Namens-Breite"] = "Ability name width",
    ["Maximale Breite des Fähigkeitsnamens."] = "Maximum width of the ability name.",
    ["Name X"] = "Ability name X",
    ["Verschiebt den Fähigkeitsnamen horizontal."] = "Moves the ability name horizontally.",
    ["Name Y"] = "Ability name Y",
    ["Verschiebt den Fähigkeitsnamen vertikal."] = "Moves the ability name vertically.",
    ["Header-Textgröße"] = "Header text size",
    ["Größe der HeliHeal-Überschrift."] = "Size of the HeliHeal header.",
    ["Header X"] = "Header X",
    ["Verschiebt die HeliHeal-Überschrift horizontal."] = "Moves the HeliHeal header horizontally.",
    ["Header Y"] = "Header Y",
    ["Verschiebt die HeliHeal-Überschrift vertikal."] = "Moves the HeliHeal header vertically.",
    ["Größe von Fähigkeitsname und optionalem Header."] = "Size of the ability name and optional header.",
    ["AKZENT"] = "ACCENT",
    ["HUD-Akzentfarbe"] = "HUD accent color",
    ["Farbe für aktive Icon-Rahmen und die obere Akzentlinie."] = "Color used for active icon borders and the top accent line.",
    ["Panel-Farbe"] = "Panel color",
    ["Hintergrundfarbe des gemeinsamen HUD-Panels."] = "Background color of the shared HUD panel.",
    ["Panel-Rahmenfarbe"] = "Panel border color",
    ["Farbe der äußeren Panel-Kante."] = "Color of the outer panel border.",
    ["Icon-Hintergrundfarbe"] = "Icon background color",
    ["Farbe hinter den einzelnen Fähigkeitstexturen."] = "Color behind individual ability textures.",
    ["Hotkey-Hintergrundfarbe"] = "Hotkey background color",
    ["Hintergrundfarbe jeder Hotkey-Box."] = "Background color of each hotkey badge.",
    ["Hotkey-Farbe"] = "Hotkey color",
    ["Textfarbe der beobachteten Tastenbelegung."] = "Text color of the observed key binding.",
    ["Cooldown-Farbe"] = "Cooldown color",
    ["Textfarbe für Timer, Aufladungen und Abdeckungszähler."] = "Text color for timers, charges and coverage counters.",
    ["Namens-Farbe"] = "Ability name color",
    ["Textfarbe der Fähigkeitsnamen."] = "Text color of ability names.",
    ["Header-Farbe"] = "Header color",
    ["Textfarbe der HeliHeal-Überschrift."] = "Text color of the HeliHeal header.",
    ["Prioritäts-Farbe"] = "Priority color",
    ["Textfarbe der P1-bis-P5-Anzeige."] = "Text color of the P1 through P5 label.",
    ["Rollenfarben"] = "Role colors",
    ["Eigene Farben für jeden Heilungs-Kontext."] = "Individual colors for each healing context.",
    ["HUD-Optik zurücksetzen"] = "Reset HUD appearance",
    ["Setzt nur Schrift, Größen und Farben auf HeliHeal-Standard zurück."] = "Resets only fonts, sizes and colors to HeliHeal defaults.",
    ["Setzt alle Elementgrößen, Positionen, Zoomwerte und Farben zurück."] = "Resets all element sizes, positions, zoom values and colors.",
    ["OPTIK RESET"] = "RESET APPEARANCE",
    ["Profile & Reset"] = "Profiles & Reset",
    ["Separate Konfigurationen über AceDB verwalten oder sicher zurücksetzen."] = "Manage separate AceDB configurations or reset them safely.",
    ["AKTIVES PROFIL"] = "ACTIVE PROFILE",
    ["VORHANDENE PROFILE"] = "EXISTING PROFILES",
    ["NEUES PROFIL"] = "NEW PROFILE",
    ["LEER ERSTELLEN"] = "CREATE EMPTY",
    ["AKTUELLES KOPIEREN"] = "COPY CURRENT",
    ["Profil '%s' existiert bereits."] = "Profile '%s' already exists.",
    ["NICHT AKTIVES PROFIL LÖSCHEN"] = "DELETE INACTIVE PROFILE",
    ["PROFIL LÖSCHEN"] = "DELETE PROFILE",
    ["LÖSCHEN BESTÄTIGEN"] = "CONFIRM DELETE",
    ["WARTUNG & RESET"] = "MAINTENANCE & RESET",
    ["Nur lokale Timer"] = "Local timers only",
    ["Alle Klassen-Hotkeys"] = "All class hotkeys",
    ["Aktives Profil"] = "Active profile",
    ["KEINE PROFILE"] = "NO PROFILES",
    ["Profilname eingeben, um ein Profil anzulegen oder zu wechseln:"] = "Enter a profile name to create or switch profiles:",
    ["Profilname"] = "Profile name",
    ["PROFIL ÖFFNEN"] = "OPEN PROFILE",
    ["Cooldown-Simulation zurücksetzen"] = "Reset cooldown simulation",
    ["Entfernt nur die lokalen Laufzeittimer; deine Fähigkeiten bleiben erhalten."] = "Clears only local runtime timers; your abilities remain configured.",
    ["TIMER RESET"] = "RESET TIMERS",
    ["Alle Klassen-Hotkeys löschen"] = "Clear all class hotkeys",
    ["Entfernt nur deine hinterlegten Inputs; das feste 12.1-Prioritätspaket bleibt erhalten."] = "Clears configured inputs while retaining the static 12.1 priority pack.",
    ["HOTKEYS RESET"] = "RESET HOTKEYS",
    ["Komplettes Profil zurücksetzen"] = "Reset complete profile",
    ["Setzt Anzeige, Position und Prioritäten des aktiven Profils zurück."] = "Resets display, position and priorities for the active profile.",
    ["PROFIL RESET"] = "RESET PROFILE",
    ["Update-Verlauf"] = "Update History",
    ["Alle wichtigen Änderungen bleiben lokal und jederzeit einsehbar."] = "All important changes remain available locally at any time.",
    ["NEU IN HELIHEAL"] = "NEW IN HELIHEAL",
    ["UPDATE-VERLAUF"] = "UPDATE HISTORY",
    ["VERSTANDEN"] = "GOT IT",
    ["KONFIGURATION"] = "CONFIGURATION",
    ["ÜBERSICHT"] = "OVERVIEW",
    ["Anzeige & Verhalten"] = "Display & behavior",
    ["HUD-ELEMENTE"] = "HUD ELEMENTS",
    ["SICHTBARKEIT"] = "VISIBILITY",
    ["GRÖSSE & POSITION"] = "SIZE & POSITION",
    ["FARBEN"] = "COLORS",
    ["Icon, Hotkey & Cooldown"] = "Icon, hotkey & cooldown",
    ["PRIORITÄTEN"] = "PRIORITIES",
    ["Fähigkeiten & Inputs"] = "Abilities & inputs",
    ["PROFILE & RESET"] = "PROFILES & RESET",
    ["Konfiguration verwalten"] = "Manage configuration",
    ["Was ist neu?"] = "What's new?",
    ["SECURE INPUT TRACKER"] = "SECURE INPUT TRACKER",
    ["NO COMBAT DATA"] = "NO COMBAT DATA",
    ["/hh öffnet dieses Fenster  •  ESC schließt es"] = "/hh opens this window  •  ESC closes it",
    ["SCHLIESSEN"] = "CLOSE",
    ["Lokale Laufzeit: %ss • Ziel: %d"] = "Local duration: %ss • Goal: %d",
    ["Lokaler CD: %ss"] = "Local cooldown: %ss",
    ["Filler • kein lokaler CD"] = "Filler • no local cooldown",
    ["HOTKEY DOPPELT"] = "DUPLICATE HOTKEY",
    ["WIE HEALING RAIN"] = "SAME AS HEALING RAIN",
    ["HOTKEY HINTERLEGEN"] = "SET HOTKEY",
    ["DOPPELT"] = "DUPLICATE",
    ["What's New and Update History"] = "What's New and Update History",
    ["Einmaliges What's-New-Fenster beim ersten /hh nach einem Update."] = "One-time What's New window on the first /hh after an update.",
    ["Accountweiter Gesehen-Status statt wiederholter Hinweise pro Charakter oder Profil."] = "Account-wide seen state instead of repeated notices per character or profile.",
    ["Neue Update-History-Seite und direkter Zugriff über /hh changelog."] = "New Update History page with direct access through /hh changelog.",
    ["Automatische deutsche oder englische Oberfläche passend zur WoW-Clientsprache."] = "Automatic German or English interface based on the WoW client locale.",
    ["Warnungen für doppelt belegte unabhängige Hotkeys."] = "Warnings for duplicate independent hotkeys.",
    ["Versionierte Profilmigration und sicherer Out-of-Combat-Abgleich."] = "Versioned profile migration and safe out-of-combat reconciliation.",
    ["Diagnoseexport über /hh debug und automatisierte GitHub-Releases."] = "Diagnostic export through /hh debug and automated GitHub releases.",
    ["Nur Restoration Shaman und Restoration Druid aktivieren den Tracker."] = "Only Restoration Shaman and Restoration Druid activate the tracker.",
    ["Instant-GCD und veraltete Callback-Sperren korrigiert."] = "Fixed instant-GCD timing and stale callback locks.",
    ["Spec-, Talent- und Profilwechsel setzen lokale Zustände sicher zurück."] = "Spec, talent and profile changes safely reset local state.",
    ["Empfehlungen wechseln erst nach bestätigtem erfolgreichem Zauber."] = "Recommendations advance only after a confirmed successful spell.",
    ["Stormstream und Nature's-Swiftness-Aufladungen korrigiert."] = "Fixed Stormstream and Nature's Swiftness charge handling.",
    ["Instant-Cast-Erfolge vor Actionbar-Hooks werden kurz gepuffert."] = "Instant-cast successes before action-bar hooks are briefly cached.",
    ["Restoration-Druid-Prioritäten und lokale HoT-Zähler ergänzt."] = "Added Restoration Druid priorities and local HoT counters.",
    ["Optionale AoE-, Einzelziel- und Mana-Modi hinzugefügt."] = "Added optional AoE, Single Target and Mana modes.",
    ["Talentabhängige Shaman-Presets und Aufladungen verbessert."] = "Improved talent-aware Shaman presets and charges.",
    ["Statischer Hekili-inspirierter Healing-Priority-Tracker."] = "Static Hekili-inspired healing priority tracker.",
    ["Restoration-Shaman-Presets, Hotkey-Erfassung und lokale Timer."] = "Restoration Shaman presets, hotkey capture and local timers.",
    ["Modernes, bewegliches und anpassbares Icon-HUD."] = "Modern, movable and customizable icon HUD.",
    ["Selectable Interface Language"] = "Selectable Interface Language",
    ["Neue accountweite Sprachauswahl: Clientsprache, Deutsch oder English."] = "New account-wide language selection: Client Language, German or English.",
    ["Clientsprache bleibt der Standard und folgt automatisch der WoW-Einstellung."] = "Client Language remains the default and automatically follows the WoW setting.",
    ["Ein Sprachwechsel wird gespeichert und nach einem UI-Reload vollständig angewendet."] = "Language changes are saved and fully applied after a UI reload.",
    ["Wiederaufladezeit von Totem des Heilenden Flusses auf 17 Sekunden korrigiert."] = "Corrected Healing Stream Totem recharge time to 17 seconds.",
    ["Reliable Rapid Inputs"] = "Reliable Rapid Inputs",
    ["Hotkey-Entprellung arbeitet jetzt pro Taste statt global."] = "Hotkey debouncing now works per binding instead of globally.",
    ["Schnell aufeinanderfolgende unterschiedliche Fähigkeiten verlieren keine Cast-Bestätigung mehr."] = "Different abilities pressed in rapid succession no longer lose cast confirmation.",
    ["Riptide-Aufladungen bleiben dadurch mit erfolgreichen Instant-Casts synchron."] = "Riptide charges now remain synchronized with successful instant casts.",
    ["Lokale Holy-Power-Schätzung: %d/5"] = "Local Holy Power estimate: %d/5",
    ["Verwendung: /hh hp 0-5"] = "Usage: /hh hp 0-5",
    ["Gespeichertes Zaubertempo: %.1f%%"] = "Cached spell haste: %.1f%%",
    ["Rollen-Hinweis"] = "Role label",
    ["Zeigt AOE, SINGLE, BURST oder SAVE mittig auf passenden Heilfähigkeiten."] = "Shows AOE, SINGLE, BURST or SAVE in the center of matching healing abilities.",
    ["Holy Paladin Support"] = "Holy Paladin Support",
    ["Holy-Paladin-Prioritäten für Herald of the Sun und Lightsmith ergänzt."] = "Added Holy Paladin priorities for Herald of the Sun and Lightsmith.",
    ["Eigene Mythic+- und Raid-Pakete mit Standard-, AoE-, Einzelziel- und Mana-Modus hinzugefügt."] = "Added dedicated Mythic+ and Raid packs with Standard, AoE, Single Target and Mana modes.",
    ["Holy Power wird ausschließlich aus bestätigten eigenen Casts lokal geschätzt."] = "Holy Power is estimated locally from confirmed player casts only.",
    ["Divine Toll, Holy Prism, Holy Armaments und Holy-Shock-Aufladungen reagieren auf den Talent-Snapshot."] = "Divine Toll, Holy Prism, Holy Armaments and Holy Shock charges adapt to the talent snapshot.",
    ["Paladin Talent and Holy Power Model"] = "Paladin Talent and Holy Power Model",
    ["One Button Assistant and Live Holy Power"] = "One Button Assistant and Live Holy Power",
    ["Reliable Major Cooldown Confirmation"] = "Reliable Major Cooldown Confirmation",
    ["Compact Talent-Aware Priority List"] = "Compact Talent-Aware Priority List",
    ["Haste-Aware Paladin Recharge"] = "Haste-Aware Paladin Recharge",
    ["Context Labels for Filler Heals"] = "Context Labels for Filler Heals",
    ["First Beta: Customizable HUD and Profiles"] = "First Beta: Customizable HUD and Profiles",
    ["Reliable Cast Tracking and Runtime Efficiency"] = "Reliable Cast Tracking and Runtime Efficiency",
    ["Passende Heilfähigkeiten zeigen jetzt AOE, SINGLE, BURST oder SAVE mittig auf dem Icon."] = "Matching healing abilities now show AOE, SINGLE, BURST or SAVE in the center of the icon.",
    ["Holy Light wird als mana-effizientes SAVE und Flash of Light als schnelles BURST gekennzeichnet."] = "Holy Light is labeled as the mana-efficient SAVE option and Flash of Light as the fast BURST option.",
    ["Die Rollen-Hinweise sind standardmäßig aktiv und in den HUD-Optionen abschaltbar."] = "Role labels are enabled by default and can be disabled in the HUD options.",
    ["Die HUD-Optionen unterstützen jetzt Mausrad-Scrolling mit einem dezenten Scroll-Indikator."] = "HUD options now support mouse-wheel scrolling with a subtle scroll indicator.",
    ["Schriftart, Textkontur, Icon- und Textgrößen können jetzt live angepasst werden."] = "Font, outline, icon sizes and text sizes can now be adjusted live.",
    ["Akzent-, Hotkey-, Cooldown- und einzelne Rollenfarben sind vollständig konfigurierbar."] = "Accent, hotkey, cooldown and individual role colors are fully configurable.",
    ["Breite Hotkey-Badges vergrößern den Icon-Abstand automatisch und überlappen nicht mehr."] = "Wide hotkey badges now expand icon spacing automatically and no longer overlap.",
    ["Zwischengespeicherte Fähigkeiten und wiederverwendete HUD-Tabellen reduzieren den laufenden Speicheraufbau deutlich."] = "Cached abilities and reusable HUD tables significantly reduce ongoing memory growth.",
    ["Natur- und Ahnen-Schnelligkeit werden nach einem erfolgreichen Off-GCD-Cast direkt bestätigt und sofort ausgeblendet."] = "Nature's Swiftness and Ancestral Swiftness are now confirmed directly after a successful off-GCD cast and disappear immediately.",
    ["Leben entfesseln wird ebenfalls direkt über den erfolgreichen Spieler-Cast bestätigt."] = "Unleash Life is now also confirmed directly from the successful player cast.",
    ["Ein verwendeter zufälliger Stormstream-Proc wird an seiner Cast-ID erkannt und verbraucht keine normale Healing-Stream-Aufladung."] = "A consumed random Stormstream proc is now recognized by its cast ID and does not spend a normal Healing Stream charge.",
    ["Schriftart und Textkontur verwenden jetzt echte Dropdown-Menüs mit Live-Vorschau."] = "Font and text outline now use proper dropdown menus with a live preview.",
    ["HUD-Einstellungen sind jetzt in Sichtbarkeit, Text, Größe und Farben gegliedert."] = "HUD settings are now organized into Visibility, Text, Size and Colors.",
    ["Die Profilseite zeigt vorhandene Profile und unterstützt Wechseln, Erstellen, Kopieren und sicheres Löschen."] = "The Profiles page now lists existing profiles and supports switching, creating, copying and safe deletion.",
    ["Heiliger Schock verwendet jetzt die durch Zaubertempo reduzierte Wiederaufladezeit."] = "Holy Shock now uses its spell-haste-reduced recharge time.",
    ["Richturteil und Kreuzfahrerstoß verwenden dasselbe Tempo-Modell."] = "Judgment and Crusader Strike use the same haste model.",
    ["Zaubertempo wird nur außerhalb des Kampfes sicher gespeichert und im Kampf nicht als SecretValue verarbeitet."] = "Spell haste is cached safely only outside combat and is not processed as a SecretValue in combat.",
    ["Temporäre Tempo-Buffs im Kampf verändern die statische Schätzung absichtlich nicht."] = "Temporary in-combat haste buffs intentionally do not alter the static estimate.",
    ["Ausgeblendete Talent-Fähigkeiten hinterlassen keine leeren Zeilen mehr."] = "Hidden talent abilities no longer leave empty rows.",
    ["Sichtbare Fähigkeiten werden in den Optionen lückenlos neu nummeriert."] = "Visible abilities are renumbered without gaps in the options.",
    ["Interne Slots und gespeicherte Hotkeys bleiben dabei unverändert."] = "Internal slots and saved hotkeys remain unchanged.",
    ["Zornige Vergeltung wird nach einem erfolgreichen Spieler-Cast direkt bestätigt."] = "Avenging Wrath is confirmed directly after a successful player cast.",
    ["Shift-Belegungen, Makros und GCD-freie Cooldowns benötigen keinen vorher erkannten Actionbar-Hook mehr."] = "Shift bindings, macros and off-GCD cooldowns no longer require a previously observed action-bar hook.",
    ["Zorniger Kreuzritter und Aurenmeisterschaft verwenden denselben sicheren Bestätigungspfad."] = "Avenging Crusader and Aura Mastery use the same reliable confirmation path.",
    ["Doppelte Success-Events innerhalb des Cast-Fensters werden verworfen."] = "Duplicate success events inside the cast correlation window are discarded.",
    ["Der Blizzard One Button Assistant wird auf Standard-Aktionsleisten automatisch erkannt."] = "Blizzard's One Button Assistant is detected automatically on standard action bars.",
    ["Erfolgreiche OBA-Zauber aktualisieren passende HeliHeal-Cooldowns und Aufladungen."] = "Successful OBA spells update matching HeliHeal cooldowns and charges.",
    ["Die lesbare Holy Power des Spielers korrigiert die lokale Simulation nach jedem Cast."] = "The player's readable Holy Power corrects the local simulation after every cast.",
    ["Crusader Strike und Shield of the Righteous werden für OBA-Ressourcenänderungen berücksichtigt."] = "Crusader Strike and Shield of the Righteous are accounted for in OBA resource changes.",
    ["Walk Into Light erzeugt seit seiner 12.0.5-Überarbeitung keine Holy Power mehr."] = "Walk Into Light no longer generates Holy Power after its 12.0.5 redesign.",
    ["Divine Toll und Holy Prism verwenden mit Quickened Invocation jetzt korrekt 30 Sekunden Cooldown."] = "Divine Toll and Holy Prism now correctly use a 30-second cooldown with Quickened Invocation.",
    ["Paladin-Talentwahl steuert Divine Toll, Holy Prism, Holy Armaments, Wings, Crusader und Aura Mastery."] = "Paladin talent choices now control Divine Toll, Holy Prism, Holy Armaments, Wings, Crusader and Aura Mastery.",
    ["Holy Power wird als geordnete Folge bestätigter Casts berechnet und bei Refunds korrekt neu aufgebaut."] = "Holy Power is calculated as an ordered sequence of confirmed casts and replayed correctly after refunds.",
    ["Aurora, Walk Into Light, Ringing of the Heavens und rangabhängige Cooldown-Talente werden lokal simuliert."] = "Aurora, Walk Into Light, Ringing of the Heavens and rank-based cooldown talents are simulated locally.",
    ["Mit /hh hp 0-5 kann die lokale Schätzung bei einem nicht lesbaren Zufallsproc synchronisiert werden."] = "Use /hh hp 0-5 to synchronize the local estimate after an unreadable random proc.",
    ["Primär- und Folge-Icons unterstützen jetzt getrennte Breite, Höhe, Zoom und Position."] = "Primary and secondary icons now support independent width, height, zoom and position controls.",
    ["Hotkey, Cooldown, Rollenlabel, Prioritätsbadge, Fähigkeitsname und Header können unabhängig positioniert und skaliert werden."] = "Hotkeys, cooldowns, role labels, priority badges, ability names and the header can now be positioned and scaled independently.",
    ["Panel, Icon-Hintergrund und sämtliche HUD-Texte besitzen eigene Farbeinstellungen."] = "The panel, icon background and all HUD text elements now have individual color settings.",
    ["Leuchtfeuer der Tugend wird talentabhängig in Holy-Paladin-M+-Standard und AoE mit 15 Sekunden Cooldown unterstützt."] = "Beacon of Virtue is now supported based on talent selection in Holy Paladin Mythic+ Standard and AoE modes with a 15-second cooldown.",
    ["CurseForge und GitHub verwenden jetzt gepflegte Markdown-Release-Notes ohne Git-Autorendaten."] = "CurseForge and GitHub now use curated Markdown release notes without Git author metadata.",
}

local deDE = {
    ["ICONS & LAYOUT"] = "ICONS & LAYOUT",
    ["HOTKEY"] = "HOTKEY",
    ["NEXT PRIORITY"] = "NÄCHSTE PRIORITÄT",
    ["What's New and Update History"] = "Neuigkeiten und Update-Verlauf",
    ["Beta Hardening"] = "Beta-Stabilisierung",
    ["Input Lifecycle"] = "Input-Lebenszyklus",
    ["Cast Confirmation"] = "Zauberbestätigung",
    ["Healing Modes and Druid Support"] = "Heilmodi und Druiden-Support",
    ["Initial Alpha"] = "Erste Alpha",
    ["Selectable Interface Language"] = "Auswählbare Oberflächensprache",
    ["Reliable Rapid Inputs"] = "Zuverlässige schnelle Eingaben",
    ["Holy Paladin Support"] = "Heiligpaladin-Unterstützung",
    ["Paladin Talent and Holy Power Model"] = "Paladin-Talente und Holy-Power-Modell",
    ["One Button Assistant and Live Holy Power"] = "Ein-Knopf-Assistent und echte Holy Power",
    ["Reliable Major Cooldown Confirmation"] = "Zuverlässige Bestätigung großer Cooldowns",
    ["Compact Talent-Aware Priority List"] = "Kompakte talentabhängige Prioritätsliste",
    ["Haste-Aware Paladin Recharge"] = "Tempoabhängige Paladin-Wiederaufladung",
    ["Context Labels for Filler Heals"] = "Kontext-Hinweise für direkte Heilungen",
    ["First Beta: Customizable HUD and Profiles"] = "Erste Beta: Anpassbares HUD und Profile",
    ["Reliable Cast Tracking and Runtime Efficiency"] = "Zuverlässige Cast-Erkennung und Speichereffizienz",
    ["Advanced HUD Customization and Beacon of Virtue"] = "Erweiterte HUD-Anpassung und Leuchtfeuer der Tugend",
}

local translations = enUS

function ns.SetLocale(mode)
    mode = mode == "deDE" and "deDE" or (mode == "enUS" and "enUS" or "auto")
    local requestedLocale = mode == "auto" and clientLocale or mode
    local effectiveLocale = requestedLocale == "deDE" and "deDE" or "enUS"
    translations = effectiveLocale == "deDE" and deDE or enUS
    ns.clientLocale = clientLocale
    ns.localeMode = mode
    ns.locale = effectiveLocale
    ns.localeFallback = mode == "auto"
        and clientLocale ~= "deDE" and clientLocale ~= "enUS" and clientLocale ~= "enGB"
    return effectiveLocale
end

function ns.Localize(key, ...)
    local value = translations[key] or (ns.locale == "deDE" and key) or enUS[key] or key
    if select("#", ...) > 0 then return value:format(...) end
    return value
end

ns.L = ns.Localize
ns.SetLocale("auto")
