fix(loyalty): resolve 40 missing i18n keys across all frontends

Fix template references to match existing locale key names (11 renames
in pins-list.html and settings.html) and add 29 missing keys to all 4
locale files (en/fr/de/lb). All 299 template keys now resolve correctly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-22 20:52:38 +01:00
parent 6161d69ba2
commit 52a5f941fe
6 changed files with 217 additions and 101 deletions

View File

@@ -143,27 +143,32 @@
},
"common": {
"active": "Aktiv",
"inactive": "Inaktiv",
"all_stores": "Alle Filialen",
"at": "bei",
"back": "Zurück",
"cancel": "Abbrechen",
"save": "Speichern",
"delete": "Löschen",
"confirm": "Bestätigen",
"refresh": "Aktualisieren",
"loading": "Laden...",
"saving": "Speichern...",
"view": "Anzeigen",
"continue": "Weiter",
"delete": "Löschen",
"disabled": "Deaktiviert",
"edit": "Bearbeiten",
"yes": "Ja",
"enabled": "Aktiviert",
"inactive": "Inaktiv",
"loading": "Laden...",
"minutes": "Minuten",
"never": "Nie",
"no": "Nein",
"none": "Keine",
"never": "Nie",
"total": "GESAMT",
"continue": "Weiter",
"back": "Zurück",
"points": "Punkte",
"minutes": "Minuten",
"or": "oder",
"at": "bei"
"points": "Punkte",
"program_not_setup": "Treueprogramm nicht eingerichtet",
"program_not_setup_desc": "Bitte richten Sie ein Treueprogramm ein",
"refresh": "Aktualisieren",
"save": "Speichern",
"saving": "Speichern...",
"total": "GESAMT",
"view": "Anzeigen",
"yes": "Ja"
},
"transactions": {
"card_created": "Angemeldet",
@@ -290,6 +295,7 @@
"transactions": {
"title": "Transaktionen",
"subtitle": "Alle Treue-Transaktionen anzeigen",
"adjust_filters": "Versuchen Sie, Ihre Filter anzupassen",
"loading": "Transaktionen werden geladen...",
"error_loading": "Fehler beim Laden",
"search_placeholder": "Transaktionen suchen...",
@@ -301,7 +307,11 @@
"col_points": "Punkte",
"col_location": "Standort",
"col_notes": "Notizen",
"no_transactions": "Keine Transaktionen gefunden"
"no_transactions": "Keine Transaktionen gefunden",
"type_adjust": "Anpassen",
"type_earn": "Verdienen",
"type_expire": "Ablaufen",
"type_redeem": "Einlösen"
},
"pins": {
"title": "Mitarbeiter-PINs",
@@ -333,6 +343,8 @@
"pin_staff_id": "Mitarbeiter-ID (optional)",
"pin_code": "PIN-Code",
"pin_code_hint": "4-6-stelliger PIN",
"pin_edit_hint": "Leer lassen um aktuellen PIN zu behalten",
"pin_edit_placeholder": "Neuer PIN (optional)",
"pin_store": "Filiale",
"select_store": "Filiale auswählen",
"pin_created": "PIN erfolgreich erstellt",
@@ -473,7 +485,9 @@
"error_loading": "Fehler beim Laden"
},
"merchant_card_detail": {
"title": "Kartendetail"
"title": "Kartendetail",
"error_loading": "Fehler beim Laden",
"loading": "Kartendetails werden geladen..."
},
"merchant_transactions": {
"title": "Händler-Transaktionen",
@@ -572,23 +586,38 @@
},
"cards": {
"title": "Kundenkarten",
"subtitle": "Treuemitglieder über alle Standorte verwalten"
"subtitle": "Treuemitglieder über alle Standorte verwalten",
"error_loading": "Fehler beim Laden",
"loading": "Karten werden geladen..."
},
"card_detail": {
"title": "Kartendetail"
"title": "Kartendetail",
"card_label": "Karte",
"error_loading": "Fehler beim Laden",
"loading": "Kartendetails werden geladen..."
},
"transactions": {
"title": "Transaktionen",
"subtitle": "Alle Transaktionen über alle Standorte anzeigen"
"subtitle": "Alle Transaktionen über alle Standorte anzeigen",
"error_loading": "Fehler beim Laden",
"loading": "Transaktionen werden geladen..."
},
"pins": {
"title": "Mitarbeiter-PINs",
"subtitle": "PINs für alle Standorte verwalten"
"subtitle": "PINs für alle Standorte verwalten",
"error_loading": "Fehler beim Laden",
"loading": "PINs werden geladen..."
},
"settings": {
"title": "Treue-Einstellungen",
"subtitle": "Treueprogramm-Einstellungen anzeigen",
"admin_controlled": "Diese Einstellungen werden vom Plattformadministrator verwaltet",
"error_loading": "Fehler beim Laden",
"loading": "Einstellungen werden geladen...",
"lockout_attempts": "Sperrversuche",
"lockout_minutes": "Sperrdauer (Min)",
"permissions": "Registrierung & Berechtigungen",
"pin_policy": "PIN-Richtlinie",
"staff_pin_policy": "Mitarbeiter-PIN-Richtlinie",
"self_enrollment": "Selbstanmeldung",
"cross_location": "Standortübergreifende Einlösung",

View File

@@ -143,27 +143,32 @@
},
"common": {
"active": "Active",
"inactive": "Inactive",
"all_stores": "All Stores",
"at": "at",
"back": "Back",
"cancel": "Cancel",
"save": "Save",
"delete": "Delete",
"confirm": "Confirm",
"refresh": "Refresh",
"loading": "Loading...",
"saving": "Saving...",
"view": "View",
"continue": "Continue",
"delete": "Delete",
"disabled": "Disabled",
"edit": "Edit",
"yes": "Yes",
"enabled": "Enabled",
"inactive": "Inactive",
"loading": "Loading...",
"minutes": "minutes",
"never": "Never",
"no": "No",
"none": "None",
"never": "Never",
"total": "TOTAL",
"continue": "Continue",
"back": "Back",
"points": "points",
"minutes": "minutes",
"or": "or",
"at": "at"
"points": "points",
"program_not_setup": "Loyalty program not set up",
"program_not_setup_desc": "Please set up a loyalty program to get started",
"refresh": "Refresh",
"save": "Save",
"saving": "Saving...",
"total": "TOTAL",
"view": "View",
"yes": "Yes"
},
"transactions": {
"card_created": "Enrolled",
@@ -290,6 +295,7 @@
"transactions": {
"title": "Transactions",
"subtitle": "View all loyalty transactions",
"adjust_filters": "Try adjusting your filters",
"loading": "Loading transactions...",
"error_loading": "Error loading transactions",
"search_placeholder": "Search transactions...",
@@ -301,7 +307,11 @@
"col_points": "Points",
"col_location": "Location",
"col_notes": "Notes",
"no_transactions": "No transactions found"
"no_transactions": "No transactions found",
"type_adjust": "Adjust",
"type_earn": "Earn",
"type_expire": "Expire",
"type_redeem": "Redeem"
},
"pins": {
"title": "Staff PINs",
@@ -333,6 +343,8 @@
"pin_staff_id": "Employee ID (optional)",
"pin_code": "PIN Code",
"pin_code_hint": "4-6 digit PIN",
"pin_edit_hint": "Leave blank to keep current PIN",
"pin_edit_placeholder": "New PIN (optional)",
"pin_store": "Store",
"select_store": "Select store",
"pin_created": "PIN created successfully",
@@ -473,7 +485,9 @@
"error_loading": "Error loading cards"
},
"merchant_card_detail": {
"title": "Card Detail"
"title": "Card Detail",
"error_loading": "Error loading card",
"loading": "Loading card details..."
},
"merchant_transactions": {
"title": "Merchant Transactions",
@@ -572,23 +586,38 @@
},
"cards": {
"title": "Customer Cards",
"subtitle": "View and manage loyalty members across all locations"
"subtitle": "View and manage loyalty members across all locations",
"error_loading": "Error loading cards",
"loading": "Loading cards..."
},
"card_detail": {
"title": "Card Detail"
"title": "Card Detail",
"card_label": "Card",
"error_loading": "Error loading card",
"loading": "Loading card details..."
},
"transactions": {
"title": "Transactions",
"subtitle": "View all loyalty transactions across locations"
"subtitle": "View all loyalty transactions across locations",
"error_loading": "Error loading transactions",
"loading": "Loading transactions..."
},
"pins": {
"title": "Staff PINs",
"subtitle": "Manage staff PINs across all locations"
"subtitle": "Manage staff PINs across all locations",
"error_loading": "Error loading PINs",
"loading": "Loading PINs..."
},
"settings": {
"title": "Loyalty Settings",
"subtitle": "View loyalty program settings",
"admin_controlled": "These settings are managed by the platform administrator",
"error_loading": "Error loading settings",
"loading": "Loading settings...",
"lockout_attempts": "Lockout Attempts",
"lockout_minutes": "Lockout Duration (min)",
"permissions": "Enrollment & Permissions",
"pin_policy": "PIN Policy",
"staff_pin_policy": "Staff PIN Policy",
"self_enrollment": "Self Enrollment",
"cross_location": "Cross-Location Redemption",

View File

@@ -143,27 +143,32 @@
},
"common": {
"active": "Actif",
"inactive": "Inactif",
"all_stores": "Tous les magasins",
"at": "à",
"back": "Retour",
"cancel": "Annuler",
"save": "Enregistrer",
"delete": "Supprimer",
"confirm": "Confirmer",
"refresh": "Actualiser",
"loading": "Chargement...",
"saving": "Enregistrement...",
"view": "Voir",
"continue": "Continuer",
"delete": "Supprimer",
"disabled": "Désactivé",
"edit": "Modifier",
"yes": "Oui",
"enabled": "Activé",
"inactive": "Inactif",
"loading": "Chargement...",
"minutes": "minutes",
"never": "Jamais",
"no": "Non",
"none": "Aucun",
"never": "Jamais",
"total": "TOTAL",
"continue": "Continuer",
"back": "Retour",
"points": "points",
"minutes": "minutes",
"or": "ou",
"at": "à"
"points": "points",
"program_not_setup": "Programme fidélité non configuré",
"program_not_setup_desc": "Veuillez configurer un programme fidélité",
"refresh": "Actualiser",
"save": "Enregistrer",
"saving": "Enregistrement...",
"total": "TOTAL",
"view": "Voir",
"yes": "Oui"
},
"transactions": {
"card_created": "Inscrit",
@@ -290,6 +295,7 @@
"transactions": {
"title": "Transactions",
"subtitle": "Voir toutes les transactions",
"adjust_filters": "Essayez de modifier vos filtres",
"loading": "Chargement des transactions...",
"error_loading": "Erreur lors du chargement",
"search_placeholder": "Rechercher des transactions...",
@@ -301,7 +307,11 @@
"col_points": "Points",
"col_location": "Emplacement",
"col_notes": "Notes",
"no_transactions": "Aucune transaction trouvée"
"no_transactions": "Aucune transaction trouvée",
"type_adjust": "Ajuster",
"type_earn": "Gagner",
"type_expire": "Expirer",
"type_redeem": "Échanger"
},
"pins": {
"title": "PINs du personnel",
@@ -333,6 +343,8 @@
"pin_staff_id": "ID employé (optionnel)",
"pin_code": "Code PIN",
"pin_code_hint": "PIN à 4-6 chiffres",
"pin_edit_hint": "Laisser vide pour garder le PIN actuel",
"pin_edit_placeholder": "Nouveau PIN (optionnel)",
"pin_store": "Magasin",
"select_store": "Sélectionner un magasin",
"pin_created": "PIN créé avec succès",
@@ -473,7 +485,9 @@
"error_loading": "Erreur lors du chargement"
},
"merchant_card_detail": {
"title": "Détail de la carte"
"title": "Détail de la carte",
"error_loading": "Erreur lors du chargement",
"loading": "Chargement des détails..."
},
"merchant_transactions": {
"title": "Transactions du commerçant",
@@ -572,23 +586,38 @@
},
"cards": {
"title": "Cartes clients",
"subtitle": "Voir et gérer les membres fidélité sur tous les sites"
"subtitle": "Voir et gérer les membres fidélité sur tous les sites",
"error_loading": "Erreur lors du chargement",
"loading": "Chargement des cartes..."
},
"card_detail": {
"title": "Détail de la carte"
"title": "Détail de la carte",
"card_label": "Carte",
"error_loading": "Erreur lors du chargement",
"loading": "Chargement des détails..."
},
"transactions": {
"title": "Transactions",
"subtitle": "Voir toutes les transactions sur tous les sites"
"subtitle": "Voir toutes les transactions sur tous les sites",
"error_loading": "Erreur lors du chargement",
"loading": "Chargement des transactions..."
},
"pins": {
"title": "PINs du personnel",
"subtitle": "Gérer les PINs sur tous les sites"
"subtitle": "Gérer les PINs sur tous les sites",
"error_loading": "Erreur lors du chargement",
"loading": "Chargement des PINs..."
},
"settings": {
"title": "Paramètres fidélité",
"subtitle": "Voir les paramètres du programme",
"admin_controlled": "Ces paramètres sont gérés par l'administrateur",
"error_loading": "Erreur lors du chargement",
"loading": "Chargement des paramètres...",
"lockout_attempts": "Tentatives avant verrouillage",
"lockout_minutes": "Durée de verrouillage (min)",
"permissions": "Inscription et permissions",
"pin_policy": "Politique PIN",
"staff_pin_policy": "Politique PIN personnel",
"self_enrollment": "Auto-inscription",
"cross_location": "Échange multi-sites",

View File

@@ -143,27 +143,32 @@
},
"common": {
"active": "Aktiv",
"inactive": "Inaktiv",
"all_stores": "All Geschäfter",
"at": "bei",
"back": "Zréck",
"cancel": "Ofbriechen",
"save": "Späicheren",
"delete": "Läschen",
"confirm": "Bestätegen",
"refresh": "Aktualiséieren",
"loading": "Lueden...",
"saving": "Späicheren...",
"view": "Kucken",
"continue": "Weider",
"delete": "Läschen",
"disabled": "Deaktivéiert",
"edit": "Beaarbechten",
"yes": "Jo",
"enabled": "Aktivéiert",
"inactive": "Inaktiv",
"loading": "Lueden...",
"minutes": "Minutten",
"never": "Ni",
"no": "Neen",
"none": "Keen",
"never": "Ni",
"total": "TOTAL",
"continue": "Weider",
"back": "Zréck",
"points": "Punkten",
"minutes": "Minutten",
"or": "oder",
"at": "bei"
"points": "Punkten",
"program_not_setup": "Treieprogramm net ageriicht",
"program_not_setup_desc": "Riicht w.e.g. en Treieprogramm an",
"refresh": "Aktualiséieren",
"save": "Späicheren",
"saving": "Späicheren...",
"total": "TOTAL",
"view": "Kucken",
"yes": "Jo"
},
"transactions": {
"card_created": "Ageschriwwen",
@@ -290,6 +295,7 @@
"transactions": {
"title": "Transaktionen",
"subtitle": "All Treieprogramm-Transaktioune kucken",
"adjust_filters": "Probéiert Är Filteren unzepassen",
"loading": "Transaktioune ginn gelueden...",
"error_loading": "Feeler beim Lueden",
"search_placeholder": "Transaktioune sichen...",
@@ -301,7 +307,11 @@
"col_points": "Punkten",
"col_location": "Standuert",
"col_notes": "Notizen",
"no_transactions": "Keng Transaktioune fonnt"
"no_transactions": "Keng Transaktioune fonnt",
"type_adjust": "Upassen",
"type_earn": "Verdéngen",
"type_expire": "Oflafen",
"type_redeem": "Aléisen"
},
"pins": {
"title": "Mataarbechter-PINen",
@@ -333,6 +343,8 @@
"pin_staff_id": "Mataarbechter-ID (optional)",
"pin_code": "PIN-Code",
"pin_code_hint": "4-6-stellegen PIN",
"pin_edit_hint": "Eidel loossen fir den aktuelle PIN ze behalen",
"pin_edit_placeholder": "Neie PIN (optional)",
"pin_store": "Geschäft",
"select_store": "Geschäft wielen",
"pin_created": "PIN erfollegräich erstallt",
@@ -473,7 +485,9 @@
"error_loading": "Feeler beim Lueden"
},
"merchant_card_detail": {
"title": "Kaartendetail"
"title": "Kaartendetail",
"error_loading": "Feeler beim Lueden",
"loading": "Kaartendetailer ginn gelueden..."
},
"merchant_transactions": {
"title": "Händler-Transaktionen",
@@ -572,23 +586,38 @@
},
"cards": {
"title": "Clientskaarten",
"subtitle": "Treieprogramm-Memberen iwwer all Standuerter verwalten"
"subtitle": "Treieprogramm-Memberen iwwer all Standuerter verwalten",
"error_loading": "Feeler beim Lueden",
"loading": "Kaarte ginn gelueden..."
},
"card_detail": {
"title": "Kaartendetail"
"title": "Kaartendetail",
"card_label": "Kaart",
"error_loading": "Feeler beim Lueden",
"loading": "Kaartendetailer ginn gelueden..."
},
"transactions": {
"title": "Transaktionen",
"subtitle": "All Transaktioune vun all Standuerter kucken"
"subtitle": "All Transaktioune vun all Standuerter kucken",
"error_loading": "Feeler beim Lueden",
"loading": "Transaktioune ginn gelueden..."
},
"pins": {
"title": "Mataarbechter-PINen",
"subtitle": "PINen fir all Standuerter verwalten"
"subtitle": "PINen fir all Standuerter verwalten",
"error_loading": "Feeler beim Lueden",
"loading": "PINe ginn gelueden..."
},
"settings": {
"title": "Treieprogramm-Astellungen",
"subtitle": "Treieprogramm-Astellungen kucken",
"admin_controlled": "Dës Astellungen ginn vum Plattformadministrateur geréiert",
"error_loading": "Feeler beim Lueden",
"loading": "Astellunge ginn gelueden...",
"lockout_attempts": "Spärversich",
"lockout_minutes": "Spärdauer (Min)",
"permissions": "Umeldung & Berechtigungen",
"pin_policy": "PIN-Richtlinn",
"staff_pin_policy": "Mataarbechter-PIN-Richtlinn",
"self_enrollment": "Selwer-Umeldung",
"cross_location": "Standuert-iwwergräifend Aléisung",