Newsletter-Listen: Empfaengerlisten filtern, speichern und exportieren
Admin-Bereich "Newsletter-Listen" (Plan dev/_tickets/entwicklungsplan- newsletter-listen.md): Berater und Kunden nach Filtern zusammenstellen, als Liste speichern und wieder laden, Export als XLSX/CSV. Jeder Export wird protokolliert (newsletter_list_exports). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ef7e333bd4
commit
d21d94a060
26 changed files with 3664 additions and 0 deletions
|
|
@ -94,4 +94,8 @@ return [
|
|||
'team_customers' => 'Team Kunden',
|
||||
'payment_monitor' => 'Payment Monitor',
|
||||
'payment_monitor_management' => 'Payment Monitor GF',
|
||||
'newsletter_lists' => 'Newsletter-Listen',
|
||||
'newsletter_create' => 'Liste erstellen',
|
||||
'newsletter_saved' => 'Gespeicherte Listen',
|
||||
'newsletter_exports' => 'Export-Protokoll',
|
||||
];
|
||||
|
|
|
|||
158
resources/lang/de/newsletter.php
Normal file
158
resources/lang/de/newsletter.php
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Newsletter-Listen',
|
||||
'intro' => 'Empfängerliste aus Kunden und Beratern zusammenstellen, prüfen und für rapidmail exportieren. Gelöschte, anonymisierte, Fake- und Test-Datensätze werden immer ausgeschlossen, doppelte E-Mail-Adressen automatisch entfernt.',
|
||||
'filter' => [
|
||||
'source' => 'Quelle',
|
||||
'language' => 'Sprache',
|
||||
'country' => 'Land',
|
||||
'optin' => 'Newsletter-Opt-in',
|
||||
'purchase' => 'Kaufstatus',
|
||||
'member' => 'Zugeordneter Berater / Sponsor',
|
||||
'created_from' => 'Angelegt von',
|
||||
'created_to' => 'Angelegt bis',
|
||||
'company' => 'Firma',
|
||||
'consultant_status' => 'Berater-Status',
|
||||
'level' => 'Karriere-Level',
|
||||
'include_admins' => 'Admin-Accounts einbeziehen',
|
||||
'all' => 'alle',
|
||||
'none_member' => 'ohne Zuordnung',
|
||||
'consultant_section' => 'Berater-Filter',
|
||||
'refresh' => 'Vorschau aktualisieren',
|
||||
'reset' => 'Filter zurücksetzen',
|
||||
],
|
||||
'source_option' => [
|
||||
'customers' => 'Kunden',
|
||||
'consultants' => 'Berater',
|
||||
'both' => 'Kunden und Berater',
|
||||
],
|
||||
'source' => [
|
||||
'customer' => 'Kunde',
|
||||
'consultant' => 'Berater',
|
||||
],
|
||||
'optin_option' => [
|
||||
'all' => 'alle (Opt-in wird als Spalte ausgegeben)',
|
||||
'subscribed' => 'nur mit Opt-in',
|
||||
'unsubscribed' => 'nur ohne Opt-in',
|
||||
],
|
||||
'optin_value' => [
|
||||
'yes' => 'ja',
|
||||
'no' => 'nein',
|
||||
'contract' => 'Vertrag',
|
||||
],
|
||||
'purchase_option' => [
|
||||
'all' => 'alle',
|
||||
'has_buyed' => 'hat gekauft',
|
||||
'none' => 'noch nie gekauft',
|
||||
'months_3' => 'gekauft in den letzten 3 Monaten',
|
||||
'months_6' => 'gekauft in den letzten 6 Monaten',
|
||||
'months_12' => 'gekauft in den letzten 12 Monaten',
|
||||
'active_abo' => 'hat aktives Abo',
|
||||
],
|
||||
'company_option' => [
|
||||
'all' => 'alle',
|
||||
'with' => 'nur mit Firma',
|
||||
'without' => 'nur ohne Firma',
|
||||
],
|
||||
'consultant_status_option' => [
|
||||
'active' => 'nur aktive',
|
||||
'inactive' => 'nur inaktive',
|
||||
'all' => 'alle',
|
||||
],
|
||||
'status_value' => [
|
||||
'active' => 'aktiv',
|
||||
'inactive' => 'inaktiv',
|
||||
],
|
||||
'stats' => [
|
||||
'total' => 'eindeutige Adressen',
|
||||
'customers' => 'Kunden',
|
||||
'consultants' => 'Berater',
|
||||
'duplicates' => 'Duplikate entfernt',
|
||||
'invalid' => 'ungültige Adressen',
|
||||
'loading' => 'Liste wird berechnet …',
|
||||
],
|
||||
'hint' => [
|
||||
'optin_all' => 'Die Liste enthält auch Kunden ohne Newsletter-Opt-in. Die Spalte „Newsletter" kennzeichnet den Status je Adresse.',
|
||||
'consultants_contract' => 'Berater haben kein eigenes Opt-in; Grundlage ist der Beratervertrag (Spalte „Newsletter" = Vertrag).',
|
||||
],
|
||||
'export' => [
|
||||
'email' => 'Emailadresse',
|
||||
'firstname' => 'Vorname',
|
||||
'lastname' => 'Nachname',
|
||||
'salutation_label' => 'Anrede',
|
||||
'street' => 'Straße',
|
||||
'zipcode' => 'PLZ',
|
||||
'city' => 'Wohnort',
|
||||
'company' => 'Firma',
|
||||
'consultant' => 'Berater',
|
||||
'country' => 'Land',
|
||||
'language' => 'Sprache',
|
||||
'source_label' => 'Quelle',
|
||||
'number' => 'Nummer',
|
||||
'consultant_number' => 'Berater-Nr.',
|
||||
'optin_label' => 'Newsletter',
|
||||
'status_label' => 'Status',
|
||||
'created_at' => 'Angelegt',
|
||||
'button_xlsx' => 'Export XLSX',
|
||||
'button_csv' => 'Export CSV',
|
||||
'template_only' => 'Nur die 9 Spalten der Vorlage exportieren',
|
||||
],
|
||||
'table' => [
|
||||
'email' => 'E-Mail',
|
||||
'name' => 'Name',
|
||||
'salutation' => 'Anrede',
|
||||
'zipcode' => 'PLZ',
|
||||
'city' => 'Ort',
|
||||
'country' => 'Land',
|
||||
'language' => 'Sprache',
|
||||
'consultant' => 'Berater / Sponsor',
|
||||
'source' => 'Quelle',
|
||||
'optin' => 'Newsletter',
|
||||
'status' => 'Status',
|
||||
'created' => 'Angelegt',
|
||||
],
|
||||
'saved' => [
|
||||
'title' => 'Gespeicherte Listen',
|
||||
'current' => 'Geladene Liste',
|
||||
'name' => 'Name',
|
||||
'name_placeholder' => 'z. B. Newsletter DE Kunden',
|
||||
'save_new' => 'Als neue Liste speichern',
|
||||
'save_changes' => 'Änderungen in dieser Liste speichern',
|
||||
'summary' => 'Filter',
|
||||
'source' => 'Quelle',
|
||||
'last_export' => 'Letzter Export',
|
||||
'last_count' => 'Adressen',
|
||||
'created_by' => 'Angelegt von',
|
||||
'created_at' => 'Angelegt',
|
||||
'actions' => 'Aktionen',
|
||||
'load' => 'Filter laden',
|
||||
'delete' => 'Löschen',
|
||||
'confirm_delete' => 'Liste wirklich löschen? Das Export-Protokoll bleibt erhalten.',
|
||||
'stored' => 'Liste gespeichert.',
|
||||
'updated' => 'Liste aktualisiert.',
|
||||
'deleted' => 'Liste gelöscht.',
|
||||
'intro' => 'Gespeicherte Filterkombinationen. Über „Filter laden" wird die Liste in die Vorschau übernommen, der Export nutzt die hinterlegten Filter.',
|
||||
],
|
||||
'exports' => [
|
||||
'title' => 'Export-Protokoll',
|
||||
'intro' => 'Jeder Download wird mit Benutzer, Zeitpunkt, Filter und Anzahl der Adressen festgehalten.',
|
||||
'date' => 'Datum',
|
||||
'user' => 'Benutzer',
|
||||
'list' => 'Liste',
|
||||
'adhoc' => 'ohne gespeicherte Liste',
|
||||
'summary' => 'Filter',
|
||||
'format' => 'Format',
|
||||
'rows' => 'Adressen',
|
||||
'filename' => 'Datei',
|
||||
],
|
||||
'validation' => [
|
||||
'source' => 'Ungültige Quelle.',
|
||||
'option' => 'Ungültiger Filterwert.',
|
||||
'member' => 'Ungültige Berater-Auswahl.',
|
||||
'date' => 'Ungültiges Datum.',
|
||||
'name' => 'Bitte einen Namen angeben (max. 120 Zeichen).',
|
||||
'list' => 'Liste nicht gefunden.',
|
||||
'date_range' => 'Das Enddatum darf nicht vor dem Startdatum liegen.',
|
||||
],
|
||||
];
|
||||
|
|
@ -94,4 +94,8 @@ return [
|
|||
'team_customers' => 'Team Customers',
|
||||
'payment_monitor' => 'Payment Monitor',
|
||||
'payment_monitor_management' => 'Payment Monitor (Mgmt)',
|
||||
'newsletter_lists' => 'Newsletter lists',
|
||||
'newsletter_create' => 'Create list',
|
||||
'newsletter_saved' => 'Saved lists',
|
||||
'newsletter_exports' => 'Export log',
|
||||
];
|
||||
|
|
|
|||
158
resources/lang/en/newsletter.php
Normal file
158
resources/lang/en/newsletter.php
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Newsletter lists',
|
||||
'intro' => 'Build a recipient list from customers and consultants, review it and export it for rapidmail. Deleted, anonymised, fake and test records are always excluded; duplicate e-mail addresses are removed automatically.',
|
||||
'filter' => [
|
||||
'source' => 'Source',
|
||||
'language' => 'Language',
|
||||
'country' => 'Country',
|
||||
'optin' => 'Newsletter opt-in',
|
||||
'purchase' => 'Purchase status',
|
||||
'member' => 'Assigned consultant / sponsor',
|
||||
'created_from' => 'Created from',
|
||||
'created_to' => 'Created until',
|
||||
'company' => 'Company',
|
||||
'consultant_status' => 'Consultant status',
|
||||
'level' => 'Career level',
|
||||
'include_admins' => 'Include admin accounts',
|
||||
'all' => 'all',
|
||||
'none_member' => 'without assignment',
|
||||
'consultant_section' => 'Consultant filters',
|
||||
'refresh' => 'Refresh preview',
|
||||
'reset' => 'Reset filters',
|
||||
],
|
||||
'source_option' => [
|
||||
'customers' => 'Customers',
|
||||
'consultants' => 'Consultants',
|
||||
'both' => 'Customers and consultants',
|
||||
],
|
||||
'source' => [
|
||||
'customer' => 'Customer',
|
||||
'consultant' => 'Consultant',
|
||||
],
|
||||
'optin_option' => [
|
||||
'all' => 'all (opt-in is exported as a column)',
|
||||
'subscribed' => 'only with opt-in',
|
||||
'unsubscribed' => 'only without opt-in',
|
||||
],
|
||||
'optin_value' => [
|
||||
'yes' => 'yes',
|
||||
'no' => 'no',
|
||||
'contract' => 'contract',
|
||||
],
|
||||
'purchase_option' => [
|
||||
'all' => 'all',
|
||||
'has_buyed' => 'has purchased',
|
||||
'none' => 'never purchased',
|
||||
'months_3' => 'purchased in the last 3 months',
|
||||
'months_6' => 'purchased in the last 6 months',
|
||||
'months_12' => 'purchased in the last 12 months',
|
||||
'active_abo' => 'has an active subscription',
|
||||
],
|
||||
'company_option' => [
|
||||
'all' => 'all',
|
||||
'with' => 'only with company',
|
||||
'without' => 'only without company',
|
||||
],
|
||||
'consultant_status_option' => [
|
||||
'active' => 'active only',
|
||||
'inactive' => 'inactive only',
|
||||
'all' => 'all',
|
||||
],
|
||||
'status_value' => [
|
||||
'active' => 'active',
|
||||
'inactive' => 'inactive',
|
||||
],
|
||||
'stats' => [
|
||||
'total' => 'unique addresses',
|
||||
'customers' => 'customers',
|
||||
'consultants' => 'consultants',
|
||||
'duplicates' => 'duplicates removed',
|
||||
'invalid' => 'invalid addresses',
|
||||
'loading' => 'Calculating list …',
|
||||
],
|
||||
'hint' => [
|
||||
'optin_all' => 'The list also contains customers without newsletter opt-in. The "Newsletter" column marks the status per address.',
|
||||
'consultants_contract' => 'Consultants have no separate opt-in; the legal basis is the consultant contract ("Newsletter" column = contract).',
|
||||
],
|
||||
'export' => [
|
||||
'email' => 'Email address',
|
||||
'firstname' => 'First name',
|
||||
'lastname' => 'Last name',
|
||||
'salutation_label' => 'Salutation',
|
||||
'street' => 'Street',
|
||||
'zipcode' => 'Postcode',
|
||||
'city' => 'City',
|
||||
'company' => 'Company',
|
||||
'consultant' => 'Consultant',
|
||||
'country' => 'Country',
|
||||
'language' => 'Language',
|
||||
'source_label' => 'Source',
|
||||
'number' => 'Number',
|
||||
'consultant_number' => 'Consultant no.',
|
||||
'optin_label' => 'Newsletter',
|
||||
'status_label' => 'Status',
|
||||
'created_at' => 'Created',
|
||||
'button_xlsx' => 'Export XLSX',
|
||||
'button_csv' => 'Export CSV',
|
||||
'template_only' => 'Export only the 9 template columns',
|
||||
],
|
||||
'table' => [
|
||||
'email' => 'E-mail',
|
||||
'name' => 'Name',
|
||||
'salutation' => 'Salutation',
|
||||
'zipcode' => 'Postcode',
|
||||
'city' => 'City',
|
||||
'country' => 'Country',
|
||||
'language' => 'Language',
|
||||
'consultant' => 'Consultant / sponsor',
|
||||
'source' => 'Source',
|
||||
'optin' => 'Newsletter',
|
||||
'status' => 'Status',
|
||||
'created' => 'Created',
|
||||
],
|
||||
'saved' => [
|
||||
'title' => 'Saved lists',
|
||||
'current' => 'Loaded list',
|
||||
'name' => 'Name',
|
||||
'name_placeholder' => 'e.g. Newsletter DE customers',
|
||||
'save_new' => 'Save as new list',
|
||||
'save_changes' => 'Save changes to this list',
|
||||
'summary' => 'Filters',
|
||||
'source' => 'Source',
|
||||
'last_export' => 'Last export',
|
||||
'last_count' => 'Addresses',
|
||||
'created_by' => 'Created by',
|
||||
'created_at' => 'Created',
|
||||
'actions' => 'Actions',
|
||||
'load' => 'Load filters',
|
||||
'delete' => 'Delete',
|
||||
'confirm_delete' => 'Really delete this list? The export log is kept.',
|
||||
'stored' => 'List saved.',
|
||||
'updated' => 'List updated.',
|
||||
'deleted' => 'List deleted.',
|
||||
'intro' => 'Saved filter combinations. "Load filters" puts the list into the preview; the export uses the stored filters.',
|
||||
],
|
||||
'exports' => [
|
||||
'title' => 'Export log',
|
||||
'intro' => 'Every download is recorded with user, time, filters and number of addresses.',
|
||||
'date' => 'Date',
|
||||
'user' => 'User',
|
||||
'list' => 'List',
|
||||
'adhoc' => 'without saved list',
|
||||
'summary' => 'Filters',
|
||||
'format' => 'Format',
|
||||
'rows' => 'Addresses',
|
||||
'filename' => 'File',
|
||||
],
|
||||
'validation' => [
|
||||
'source' => 'Invalid source.',
|
||||
'option' => 'Invalid filter value.',
|
||||
'member' => 'Invalid consultant selection.',
|
||||
'date' => 'Invalid date.',
|
||||
'name' => 'Please enter a name (max. 120 characters).',
|
||||
'list' => 'List not found.',
|
||||
'date_range' => 'The end date must not be before the start date.',
|
||||
],
|
||||
];
|
||||
|
|
@ -95,4 +95,8 @@ return [
|
|||
'my_statistics' => 'Mi estadística',
|
||||
'team_statistics' => 'Estadística del equipo',
|
||||
'withdrawals' => 'Desistimientos',
|
||||
'newsletter_lists' => 'Listas de newsletter',
|
||||
'newsletter_create' => 'Crear lista',
|
||||
'newsletter_saved' => 'Listas guardadas',
|
||||
'newsletter_exports' => 'Registro de exportaciones',
|
||||
];
|
||||
|
|
|
|||
158
resources/lang/es/newsletter.php
Normal file
158
resources/lang/es/newsletter.php
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Listas de newsletter',
|
||||
'intro' => 'Crea una lista de destinatarios a partir de clientes y tutores, revísala y expórtala para rapidmail. Los registros eliminados, anonimizados, falsos y de prueba se excluyen siempre; las direcciones duplicadas se eliminan automáticamente.',
|
||||
'filter' => [
|
||||
'source' => 'Fuente',
|
||||
'language' => 'Idioma',
|
||||
'country' => 'País',
|
||||
'optin' => 'Opt-in newsletter',
|
||||
'purchase' => 'Estado de compra',
|
||||
'member' => 'Tutor / patrocinador asignado',
|
||||
'created_from' => 'Creado desde',
|
||||
'created_to' => 'Creado hasta',
|
||||
'company' => 'Empresa',
|
||||
'consultant_status' => 'Estado del tutor',
|
||||
'level' => 'Nivel de carrera',
|
||||
'include_admins' => 'Incluir cuentas de administrador',
|
||||
'all' => 'todos',
|
||||
'none_member' => 'sin asignación',
|
||||
'consultant_section' => 'Filtros de tutores',
|
||||
'refresh' => 'Actualizar vista previa',
|
||||
'reset' => 'Restablecer filtros',
|
||||
],
|
||||
'source_option' => [
|
||||
'customers' => 'Clientes',
|
||||
'consultants' => 'Tutores',
|
||||
'both' => 'Clientes y tutores',
|
||||
],
|
||||
'source' => [
|
||||
'customer' => 'Cliente',
|
||||
'consultant' => 'Tutor',
|
||||
],
|
||||
'optin_option' => [
|
||||
'all' => 'todos (el opt-in se exporta como columna)',
|
||||
'subscribed' => 'solo con opt-in',
|
||||
'unsubscribed' => 'solo sin opt-in',
|
||||
],
|
||||
'optin_value' => [
|
||||
'yes' => 'sí',
|
||||
'no' => 'no',
|
||||
'contract' => 'contrato',
|
||||
],
|
||||
'purchase_option' => [
|
||||
'all' => 'todos',
|
||||
'has_buyed' => 'ha comprado',
|
||||
'none' => 'nunca ha comprado',
|
||||
'months_3' => 'compró en los últimos 3 meses',
|
||||
'months_6' => 'compró en los últimos 6 meses',
|
||||
'months_12' => 'compró en los últimos 12 meses',
|
||||
'active_abo' => 'tiene una suscripción activa',
|
||||
],
|
||||
'company_option' => [
|
||||
'all' => 'todos',
|
||||
'with' => 'solo con empresa',
|
||||
'without' => 'solo sin empresa',
|
||||
],
|
||||
'consultant_status_option' => [
|
||||
'active' => 'solo activos',
|
||||
'inactive' => 'solo inactivos',
|
||||
'all' => 'todos',
|
||||
],
|
||||
'status_value' => [
|
||||
'active' => 'activo',
|
||||
'inactive' => 'inactivo',
|
||||
],
|
||||
'stats' => [
|
||||
'total' => 'direcciones únicas',
|
||||
'customers' => 'clientes',
|
||||
'consultants' => 'tutores',
|
||||
'duplicates' => 'duplicados eliminados',
|
||||
'invalid' => 'direcciones no válidas',
|
||||
'loading' => 'Calculando la lista …',
|
||||
],
|
||||
'hint' => [
|
||||
'optin_all' => 'La lista también contiene clientes sin opt-in de newsletter. La columna «Newsletter» indica el estado de cada dirección.',
|
||||
'consultants_contract' => 'Los tutores no tienen opt-in propio; la base es el contrato de tutor (columna «Newsletter» = contrato).',
|
||||
],
|
||||
'export' => [
|
||||
'email' => 'Correo electrónico',
|
||||
'firstname' => 'Nombre',
|
||||
'lastname' => 'Apellidos',
|
||||
'salutation_label' => 'Tratamiento',
|
||||
'street' => 'Calle',
|
||||
'zipcode' => 'Código postal',
|
||||
'city' => 'Ciudad',
|
||||
'company' => 'Empresa',
|
||||
'consultant' => 'Tutor',
|
||||
'country' => 'País',
|
||||
'language' => 'Idioma',
|
||||
'source_label' => 'Fuente',
|
||||
'number' => 'Número',
|
||||
'consultant_number' => 'N.º de tutor',
|
||||
'optin_label' => 'Newsletter',
|
||||
'status_label' => 'Estado',
|
||||
'created_at' => 'Creado',
|
||||
'button_xlsx' => 'Exportar XLSX',
|
||||
'button_csv' => 'Exportar CSV',
|
||||
'template_only' => 'Exportar solo las 9 columnas de la plantilla',
|
||||
],
|
||||
'table' => [
|
||||
'email' => 'Correo',
|
||||
'name' => 'Nombre',
|
||||
'salutation' => 'Tratamiento',
|
||||
'zipcode' => 'CP',
|
||||
'city' => 'Ciudad',
|
||||
'country' => 'País',
|
||||
'language' => 'Idioma',
|
||||
'consultant' => 'Tutor / patrocinador',
|
||||
'source' => 'Fuente',
|
||||
'optin' => 'Newsletter',
|
||||
'status' => 'Estado',
|
||||
'created' => 'Creado',
|
||||
],
|
||||
'saved' => [
|
||||
'title' => 'Listas guardadas',
|
||||
'current' => 'Lista cargada',
|
||||
'name' => 'Nombre',
|
||||
'name_placeholder' => 'p. ej. Newsletter DE clientes',
|
||||
'save_new' => 'Guardar como lista nueva',
|
||||
'save_changes' => 'Guardar cambios en esta lista',
|
||||
'summary' => 'Filtros',
|
||||
'source' => 'Fuente',
|
||||
'last_export' => 'Última exportación',
|
||||
'last_count' => 'Direcciones',
|
||||
'created_by' => 'Creado por',
|
||||
'created_at' => 'Creado',
|
||||
'actions' => 'Acciones',
|
||||
'load' => 'Cargar filtros',
|
||||
'delete' => 'Eliminar',
|
||||
'confirm_delete' => '¿Eliminar esta lista? El registro de exportaciones se conserva.',
|
||||
'stored' => 'Lista guardada.',
|
||||
'updated' => 'Lista actualizada.',
|
||||
'deleted' => 'Lista eliminada.',
|
||||
'intro' => 'Combinaciones de filtros guardadas. «Cargar filtros» lleva la lista a la vista previa; la exportación usa los filtros guardados.',
|
||||
],
|
||||
'exports' => [
|
||||
'title' => 'Registro de exportaciones',
|
||||
'intro' => 'Cada descarga se registra con usuario, fecha, filtros y número de direcciones.',
|
||||
'date' => 'Fecha',
|
||||
'user' => 'Usuario',
|
||||
'list' => 'Lista',
|
||||
'adhoc' => 'sin lista guardada',
|
||||
'summary' => 'Filtros',
|
||||
'format' => 'Formato',
|
||||
'rows' => 'Direcciones',
|
||||
'filename' => 'Archivo',
|
||||
],
|
||||
'validation' => [
|
||||
'source' => 'Fuente no válida.',
|
||||
'option' => 'Valor de filtro no válido.',
|
||||
'member' => 'Selección de tutor no válida.',
|
||||
'date' => 'Fecha no válida.',
|
||||
'name' => 'Indique un nombre (máx. 120 caracteres).',
|
||||
'list' => 'Lista no encontrada.',
|
||||
'date_range' => 'La fecha final no puede ser anterior a la inicial.',
|
||||
],
|
||||
];
|
||||
|
|
@ -95,4 +95,8 @@ return [
|
|||
'my_statistics' => 'Ma statistique',
|
||||
'team_statistics' => 'Statistiques de l\'équipe',
|
||||
'withdrawals' => 'Rétractations',
|
||||
'newsletter_lists' => 'Listes newsletter',
|
||||
'newsletter_create' => 'Créer une liste',
|
||||
'newsletter_saved' => 'Listes enregistrées',
|
||||
'newsletter_exports' => 'Journal des exports',
|
||||
];
|
||||
|
|
|
|||
158
resources/lang/fr/newsletter.php
Normal file
158
resources/lang/fr/newsletter.php
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Listes newsletter',
|
||||
'intro' => 'Composez une liste de destinataires à partir des clients et des conseillers, vérifiez-la et exportez-la pour rapidmail. Les enregistrements supprimés, anonymisés, fictifs et de test sont toujours exclus ; les adresses en double sont retirées automatiquement.',
|
||||
'filter' => [
|
||||
'source' => 'Source',
|
||||
'language' => 'Langue',
|
||||
'country' => 'Pays',
|
||||
'optin' => 'Opt-in newsletter',
|
||||
'purchase' => 'Statut d’achat',
|
||||
'member' => 'Conseiller / parrain attribué',
|
||||
'created_from' => 'Créé à partir du',
|
||||
'created_to' => 'Créé jusqu’au',
|
||||
'company' => 'Société',
|
||||
'consultant_status' => 'Statut du conseiller',
|
||||
'level' => 'Niveau de carrière',
|
||||
'include_admins' => 'Inclure les comptes administrateurs',
|
||||
'all' => 'tous',
|
||||
'none_member' => 'sans attribution',
|
||||
'consultant_section' => 'Filtres conseillers',
|
||||
'refresh' => 'Actualiser l’aperçu',
|
||||
'reset' => 'Réinitialiser les filtres',
|
||||
],
|
||||
'source_option' => [
|
||||
'customers' => 'Clients',
|
||||
'consultants' => 'Conseillers',
|
||||
'both' => 'Clients et conseillers',
|
||||
],
|
||||
'source' => [
|
||||
'customer' => 'Client',
|
||||
'consultant' => 'Conseiller',
|
||||
],
|
||||
'optin_option' => [
|
||||
'all' => 'tous (l’opt-in est exporté comme colonne)',
|
||||
'subscribed' => 'uniquement avec opt-in',
|
||||
'unsubscribed' => 'uniquement sans opt-in',
|
||||
],
|
||||
'optin_value' => [
|
||||
'yes' => 'oui',
|
||||
'no' => 'non',
|
||||
'contract' => 'contrat',
|
||||
],
|
||||
'purchase_option' => [
|
||||
'all' => 'tous',
|
||||
'has_buyed' => 'a acheté',
|
||||
'none' => 'n’a jamais acheté',
|
||||
'months_3' => 'a acheté au cours des 3 derniers mois',
|
||||
'months_6' => 'a acheté au cours des 6 derniers mois',
|
||||
'months_12' => 'a acheté au cours des 12 derniers mois',
|
||||
'active_abo' => 'a un abonnement actif',
|
||||
],
|
||||
'company_option' => [
|
||||
'all' => 'tous',
|
||||
'with' => 'uniquement avec société',
|
||||
'without' => 'uniquement sans société',
|
||||
],
|
||||
'consultant_status_option' => [
|
||||
'active' => 'actifs uniquement',
|
||||
'inactive' => 'inactifs uniquement',
|
||||
'all' => 'tous',
|
||||
],
|
||||
'status_value' => [
|
||||
'active' => 'actif',
|
||||
'inactive' => 'inactif',
|
||||
],
|
||||
'stats' => [
|
||||
'total' => 'adresses uniques',
|
||||
'customers' => 'clients',
|
||||
'consultants' => 'conseillers',
|
||||
'duplicates' => 'doublons retirés',
|
||||
'invalid' => 'adresses invalides',
|
||||
'loading' => 'Calcul de la liste …',
|
||||
],
|
||||
'hint' => [
|
||||
'optin_all' => 'La liste contient aussi des clients sans opt-in newsletter. La colonne « Newsletter » indique le statut de chaque adresse.',
|
||||
'consultants_contract' => 'Les conseillers n’ont pas d’opt-in propre ; la base est le contrat de conseiller (colonne « Newsletter » = contrat).',
|
||||
],
|
||||
'export' => [
|
||||
'email' => 'Adresse e-mail',
|
||||
'firstname' => 'Prénom',
|
||||
'lastname' => 'Nom',
|
||||
'salutation_label' => 'Civilité',
|
||||
'street' => 'Rue',
|
||||
'zipcode' => 'Code postal',
|
||||
'city' => 'Ville',
|
||||
'company' => 'Société',
|
||||
'consultant' => 'Conseiller',
|
||||
'country' => 'Pays',
|
||||
'language' => 'Langue',
|
||||
'source_label' => 'Source',
|
||||
'number' => 'Numéro',
|
||||
'consultant_number' => 'N° conseiller',
|
||||
'optin_label' => 'Newsletter',
|
||||
'status_label' => 'Statut',
|
||||
'created_at' => 'Créé le',
|
||||
'button_xlsx' => 'Exporter XLSX',
|
||||
'button_csv' => 'Exporter CSV',
|
||||
'template_only' => 'Exporter uniquement les 9 colonnes du modèle',
|
||||
],
|
||||
'table' => [
|
||||
'email' => 'E-mail',
|
||||
'name' => 'Nom',
|
||||
'salutation' => 'Civilité',
|
||||
'zipcode' => 'CP',
|
||||
'city' => 'Ville',
|
||||
'country' => 'Pays',
|
||||
'language' => 'Langue',
|
||||
'consultant' => 'Conseiller / parrain',
|
||||
'source' => 'Source',
|
||||
'optin' => 'Newsletter',
|
||||
'status' => 'Statut',
|
||||
'created' => 'Créé le',
|
||||
],
|
||||
'saved' => [
|
||||
'title' => 'Listes enregistrées',
|
||||
'current' => 'Liste chargée',
|
||||
'name' => 'Nom',
|
||||
'name_placeholder' => 'p. ex. Newsletter DE clients',
|
||||
'save_new' => 'Enregistrer comme nouvelle liste',
|
||||
'save_changes' => 'Enregistrer les modifications dans cette liste',
|
||||
'summary' => 'Filtres',
|
||||
'source' => 'Source',
|
||||
'last_export' => 'Dernier export',
|
||||
'last_count' => 'Adresses',
|
||||
'created_by' => 'Créé par',
|
||||
'created_at' => 'Créé le',
|
||||
'actions' => 'Actions',
|
||||
'load' => 'Charger les filtres',
|
||||
'delete' => 'Supprimer',
|
||||
'confirm_delete' => 'Supprimer vraiment cette liste ? Le journal des exports est conservé.',
|
||||
'stored' => 'Liste enregistrée.',
|
||||
'updated' => 'Liste mise à jour.',
|
||||
'deleted' => 'Liste supprimée.',
|
||||
'intro' => 'Combinaisons de filtres enregistrées. « Charger les filtres » reprend la liste dans l’aperçu ; l’export utilise les filtres enregistrés.',
|
||||
],
|
||||
'exports' => [
|
||||
'title' => 'Journal des exports',
|
||||
'intro' => 'Chaque téléchargement est consigné avec l’utilisateur, l’heure, les filtres et le nombre d’adresses.',
|
||||
'date' => 'Date',
|
||||
'user' => 'Utilisateur',
|
||||
'list' => 'Liste',
|
||||
'adhoc' => 'sans liste enregistrée',
|
||||
'summary' => 'Filtres',
|
||||
'format' => 'Format',
|
||||
'rows' => 'Adresses',
|
||||
'filename' => 'Fichier',
|
||||
],
|
||||
'validation' => [
|
||||
'source' => 'Source invalide.',
|
||||
'option' => 'Valeur de filtre invalide.',
|
||||
'member' => 'Sélection de conseiller invalide.',
|
||||
'date' => 'Date invalide.',
|
||||
'name' => 'Veuillez saisir un nom (120 caractères max.).',
|
||||
'list' => 'Liste introuvable.',
|
||||
'date_range' => 'La date de fin ne peut pas précéder la date de début.',
|
||||
],
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue