fix(loyalty): add all 27 remaining missing i18n keys

Comprehensive audit found 618 total translation references across all
templates and JS files. Added 27 missing keys to all 4 locale files:
- store.terminal: card_label, confirm, pin_authorize_text, free_item,
  reward_label, search_empty_state
- store.card_detail: card_label
- store.enroll: bonus_points, card_number_label, points
- store.settings: access_restricted_desc, delete_program_* (3 keys)
- common: setup_program, unknown
- errors: card_not_found
- shared.pins: save_changes, unlock
- toasts: pin_created/updated/deleted/unlocked + error variants (8 keys)

All 618 keys now resolve. 778 total keys per locale file.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-23 20:29:21 +01:00
parent 1d90bfe044
commit 894832c62b
4 changed files with 144 additions and 28 deletions

View File

@@ -169,7 +169,9 @@
"total": "GESAMT",
"view": "Anzeigen",
"yes": "Ja",
"contact_admin_setup": "Kontaktieren Sie Ihren Administrator um das Treueprogramm einzurichten"
"contact_admin_setup": "Kontaktieren Sie Ihren Administrator um das Treueprogramm einzurichten",
"setup_program": "Programm einrichten",
"unknown": "Unbekannt"
},
"transactions": {
"card_created": "Angemeldet",
@@ -354,7 +356,9 @@
"pin_unlocked": "PIN erfolgreich entsperrt",
"save": "Speichern",
"cancel": "Abbrechen",
"read_only_notice": "PINs sind in der Admin-Ansicht schreibgeschützt"
"read_only_notice": "PINs sind in der Admin-Ansicht schreibgeschützt",
"save_changes": "Speichern",
"unlock": "Entsperren"
},
"program_form": {
"program_type": "Programmtyp",
@@ -694,7 +698,13 @@
"stamp_added": "Stempel hinzugefügt!",
"stamps_redeemed": "Stempel eingelöst! Prämie erhalten.",
"x_points_awarded": "{points} Punkte vergeben!",
"reward_redeemed": "Prämie eingelöst: {name}"
"reward_redeemed": "Prämie eingelöst: {name}",
"card_label": "Karte",
"confirm": "Bestätigen",
"pin_authorize_text": "Geben Sie Ihre Mitarbeiter-PIN ein um diese Transaktion zu autorisieren",
"free_item": "Gratis-Artikel",
"reward_label": "Belohnung",
"search_empty_state": "Suchen Sie einen Kunden um zu beginnen"
},
"cards": {
"title": "Treue-Mitglieder",
@@ -742,7 +752,8 @@
"col_points": "Punkte",
"col_location": "Standort",
"col_notes": "Notizen",
"no_transactions": "Noch keine Transaktionen"
"no_transactions": "Noch keine Transaktionen",
"card_label": "Karte"
},
"enroll": {
"title": "Kunde anmelden",
@@ -769,7 +780,10 @@
"x_points": "{count} Punkte",
"back_to_terminal": "Zurück zum Terminal",
"enroll_another": "Weiteren anmelden",
"enrollment_failed": "Anmeldung fehlgeschlagen: {message}"
"enrollment_failed": "Anmeldung fehlgeschlagen: {message}",
"bonus_points": "Bonuspunkte",
"card_number_label": "Kartennummer",
"points": "Punkte"
},
"analytics": {
"title": "Treue-Analytik",
@@ -814,7 +828,11 @@
"program_updated": "Programm erfolgreich aktualisiert",
"program_deleted": "Treueprogramm gelöscht",
"save_failed": "Speichern fehlgeschlagen: {message}",
"delete_failed": "Löschen fehlgeschlagen: {message}"
"delete_failed": "Löschen fehlgeschlagen: {message}",
"access_restricted_desc": "Nur der Inhaber kann die Einstellungen ändern",
"delete_program_confirm": "Löschen",
"delete_program_desc": "Dies löscht das Treueprogramm und alle zugehörigen Daten dauerhaft",
"delete_program_title": "Treueprogramm löschen?"
}
},
"storefront": {
@@ -870,6 +888,17 @@
"save_failed": "Speichern fehlgeschlagen: {message}",
"settings_save_failed": "Einstellungen konnten nicht gespeichert werden: {message}",
"create_failed": "Programm konnte nicht erstellt werden: {message}",
"logo_required": "Logo-URL ist für die Wallet-Integration erforderlich."
"logo_required": "Logo-URL ist für die Wallet-Integration erforderlich.",
"pin_created": "PIN erfolgreich erstellt",
"pin_updated": "PIN erfolgreich aktualisiert",
"pin_deleted": "PIN erfolgreich gelöscht",
"pin_unlocked": "PIN erfolgreich entsperrt",
"pin_create_error": "PIN konnte nicht erstellt werden",
"pin_update_error": "PIN konnte nicht aktualisiert werden",
"pin_delete_error": "PIN konnte nicht gelöscht werden",
"pin_unlock_error": "PIN konnte nicht entsperrt werden"
},
"errors": {
"card_not_found": "Karte nicht gefunden"
}
}

