Statistiken: Kundenfeedback 2026-08-19 komplett (N1-N8) + Review-Fixes + VP-/Incentive-Repair gehärtet
Statistik-Änderungen 2026-08-19 (dev/2026-07-22/entwicklungsplan-2026-08-19.md, alle 8 Pakete gemäß beantworteten F-Fragen): - N1 Monatsstatistik: Team-Cluster (Firstlines klickbar -> neue Seite user_team_firstlines, Teampartner gesamt/Payline [nur aktive], Abos Payline mit +N) + Level-Kachel (Quali-Stufe, fehlende Payline-/persönliche Punkte, Karriere-Level); LiveCommissionService-Snapshot v3 reicht Level-/Quali-Daten durch - N2 Abo-Kacheln auf Home monatsbezogen (aboStockCount-Rückrechnung über cancel/deleted/Status-Historie; VIP-Statistik bleibt tagesaktuell) - N3 VIP-Statistik 'Recruiter des Monats' (Neupartner-Definition wie KPI, rekursives Ketten-Volumen als Gesamtpunkte inkl. Starterpaket) + Drilldown/CSV-Spalte 'Punkte gesamt' - N4 Prognose-Block 'Level & Provision laut Prognose (Stand 25.)' mit unverbindlich-Kennzeichnung (ebenengenaue offene Abo-Punkte + TP-Laufstände) - N5 Checkout-Herkunft: Dropdown raus, Pflicht-Freitext (lokalisierte Fehlermeldung) - N6 Berater-Profilfoto (user_accounts.profile_image, Einwilligung als Sprachkey-Platzhalter, DSGVO-Löschung) + teaminterne Top-3-Karte (TopResultsService, Scope-Schalter) - N7 USt-Optionen: 'nicht umsatzsteuerpflichtig' zuerst + '§ 19 UStG'-Textfix - N8 Jahresgebühr-Nachfassliste je Berater (AnnualFeeDueService, überfällig/1-3 Monate, Sidenav) Kontroll-Review (8 Perspektiven) angewendet: next-Level-Fallback im Steady-State (resolveNextLevel — sonst 'Höchstes Level erreicht' für Normalfälle), _calculated-Punktebasis bei mehr Paylines, keine Wiederbelebung deaktivierter Abos in der Monatsrückrechnung, Payline-Abo-Kachel monatskonsistent, Top-3-Nachrücker; Performance: BackofficeDashboardService als Singleton mit lineBuckets-Memo (+flushLineBucketsMemo), level_forecast 6h-Cache; Reuse: User-Scopes firstlinesOf/newPartnerIn, SalesVolumePoints::totalPointsByUser, Slim::storeCroppedImage (3 Upload-Kopien vereinigt), activeAbo-Scope statt Inline-Prädikate, Form::open-Konvention, Return-Types Repair-Härtung (Kundenentscheide): VP-Nachtrepair dedupliziert über shopping_order_id (Live-Pfad schreibt sie jetzt mit), zählende Alt-Zeilen-Erkennung, Vormonats-Scan für Monatswechsel, Firmenaccount-Buchungen (config mivita.company_user_id) werden automatisch auf den Berater umgebucht (in place bzw. per Gegenbuchung bei geschlossenem Monat; Echtfall Anna Schall Order 58797 -> Christina Schuder), Berater-zu-Berater nur Warnung; Incentive-Repair: m_sponsor=NULL löscht nicht mehr, FK-Repair vor Stale-Bereinigung, gebatchte Lookups, zentrales Incentive::qualificationWindow(); .env aus dem Git-Tracking entfernt (Pflege per SFTP) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
841d87e161
commit
867dc21b57
87 changed files with 4480 additions and 240 deletions
|
|
@ -27,7 +27,7 @@ return [
|
|||
'reverse_charge_procedure' => 'Reverse Charge Verfahren',
|
||||
'tax_number' => 'Steuernummer',
|
||||
'taxable_sales_1' => 'umsatzsteuerpflichtig (Ich mache eine UST-Voranmeldung pro Monat / Quartal / Jahr ans Finanzamt)',
|
||||
'taxable_sales_2' => 'nicht umsatzsteuerpflichtig (Kleinunternehmer im Sinne von $ 19',
|
||||
'taxable_sales_2' => 'nicht umsatzsteuerpflichtig (Kleinunternehmer im Sinne von § 19 UStG)',
|
||||
'validator_creditcard' => 'Geben Sie bitte eine gültige Kreditkarten-Nummer ein',
|
||||
'validator_date' => 'Bitte geben Sie ein gültiges Datum ein.',
|
||||
'validator_digits' => 'Geben Sie bitte nur Ziffern ein.',
|
||||
|
|
@ -45,4 +45,12 @@ return [
|
|||
'language_settings' => 'Spracheinstellungen',
|
||||
'preferred_language' => 'Bevorzugte Sprache',
|
||||
'language_hint' => 'Diese Sprache wird für Ihre Rechnungen, Provisionsabrechnungen und Lieferscheine verwendet.',
|
||||
|
||||
// N6: Berater-Profilfoto. Der finale Einwilligungstext wird von der Kundin
|
||||
// nachgeliefert — profile_image_consent ist bis dahin ein Platzhaltertext.
|
||||
'profile_image' => 'Profilfoto',
|
||||
'profile_image_copy' => 'Dein Foto wird teamintern angezeigt, z. B. in Ranglisten und Übersichten.',
|
||||
'profile_image_consent' => 'Ich bin einverstanden, dass mein Foto teamintern in Ranglisten und Übersichten angezeigt wird.',
|
||||
'profile_image_consent_required' => 'Bitte bestätige zuerst die Einwilligung zur teaminternen Anzeige deines Fotos.',
|
||||
'profile_image_delete' => 'Foto löschen',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -70,4 +70,32 @@ return [
|
|||
'own' => 'Eigene',
|
||||
'live_calculation_hint' => 'Live-Berechnung (noch nicht abgeschlossen)',
|
||||
'live_calculation_hint_text' => 'Wird erst zum Monatsende berechnet.',
|
||||
'stats_group_team' => 'Team',
|
||||
'firstlines_count' => 'Firstlines',
|
||||
'team_partner_total' => 'Teampartner gesamt',
|
||||
'payline_partner_count' => 'Teampartner in der Payline',
|
||||
'payline_abo_count' => 'Abos in der Payline',
|
||||
'level_current' => 'Aktuelles Level',
|
||||
'level_career' => 'Karriere-Level',
|
||||
'level_next_missing' => 'Zum nächsten Level :level fehlen noch :points Payline-Punkte.',
|
||||
'level_next_missing_personal' => 'Zusätzlich fehlen :points Punkte persönliches Volumen.',
|
||||
'level_top_reached' => 'Höchstes Level erreicht.',
|
||||
'level_hint' => 'Monatliche Qualifikationsstufe aus dem Live-Lauf. Payline-Punkte = Teampunkte deiner bezahlten Ebenen inkl. deines Kundenpunkte-Überschusses.',
|
||||
'forecast_level_title' => 'Level & Provision laut Prognose (Stand 25.)',
|
||||
'forecast_unverbindlich' => 'unverbindlich',
|
||||
'forecast_level_disclaimer' => 'Schätzung auf Basis der heutigen Punkte plus der noch offenen Abo-Lieferungen. Rang-/Strukturänderungen im Team sind nicht berücksichtigt - verbindlich ist erst der Monatsabschluss.',
|
||||
'forecast_level_reached' => 'Laut Prognose erreichst du das nächste Level :level - sofern dein persönliches Volumen von :volume Punkten erreicht wird.',
|
||||
'forecast_level_missing' => 'Laut Prognose fehlen zum nächsten Level :level noch :points Payline-Punkte.',
|
||||
'forecast_level_missing_personal' => 'Zusätzlich fehlen :points Punkte persönliches Volumen.',
|
||||
'forecast_commission' => 'Voraussichtliche Provision laut Prognose: :amount (auf Basis Level :level).',
|
||||
|
||||
// N6: "Die besten Ergebnisse des Monats" (teamintern)
|
||||
'top_results_title' => 'Die besten Ergebnisse des Monats (Team)',
|
||||
'top_results_volume' => 'Top 3 persönliches Volumen',
|
||||
'top_results_recruiters' => 'Top 3 Neupartner',
|
||||
'top_results_new_abos' => 'Top 3 neue Abos',
|
||||
'top_results_empty' => 'Noch keine Ergebnisse in diesem Monat.',
|
||||
'top_results_unit_points' => 'Punkte',
|
||||
'top_results_unit_partners' => 'Neupartner',
|
||||
'top_results_unit_abos' => 'Abos',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ return [
|
|||
'dhl_cockpit' => 'DHL Cockpit',
|
||||
'revenue' => 'Umsatz',
|
||||
'level_reports' => 'Level Reports',
|
||||
'annual_fee' => 'Jahresgebühr',
|
||||
'dashboard_news' => 'Dashboard News',
|
||||
'teamabos' => 'Team Abos',
|
||||
'team_customer_abos' => 'Team Kunden-Abos',
|
||||
|
|
|
|||
|
|
@ -126,4 +126,5 @@ return [
|
|||
'free_shipping_reached' => 'Ab :amount € versandkostenfrei',
|
||||
'free_shipping_info' => 'Noch :missing € bis zum versandkostenfreien Versand (ab :amount €)',
|
||||
|
||||
'source_comment_required' => 'Bitte schreib uns kurz, wie du auf uns aufmerksam geworden bist - z. B. der Name der Person, die dich empfohlen hat, oder die genaue Messe/Veranstaltung.',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -154,4 +154,19 @@ return [
|
|||
'not_available' => 'N/A',
|
||||
|
||||
'growth_bonus_details_description' => 'L1 = Direkte Partner (bekommt immer den Tiefenbonus), L2 = Members (ab hier wird der Tiefenbonus geteilt, wenn der Member qualifiziert ist), etc. | Zeigt Provision (€) und Volumen (Pkt) pro Ebene.',
|
||||
|
||||
// Jahresgebühr-Nachfassliste (N8)
|
||||
'annual_fee_title' => 'Jahresgebühr ausstehend',
|
||||
'annual_fee_hint' => 'Hinweis: Teampartner mit abgelaufenem Account werden ca. 2 Wochen nach Ablauf automatisch deaktiviert und nach 2 Monaten aus dem System entfernt. Überfällige Einträge siehst du hier daher nur für begrenzte Zeit — fasse am besten frühzeitig nach.',
|
||||
'annual_fee_no_data' => 'Aktuell läuft bei keinem deiner Teampartner die Account-Gültigkeit in den nächsten 3 Monaten ab.',
|
||||
'annual_fee_group_overdue' => 'Überfällig',
|
||||
'annual_fee_group_due_1_month' => 'Fällig in ≤ 1 Monat',
|
||||
'annual_fee_group_due_2_months' => 'Fällig in ≤ 2 Monaten',
|
||||
'annual_fee_group_due_3_months' => 'Fällig in ≤ 3 Monaten',
|
||||
'firstlines' => 'Firstlines',
|
||||
'firstlines_copy' => 'Deine direkten Teampartner mit Umsatz und Kontaktdaten - sortiert nach Punkten des gewählten Monats.',
|
||||
'firstlines_none' => 'Du hast noch keine direkten Teampartner.',
|
||||
'firstlines_points' => 'Umsatz (Punkte)',
|
||||
'active_since' => 'Aktiv seit',
|
||||
'account_inactive' => 'Account inaktiv',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -45,4 +45,12 @@ return [
|
|||
'preferred_language' => 'Preferred language',
|
||||
'language_hint' => 'This language will be used for your invoices, commission statements and delivery notes.',
|
||||
'' => '',
|
||||
|
||||
// N6: consultant profile photo. Final consent wording will be provided by
|
||||
// the customer — profile_image_consent is a placeholder text until then.
|
||||
'profile_image' => 'Profile photo',
|
||||
'profile_image_copy' => 'Your photo is shown within your team, e.g. in rankings and overviews.',
|
||||
'profile_image_consent' => 'I agree that my photo may be shown within my team in rankings and overviews.',
|
||||
'profile_image_consent_required' => 'Please confirm your consent to showing your photo within your team first.',
|
||||
'profile_image_delete' => 'Delete photo',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -70,4 +70,32 @@ return [
|
|||
'live_calculation_hint' => 'Live calculation (not yet finalized)',
|
||||
'live_calculation_hint_text' => 'Will be calculated at the end of the month.',
|
||||
'' => '',
|
||||
'stats_group_team' => 'Team',
|
||||
'firstlines_count' => 'Firstlines',
|
||||
'team_partner_total' => 'Team partners total',
|
||||
'payline_partner_count' => 'Team partners in the payline',
|
||||
'payline_abo_count' => 'Subscriptions in the payline',
|
||||
'level_current' => 'Current level',
|
||||
'level_career' => 'Career level',
|
||||
'level_next_missing' => ':points payline points missing to reach the next level :level.',
|
||||
'level_next_missing_personal' => 'Additionally :points points of personal volume are missing.',
|
||||
'level_top_reached' => 'Highest level reached.',
|
||||
'level_hint' => 'Monthly qualification level from the live run. Payline points = team points of your paid levels including your customer points surplus.',
|
||||
'forecast_level_title' => 'Level & commission according to forecast (as of the 25th)',
|
||||
'forecast_unverbindlich' => 'non-binding',
|
||||
'forecast_level_disclaimer' => 'Estimate based on today\'s points plus the still open subscription deliveries. Rank/structure changes in the team are not taken into account - only the monthly closing is binding.',
|
||||
'forecast_level_reached' => 'According to the forecast you will reach the next level :level - provided your personal volume of :volume points is reached.',
|
||||
'forecast_level_missing' => 'According to the forecast, :points payline points are still missing for the next level :level.',
|
||||
'forecast_level_missing_personal' => 'Additionally :points points of personal volume are missing.',
|
||||
'forecast_commission' => 'Expected commission according to forecast: :amount (based on level :level).',
|
||||
|
||||
// N6: "Best results of the month" (team-internal)
|
||||
'top_results_title' => 'Best results of the month (team)',
|
||||
'top_results_volume' => 'Top 3 personal volume',
|
||||
'top_results_recruiters' => 'Top 3 new partners',
|
||||
'top_results_new_abos' => 'Top 3 new subscriptions',
|
||||
'top_results_empty' => 'No results yet this month.',
|
||||
'top_results_unit_points' => 'points',
|
||||
'top_results_unit_partners' => 'new partners',
|
||||
'top_results_unit_abos' => 'subscriptions',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ return [
|
|||
'dhl_cockpit' => 'DHL Cockpit',
|
||||
'revenue' => 'Revenue',
|
||||
'level_reports' => 'Level Reports',
|
||||
'annual_fee' => 'Annual Fee',
|
||||
'marketingplan' => 'Marketing Plan',
|
||||
'dashboard' => 'Dashboard',
|
||||
'dashboard_news' => 'Dashboard News',
|
||||
|
|
|
|||
|
|
@ -125,4 +125,5 @@ return [
|
|||
'reorder_info_2' => 'Your delivery country is: :country<br>If you want a different country, update your billing or delivery address under <a class="text-primary" href=":link">My details</a>',
|
||||
'reorder_abo_not_allowed' => 'Subscription orders cannot be repeated via “Reorder”. Please use your subscription area or the shop for one-off orders.',
|
||||
'number' => 'Item no.',
|
||||
'source_comment_required' => 'Please tell us briefly how you heard about us - e.g. the name of the person who recommended us or the exact trade fair/event.',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -154,4 +154,19 @@ return [
|
|||
'growth_bonus_details_description' => 'L1 = Direct Partner (gets the growth bonus always), L2 = Members (from here the growth bonus is divided if the member is qualified), etc. | Shows commission (€) and volume (points) per level.',
|
||||
'' => '',
|
||||
'open' => 'Open',
|
||||
|
||||
// Jahresgebühr-Nachfassliste (N8)
|
||||
'annual_fee_title' => 'Annual fee due',
|
||||
'annual_fee_hint' => 'Note: Team partners with an expired account are automatically deactivated about 2 weeks after expiry and removed from the system after 2 months. Overdue entries therefore only appear here for a limited time — best follow up early.',
|
||||
'annual_fee_no_data' => 'Currently none of your team partners has an account validity expiring within the next 3 months.',
|
||||
'annual_fee_group_overdue' => 'Overdue',
|
||||
'annual_fee_group_due_1_month' => 'Due in ≤ 1 month',
|
||||
'annual_fee_group_due_2_months' => 'Due in ≤ 2 months',
|
||||
'annual_fee_group_due_3_months' => 'Due in ≤ 3 months',
|
||||
'firstlines' => 'Firstlines',
|
||||
'firstlines_copy' => 'Your direct team partners with turnover and contact details - sorted by points of the selected month.',
|
||||
'firstlines_none' => 'You do not have any direct team partners yet.',
|
||||
'firstlines_points' => 'Turnover (points)',
|
||||
'active_since' => 'Active since',
|
||||
'account_inactive' => 'Account inactive',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -45,4 +45,12 @@ return [
|
|||
'preferred_language' => 'Idioma preferido',
|
||||
'language_hint' => 'Este idioma se utilizará para sus facturas, extractos de comisiones y albaranes.',
|
||||
'' => '',
|
||||
|
||||
// N6: foto de perfil. El texto de consentimiento definitivo lo entregará la
|
||||
// clienta — profile_image_consent es un texto provisional hasta entonces.
|
||||
'profile_image' => 'Foto de perfil',
|
||||
'profile_image_copy' => 'Tu foto se muestra internamente en tu equipo, p. ej. en clasificaciones y resúmenes.',
|
||||
'profile_image_consent' => 'Acepto que mi foto se muestre internamente en mi equipo en clasificaciones y resúmenes.',
|
||||
'profile_image_consent_required' => 'Confirma primero el consentimiento para mostrar tu foto dentro de tu equipo.',
|
||||
'profile_image_delete' => 'Eliminar foto',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -70,4 +70,32 @@ return [
|
|||
'live_calculation_hint' => 'Cálculo en vivo (no finalizado)',
|
||||
'live_calculation_hint_text' => 'Se calculará al final del mes.',
|
||||
'' => '',
|
||||
'stats_group_team' => 'Equipo',
|
||||
'firstlines_count' => 'Firstlines',
|
||||
'team_partner_total' => 'Socios en total',
|
||||
'payline_partner_count' => 'Socios en la payline',
|
||||
'payline_abo_count' => 'Suscripciones en la payline',
|
||||
'level_current' => 'Nivel actual',
|
||||
'level_career' => 'Nivel de carrera',
|
||||
'level_next_missing' => 'Para el siguiente nivel :level faltan :points puntos de payline.',
|
||||
'level_next_missing_personal' => 'Además faltan :points puntos de volumen personal.',
|
||||
'level_top_reached' => 'Nivel más alto alcanzado.',
|
||||
'level_hint' => 'Nivel de calificación mensual del cálculo en vivo. Puntos de payline = puntos de equipo de tus niveles pagados incluyendo tu excedente de puntos de clientes.',
|
||||
'forecast_level_title' => 'Nivel y comisión según la previsión (al día 25)',
|
||||
'forecast_unverbindlich' => 'sin compromiso',
|
||||
'forecast_level_disclaimer' => 'Estimación basada en los puntos de hoy más las entregas de suscripción pendientes. No se consideran cambios de rango/estructura en el equipo - solo el cierre mensual es vinculante.',
|
||||
'forecast_level_reached' => 'Según la previsión alcanzarás el siguiente nivel :level - siempre que se alcance tu volumen personal de :volume puntos.',
|
||||
'forecast_level_missing' => 'Según la previsión faltan :points puntos de payline para el siguiente nivel :level.',
|
||||
'forecast_level_missing_personal' => 'Además faltan :points puntos de volumen personal.',
|
||||
'forecast_commission' => 'Comisión prevista según la previsión: :amount (según nivel :level).',
|
||||
|
||||
// N6: "Los mejores resultados del mes" (interno del equipo)
|
||||
'top_results_title' => 'Los mejores resultados del mes (equipo)',
|
||||
'top_results_volume' => 'Top 3 volumen personal',
|
||||
'top_results_recruiters' => 'Top 3 nuevos socios',
|
||||
'top_results_new_abos' => 'Top 3 nuevas suscripciones',
|
||||
'top_results_empty' => 'Aún no hay resultados este mes.',
|
||||
'top_results_unit_points' => 'puntos',
|
||||
'top_results_unit_partners' => 'nuevos socios',
|
||||
'top_results_unit_abos' => 'suscripciones',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ return [
|
|||
'dhl_cockpit' => 'Cabina DHL',
|
||||
'revenue' => 'Ingresos',
|
||||
'level_reports' => 'Informes de Nivel',
|
||||
'annual_fee' => 'Cuota anual',
|
||||
'marketingplan' => 'Plan de Marketing',
|
||||
'dashboard' => 'Panel',
|
||||
'dashboard_news' => 'Noticias del Panel',
|
||||
|
|
|
|||
|
|
@ -126,4 +126,5 @@ return [
|
|||
'reorder_info' => '¿Quieres volver a pedir este artículo?<br>Al hacer clic en el botón, los artículos se añadirán de nuevo al carrito y serás redirigido a la página del carrito.',
|
||||
'reorder_info_2' => 'Tu país de entrega es: :country<br>Si quieres que tu pedido se entregue en otro país, cambia tu dirección de facturación o de entrega en <a class="text-primary" href=":link">Mis datos</a>',
|
||||
'reorder_abo_not_allowed' => 'Los pedidos de suscripción no se pueden repetir mediante «Volver a pedir». Utiliza la gestión de tu suscripción o la tienda para pedidos individuales.',
|
||||
'source_comment_required' => 'Cuéntanos brevemente cómo nos conociste - p. ej. el nombre de la persona que te recomendó o la feria/el evento exacto.',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -154,4 +154,19 @@ return [
|
|||
'growth_bonus_details_description' => 'L1 = Socio Directo (obtiene el bono de crecimiento siempre), L2 = Miembros (a partir de aquí el bono de crecimiento se divide si el miembro está calificado), etc. | Muestra comisión (€) y volumen (puntos) por nivel.',
|
||||
'' => '',
|
||||
'open' => 'Abierto',
|
||||
|
||||
// Jahresgebühr-Nachfassliste (N8)
|
||||
'annual_fee_title' => 'Cuota anual pendiente',
|
||||
'annual_fee_hint' => 'Nota: Los socios del equipo con una cuenta caducada se desactivan automáticamente unas 2 semanas después del vencimiento y se eliminan del sistema después de 2 meses. Por eso, las entradas vencidas solo aparecen aquí durante un tiempo limitado — es mejor hacer el seguimiento pronto.',
|
||||
'annual_fee_no_data' => 'Actualmente, la validez de la cuenta de ninguno de tus socios del equipo caduca en los próximos 3 meses.',
|
||||
'annual_fee_group_overdue' => 'Vencida',
|
||||
'annual_fee_group_due_1_month' => 'Vence en ≤ 1 mes',
|
||||
'annual_fee_group_due_2_months' => 'Vence en ≤ 2 meses',
|
||||
'annual_fee_group_due_3_months' => 'Vence en ≤ 3 meses',
|
||||
'firstlines' => 'Firstlines',
|
||||
'firstlines_copy' => 'Tus socios directos con volumen y datos de contacto - ordenados por puntos del mes seleccionado.',
|
||||
'firstlines_none' => 'Aún no tienes socios directos.',
|
||||
'firstlines_points' => 'Volumen (puntos)',
|
||||
'active_since' => 'Activo desde',
|
||||
'account_inactive' => 'Cuenta inactiva',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ return [
|
|||
'reverse_charge_procedure' => 'Procédure d’autoliquidation',
|
||||
'tax_number' => 'Numéro fiscal',
|
||||
'taxable_sales_1' => 'assujetti à la TVA (je dépose une déclaration de TVA mensuelle / trimestrielle / annuelle auprès du fisc)',
|
||||
'taxable_sales_2' => 'non assujetti à la TVA (petite entreprise au sens du § 19',
|
||||
'taxable_sales_2' => 'non assujetti à la TVA (petite entreprise au sens du § 19 UStG)',
|
||||
'validator_creditcard' => 'Veuillez saisir un numéro de carte de crédit valide',
|
||||
'validator_date' => 'Veuillez saisir une date valide.',
|
||||
'validator_digits' => 'Veuillez saisir uniquement des chiffres.',
|
||||
|
|
@ -45,4 +45,12 @@ return [
|
|||
'language_settings' => 'Paramètres de langue',
|
||||
'preferred_language' => 'Langue préférée',
|
||||
'language_hint' => 'Cette langue est utilisée pour vos factures, relevés de commissions et bons de livraison.',
|
||||
|
||||
// N6 : photo de profil. Le texte de consentement définitif sera fourni par
|
||||
// la cliente — profile_image_consent est un texte provisoire d'ici là.
|
||||
'profile_image' => 'Photo de profil',
|
||||
'profile_image_copy' => 'Ta photo est affichée en interne dans ton équipe, p. ex. dans les classements et les aperçus.',
|
||||
'profile_image_consent' => "J'accepte que ma photo soit affichée en interne dans mon équipe dans les classements et les aperçus.",
|
||||
'profile_image_consent_required' => "Merci de confirmer d'abord le consentement à l'affichage de ta photo au sein de ton équipe.",
|
||||
'profile_image_delete' => 'Supprimer la photo',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -70,4 +70,32 @@ return [
|
|||
'own' => 'Propres',
|
||||
'live_calculation_hint' => 'Calcul en direct (pas encore terminé)',
|
||||
'live_calculation_hint_text' => 'Ne sera calculé qu’à la fin du mois.',
|
||||
'stats_group_team' => 'Équipe',
|
||||
'firstlines_count' => 'Firstlines',
|
||||
'team_partner_total' => 'Partenaires au total',
|
||||
'payline_partner_count' => 'Partenaires dans la payline',
|
||||
'payline_abo_count' => 'Abonnements dans la payline',
|
||||
'level_current' => 'Niveau actuel',
|
||||
'level_career' => 'Niveau de carrière',
|
||||
'level_next_missing' => 'Pour le niveau suivant :level, il manque encore :points points de payline.',
|
||||
'level_next_missing_personal' => 'Il manque en plus :points points de volume personnel.',
|
||||
'level_top_reached' => 'Niveau le plus élevé atteint.',
|
||||
'level_hint' => 'Niveau de qualification mensuel issu du calcul en direct. Points de payline = points d’équipe de tes niveaux payés, y compris ton excédent de points clients.',
|
||||
'forecast_level_title' => 'Niveau et commission selon la prévision (au 25)',
|
||||
'forecast_unverbindlich' => 'sans engagement',
|
||||
'forecast_level_disclaimer' => 'Estimation basée sur les points actuels plus les livraisons d’abonnement encore ouvertes. Les changements de rang/structure dans l’équipe ne sont pas pris en compte - seule la clôture mensuelle fait foi.',
|
||||
'forecast_level_reached' => 'Selon la prévision, tu atteindras le niveau suivant :level - à condition que ton volume personnel de :volume points soit atteint.',
|
||||
'forecast_level_missing' => 'Selon la prévision, il manque encore :points points de payline pour le niveau suivant :level.',
|
||||
'forecast_level_missing_personal' => 'Il manque en plus :points points de volume personnel.',
|
||||
'forecast_commission' => 'Commission prévisionnelle selon la prévision : :amount (sur la base du niveau :level).',
|
||||
|
||||
// N6 : « Les meilleurs résultats du mois » (interne à l'équipe)
|
||||
'top_results_title' => 'Les meilleurs résultats du mois (équipe)',
|
||||
'top_results_volume' => 'Top 3 volume personnel',
|
||||
'top_results_recruiters' => 'Top 3 nouveaux partenaires',
|
||||
'top_results_new_abos' => 'Top 3 nouveaux abonnements',
|
||||
'top_results_empty' => 'Pas encore de résultats ce mois-ci.',
|
||||
'top_results_unit_points' => 'points',
|
||||
'top_results_unit_partners' => 'nouveaux partenaires',
|
||||
'top_results_unit_abos' => 'abonnements',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ return [
|
|||
'dhl_cockpit' => 'Cockpit DHL',
|
||||
'revenue' => 'Chiffre d’affaires',
|
||||
'level_reports' => 'Rapports de niveau',
|
||||
'annual_fee' => 'Cotisation annuelle',
|
||||
'dashboard_news' => 'Actualités du tableau de bord',
|
||||
'teamabos' => 'Abonnements équipe',
|
||||
'team_customer_abos' => 'Abonnements clients de l’équipe',
|
||||
|
|
|
|||
|
|
@ -125,4 +125,5 @@ return [
|
|||
'free_shipping' => 'Livraison gratuite',
|
||||
'free_shipping_reached' => 'Livraison gratuite à partir de :amount €',
|
||||
'free_shipping_info' => 'Encore :missing € jusqu’à la livraison gratuite (à partir de :amount €)',
|
||||
'source_comment_required' => 'Dis-nous brièvement comment tu as entendu parler de nous - p. ex. le nom de la personne qui t\'a recommandé ou le salon/l\'événement exact.',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -133,4 +133,19 @@ return [
|
|||
'no' => 'Non',
|
||||
'not_available' => 'N/A',
|
||||
'growth_bonus_details_description' => 'L1 = partenaires directs (reçoit toujours le bonus de profondeur), L2 = membres (à partir d’ici, le bonus de profondeur est partagé si le membre est qualifié), etc. | Affiche la commission (€) et le volume (pts) par niveau.',
|
||||
|
||||
// Jahresgebühr-Nachfassliste (N8)
|
||||
'annual_fee_title' => 'Cotisation annuelle en attente',
|
||||
'annual_fee_hint' => 'Remarque : les partenaires dont le compte a expiré sont automatiquement désactivés environ 2 semaines après l’expiration et supprimés du système après 2 mois. Les entrées en retard n’apparaissent donc ici que pour une durée limitée — mieux vaut relancer tôt.',
|
||||
'annual_fee_no_data' => 'Actuellement, la validité du compte d’aucun de tes partenaires n’expire dans les 3 prochains mois.',
|
||||
'annual_fee_group_overdue' => 'En retard',
|
||||
'annual_fee_group_due_1_month' => 'Échéance dans ≤ 1 mois',
|
||||
'annual_fee_group_due_2_months' => 'Échéance dans ≤ 2 mois',
|
||||
'annual_fee_group_due_3_months' => 'Échéance dans ≤ 3 mois',
|
||||
'firstlines' => 'Firstlines',
|
||||
'firstlines_copy' => 'Tes partenaires directs avec chiffre d’affaires et coordonnées - triés par points du mois sélectionné.',
|
||||
'firstlines_none' => 'Tu n’as pas encore de partenaires directs.',
|
||||
'firstlines_points' => 'Chiffre d’affaires (points)',
|
||||
'active_since' => 'Actif depuis',
|
||||
'account_inactive' => 'Compte inactif',
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue