Files
orion/static/locales/de.json
Samir Boulahtit 10a99f98fe
Some checks failed
CI / ruff (push) Successful in 19s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has been cancelled
fix(storefront): i18n sweep + locale-aware reset-password and welcome email
Test 5 (storefront password reset + customer dashboard) surfaced five
issues that all traced back to missing i18n plumbing:

- Forgot-password email arrived in EN regardless of storefront locale —
  handler now prefers request.state.language over customer.preferred_language,
  and loyalty self-enrollment backfills preferred_language for new + returning
  customers so future locale-sensitive flows hit the right language without
  being told twice.
- reset-password.html rendered "undefined" icon boxes because $icon magic
  wasn't loaded in the standalone page — replaced with inline SVGs matching
  the forgot-password.html convention.
- reset-password.html was hardcoded English: added lang attr, full _()
  sweep (22 new auth.* keys × 4 locales), language selector, and JS
  validation strings exposed via tojson.
- "Continue shopping" CTA renamed to "Back to Home" (auth.back_to_home,
  4 locales) on login + forgot + reset — loyalty storefronts have no
  catalog to continue to, mirroring the earlier enroll-success rename.
- /account dashboard, profile, addresses were hardcoded English in the
  body (menu was FR because base layout uses _()). New customers.storefront
  .pages.{dashboard,profile,addresses}.* namespace (~80 keys × 4 locales),
  templates updated, Alpine JS strings injected via window.__*I18n.

18 files, 18 changed; arch validation: 126 warnings before = 126 after,
mkdocs --strict clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 23:06:11 +02:00

255 lines
9.2 KiB
JSON