View File

@@ -169,7 +169,9 @@
"total": "TOTAL",
"view": "View",
"yes": "Yes",
"contact_admin_setup": "Contact your administrator to set up the loyalty program"
"contact_admin_setup": "Contact your administrator to set up the loyalty program",
"setup_program": "Set Up Program",
"unknown": "Unknown"
},
"transactions": {
"card_created": "Enrolled",
@@ -354,7 +356,9 @@
"pin_unlocked": "PIN unlocked successfully",
"save": "Save",
"cancel": "Cancel",
"read_only_notice": "PINs are read-only in admin view"
"read_only_notice": "PINs are read-only in admin view",
"save_changes": "Save Changes",
"unlock": "Unlock"
},
"program_form": {
"program_type": "Program Type",
@@ -694,7 +698,13 @@
"stamp_added": "Stamp added!",
"stamps_redeemed": "Stamps redeemed! Reward earned.",
"x_points_awarded": "{points} points awarded!",
"reward_redeemed": "Reward redeemed: {name}"
"reward_redeemed": "Reward redeemed: {name}",
"card_label": "Card",
"confirm": "Confirm",
"pin_authorize_text": "Enter your staff PIN to authorize this transaction",
"free_item": "Free item",
"reward_label": "Reward",
"search_empty_state": "Search for a customer to get started"
},
"cards": {
"title": "Loyalty Members",
@@ -742,7 +752,8 @@
"col_points": "Points",
"col_location": "Location",
"col_notes": "Notes",
"no_transactions": "No transactions yet"
"no_transactions": "No transactions yet",
"card_label": "Card"
},
"enroll": {
"title": "Enroll Customer",
@@ -769,7 +780,10 @@
"x_points": "{count} points",
"back_to_terminal": "Back to Terminal",
"enroll_another": "Enroll Another",
"enrollment_failed": "Enrollment failed: {message}"
"enrollment_failed": "Enrollment failed: {message}",
"bonus_points": "Bonus Points",
"card_number_label": "Card Number",
"points": "points"
},
"analytics": {
"title": "Loyalty Analytics",
@@ -814,7 +828,11 @@
"program_updated": "Program updated successfully",
"program_deleted": "Loyalty program deleted",
"save_failed": "Failed to save: {message}",
"delete_failed": "Failed to delete: {message}"
"delete_failed": "Failed to delete: {message}",
"access_restricted_desc": "Only the merchant owner can modify program settings",
"delete_program_confirm": "Delete",
"delete_program_desc": "This will permanently delete the loyalty program and all associated data",
"delete_program_title": "Delete Loyalty Program?"
}
},
"storefront": {
@@ -870,6 +888,17 @@
"save_failed": "Failed to save: {message}",
"settings_save_failed": "Failed to save settings: {message}",
"create_failed": "Failed to create program: {message}",
"logo_required": "Logo URL is required for wallet integration."
"logo_required": "Logo URL is required for wallet integration.",
"pin_created": "PIN created successfully",
"pin_updated": "PIN updated successfully",
"pin_deleted": "PIN deleted successfully",
"pin_unlocked": "PIN unlocked successfully",
"pin_create_error": "Failed to create PIN",
"pin_update_error": "Failed to update PIN",
"pin_delete_error": "Failed to delete PIN",
"pin_unlock_error": "Failed to unlock PIN"
},
"errors": {
"card_not_found": "Card not found"
}
}

