Some checks failed
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>
135 lines
6.0 KiB
JSON
135 lines
6.0 KiB
JSON
{
|
|
"notifications": {
|
|
"title": "Notifications",
|
|
"mark_read": "Marquer comme lu",
|
|
"mark_all_read": "Tout marquer comme lu",
|
|
"no_notifications": "Aucune notification",
|
|
"new_order": "Nouvelle commande",
|
|
"order_updated": "Commande mise à jour",
|
|
"low_stock": "Alerte stock faible",
|
|
"import_complete": "Importation terminée",
|
|
"import_failed": "Échec de l'importation"
|
|
},
|
|
"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": "Pas de modèle pour {language} - créez-en un en enregistrant",
|
|
"failed_to_save_template": "Échec de l'enregistrement du modèle",
|
|
"test_email_sent": "E-mail de test envoyé à {email}"
|
|
},
|
|
"confirmations": {
|
|
"delete_notification": "Êtes-vous sûr de vouloir supprimer cette notification ?",
|
|
"close_conversation": "Fermer cette conversation ?",
|
|
"close_conversation_admin": "Êtes-vous sûr de vouloir fermer cette conversation ?",
|
|
"delete_customization": "Êtes-vous sûr de vouloir supprimer votre personnalisation et revenir au modèle par défaut de la plateforme ?"
|
|
},
|
|
"features": {
|
|
"messaging_basic": {
|
|
"name": "Messagerie de base",
|
|
"description": "Fonctionnalité de messagerie de base"
|
|
},
|
|
"email_templates": {
|
|
"name": "Modèles d'e-mail",
|
|
"description": "Modèles d'e-mail personnalisables"
|
|
},
|
|
"bulk_messaging": {
|
|
"name": "Messagerie en masse",
|
|
"description": "Envoyer des messages en masse aux clients"
|
|
}
|
|
},
|
|
"menu": {
|
|
"platform_admin": "Administration de la plateforme",
|
|
"platform_monitoring": "Surveillance de la plateforme",
|
|
"platform_settings": "Paramètres de la plateforme",
|
|
"customers": "Clients",
|
|
"account_settings": "Paramètres du compte",
|
|
"messages": "Messages",
|
|
"notifications": "Notifications",
|
|
"email_templates": "Modèles d'e-mail",
|
|
"email_logs": "Journaux d'e-mails"
|
|
},
|
|
"email_logs": {
|
|
"title": "Journaux d'e-mails",
|
|
"subtitle": "Auditer tous les e-mails envoyés via la plateforme",
|
|
"recipient": "Destinataire",
|
|
"subject": "Objet",
|
|
"template": "Modèle",
|
|
"status": "Statut",
|
|
"store": "Boutique",
|
|
"date": "Date",
|
|
"sent_at": "Envoyé le",
|
|
"provider": "Fournisseur",
|
|
"from": "De",
|
|
"to": "À",
|
|
"reply_to": "Répondre à",
|
|
"related_entity": "Entité liée",
|
|
"error_message": "Message d'erreur",
|
|
"retry_count": "Tentatives",
|
|
"actions": "Actions",
|
|
"view_detail": "Voir le détail",
|
|
"email_detail": "Détail de l'e-mail",
|
|
"html_preview": "Aperçu HTML",
|
|
"text_preview": "Aperçu texte",
|
|
"metadata": "Métadonnées",
|
|
"content": "Contenu",
|
|
"status_timeline": "Chronologie du statut",
|
|
"filter_by_recipient": "Rechercher par e-mail du destinataire...",
|
|
"filter_by_status": "Tous les statuts",
|
|
"filter_by_template": "Tous les modèles",
|
|
"filter_by_store": "Toutes les boutiques",
|
|
"date_from": "Date de début",
|
|
"date_to": "Date de fin",
|
|
"apply_filters": "Appliquer",
|
|
"reset_filters": "Réinitialiser",
|
|
"total_sent": "Total envoyés",
|
|
"total_failed": "Échoués",
|
|
"total_pending": "En attente",
|
|
"total_delivered": "Livrés",
|
|
"no_logs": "Aucun journal d'e-mail trouvé",
|
|
"status_sent": "Envoyé",
|
|
"status_failed": "Échoué",
|
|
"status_pending": "En attente",
|
|
"status_delivered": "Livré",
|
|
"status_bounced": "Rebondi",
|
|
"status_opened": "Ouvert",
|
|
"status_clicked": "Cliqué",
|
|
"retention_note": "Le contenu des e-mails est conservé pendant 90 jours. Les métadonnées sont conservées indéfiniment."
|
|
},
|
|
"permissions": {
|
|
"view_messages": "Voir les messages",
|
|
"view_messages_desc": "Voir les messages et conversations",
|
|
"send_messages": "Envoyer des messages",
|
|
"send_messages_desc": "Envoyer des messages aux clients",
|
|
"manage_templates": "Gérer les modèles",
|
|
"manage_templates_desc": "Créer et modifier les modèles de messages"
|
|
},
|
|
"storefront": {
|
|
"account": {
|
|
"messages": "Messages"
|
|
}
|
|
}
|
|
}
|