{
"common": {
"save": "Speichern",
"cancel": "Abbrechen",
"delete": "Löschen",
"edit": "Bearbeiten",
"create": "Erstellen",
"update": "Aktualisieren",
"add": "Hinzufügen",
"remove": "Entfernen",
"close": "Schließen",
"back": "Zurück",
"next": "Weiter",
"previous": "Zurück",
"submit": "Absenden",
"confirm": "Bestätigen",
"yes": "Ja",
"no": "Nein",
"ok": "OK",
"done": "Fertig",
"loading": "Laden...",
"saving": "Speichern...",
"processing": "Verarbeiten...",
"searching": "Suchen...",
"sending": "Wird gesendet",
"refresh": "Aktualisieren",
"retry": "Erneut versuchen",
"view": "Ansehen",
"view_details": "Details ansehen",
"view_all": "Alle anzeigen",
"show_more": "Mehr anzeigen",
"show_less": "Weniger anzeigen",
"search": "Suchen",
"filter": "Filtern",
"sort": "Sortieren",
"export": "Exportieren",
"import": "Importieren",
"download": "Herunterladen",
"upload": "Hochladen",
"select": "Auswählen",
"select_all": "Alle auswählen",
"deselect_all": "Auswahl aufheben",
"actions": "Aktionen",
"status": "Status",
"date": "Datum",
"time": "Zeit",
"name": "Name",
"email": "E-Mail",
"phone": "Telefon",
"address": "Adresse",
"description": "Beschreibung",
"notes": "Notizen",
"total": "Gesamt",
"amount": "Betrag",
"quantity": "Menge",
"price": "Preis",
"items": "Artikel",
"id": "ID",
"type": "Typ",
"category": "Kategorie",
"tags": "Tags",
"active": "Aktiv",
"inactive": "Inaktiv",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"pending": "Ausstehend",
"completed": "Abgeschlossen",
"failed": "Fehlgeschlagen",
"success": "Erfolg",
"error": "Fehler",
"warning": "Warnung",
"info": "Info",
"all": "Alle",
"none": "Keine",
"other": "Andere",
"unknown": "Unbekannt",
"not_available": "N/V",
"required": "Erforderlich",
"optional": "Optional",
"language": "Sprache",
"settings": "Einstellungen",
"help": "Hilfe",
"support": "Support",
"contact": "Kontakt",
"about": "Über",
"privacy": "Datenschutz",
"terms": "AGB",
"copyright": "Urheberrecht"
},
"auth": {
"sign_in": "Anmelden",
"sign_out": "Abmelden",
"sign_up": "Registrieren",
"login": "Anmelden",
"logout": "Abmelden",
"register": "Registrieren",
"forgot_password": "Passwort vergessen?",
"reset_password": "Passwort zurücksetzen",
"change_password": "Passwort ändern",
"username": "Benutzername",
"password": "Passwort",
"confirm_password": "Passwort bestätigen",
"current_password": "Aktuelles Passwort",
"new_password": "Neues Passwort",
"remember_me": "Angemeldet bleiben",
"email_placeholder": "E-Mail eingeben",
"username_placeholder": "Benutzername eingeben",
"password_placeholder": "Passwort eingeben",
"login_success": "Anmeldung erfolgreich",
"login_failed": "Anmeldung fehlgeschlagen",
"logout_success": "Sie wurden abgemeldet",
"invalid_credentials": "Ungültiger Benutzername oder Passwort",
"session_expired": "Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.",
"account_locked": "Ihr Konto wurde gesperrt",
"account_inactive": "Ihr Konto ist inaktiv",
"signing_in": "Anmeldung läuft...",
"sending": "Wird gesendet...",
"send_reset_link": "Link zum Zurücksetzen senden",
"reset_password_desc": "Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen Link zum Zurücksetzen Ihres Passworts.",
"back_to_login": "Zurück zur Anmeldung",
"back_to_platform": "Zurück zur Plattform",
"no_account": "Noch kein Konto?",
"visit_platform": "Besuchen Sie unsere Plattform",
"already_have_account": "Haben Sie bereits ein Konto?",
"create_account": "Konto erstellen",
"back_to_home": "Zurück zur Startseite",
"admin_login": "Admin-Anmeldung",
"merchant_login": "Händler-Anmeldung",
"store_login": "Shop-Portal-Anmeldung",
"customer_login": "Kunden-Anmeldung",
"create_account_title": "Konto erstellen",
"creating_account": "Konto wird erstellt...",
"sign_in_instead": "Stattdessen anmelden",
"first_name": "Vorname",
"last_name": "Nachname",
"phone_number": "Telefonnummer",
"marketing_consent": "Ich möchte Neuigkeiten und Sonderangebote erhalten",
"password_requirements": "Muss mindestens 8 Zeichen, einen Buchstaben und eine Zahl enthalten",
"check_email": "Überprüfen Sie Ihre E-Mail",
"reset_link_sent": "Wir haben einen Link zum Zurücksetzen des Passworts an Ihre E-Mail-Adresse gesendet. Bitte überprüfen Sie Ihren Posteingang und klicken Sie auf den Link.",
"didnt_receive_email": "E-Mail nicht erhalten? Überprüfen Sie Ihren Spam-Ordner oder",
"try_again": "versuchen Sie es erneut",
"remember_password": "Passwort wieder eingefallen?",
"reset_password_subtitle": "Neues Passwort erstellen",
"reset_your_password": "Passwort zurücksetzen",
"reset_password_form_desc": "Geben Sie unten Ihr neues Passwort ein. Es muss mindestens 8 Zeichen lang sein.",
"new_password_placeholder": "Neues Passwort eingeben",
"confirm_password_placeholder": "Neues Passwort bestätigen",
"resetting": "Wird zurückgesetzt...",
"reset_password_btn": "Passwort zurücksetzen",
"password_reset_complete": "Passwort zurückgesetzt",
"password_reset_success_desc": "Ihr Passwort wurde erfolgreich zurückgesetzt. Sie können sich jetzt mit dem neuen Passwort anmelden.",
"invalid_or_expired_link": "Ungültiger oder abgelaufener Link",
"invalid_or_expired_link_desc": "Dieser Link zum Zurücksetzen des Passworts ist ungültig oder abgelaufen. Bitte fordern Sie einen neuen Link an.",
"request_new_link": "Neuen Link anfordern",
"email_required": "E-Mail ist erforderlich",
"invalid_email": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
"forgot_password_failed": "Link konnte nicht gesendet werden. Bitte erneut versuchen.",
"password_required": "Passwort ist erforderlich",
"password_too_short": "Das Passwort muss mindestens 8 Zeichen lang sein",
"please_confirm_password": "Bitte bestätigen Sie Ihr Passwort",
"passwords_do_not_match": "Passwörter stimmen nicht überein",
"reset_password_failed": "Passwort konnte nicht zurückgesetzt werden. Bitte erneut versuchen."
},
"nav": {
"dashboard": "Dashboard",
"products": "Produkte",
"orders": "Bestellungen",
"customers": "Kunden",
"inventory": "Inventar",
"analytics": "Analysen",
"reports": "Berichte",
"settings": "Einstellungen",
"profile": "Profil",
"team": "Team",
"marketplace": "Marktplatz",
"integrations": "Integrationen",
"notifications": "Benachrichtigungen",
"help": "Hilfe",
"home": "Startseite",
"shop": "Shop",
"cart": "Warenkorb",
"checkout": "Kasse",
"account": "Konto",
"wishlist": "Wunschliste"
},
"errors": {
"generic": "Ein Fehler ist aufgetreten",
"not_found": "Nicht gefunden",
"unauthorized": "Nicht autorisiert",
"forbidden": "Verboten",
"bad_request": "Ungültige Anfrage",
"server_error": "Serverfehler",
"network_error": "Netzwerkfehler",
"timeout": "Zeitüberschreitung",
"validation_error": "Validierungsfehler",
"field_required": "Dieses Feld ist erforderlich",
"invalid_email": "Ungültige E-Mail-Adresse",
"invalid_phone": "Ungültige Telefonnummer",
"password_mismatch": "Passwörter stimmen nicht überein",
"password_too_short": "Passwort ist zu kurz",
"try_again": "Bitte versuchen Sie es erneut",
"contact_support": "Bitte kontaktieren Sie den Support, wenn das Problem weiterhin besteht"
},
"confirmations": {
"delete_title": "Löschen bestätigen",
"delete_message": "Sind Sie sicher, dass Sie diesen Eintrag löschen möchten?",
"delete_warning": "Diese Aktion kann nicht rückgängig gemacht werden.",
"cancel_title": "Abbrechen bestätigen",
"cancel_message": "Sind Sie sicher, dass Sie abbrechen möchten?",
"unsaved_changes": "Sie haben ungespeicherte Änderungen. Sind Sie sicher, dass Sie die Seite verlassen möchten?",
"logout_title": "Abmelden bestätigen",
"logout_message": "Sind Sie sicher, dass Sie sich abmelden möchten?"
},
"footer": {
"all_rights_reserved": "Alle Rechte vorbehalten",
"powered_by": "Unterstützt von"
},
"time": {
"now": "Jetzt",
"today": "Heute",
"yesterday": "Gestern",
"tomorrow": "Morgen",
"this_week": "Diese Woche",
"last_week": "Letzte Woche",
"this_month": "Dieser Monat",
"last_month": "Letzter Monat",
"this_year": "Dieses Jahr",
"ago": "vor",
"seconds": "Sekunden",
"minutes": "Minuten",
"hours": "Stunden",
"days": "Tagen",
"weeks": "Wochen",
"months": "Monaten",
"years": "Jahren"
},
"formats": {
"date": "DD.MM.YYYY",
"time": "HH:mm",
"datetime": "DD.MM.YYYY HH:mm",
"currency": "{amount} {symbol}"
},
"clipboard": {
"copied": "In die Zwischenablage kopiert",
"failed": "Kopieren fehlgeschlagen"
},
"onboarding": {
"banner": {
"title": "Erste Schritte",
"dismiss": "Ausblenden"
}
}
}