View File

@@ -169,7 +169,9 @@
"total": "TOTAL",
"view": "Voir",
"yes": "Oui",
"contact_admin_setup": "Contactez votre administrateur pour configurer le programme fidélité"
"contact_admin_setup": "Contactez votre administrateur pour configurer le programme fidélité",
"setup_program": "Configurer le programme",
"unknown": "Inconnu"
},
"transactions": {
"card_created": "Inscrit",
@@ -354,7 +356,9 @@
"pin_unlocked": "PIN déverrouillé avec succès",
"save": "Enregistrer",
"cancel": "Annuler",
"read_only_notice": "Les PINs sont en lecture seule en mode admin"
"read_only_notice": "Les PINs sont en lecture seule en mode admin",
"save_changes": "Enregistrer",
"unlock": "Déverrouiller"
},
"program_form": {
"program_type": "Type de programme",
@@ -694,7 +698,13 @@
"stamp_added": "Tampon ajouté !",
"stamps_redeemed": "Tampons échangés ! Récompense obtenue.",
"x_points_awarded": "{points} points attribués !",
"reward_redeemed": "Récompense échangée : {name}"
"reward_redeemed": "Récompense échangée : {name}",
"card_label": "Carte",
"confirm": "Confirmer",
"pin_authorize_text": "Entrez votre PIN personnel pour autoriser cette transaction",
"free_item": "Article gratuit",
"reward_label": "Récompense",
"search_empty_state": "Recherchez un client pour commencer"
},
"cards": {
"title": "Membres fidélité",
@@ -742,7 +752,8 @@
"col_points": "Points",
"col_location": "Point de vente",
"col_notes": "Notes",
"no_transactions": "Aucune transaction"
"no_transactions": "Aucune transaction",
"card_label": "Carte"
},
"enroll": {
"title": "Inscrire un client",
@@ -769,7 +780,10 @@
"x_points": "{count} points",
"back_to_terminal": "Retour au terminal",
"enroll_another": "Inscrire un autre",
"enrollment_failed": "Inscription échouée : {message}"
"enrollment_failed": "Inscription échouée : {message}",
"bonus_points": "Points bonus",
"card_number_label": "Numéro de carte",
"points": "points"
},
"analytics": {
"title": "Analytique fidélité",
@@ -814,7 +828,11 @@
"program_updated": "Programme mis à jour avec succès",
"program_deleted": "Programme de fidélité supprimé",
"save_failed": "Échec de l'enregistrement : {message}",
"delete_failed": "Échec de la suppression : {message}"
"delete_failed": "Échec de la suppression : {message}",
"access_restricted_desc": "Seul le propriétaire peut modifier les paramètres",
"delete_program_confirm": "Supprimer",
"delete_program_desc": "Cela supprimera définitivement le programme et toutes les données associées",
"delete_program_title": "Supprimer le programme fidélité ?"
}
},
"storefront": {
@@ -870,6 +888,17 @@
"save_failed": "Échec de l'enregistrement : {message}",
"settings_save_failed": "Échec de l'enregistrement des paramètres : {message}",
"create_failed": "Échec de la création du programme : {message}",
"logo_required": "L'URL du logo est requise pour l'intégration wallet."
"logo_required": "L'URL du logo est requise pour l'intégration wallet.",
"pin_created": "PIN créé avec succès",
"pin_updated": "PIN modifié avec succès",
"pin_deleted": "PIN supprimé avec succès",
"pin_unlocked": "PIN déverrouillé avec succès",
"pin_create_error": "Erreur lors de la création du PIN",
"pin_update_error": "Erreur lors de la modification du PIN",
"pin_delete_error": "Erreur lors de la suppression du PIN",
"pin_unlock_error": "Erreur lors du déverrouillage du PIN"
},
"errors": {
"card_not_found": "Carte non trouvée"
}
}

View File

