Some checks failed
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>
154 lines
7.5 KiB
JSON
154 lines
7.5 KiB
JSON
{
|
|
"customers": {
|
|
"title": "Clienten",
|
|
"customer": "Client",
|
|
"add_customer": "Client derbäisetzen",
|
|
"edit_customer": "Client änneren",
|
|
"customer_name": "Clientennumm",
|
|
"customer_email": "Client E-Mail",
|
|
"customer_phone": "Client Telefon",
|
|
"customer_number": "Clientennummer",
|
|
"first_name": "Virnumm",
|
|
"last_name": "Nonumm",
|
|
"merchant": "Firma",
|
|
"total_orders": "Bestellungen insgesamt",
|
|
"total_spent": "Total ausginn",
|
|
"last_order": "Lescht Bestellung",
|
|
"registered": "Registréiert",
|
|
"no_customers": "Keng Clienten fonnt",
|
|
"search_customers": "Clienten sichen..."
|
|
},
|
|
"features": {
|
|
"customer_view": {
|
|
"name": "Kundenusiicht",
|
|
"description": "Kundeninformatiounen kucken a verwalten"
|
|
},
|
|
"customer_export": {
|
|
"name": "Kundenexport",
|
|
"description": "Kundendaten exportéieren"
|
|
},
|
|
"customer_messaging": {
|
|
"name": "Kundennoriichten",
|
|
"description": "Noriichten u Clienten schécken"
|
|
}
|
|
},
|
|
"messages": {
|
|
"failed_to_toggle_customer_status": "Clientestatus konnt net geännert ginn",
|
|
"failed_to_load_customer_details": "Clientedetailer konnten net geluede ginn",
|
|
"failed_to_load_customer_orders": "Clientebestellunge konnten net geluede ginn"
|
|
},
|
|
"menu": {
|
|
"store_operations": "Buttek-Operatiounen",
|
|
"customers_section": "Clienten",
|
|
"customers": "Clienten",
|
|
"all_customers": "All Clienten"
|
|
},
|
|
"permissions": {
|
|
"customers_view": "Clienten kucken",
|
|
"customers_view_desc": "Clientelëscht an Detailer kucken",
|
|
"customers_edit": "Clienten änneren",
|
|
"customers_edit_desc": "Clienteninformatiounen änneren",
|
|
"customers_delete": "Clienten läschen",
|
|
"customers_delete_desc": "Clientedossieren ewechhuelen",
|
|
"customers_export": "Clienten exportéieren",
|
|
"customers_export_desc": "Clientedaten exportéieren"
|
|
},
|
|
"storefront": {
|
|
"account": {
|
|
"dashboard": "Dashboard",
|
|
"profile": "Profil",
|
|
"addresses": "Adressen",
|
|
"settings": "Astellungen"
|
|
},
|
|
"pages": {
|
|
"dashboard": {
|
|
"title": "Mäi Kont",
|
|
"welcome_back": "Wëllkomm zréck, {name} !",
|
|
"profile_card_title": "Profil",
|
|
"profile_card_subtitle": "Informatiounen änneren",
|
|
"addresses_card_title": "Adressen",
|
|
"addresses_card_subtitle": "Adressen verwalten",
|
|
"messages_card_title": "Noriichten",
|
|
"messages_card_subtitle": "Support kontaktéieren",
|
|
"unread_messages_singular": "{count} ongeliesen Noriicht",
|
|
"unread_messages_plural": "{count} ongeliesen Noriichten",
|
|
"summary_title": "Kontoiwwersiicht",
|
|
"customer_since": "Client zënter",
|
|
"logout": "Ofmellen",
|
|
"logout_confirm_title": "Ofmellen bestätegen",
|
|
"logout_confirm_message": "Sidd Dir sécher datt Dir Iech ofmellen wëllt? Dir musst Iech erëm aloggen fir op Äre Kont ze zougräifen.",
|
|
"logout_success": "Erfollegräich ofgemellt",
|
|
"logout_failed": "Ofmellen feelgeschloen"
|
|
},
|
|
"profile": {
|
|
"breadcrumb_account": "Mäi Kont",
|
|
"breadcrumb_profile": "Profil",
|
|
"title": "Mäi Profil",
|
|
"subtitle": "Verwalt Är Kontodaten an Astellungen",
|
|
"info_section_title": "Profilinformatiounen",
|
|
"info_section_subtitle": "Är perséinlech Donnéeën updaten",
|
|
"email_label": "E-Mail-Adress",
|
|
"save_changes": "Änneren späicheren",
|
|
"saving": "Späicheren...",
|
|
"prefs_section_title": "Astellungen",
|
|
"prefs_section_subtitle": "Verwalt Är Kontosastellungen",
|
|
"preferred_language": "Bevorzucht Sprooch",
|
|
"use_shop_default": "Buttek-Standard benotzen",
|
|
"marketing_communications": "Marketing-Kommunikatioun",
|
|
"marketing_desc": "E-Maile mat neie Produkter, Offeren a Promotioune kréien",
|
|
"save_preferences": "Astellunge späicheren",
|
|
"change_password_subtitle": "Aktualiséiert Äert Kontopasswuert",
|
|
"changing": "Änneren...",
|
|
"account_info": "Kontoinformatiounen",
|
|
"member_since": "Member zënter",
|
|
"profile_updated": "Profil erfollegräich aktualiséiert",
|
|
"preferences_updated": "Astellungen erfollegräich aktualiséiert",
|
|
"password_changed": "Passwuert erfollegräich geännert",
|
|
"failed_to_load": "Profil konnt net geluede ginn",
|
|
"failed_to_save_profile": "Profil konnt net späichert ginn",
|
|
"failed_to_save_preferences": "Astellunge konnten net späichert ginn",
|
|
"failed_to_change_password": "Passwuert konnt net geännert ginn"
|
|
},
|
|
"addresses": {
|
|
"title": "Meng Adressen",
|
|
"subtitle": "Verwalt Är Liwwer- a Rechnungsadressen",
|
|
"add_address": "Adress derbäisetzen",
|
|
"empty_state_title": "Nach keng Adressen",
|
|
"empty_state_subtitle": "Setzt Är éischt Adress derbäi fir den Bezuelvirgang ze beschleunegen.",
|
|
"add_first_address": "Éischt Adress derbäisetzen",
|
|
"default_shipping": "Standard-Liwweradress",
|
|
"default_billing": "Standard-Rechnungsadress",
|
|
"shipping": "Liwwerung",
|
|
"billing": "Rechnung",
|
|
"set_default": "Als Standard festleeën",
|
|
"edit_address": "Adress änneren",
|
|
"add_new_address": "Nei Adress",
|
|
"address_type": "Adresstyp",
|
|
"shipping_address": "Liwweradress",
|
|
"billing_address": "Rechnungsadress",
|
|
"company_optional": "Entreprise (fakultativ)",
|
|
"address_line_1": "Adress",
|
|
"address_line_2_optional": "Adresszousatz (fakultativ)",
|
|
"postal_code": "Postleitzuel",
|
|
"city": "Stad",
|
|
"country": "Land",
|
|
"set_as_default_shipping": "Als Standard-Liwweradress festleeën",
|
|
"set_as_default_billing": "Als Standard-Rechnungsadress festleeën",
|
|
"save_changes": "Änneren späicheren",
|
|
"saving": "Späicheren...",
|
|
"delete_address": "Adress läschen",
|
|
"delete_confirm": "Sidd Dir sécher datt Dir dës Adress läsche wëllt? Dës Aktioun kann net réckgängeg gemaach ginn.",
|
|
"deleting": "Läschen...",
|
|
"address_updated": "Adress aktualiséiert",
|
|
"address_added": "Adress derbäigesat",
|
|
"address_deleted": "Adress geläscht",
|
|
"default_updated": "Standardadress aktualiséiert",
|
|
"failed_to_load": "Adressen konnten net geluede ginn. Probéiert nach eng Kéier.",
|
|
"failed_to_save": "Adress konnt net späichert ginn. Probéiert nach eng Kéier.",
|
|
"failed_to_delete": "Adress konnt net geläscht ginn",
|
|
"failed_to_set_default": "Standardadress konnt net festgeluecht ginn"
|
|
}
|
|
}
|
|
}
|
|
}
|