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.0 KiB
JSON
154 lines
7.0 KiB
JSON
{
|
|
"customers": {
|
|
"title": "Customers",
|
|
"customer": "Customer",
|
|
"add_customer": "Add Customer",
|
|
"edit_customer": "Edit Customer",
|
|
"customer_name": "Customer Name",
|
|
"customer_email": "Customer Email",
|
|
"customer_phone": "Customer Phone",
|
|
"customer_number": "Customer Number",
|
|
"first_name": "First Name",
|
|
"last_name": "Last Name",
|
|
"merchant": "Merchant",
|
|
"total_orders": "Total Orders",
|
|
"total_spent": "Total Spent",
|
|
"last_order": "Last Order",
|
|
"registered": "Registered",
|
|
"no_customers": "No customers found",
|
|
"search_customers": "Search customers..."
|
|
},
|
|
"permissions": {
|
|
"customers_view": "View Customers",
|
|
"customers_view_desc": "View customer list and details",
|
|
"customers_edit": "Edit Customers",
|
|
"customers_edit_desc": "Modify customer information",
|
|
"customers_delete": "Delete Customers",
|
|
"customers_delete_desc": "Remove customer records",
|
|
"customers_export": "Export Customers",
|
|
"customers_export_desc": "Export customer data to files"
|
|
},
|
|
"messages": {
|
|
"failed_to_toggle_customer_status": "Failed to toggle customer status",
|
|
"failed_to_load_customer_details": "Failed to load customer details",
|
|
"failed_to_load_customer_orders": "Failed to load customer orders"
|
|
},
|
|
"features": {
|
|
"customer_view": {
|
|
"name": "Customer View",
|
|
"description": "View and manage customer information"
|
|
},
|
|
"customer_export": {
|
|
"name": "Customer Export",
|
|
"description": "Export customer data"
|
|
},
|
|
"customer_messaging": {
|
|
"name": "Customer Messaging",
|
|
"description": "Send messages to customers"
|
|
}
|
|
},
|
|
"menu": {
|
|
"store_operations": "Store Operations",
|
|
"customers_section": "Customers",
|
|
"customers": "Customers",
|
|
"all_customers": "All Customers"
|
|
},
|
|
"storefront": {
|
|
"account": {
|
|
"dashboard": "Dashboard",
|
|
"profile": "Profile",
|
|
"addresses": "Addresses",
|
|
"settings": "Settings"
|
|
},
|
|
"pages": {
|
|
"dashboard": {
|
|
"title": "My Account",
|
|
"welcome_back": "Welcome back, {name}!",
|
|
"profile_card_title": "Profile",
|
|
"profile_card_subtitle": "Edit your information",
|
|
"addresses_card_title": "Addresses",
|
|
"addresses_card_subtitle": "Manage addresses",
|
|
"messages_card_title": "Messages",
|
|
"messages_card_subtitle": "Contact support",
|
|
"unread_messages_singular": "{count} unread message",
|
|
"unread_messages_plural": "{count} unread messages",
|
|
"summary_title": "Account Summary",
|
|
"customer_since": "Customer Since",
|
|
"logout": "Logout",
|
|
"logout_confirm_title": "Logout Confirmation",
|
|
"logout_confirm_message": "Are you sure you want to logout? You'll need to sign in again to access your account.",
|
|
"logout_success": "Logged out successfully",
|
|
"logout_failed": "Logout failed"
|
|
},
|
|
"profile": {
|
|
"breadcrumb_account": "My Account",
|
|
"breadcrumb_profile": "Profile",
|
|
"title": "My Profile",
|
|
"subtitle": "Manage your account information and preferences",
|
|
"info_section_title": "Profile Information",
|
|
"info_section_subtitle": "Update your personal details",
|
|
"email_label": "Email Address",
|
|
"save_changes": "Save Changes",
|
|
"saving": "Saving...",
|
|
"prefs_section_title": "Preferences",
|
|
"prefs_section_subtitle": "Manage your account preferences",
|
|
"preferred_language": "Preferred Language",
|
|
"use_shop_default": "Use shop default",
|
|
"marketing_communications": "Marketing Communications",
|
|
"marketing_desc": "Receive emails about new products, offers, and promotions",
|
|
"save_preferences": "Save Preferences",
|
|
"change_password_subtitle": "Update your account password",
|
|
"changing": "Changing...",
|
|
"account_info": "Account Information",
|
|
"member_since": "Member Since",
|
|
"profile_updated": "Profile updated successfully",
|
|
"preferences_updated": "Preferences updated successfully",
|
|
"password_changed": "Password changed successfully",
|
|
"failed_to_load": "Failed to load profile",
|
|
"failed_to_save_profile": "Failed to save profile",
|
|
"failed_to_save_preferences": "Failed to save preferences",
|
|
"failed_to_change_password": "Failed to change password"
|
|
},
|
|
"addresses": {
|
|
"title": "My Addresses",
|
|
"subtitle": "Manage your shipping and billing addresses",
|
|
"add_address": "Add Address",
|
|
"empty_state_title": "No addresses yet",
|
|
"empty_state_subtitle": "Add your first address to speed up checkout.",
|
|
"add_first_address": "Add Your First Address",
|
|
"default_shipping": "Default Shipping",
|
|
"default_billing": "Default Billing",
|
|
"shipping": "Shipping",
|
|
"billing": "Billing",
|
|
"set_default": "Set as Default",
|
|
"edit_address": "Edit Address",
|
|
"add_new_address": "Add New Address",
|
|
"address_type": "Address Type",
|
|
"shipping_address": "Shipping Address",
|
|
"billing_address": "Billing Address",
|
|
"company_optional": "Company (optional)",
|
|
"address_line_1": "Address",
|
|
"address_line_2_optional": "Address Line 2 (optional)",
|
|
"postal_code": "Postal Code",
|
|
"city": "City",
|
|
"country": "Country",
|
|
"set_as_default_shipping": "Set as default shipping address",
|
|
"set_as_default_billing": "Set as default billing address",
|
|
"save_changes": "Save Changes",
|
|
"saving": "Saving...",
|
|
"delete_address": "Delete Address",
|
|
"delete_confirm": "Are you sure you want to delete this address? This action cannot be undone.",
|
|
"deleting": "Deleting...",
|
|
"address_updated": "Address updated",
|
|
"address_added": "Address added",
|
|
"address_deleted": "Address deleted",
|
|
"default_updated": "Default address updated",
|
|
"failed_to_load": "Failed to load addresses. Please try again.",
|
|
"failed_to_save": "Failed to save address. Please try again.",
|
|
"failed_to_delete": "Failed to delete address",
|
|
"failed_to_set_default": "Failed to set default address"
|
|
}
|
|
}
|
|
}
|
|
}
|