Files
Samir Boulahtit adc36246b8
Some checks failed
CI / ruff (push) Successful in 14s
CI / pytest (push) Failing after 2h32m45s
CI / validate (push) Successful in 30s
CI / dependency-scanning (push) Successful in 31s
CI / docs (push) Has been skipped
CI / deploy (push) Has been skipped
feat(storefront): homepage, module gating, widget protocol, i18n fixes
Storefront homepage & module gating:
- CMS owns storefront GET / (slug="home" with 3-tier resolution)
- Catalog loses GET / (keeps /products only)
- Store root redirect (GET / → /store/dashboard or /store/login)
- Route gating: non-core modules return 404 when disabled for platform
- Seed store default homepages per platform

Widget protocol for customer dashboard:
- StorefrontDashboardCard contract in widgets.py
- Widget aggregator get_storefront_dashboard_cards()
- Orders and Loyalty module widget providers
- Dashboard template renders contributed cards (no module names)

Landing template module-agnostic:
- CTAs driven by storefront_nav (not hardcoded module names)
- Header actions check nav item IDs (not enabled_modules)
- Remove hardcoded "Add Product" sidebar button
- Remove all enabled_modules checks from storefront templates

i18n fixes:
- Title placeholder resolution ({{store_name}}) for store default pages
- Storefront nav label_keys prefixed with module code
- Add storefront.account.* keys to 6 modules (en/fr/de/lb)
- Header/footer CMS pages use get_translated_title(current_language)
- Footer labels use i18n keys instead of hardcoded English

Icon cleanup:
- Standardize on map-pin (remove location-marker alias)
- Replace all location-marker references across templates and docs

Docs:
- Storefront builder vision proposal (6 phases)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 22:53:17 +02:00

135 lines
6.0 KiB
JSON

{
"notifications": {
"title": "Benachrichtigungen",
"mark_read": "Als gelesen markieren",
"mark_all_read": "Alle als gelesen markieren",
"no_notifications": "Keine Benachrichtigungen",
"new_order": "Neue Bestellung",
"order_updated": "Bestellung aktualisiert",
"low_stock": "Warnung bei geringem Bestand",
"import_complete": "Import abgeschlossen",
"import_failed": "Import fehlgeschlagen"
},
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert",
"no_template_for_language": "Keine Vorlage für {language} - erstellen Sie eine durch Speichern",
"failed_to_save_template": "Vorlage konnte nicht gespeichert werden",
"test_email_sent": "Test-E-Mail an {email} gesendet"
},
"confirmations": {
"delete_notification": "Sind Sie sicher, dass Sie diese Benachrichtigung löschen möchten?",
"close_conversation": "Diese Konversation schließen?",
"close_conversation_admin": "Sind Sie sicher, dass Sie diese Konversation schließen möchten?",
"delete_customization": "Sind Sie sicher, dass Sie Ihre Anpassung löschen und zur Plattform-Standardvorlage zurückkehren möchten?"
},
"features": {
"messaging_basic": {
"name": "Basis-Nachrichten",
"description": "Grundlegende Nachrichtenfunktionalität"
},
"email_templates": {
"name": "E-Mail-Vorlagen",
"description": "Anpassbare E-Mail-Vorlagen"
},
"bulk_messaging": {
"name": "Massennachrichten",
"description": "Massennachrichten an Kunden senden"
}
},
"menu": {
"platform_admin": "Plattform-Administration",
"platform_monitoring": "Plattform-Überwachung",
"platform_settings": "Plattform-Einstellungen",
"customers": "Kunden",
"account_settings": "Kontoeinstellungen",
"messages": "Nachrichten",
"notifications": "Benachrichtigungen",
"email_templates": "E-Mail-Vorlagen",
"email_logs": "E-Mail-Protokolle"
},
"email_logs": {
"title": "E-Mail-Protokolle",
"subtitle": "Alle über die Plattform gesendeten E-Mails prüfen",
"recipient": "Empfänger",
"subject": "Betreff",
"template": "Vorlage",
"status": "Status",
"store": "Shop",
"date": "Datum",
"sent_at": "Gesendet am",
"provider": "Anbieter",
"from": "Von",
"to": "An",
"reply_to": "Antwort an",
"related_entity": "Verknüpfte Entität",
"error_message": "Fehlermeldung",
"retry_count": "Wiederholungsversuche",
"actions": "Aktionen",
"view_detail": "Details anzeigen",
"email_detail": "E-Mail-Detail",
"html_preview": "HTML-Vorschau",
"text_preview": "Text-Vorschau",
"metadata": "Metadaten",
"content": "Inhalt",
"status_timeline": "Status-Verlauf",
"filter_by_recipient": "Nach Empfänger-E-Mail suchen...",
"filter_by_status": "Alle Status",
"filter_by_template": "Alle Vorlagen",
"filter_by_store": "Alle Shops",
"date_from": "Von Datum",
"date_to": "Bis Datum",
"apply_filters": "Anwenden",
"reset_filters": "Zurücksetzen",
"total_sent": "Gesamt gesendet",
"total_failed": "Fehlgeschlagen",
"total_pending": "Ausstehend",
"total_delivered": "Zugestellt",
"no_logs": "Keine E-Mail-Protokolle gefunden",
"status_sent": "Gesendet",
"status_failed": "Fehlgeschlagen",
"status_pending": "Ausstehend",
"status_delivered": "Zugestellt",
"status_bounced": "Abgewiesen",
"status_opened": "Geöffnet",
"status_clicked": "Angeklickt",
"retention_note": "E-Mail-Inhalte werden 90 Tage aufbewahrt. Metadaten werden unbegrenzt gespeichert."
},
"permissions": {
"view_messages": "Nachrichten anzeigen",
"view_messages_desc": "Nachrichten und Konversationen anzeigen",
"send_messages": "Nachrichten senden",
"send_messages_desc": "Nachrichten an Kunden senden",
"manage_templates": "Vorlagen verwalten",
"manage_templates_desc": "Nachrichtenvorlagen erstellen und bearbeiten"
},
"storefront": {
"account": {
"messages": "Nachrichten"
}
}
}