i18n(broadcast): extend with list_view sub-namespace

Adds list_view: page title + subtitle, settings/new-campaign actions,
4 stats (sent-year + campaigns sub, avg open/click + "über alle
Kampagnen" sub, Entwürfe + "in Arbeit"), filter chip "Alle", search
placeholder, empty states (heading/body/action + no-match), row
"{n} Empfänger" + open-rate tooltip.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-27 14:33:25 +02:00
parent e89958e9c7
commit 54f84de6dd
5 changed files with 105 additions and 0 deletions

View file

@ -27,6 +27,27 @@
"section_preview": "Wie die Kampagne aussah",
"confirm_cancel_scheduled": "Geplante Kampagne abbrechen?"
},
"list_view": {
"title": "Broadcasts",
"subtitle": "Newsletter und Kampagnen an deine Kontakte",
"action_settings": "Einstellungen",
"action_new": "+ Neue Kampagne",
"stat_sent_year": "Versendet {year}",
"stat_campaigns": "Kampagnen",
"stat_avg_open": "Ø Öffnungsrate",
"stat_avg_click": "Ø Klickrate",
"stat_over_all": "über alle Kampagnen",
"stat_drafts": "Entwürfe",
"stat_drafts_sub": "in Arbeit",
"chip_all": "Alle",
"search_placeholder": "Suchen (Name oder Betreff)",
"empty_heading": "Noch keine Kampagnen",
"empty_body": "Verschicke deinen ersten Newsletter — mit Rich-Text-Editor, Tracking und DSGVO-konformem Abmelden.",
"empty_action": "Erste Kampagne",
"empty_no_match": "Keine Kampagnen gefunden.",
"row_recipients": "{n} Empfänger",
"row_open_rate_title": "Öffnungsrate"
},
"compose_view": {
"default_name": "Neue Kampagne",
"name_placeholder": "Kampagnen-Name",

View file

@ -27,6 +27,27 @@
"section_preview": "What the campaign looked like",
"confirm_cancel_scheduled": "Cancel scheduled campaign?"
},
"list_view": {
"title": "Broadcasts",
"subtitle": "Newsletters and campaigns to your contacts",
"action_settings": "Settings",
"action_new": "+ New campaign",
"stat_sent_year": "Sent {year}",
"stat_campaigns": "Campaigns",
"stat_avg_open": "Avg open rate",
"stat_avg_click": "Avg click rate",
"stat_over_all": "across all campaigns",
"stat_drafts": "Drafts",
"stat_drafts_sub": "in progress",
"chip_all": "All",
"search_placeholder": "Search (name or subject)",
"empty_heading": "No campaigns yet",
"empty_body": "Send your first newsletter — with a rich-text editor, tracking, and GDPR-compliant unsubscribe.",
"empty_action": "First campaign",
"empty_no_match": "No campaigns found.",
"row_recipients": "{n} recipients",
"row_open_rate_title": "Open rate"
},
"compose_view": {
"default_name": "New campaign",
"name_placeholder": "Campaign name",

View file

@ -27,6 +27,27 @@
"section_preview": "Cómo se veía la campaña",
"confirm_cancel_scheduled": "¿Cancelar la campaña programada?"
},
"list_view": {
"title": "Broadcasts",
"subtitle": "Boletines y campañas para tus contactos",
"action_settings": "Ajustes",
"action_new": "+ Nueva campaña",
"stat_sent_year": "Enviadas {year}",
"stat_campaigns": "Campañas",
"stat_avg_open": "Tasa de apertura prom.",
"stat_avg_click": "Tasa de clic prom.",
"stat_over_all": "en todas las campañas",
"stat_drafts": "Borradores",
"stat_drafts_sub": "en curso",
"chip_all": "Todas",
"search_placeholder": "Buscar (nombre o asunto)",
"empty_heading": "Aún no hay campañas",
"empty_body": "Envía tu primer boletín — con editor enriquecido, seguimiento y baja conforme a RGPD.",
"empty_action": "Primera campaña",
"empty_no_match": "No se encontraron campañas.",
"row_recipients": "{n} destinatarios",
"row_open_rate_title": "Tasa de apertura"
},
"compose_view": {
"default_name": "Nueva campaña",
"name_placeholder": "Nombre de la campaña",

View file

@ -27,6 +27,27 @@
"section_preview": "À quoi ressemblait la campagne",
"confirm_cancel_scheduled": "Annuler la campagne planifiée ?"
},
"list_view": {
"title": "Broadcasts",
"subtitle": "Newsletters et campagnes pour tes contacts",
"action_settings": "Paramètres",
"action_new": "+ Nouvelle campagne",
"stat_sent_year": "Envoyés {year}",
"stat_campaigns": "Campagnes",
"stat_avg_open": "Taux d'ouverture moy.",
"stat_avg_click": "Taux de clic moy.",
"stat_over_all": "sur toutes les campagnes",
"stat_drafts": "Brouillons",
"stat_drafts_sub": "en cours",
"chip_all": "Toutes",
"search_placeholder": "Rechercher (nom ou objet)",
"empty_heading": "Pas encore de campagnes",
"empty_body": "Envoie ta première newsletter — avec un éditeur rich-text, du tracking et un désabonnement conforme au RGPD.",
"empty_action": "Première campagne",
"empty_no_match": "Aucune campagne trouvée.",
"row_recipients": "{n} destinataires",
"row_open_rate_title": "Taux d'ouverture"
},
"compose_view": {
"default_name": "Nouvelle campagne",
"name_placeholder": "Nom de la campagne",

View file

@ -27,6 +27,27 @@
"section_preview": "Come appariva la campagna",
"confirm_cancel_scheduled": "Annullare la campagna pianificata?"
},
"list_view": {
"title": "Broadcasts",
"subtitle": "Newsletter e campagne per i tuoi contatti",
"action_settings": "Impostazioni",
"action_new": "+ Nuova campagna",
"stat_sent_year": "Inviate {year}",
"stat_campaigns": "Campagne",
"stat_avg_open": "Tasso apertura medio",
"stat_avg_click": "Tasso click medio",
"stat_over_all": "su tutte le campagne",
"stat_drafts": "Bozze",
"stat_drafts_sub": "in corso",
"chip_all": "Tutte",
"search_placeholder": "Cerca (nome o oggetto)",
"empty_heading": "Nessuna campagna",
"empty_body": "Invia la tua prima newsletter — con editor rich-text, tracking e disiscrizione conforme al GDPR.",
"empty_action": "Prima campagna",
"empty_no_match": "Nessuna campagna trovata.",
"row_recipients": "{n} destinatari",
"row_open_rate_title": "Tasso di apertura"
},
"compose_view": {
"default_name": "Nuova campagna",
"name_placeholder": "Nome della campagna",