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>
130 lines
8.5 KiB
PHP
130 lines
8.5 KiB
PHP
<?php
|
|
|
|
return [
|
|
'add_customer' => 'Kunden hinzufügen',
|
|
'advertising_material' => 'Werbemittel',
|
|
'adviser_collective_invoice' => 'Berater Sammelrechnung',
|
|
'adviser_order_for_membership' => 'Beraterbestellung für Mitgliedschaft',
|
|
'adviser_order_for_registration' => 'Beraterbestellung für Registrierung',
|
|
'art_no' => 'Art-Nr.',
|
|
'article' => 'Artikel',
|
|
'article_remove' => 'Artikel entfernen',
|
|
'assigned_advisor' => 'Berater zuordnen',
|
|
'assigned_counsellor' => 'Zugewiesener Berater',
|
|
'billing_address_of_client' => 'Rechnungsadresse des Kunden',
|
|
'billing_address_of_the_advisor' => 'Rechnungsadresse des Beraters',
|
|
'client_order_via_shop' => 'Kundenbestellung über Shop',
|
|
'collective_invoice' => 'Sammelrechnung',
|
|
'collective_invoice_contains_orders' => 'Sammelrechnung behinhaltet folgende Kundenbestellungen',
|
|
'compensation_product' => 'Kompensationsprodukt',
|
|
'confirm_and_proceed_to_checkout' => 'bestätigen und weiter zur Kasse',
|
|
'confirm_and_proceed_to_order' => 'bestätigen und weiter zur Bestellung',
|
|
'consultant_order_for_home_party' => 'Beraterbestellung für eine Homeparty',
|
|
'content' => 'Inhalt',
|
|
'contents' => 'Inhalte',
|
|
'create_invoice' => 'Rechnung erstellen',
|
|
'date' => 'Datum',
|
|
'delivery_address_of_the_client' => 'Lieferadresse des Kunden',
|
|
'delivery_address_of_the_consultant' => 'Lieferadresse des Berater',
|
|
'delivery_country_can_no_longer_be_changed' => 'Das Lieferland kann nicht mehr geändert werden',
|
|
'delivery_country_changed_customer_info' => 'Das Lieferland kann nur beim Kunden unter <a href=":link">Meine Kunden</a> geändert werden.',
|
|
'delivery_country_changed_info' => 'Das Lieferland kann nur unter <a href=":link">Meine Daten</a> geändert werden.',
|
|
'delivery_note' => 'Lieferschein',
|
|
'delivery_to_me' => 'Lieferung an mich',
|
|
'delivery_to_the_customer' => 'Lieferung an den Kunden',
|
|
'deliverydata' => 'Lieferdaten',
|
|
'different_delivery_address' => 'Abweichende Lieferadresse',
|
|
'error_no_address_data_found' => 'Fehler: Keine Adressdaten gefunden!',
|
|
'external_orders' => 'Externe Bestellungen',
|
|
'external_orders_info_pay' => 'bezahlen = Sammelrechnung erstellen und zum Checkout',
|
|
'external_orders_info_remove' => 'entfernen = Bestellungen werden nach entfernt verschoben, für Stornos etc.',
|
|
'external_orders_info_reset' => ' zurücksetzen = Bestellungen werden nur nach offen verschoben, Sammelrechnung werden nicht geändert',
|
|
'goods_are_for_customer_and_shipped' => 'Ware ist für einen Kunden und wird an den Kunden versendet',
|
|
'goods_are_for_me_and_shipped' => 'Ware ist für mich und wird an meine Adresse versendet',
|
|
'gross' => 'brutto',
|
|
'gross_price' => 'Preis brutto',
|
|
'incentives' => 'Incentives',
|
|
'incl_VAT' => 'inkl. MwSt.',
|
|
'included_VAT' => 'Enthaltene MwSt',
|
|
'invoice' => 'Rechnung',
|
|
'invoice_address' => 'Rechnungsadresse',
|
|
'land_can_no_longer_be_changed' => 'Das Land kann nicht mehr geändert werden',
|
|
'email_can_not_be_changed' => 'Deine E-Mail Adresse kann nicht mehr geändert werden',
|
|
'link_to_the_invoice' => 'Link zur Rechnung',
|
|
'my_delivery_address' => 'Meine Lieferadresse',
|
|
'net' => 'netto',
|
|
'net_price' => 'Preis netto',
|
|
'no_address_created' => 'Keine Adresse angelegt',
|
|
'no_career_level_info' => 'Hinweis: Dir wurde noch kein Karriere-Level zugewisen. Bitte wende dich an info@mivita.care',
|
|
'no_delivery_address' => 'Keine Lieferadresse angelegt ',
|
|
'no_order' => 'Keine Bestellung',
|
|
'number_of_items' => 'Anzahl Artikel',
|
|
'order' => 'Bestellung',
|
|
'order_consultant' => 'Bestellung Berater',
|
|
'order_date' => 'Bestelldatum',
|
|
'order_for_client' => 'Bestellung für Kunde',
|
|
'order_for_consultant' => 'Bestellung für Berater',
|
|
'order_number' => 'Bestellnummer',
|
|
'order_via_external_shop' => 'Bestellung über externen SHOP',
|
|
'plus_VAT' => 'zzgl. MwSt',
|
|
'points' => 'Points',
|
|
'points_total' => 'Points gesamt',
|
|
'points_turnover_assigned' => 'Punkte / Umsatz zugewiesen',
|
|
'product' => 'Produkt',
|
|
'product_prices_career_level_info' => 'Die Produktpreise (Mein Preis) werden entsprechend Deinem Karriere-Level <strong>:user_level_name</strong> abzüglich <strong>:user_level_margin %</strong> Marge angezeigt und brechnet.<br>Hinweis: Wenn Du den die Seite verlässt, wird der Warenkorb zurückgesetzt.',
|
|
'product_prices_career_level_cpay_info' => 'Die Produktpreise werden als Kunden VK-Preise angezeigt, nach Abschluss der Kundenzahlung erhälst du Deine Provision entsprechend Deinem Karriere-Level <strong>:user_level_name</strong> Provision <strong>:user_level_margin %</strong>.<br>Hinweis: Wenn Du den die Seite verlässt, wird der Warenkorb zurückgesetzt.',
|
|
'purchased_from_shop' => 'Gekauft im Shop',
|
|
'quantity' => 'Anzahl',
|
|
'ship_to_existing_customer_select_customer' => 'An bestehenden Kunden versenden | Kunden auswählen',
|
|
'ship_to_new_customer' => 'An neuen Kunden versenden',
|
|
'ship_to_this_customer' => 'An diesen Kunde versenden',
|
|
'ship_to_this_customer_check' => 'Mir ist bekannt, dass dieser Bestellvorgang nur für Kundenbestellungen ist und nicht für meine eigenen Bestellungen.',
|
|
'ship_to_this_customer_info' => 'Sollten die Rechnungsadresse oder das Lieferland nicht korrekt sein, ändere diese bitte vor der Bestellung unter',
|
|
'ship_to_this_customer_info_2' => 'Die Lieferadresse, bis auf das Lieferland, kann auch im Checkout angepassst werden.',
|
|
'ship_to_this_email_info' => 'Der Bestelllink wird Deinem Kunden an folgenden E-Mail-Adresse gesendet:',
|
|
'shipping' => 'Versand',
|
|
'shipping_compensation_product' => 'Versand Kompensationsprodukt',
|
|
'comp_required_by_additional_products' => 'Dieses Kompensationsprodukt wird durch die zusätzlich hinzugefügten Produkte benötigt.',
|
|
'shipping_costs' => 'Versandkosten',
|
|
'shopping_cart' => 'Warenkorb',
|
|
'shopping_cart_delete' => 'Warenkorb löschen',
|
|
'shopping_cart_update' => 'Warenkorb aktualisieren',
|
|
'subtotal' => 'Zwischensumme',
|
|
'sum' => 'Summe',
|
|
'sums' => 'Summen',
|
|
'total' => 'Gesamt',
|
|
'total_gross' => 'Gesamtsumme brutto',
|
|
'total_net' => 'Gesamtsumme netto',
|
|
'total_price' => 'Preis gesamt',
|
|
'total_shipping_costs' => 'Gesamte Versandkosten',
|
|
'total_sum' => 'Gesamtsumme',
|
|
'total_sums' => 'Gesamtsummen',
|
|
'total_without_VAT' => 'Summe ohne MwSt',
|
|
'turnover' => 'Umsatz',
|
|
'unit_price' => 'Einzelpreis',
|
|
'weight' => 'Gewicht',
|
|
'you_has_article_in_shopping_cart' => 'Du hast :num Artikel in Deinem Warenkorb',
|
|
'excl' => 'zzgl.',
|
|
'VAT' => 'MwSt.',
|
|
'ipay' => 'ich zahle',
|
|
'cpay' => 'Kunde zahlt',
|
|
'ipay_text' => 'Ich zahle abzüglich meiner Marge und rechne den VK mit meinem Kunden ab',
|
|
'cpay_text' => 'Mein Kunden bekommt einen Zahlungslink und ich erhalten meine Provision',
|
|
'sum_net' => 'Summe netto',
|
|
'confirm_and_send_order' => 'Bestellung abschließen und Zahlungslink versenden',
|
|
'confirm_send_order_info' => 'Mit dem Abschließen der Bestellung wird ein Zahlungslink erstellt und per E-Mail an Deinen Kunden versendet.<br>Dein Kunde kann dann die Zahlung abschließen und die Ware wird versendet, Deine Provision wird mit dem Abschluss der Zahlung gutgeschrieben.',
|
|
'order_was_placed_successfully' => 'Die Bestellung wurde erfolgreich angelegt.',
|
|
'order_abo_was_placed_successfully' => 'Die Abo-Bestellung wurde erfolgreich angelegt.',
|
|
'payment_link_for_your_customer' => 'Der Bezahllink für Deinen Kunden',
|
|
'delivery' => 'Lierferung',
|
|
'number' => 'Art-Nr.',
|
|
'reorder' => 'Nachbestellen',
|
|
'reorder_info' => 'Möchtest Du diesen Artikel noch einmal bestellen?<br>Mit einem Klick auf den Button werden die Artikel erneut in den Warenkorb gelegt und du wirst auf die Warenkorb-Seite weitergeleitet.',
|
|
'reorder_info_2' => 'Dein Lieferland ist: :country<br>Möchtest du deine Bestellung in ein anders Land liefern lassen, ändere bitte Deine Rechnungs- oder Lieferadresse unter <a class="text-primary" href=":link">Meine Daten</a>',
|
|
'reorder_abo_not_allowed' => 'Abo-Bestellungen können nicht über „Nachbestellen“ wiederholt werden. Bitte nutze deine Abo-Verwaltung oder den Shop für Einzelbestellungen.',
|
|
'free_shipping' => 'Versandkostenfrei',
|
|
'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.',
|
|
];
|