@@ -169,7 +169,9 @@
"total": "TOTAL",
"view": "Kucken",
"yes": "Jo",
"contact_admin_setup": "Kontaktéiert Ären Administrator fir d'Treieprogramm anzeriichten"
"contact_admin_setup": "Kontaktéiert Ären Administrator fir d'Treieprogramm anzeriichten",
"setup_program": "Programm ariichten",
"unknown": "Onbekannt"
},
"transactions": {
"card_created": "Ageschriwwen",
@@ -354,7 +356,9 @@
"pin_unlocked": "PIN erfollegräich entspäert",
"save": "Späicheren",
"cancel": "Ofbriechen",
"read_only_notice": "PINen sinn an der Admin-Usiicht nëmmen ze liesen"
"read_only_notice": "PINen sinn an der Admin-Usiicht nëmmen ze liesen",
"save_changes": "Späicheren",
"unlock": "Entspären"
},
"program_form": {
"program_type": "Programmtyp",
@@ -694,7 +698,13 @@
"stamp_added": "Stempel derbäigesat!",
"stamps_redeemed": "Stempelen agelées! Belounung kritt.",
"x_points_awarded": "{points} Punkten vergi!",
"reward_redeemed": "Belounung agelées: {name}"
"reward_redeemed": "Belounung agelées: {name}",
"card_label": "Kaart",
"confirm": "Bestätegen",
"pin_authorize_text": "Gitt Ären Mataarbechter-PIN an fir dës Transaktioun ze autorisieren",
"free_item": "Gratis Artikel",
"reward_label": "Belounung",
"search_empty_state": "Sicht e Client fir unzefänken"
},
"cards": {
"title": "Treie-Memberen",
@@ -742,7 +752,8 @@
"col_points": "Punkten",
"col_location": "Standuert",
"col_notes": "Notizen",
"no_transactions": "Nach keng Transaktiounen"
"no_transactions": "Nach keng Transaktiounen",
"card_label": "Kaart"
},
"enroll": {
"title": "Client umellen",
@@ -769,7 +780,10 @@
"x_points": "{count} Punkten",
"back_to_terminal": "Zréck zum Terminal",
"enroll_another": "Weider umellen",
"enrollment_failed": "Umeldung feelgeschloen: {message}"
"enrollment_failed": "Umeldung feelgeschloen: {message}",
"bonus_points": "Bonuspunkten",
"card_number_label": "Kaartennummer",
"points": "Punkten"
},
"analytics": {
"title": "Treie-Analytik",
@@ -814,7 +828,11 @@
"program_updated": "Programm erfollegräich aktualiséiert",
"program_deleted": "Treieprogramm geläscht",
"save_failed": "Späichere feelgeschloen: {message}",
"delete_failed": "Läsche feelgeschloen: {message}"
"delete_failed": "Läsche feelgeschloen: {message}",
"access_restricted_desc": "Nëmmen den Besëtzer kann d'Astellungen änneren",
"delete_program_confirm": "Läschen",
"delete_program_desc": "Dëst läscht d'Treieprogramm an all verbonnen Daten permanent",
"delete_program_title": "Treieprogramm läschen?"
}
},
"storefront": {
@@ -870,6 +888,17 @@
"save_failed": "Späichere feelgeschloen: {message}",
"settings_save_failed": "Astellunge konnten net gespäichert ginn: {message}",
"create_failed": "Programm konnt net erstellt ginn: {message}",
"logo_required": "Logo-URL ass erfuerderlech fir d'Wallet-Integratioun."
"logo_required": "Logo-URL ass erfuerderlech fir d'Wallet-Integratioun.",
"pin_created": "PIN erfollegräich erstallt",
"pin_updated": "PIN erfollegräich aktualiséiert",
"pin_deleted": "PIN erfollegräich geläscht",
"pin_unlocked": "PIN erfollegräich entspäert",
"pin_create_error": "PIN konnt net erstallt ginn",
"pin_update_error": "PIN konnt net aktualiséiert ginn",
"pin_delete_error": "PIN konnt net geläscht ginn",
"pin_unlock_error": "PIN konnt net entspäert ginn"
},
"errors": {
"card_not_found": "Kaart net fonnt"
}
}