Files
orion/app/modules/messaging/locales/fr.json
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": "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"
}
}
}