{
  "app": {
    "name": "PianoPlanner",
    "tagline": "Intelligente Terminplanung für Klaviertechniker"
  },
  "landing": {
    "heroTitle": "Klavierplanung, vereinfacht.",
    "heroSubtitle": "Intelligente Terminplanung für Klaviertechniker. KI-gestützte Routenplanung, automatische Erinnerungen und eine Buchungsseite, die Ihre Kunden lieben werden.",
    "heroCta": "Kostenlos testen",
    "heroCta2": "So funktioniert's",
    "featuresTitle": "Alles was Sie brauchen",
    "featuresSubtitle": "Professionelle Tools speziell für Klaviertechniker entwickelt.",
    "storyPlanTitle": "Smarter planen, weniger fahren",
    "storyPlanDesc": "Sehen Sie auf einen Blick, wie effizient Ihr Tag ist. Kombinieren Sie Termine in der gleichen Region und sparen Sie Stunden Fahrzeit pro Woche.",
    "storyPlanF1": "Farbcodierte Routeneffizienz pro Termin",
    "storyPlanF2": "KI-Vorschläge: nahe Kunden automatisch clustern",
    "storyPlanF3": "Warnungen bei zu enger Planung + 1-Klick-Lösung",
    "storyPlanF4": "Kilometererfassung mit geschäftlich/privat Aufteilung",
    "storyWorkshopTitle": "Werkstatt & Projekte",
    "storyWorkshopDesc": "Verwalten Sie Revisionen und Werkstattarbeiten vom Angebot bis zur Fertigstellung. Planen Sie Aufgaben, erfassen Sie Stunden und behalten Sie die Kapazität im Blick.",
    "storyWorkshopF1": "Projektplaner mit Aufgaben, Fristen und Fortschritt",
    "storyWorkshopF2": "Zeiterfassung: Werkstatt-Termine auf Projekt buchen",
    "storyWorkshopF3": "Angebote: Arbeit, Material & Kosten als PDF",
    "storyWorkshopF4": "Wochenkapazität: sofort sehen, wie viel Platz Sie haben",
    "storyPianoTitle": "Jedes Klavier, jedes Detail",
    "storyPianoDesc": "Komplette Servicehistorie pro Klavier. Kunden buchen über ihren persönlichen Link. Veranstaltungsorte bekommen eigene Abend-Slots.",
    "storyPianoF1": "Servicehistorie, Notizen und Fotos pro Instrument",
    "storyPianoF2": "Persönliche Buchungslinks mit vorausgefüllten Daten",
    "storyPianoF3": "Theater-Modus: separate Zeiten für Konzertsäle und Bühnen",
    "storyPianoF4": "Automatische Stimmerinnerungen basierend auf Intervall",
    "bannerSyncTitle": "Kalender-Sync",
    "bannerSyncDesc": "2-Wege-Sync mit Google, Apple & Microsoft 365. Oder nutzen Sie iCal — funktioniert mit jeder Kalender-App.",
    "bannerMobileTitle": "Überall Zugriff",
    "bannerMobileDesc": "PWA auf Ihrem Startbildschirm. Funktioniert offline. Push-Benachrichtigungen bei neuen Buchungen.",
    "bannerPrivacyTitle": "100% Niederländisch gehostet",
    "bannerPrivacyDesc": "Daten auf niederländischen Servern. Keine Big-Tech-Cloud. Vollständig DSGVO-konform.",
    "compactEmailTitle": "Professionelle E-Mails",
    "compactEmailDesc": "Bestätigungen & Erinnerungen in 4 Sprachen. Eigene SMTP-Domain.",
    "compactPrivateTitle": "Private Termine",
    "compactPrivateDesc": "Persönliche Fahrten separat. Synchronisiert als 'Beschäftigt' ohne Details.",
    "compactWalkInTitle": "Laufkunden & Schnellplanung",
    "compactWalkInDesc": "Sofort vom Dashboard planen. Kein Kundendatensatz nötig.",
    "compactInvoiceTitle": "Rechnungen mit 1 Klick",
    "compactInvoiceDesc": "Rechnungen direkt aus dem Kalender erstellen. Zahlungslink über Mollie oder Stripe.",
    "compactLangTitle": "4 Sprachen",
    "compactLangDesc": "Niederländisch, Englisch, Deutsch und Französisch. Kunde sieht eigene Sprache.",
    "desktopTitle": "Leistungsstark auf Desktop.",
    "desktopDesc": "Vollständige Dashboard-Erfahrung auf Ihrem Mac oder PC. Verwalten Sie Ihr gesamtes Geschäft.",
    "desktopFeature1": "Komplette Dashboard-Übersicht",
    "desktopFeature2": "Drag & Drop Termine",
    "desktopFeature3": "Intelligente Routenoptimierung",
    "desktopFeature4": "Kalender-Sync & Integrationen",
    "mobileTitle": "Ihr Terminplan, überall.",
    "mobileDesc": "Fügen Sie PianoPlanner zu Ihrem iPhone oder Android Startbildschirm hinzu. Es funktioniert wie eine native App - auch ohne Internet.",
    "mobileFeature1Title": "Zum Startbildschirm hinzufügen",
    "mobileFeature1Desc": "Ein Tippen zum Installieren. Kein App Store nötig.",
    "mobileFeature2Title": "Funktioniert Offline",
    "mobileFeature2Desc": "Termine und Kunden ohne Internet anzeigen.",
    "mobileFeature3Title": "Push-Benachrichtigungen",
    "mobileFeature3Desc": "Erhalten Sie Alerts bei neuen Buchungen und Erinnerungen.",
    "mobileFeature4Title": "Touch-Gesten",
    "mobileFeature4Desc": "Wischen zum Navigieren. Ziehen zum Aktualisieren.",
    "ctaTitle": "Bereit, Ihren Terminplan zu optimieren?",
    "ctaSubtitle": "Schließen Sie sich Klaviertechnikern an, die jede Woche Stunden sparen.",
    "ctaButton": "Kostenlos testen",
    "footerTagline": "Intelligente Terminplanung für Klaviertechniker",
    "startToday": "Heute kostenlos starten",
    "joinTechnicians": "Schließen Sie sich Klaviertechnikern an, die mit intelligenterer Planung jede Woche Stunden sparen.",
    "yourName": "Ihr Name",
    "password": "Passwort (min. 8 Zeichen)",
    "createAccount": "Kostenloses Konto erstellen",
    "accountCreated": "✓ Konto erstellt!",
    "awaitingApproval": "Ihr Konto wartet auf Genehmigung. Sie erhalten eine E-Mail, wenn es aktiviert ist.",
    "installApp": "App installieren",
    "gettingStarted": {
      "title": "🚀 Schnell starten mit PianoPlanner",
      "subtitle": "Folgen Sie diesen 6 Schritten im Setup-Assistenten. Ihre intelligente Planung ist in 5 Minuten bereit.",
      "step1Title": "Firmendaten",
      "step1Desc": "Sorgen Sie für eine professionelle Kommunikation.",
      "step1Item1": "Geben Sie Ihren Firmennamen und Ihre Adresse ein.",
      "step1Item2": "Ihre Adresse wird automatisch vervollständigt für genaue Routenplanung.",
      "step2Title": "Ihre Dienstleistungen",
      "step2Item1": "Fügen Sie Ihre Dienstleistungen hinzu (z.B. 'Stimmen', 'Bewertung', 'Konzertservice').",
      "step2Item2": "Legen Sie die Standarddauer und den Preis pro Dienstleistung fest.",
      "step3Title": "Reisezeit-Einstellungen",
      "step3MaxTravel": "Max. Reisezeit:",
      "step3MaxTravelDesc": "Wie lange möchten Sie maximal zu einem Kunden fahren?",
      "step3Buffer": "Puffer:",
      "step3BufferDesc": "Wie viel Zeit zwischen Terminen?",
      "step4Title": "Kalender verbinden",
      "step4Desc": "Sehen Sie Ihre Stimmtermine in Ihrem eigenen vertrauten Kalender.",
      "step4Google": "Zwei-Wege-Sync, am vollständigsten",
      "step4Apple": "Nahtlose Integration",
      "step4Ical": "Funktioniert mit jeder Kalender-App",
      "step5Title": "Ihr erster Testkunde",
      "step5Item1": "Erstellen Sie einen fiktiven Kunden (oder sich selbst).",
      "step5Item2": "Fügen Sie diesem Kunden ein Klavier hinzu.",
      "step5Tip": "💡 So sehen Sie direkt, wie die Kundenakte aussieht.",
      "step6Title": "Bereit zum Start! 🎉",
      "step6Desc": "Ihr Dashboard ist jetzt aktiv. Das bedeuten die Farben:",
      "step6Green": "Termine, die effizient geplant sind (wenig Reisezeit)",
      "step6Red": "Termine, die weit auseinander liegen — nutzen Sie Smart Appointment!",
      "step6ShareLink": "Teilen Sie Ihren Link:",
      "step6ShareLinkDesc": "Senden Sie Kunden Ihren persönlichen Buchungslink und lassen Sie den Kalender sich selbst füllen."
    },
    "skipNav": "Zum Inhalt springen",
    "creatingAccount": "Konto wird erstellt...",
    "passwordTooShort": "Passwort muss mindestens 8 Zeichen lang sein",
    "signupError": "Etwas ist schiefgelaufen.",
    "connectionError": "Verbindungsfehler.",
    "trialInfo": "30 Tage kostenlos · Keine Kreditkarte erforderlich · Sofort loslegen",
    "notifTitle": "Neue Buchung!",
    "notifText": "Hans Müller - Klavierstimmung",
    "storySmartTitle": "Smarte Routenplanung",
    "storySmartDesc": "Reisezeiten werden ab Ihrem VORHERIGEN Termin berechnet, nicht ab dem Büro. Schluss mit Zickzack-Routen — sehen Sie sofort, wie effizient Ihr Tag geplant ist.",
    "storySmartF1": "Farbcodierte Routeneffizienz (grün/orange/rot)",
    "storySmartF2": "Reisezeit ab vorherigem Termin, nicht ab Büro",
    "storySmartF3": "Wochenanalyse mit Optimierungsvorschlägen",
    "storySmartF4": "1-Klick-Optimierung: Termine smart verschieben",
    "storyInvoiceTitle": "Rechnungen & Buchhaltung",
    "storyInvoiceDesc": "Erstellen Sie professionelle Rechnungen direkt aus Terminen. Automatische Nummerierung, MwSt.-Berechnung und Versand per E-Mail.",
    "storyInvoiceF1": "Professionelle PDF-Rechnungen mit Ihrem Logo",
    "storyInvoiceF2": "Automatische Nummerierung und Zahlungsfristen",
    "storyInvoiceF3": "MwSt.-Berechnung und Bankverbindung",
    "storyInvoiceF4": "Direkt per E-Mail an Kunden senden",
    "storyMileageTitle": "Kilometererfassung",
    "storyMileageDesc": "Automatische Km-Erfassung basierend auf Terminstandorten. Geschäftlich/privat Aufteilung, Kilometerstanderfassung und Finanzamt-sichere Exporte.",
    "storyMileageF1": "Automatische Km-Erfassung aus Terminen",
    "storyMileageF2": "Geschäftlich/Privat Aufteilung",
    "storyMileageF3": "Kilometerstanderfassung als Nachweis",
    "storyMileageF4": "CSV- und PDF-Export für Steuererklärung",
    "features": "Funktionen",
    "pricing": "Preise",
    "myStory": "Meine Geschichte",
    "privacy": "Datenschutz",
    "terms": "AGB",
    "login": "Anmelden",
    "getStarted": "Loslegen",
    "nowLive": "Jetzt Live",
    "headline": "Die intelligenteste Unternehmenssoftware für Klaviertechniker.",
    "subheadline": "Lassen Sie Ihren Kalender sich selbst füllen, ohne Lücken entstehen zu lassen. Optimieren Sie Ihre Routen, verwalten Sie Ihre Kunden und Klaviere und reduzieren Sie Ihren Verwaltungsaufwand. Alles in einem übersichtlichen Tool, das Ihr Handwerk wirklich versteht.",
    "startFree": "Kostenlos starten",
    "learnMore": "Mehr erfahren",
    "everythingYouNeed": "Alles was Sie brauchen.",
    "builtFor": "Gebaut von und für Klaviertechniker. Jede Funktion entwickelt, um Ihnen Zeit zu sparen.",
    "storyReminderTitle": "Nie wieder manuell erinnern",
    "storyReminderDesc": "PianoPlanner sendet automatisch Stimmungserinnerungen zum richtigen Zeitpunkt. Mit intelligenten Follow-ups und einem Buchungslink, damit Kunden selbst einen Termin vereinbaren.",
    "storyReminderF1": "Automatische E-Mail basierend auf Stimmintervall",
    "storyReminderF2": "Intelligente Follow-ups: bis zu 4 Erinnerungen pro Zyklus",
    "storyReminderF3": "Direkter Buchungslink in jeder Erinnerung",
    "storyReminderF4": "Abmeldelink — 100% DSGVO-konform",
    "compactRouteFillTitle": "Route füllen",
    "compactRouteFillDesc": "Finden Sie Kunden in der Nähe, die eine Stimmung benötigen. Einladungen mit einem Klick senden.",
    "storyInvoiceF5": "Integration mit sevDesk, Lexware, Odoo und mehr — UBL-E-Rechnungen",
    "demoPaid": "Bezahlt ✓",
    "demoTuningDesc": "Stimmung — Steinway & Sons D",
    "demoPaymentLink": "Online-Zahlungslink",
    "demoPdfSent": "PDF gesendet",
    "demoNew": "NEU",
    "demoTravelSaved": "-2h Fahrzeit",
    "demoRevision": "Steinway Revision",
    "demoHoursProgress": "17.5 / 26.0 Stunden • 4 Aufgaben erledigt",
    "demoStrings": "✓ Saiten",
    "demoHammers": "✓ Hämmer",
    "demoIntonation": "⏳ Intonation",
    "demoRegulation": "○ Regulierung",
    "demoPianoDetail": "Fam. De Vries • Zuletzt gestimmt: 14. Jan. 2026",
    "demoTuningJan": "✓ Stimmung Jan. '26",
    "demoRegulationOct": "✓ Regulierung Okt. '25",
    "demoPhotos": "📎 Fotos",
    "demoAutoReminders": "Automatische Erinnerungen",
    "demoReminder1": "Erinnerung 1",
    "demo14days": "+14 Tage",
    "demoReminder2": "Erinnerung 2",
    "demoBooked": "Gebucht!",
    "demoBookingInEmail": "Buchungslink in E-Mail",
    "tryFree": "Kostenlos testen"
  },
  "launcher": {
    "agenda": "Termine",
    "customers": "Kunden",
    "pianos": "Klaviere",
    "smart": "Smart",
    "share": "Buchungslink teilen",
    "tagline": "Ihre Klavierstimmungen, intelligent geplant"
  },
  "nav": {
    "dashboard": "Dashboard",
    "agenda": "Kalender",
    "customers": "Kunden",
    "pianos": "Klaviere",
    "settings": "Einstellungen",
    "guide": "Anleitung",
    "support": "Hilfe",
    "help": "Hilfe",
    "logout": "Abmelden",
    "upgrade": "Upgraden",
    "travel": "Fahrten",
    "travelReport": "Reisekosten",
    "billing": "Abrechnung",
    "invoicesMenu": "Rechnungen",
    "import": "Importieren",
    "importContacts": "Kontakte importieren",
    "importCalendar": "Kalender importieren",
    "teams": "Teams",
    "home": "Startseite",
    "pricing": "Preise",
    "invoices": "Rechnungen",
    "routeOptimizer": "Routenoptimierer",
    "loggingOut": "Abmelden...",
    "admin": "Admin",
    "projects": "Projekte",
    "pageHelp": "Hilfe zu dieser Seite",
    "helpDashboard": "Planen Sie Termine, nutzen Sie Smart Pick für intelligente Vorschläge und verwalten Sie Ihren Kalender mit Farbcodes und Erinnerungen.",
    "helpCustomers": "Verwalten Sie Kunden, teilen Sie persönliche Buchungslinks, sehen Sie den Stimmstatus und füllen Sie Routen intelligent mit Route füllen.",
    "helpPianos": "Registrieren Sie Klaviere, legen Sie Stimmintervalle fest, verfolgen Sie den Status mit Farbcodes und sehen Sie die Wartungshistorie.",
    "helpProjects": "Erstellen Sie Werkstattprojekte, verwalten Sie Aufgaben, verknüpfen Sie Termine und verfolgen Sie den Fortschritt mit Fristen.",
    "helpTravel": "Erfassen Sie Reisekosten pro Termin, sehen Sie Monatsübersichten und exportieren Sie für Ihre Buchhaltung.",
    "helpInvoices": "Erstellen Sie Rechnungen, versenden Sie per E-Mail, verfolgen Sie Zahlungen und passen Sie das Layout mit Ihren eigenen Daten an.",
    "helpSettings": "Konfigurieren Sie Ihre Firmendaten, E-Mail-Vorlagen, Stimmerinnerungen, Arbeitszeiten und Kalenderintegrationen.",
    "helpGuide": "Sehen Sie die vollständige Anleitung mit Erklärungen zu allen Funktionen von PianoPlanner.",
    "helpSupport": "Kontaktieren Sie den Support bei Fragen, Fehlern oder Funktionswünschen.",
    "calendar": "Kalender"
  },
  "smartWizard": {
    "title": "Smarter Termin",
    "button": "Smarter Termin",
    "step1": "Kunde",
    "step2": "Klavier",
    "step3": "Termin",
    "dayStatus": "Tagesstatus",
    "done": "Erledigt",
    "busy": "Beschäftigt",
    "toDo": "Zu erledigen",
    "currentAppointment": "Aktueller Termin",
    "noActiveAppointment": "Kein aktiver Termin",
    "nextAppointmentHere": "Ihr nächster Termin erscheint hier",
    "todayRemaining": "Heute verbleibend",
    "toComplete": "Abzuschließen",
    "selectOrAddCustomer": "Kunde auswählen oder hinzufügen",
    "searchOrCreate": "Bestehenden Kunden suchen oder neuen erstellen",
    "searchExistingOrCreate": "Bestehenden Kunden suchen oder neuen erstellen",
    "searchExisting": "Bestehenden Kunden suchen",
    "searchExistingCustomer": "Bestehenden Kunden suchen",
    "searchPlaceholder": "Name, E-Mail oder Telefonnummer eingeben...",
    "searchCustomerPlaceholder": "Name, E-Mail oder Telefonnummer...",
    "or": "oder",
    "createNewCustomer": "Neuen Kunden erstellen",
    "name": "Name",
    "email": "E-Mail",
    "phone": "Telefon",
    "address": "Adresse",
    "postalCode": "Postleitzahl",
    "city": "Stadt",
    "notes": "Notizen",
    "saveCustomer": "Kunde speichern",
    "selectOrAddPiano": "Klavier auswählen oder hinzufügen",
    "selectExistingOrRegister": "Bestehendes Klavier auswählen oder neues registrieren",
    "customerPianos": "Klaviere des Kunden",
    "selectCustomerFirst": "Wählen Sie zuerst einen Kunden",
    "addNewPiano": "Neues Klavier hinzufügen",
    "brand": "Marke",
    "model": "Modell",
    "type": "Typ",
    "typeUpright": "Piano",
    "typeGrand": "Flügel",
    "typeDigital": "Digitalklavier",
    "buildYear": "Baujahr",
    "serialNumber": "Seriennummer",
    "finish": "Oberfläche",
    "finishBlackPolish": "Schwarz poliert",
    "finishBlackMatte": "Schwarz matt",
    "finishWhitePolish": "Weiß poliert",
    "finishWhiteMatte": "Weiß matt",
    "finishWood": "Holz",
    "finishOther": "Sonstige",
    "location": "Standort",
    "floor": "Etage",
    "floorGround": "Erdgeschoss",
    "floor1": "1. Etage",
    "floor2": "2. Etage",
    "floor3": "3. Etage",
    "floorBasement": "Keller",
    "condition": "Zustand",
    "conditionExcellent": "Ausgezeichnet",
    "conditionGood": "Gut",
    "conditionFair": "Befriedigend",
    "conditionPoor": "Schlecht",
    "tuningInterval": "Stimmintervall",
    "tuningPitch": "Stimmtonhöhe",
    "tuningPitchPlaceholder": "z.B. 440 Hz",
    "tuningData": "Stimmdaten",
    "climateControl": "Klimakontrolle",
    "climateControlActive": "Aktiv",
    "interval6months": "6 Monate",
    "interval12months": "12 Monate",
    "interval18months": "18 Monate",
    "interval24months": "24 Monate",
    "intervalOnRequest": "Auf Anfrage",
    "savePiano": "Klavier speichern",
    "aiSuggestions": "KI-Vorschläge",
    "smartRecommendations": "Intelligente Empfehlungen basierend auf Standort und Kalender",
    "chooseService": "Service wählen",
    "selectService": "-- Service auswählen --",
    "smartestMoments": "Beste Zeitpunkte",
    "calculatedBasedOn": "Automatisch berechnet basierend auf Ihrem Kalender und der Fahrzeit",
    "findingBestMoments": "Beste Zeitpunkte werden gesucht...",
    "selectServiceToSee": "Wählen Sie einen Service, um die besten Zeitpunkte zu sehen",
    "loadMoreOptions": "Mehr Optionen laden",
    "chosenMoment": "Gewählter Zeitpunkt",
    "sendConfirmationEmail": "Bestätigungs-E-Mail an Kunden senden",
    "sendConfirmationEmailTo": "Bestätigungs-E-Mail senden an",
    "createAppointment": "Termin erstellen",
    "customerHasNoPianos": "Dieser Kunde hat noch keine Klaviere. Fügen Sie eins hinzu!",
    "monthsAgoTuned": "Monate her gestimmt",
    "noTuningKnown": "Keine Stimmung bekannt",
    "months": "Monate",
    "monthsAgo": "Monate her",
    "pianoOverdueAlert": "Dieses Klavier wurde seit",
    "notTuned": "nicht gestimmt",
    "tuningRecommended": "Eine Stimmung wird empfohlen!",
    "noTuningKnownForPiano": "Keine Stimmung für dieses Klavier bekannt. Dies könnte der erste Termin sein.",
    "lastTuning": "Letzte Stimmung",
    "pianoWellMaintained": "Klavier ist gut gewartet.",
    "lastTuningWas": "Letzte Stimmung war",
    "lastTuningColon": "Letzte Stimmung:",
    "considerCheckup": "Eine Kontrolle wäre sinnvoll.",
    "noRecentTuningKnown": "Keine aktuelle Stimmung bekannt. Eine erste Kontrolle wird empfohlen.",
    "findingMoreOptions": "Weitere Optionen werden gesucht...",
    "calculatingBestMoment": "Bester Zeitpunkt wird berechnet...",
    "smartSearching": "Wir suchen die besten Optionen für Sie...",
    "noMomentsFound": "Keine verfügbaren Zeitpunkte in den kommenden Wochen gefunden. Überprüfen Sie Ihre Kalendereinstellungen.",
    "errorFindingMoments": "Fehler beim Finden verfügbarer Zeitpunkte.",
    "bestChoice": "Beste Wahl",
    "preferOtherMoment": "Lieber einen anderen Zeitpunkt? Wählen Sie selbst",
    "backToBestChoice": "Zurück zur besten Wahl",
    "viewRoute": "Route anzeigen",
    "saved": "gespart",
    "after": "Nach",
    "chooseOrRegister": "Wählen Sie ein vorhandenes Klavier oder registrieren Sie ein neues",
    "customerNotesPlaceholder": "Optionale Notizen zu diesem Kunden...",
    "pianoNotesPlaceholder": "Besonderheiten, Geschichte, besondere Beachtung...",
    "streetAndNumber": "Straße und Hausnummer",
    "furtherAway": "Weiter entfernt",
    "preferOtherMomentCount": "Lieber einen anderen Termin? {{count}} Alternativen verfügbar",
    "addressSearch": "Adresse suchen",
    "addressSearchPlaceholder": "Tippen Sie für Vorschläge...",
    "street": "Straße + Hausnummer",
    "cityRequired": "Stadt *",
    "fullNamePlaceholder": "Vollständiger Name",
    "customerNotInSystem": "Kunde noch nicht im System",
    "addPianoForCustomer": "Piano für Kunden hinzufügen",
    "locationOptional": "Standort (optional)",
    "whatNeedsDone": "Was muss gemacht werden?",
    "basedOnCalendarAndTravel": "Basierend auf Ihrem Kalender und der Reisezeit",
    "filterMorning": "Vormittag",
    "filterAfternoon": "Nachmittag",
    "filterEvening": "Abend",
    "tabCalendar": "Kalender",
    "tabCustomers": "Kunden",
    "tabPianos": "Pianos",
    "tabSmart": "Smart",
    "enterName": "Bitte geben Sie einen Namen ein",
    "noPianosForCustomer": "Noch keine Pianos für diesen Kunden registriert",
    "enterBrand": "Bitte geben Sie eine Marke ein",
    "calculatingSuggestions": "Smart-Vorschläge werden berechnet...",
    "noAvailableMoments": "Keine verfügbaren Zeitpunkte gefunden",
    "errorLoadingSuggestions": "Fehler beim Laden der Vorschläge",
    "appointmentPlanned": "Termin geplant!",
    "confirmationEmailSent": "Bestätigungs-E-Mail wurde gesendet",
    "goToCalendar": "Zum Kalender",
    "badgeBest": "Beste",
    "badgeWorkshop": "Werkstatt",
    "badgeRemote": "Remote",
    "badgeRoute": "Route",
    "badgeNearby": "In der Nähe",
    "noTravelTime": "Keine Reisezeit",
    "daySunday": "Sonntag",
    "dayMonday": "Montag",
    "dayTuesday": "Dienstag",
    "dayWednesday": "Mittwoch",
    "dayThursday": "Donnerstag",
    "dayFriday": "Freitag",
    "daySaturday": "Samstag",
    "nameRequired": "Name *",
    "emailPlaceholder": "email@beispiel.de",
    "phonePlaceholder": "0123-4567890",
    "brandRequired": "Marke *",
    "brandPlaceholder": "z.B. Steinway",
    "modelPlaceholder": "z.B. Model D",
    "yearPlaceholder": "z.B. 1985",
    "locationPlaceholder": "Falls das Piano an einem anderen Standort steht",
    "filterAll": "Alle",
    "noCustomersFound": "Keine Kunden gefunden",
    "errorSavingCustomer": "Fehler beim Speichern des Kunden",
    "loadingPianos": "Pianos werden geladen...",
    "errorLoadingPianos": "Fehler beim Laden der Pianos",
    "errorSavingPiano": "Fehler beim Speichern des Pianos",
    "fillAllFields": "Bitte füllen Sie alle Pflichtfelder aus",
    "errorCreatingAppointment": "Fehler beim Erstellen des Termins",
    "travelTime": "Reisezeit"
  },
  "book": {
    "bestChoice": "Beste Wahl",
    "available": "Verfügbar",
    "findingBestTimes": "Die besten Zeiten suchen...",
    "preferOtherTime": "Lieber eine andere Zeit? Wählen Sie selbst",
    "chooseDateTime": "Datum & Zeit wählen",
    "chooseService": "Service wählen",
    "notesOptional": "Anmerkungen (optional)",
    "bookAppointment": "Termin buchen",
    "suggestedTimes": "Empfohlene Zeiten",
    "school": {
      "selectPianos": "Klaviere auswählen",
      "selectPianosSub": "Wählen Sie aus, welche Klaviere gestimmt werden sollen",
      "chooseService": "Service wählen",
      "chooseServiceSub": "Welcher Service für die ausgewählten Klaviere?",
      "pickDate": "Datum & Zeit",
      "pickDateSub": "Wählen Sie, wann der Termin stattfinden soll",
      "pianoOverview": "Klavierübersicht",
      "pianoOverviewSub": "Wählen Sie die Klaviere aus, die gestimmt werden müssen",
      "back": "Zurück",
      "brand": "Marke",
      "lastTuned": "Zuletzt gestimmt",
      "location": "Standort",
      "model": "Modell",
      "nextChooseDate": "Weiter: Datum wählen",
      "nextChooseService": "Weiter: Service wählen",
      "pianosSelected": "Klaviere ausgewählt",
      "scheduled": "Geplant",
      "selectedPianos": "ausgewählte Klaviere?",
      "selectedPianosTitle": "Ausgewählte Klaviere",
      "serialNumber": "Seriennr.",
      "type": "Typ",
      "whichServiceForPianos": "Welcher Service für die"
    },
    "sendConfirmation": "Bestätigung per E-Mail senden",
    "theaterInstructionsTitle": "So vereinbaren Sie einen Termin",
    "theaterStep1": "Wählen Sie die gewünschte Leistung (Stimmen, Reparatur usw.)",
    "theaterStep2": "Wählen Sie das Instrument (Klavier oder Flügel)",
    "theaterStep3": "Erläutern Sie ggf. die Veranstaltung bei den Bemerkungen (z.B. Konzert, Probe)",
    "theaterStep4": "Wählen Sie ein Datum und eine Uhrzeit im Kalender",
    "chooseServiceSub": "Wählen Sie die gewünschte Leistung",
    "appointmentsSub": "Historie & geplant",
    "selectPianoSub": "Wählen Sie das Klavier oder den Flügel",
    "notesSub": "Zusätzliche Informationen für den Techniker",
    "chooseDateTimeSub": "Wählen Sie einen passenden Zeitpunkt",
    "welcome": "Willkommen",
    "loading": "Laden...",
    "loadingCalendar": "Kalender laden...",
    "loadingTimes": "Verfügbare Zeiten laden...",
    "linkInvalid": "Dieser Buchungslink ist ungültig",
    "linkNotFound": "Buchungslink nicht gefunden",
    "selectPiano": "Klavier auswählen",
    "availableTimesFor": "Verfügbare Zeiten für",
    "noTimesAvailable": "Keine verfügbaren Zeiten",
    "firstAvailable": "Erste verfügbare",
    "smartSuggestions": "Intelligente Vorschläge",
    "smartSuggestionsDesc": "Empfohlene Termine basierend auf Standort und Zeitplan",
    "calculatingSmart": "Vorschläge berechnen...",
    "smartSearching": "Wir suchen die besten Optionen für Sie...",
    "noSmartSuggestions": "Keine intelligenten Vorschläge verfügbar",
    "chooseManualTime": "Manuell wählen",
    "moreOptions": "Weitere Optionen",
    "planHere": "Hier buchen",
    "booked": "Gebucht!",
    "confirmEmail": "Eine Bestätigungs-E-Mail wurde gesendet",
    "notesPlaceholder": "Eventuelle Bemerkungen...",
    "legendAvailable": "Verfügbar",
    "legendFull": "Ausgebucht",
    "legendClosed": "Geschlossen",
    "appointments": "Termine",
    "contactForBooking": "Keine verfügbaren Zeiten gefunden. Bitte kontaktieren Sie uns, um einen Termin zu vereinbaren.",
    "loadMoreSuggestions": "Mehr Vorschläge laden"
  },
  "dashboard": {
    "title": "Dashboard",
    "howToUse": "Wie funktioniert es?",
    "guideTitle": "Kalender - Anleitung",
    "guideSchedule": "Termin planen",
    "guideScheduleDesc": "Klicken Sie auf einen Zeitslot im Kalender oder nutzen Sie den + Button. Füllen Sie Kunde, Ort, Zeit und Dauer aus. Smart Pick schlägt automatisch die besten Klaviere für die Wartung vor.",
    "guideLocation": "Standorttypen",
    "guideLocationDesc": "Wählen Sie 'Beim Kunden' für Termine vor Ort, oder 'Werkstatt' um Stunden mit einem Restaurierungsprojekt zu verknüpfen. Die verknüpften Stunden werden automatisch erfasst.",
    "guideSmartPick": "Smart Pick",
    "guideSmartPickDesc": "Der gelbe Schein um Klaviere bedeutet, dass Smart Pick sie empfiehlt. Dies basiert auf Stimmintervall, letzter Stimmung und Jahreszeit. Perfekt für die Wartung!",
    "guideReminders": "Erinnerungen",
    "guideRemindersDesc": "Kunden erhalten automatisch eine Bestätigungs-E-Mail und optional eine Erinnerung. Passen Sie E-Mail-Vorlagen in den Einstellungen an Ihre Marke an.",
    "guideColors": "Farbcodes Kalender",
    "guideColorsDesc": "Termine erhalten automatisch eine Farbe basierend auf der Reisezeit:",
    "guideColorGreen": "Grün — kurze Reisezeit, effiziente Route",
    "guideColorOrange": "Orange — durchschnittliche Reisezeit",
    "guideColorRed": "Rot — lange Reisezeit",
    "guideColorDefault": "Standard — keine Reisezeitdaten verfügbar",
    "guideColorPrivate": "Lila — privater Termin",
    "guideTip": "<strong>Tipp:</strong> Nutzen Sie die Wochenansicht für Überblick oder Tagesansicht für Details. Ziehen Sie Termine um sie zu verschieben. Doppelklick zum Bearbeiten.",
    "currentAppointment": "Aktueller Termin",
    "dayStatus": "Tagesstatus",
    "done": "Erledigt",
    "inProgress": "In Bearbeitung",
    "toDo": "Zu erledigen",
    "upcomingToday": "Heute anstehend",
    "noActiveAppointment": "Kein aktiver Termin",
    "nextAppointmentAppears": "Ihr nächster Termin erscheint hier",
    "toProcess": "Zu bearbeiten",
    "openPayments": "Offene Zahlungen",
    "openPaymentsHint": "Anzeigen und fakturieren unter Rechnungen →",
    "missingAddressesTitle": "{count} Termine ohne Adresse",
    "missingAddressesSub": "Reisezeiten können nicht berechnet werden",
    "missingAddressesEdit": "Bearbeiten",
    "missingAddressesMore": "weitere",
    "payStatusPending": "Noch zu fakturieren",
    "payStatusInvoiced": "Rechnung gesendet",
    "createInvoice": "Rechnung erstellen",
    "markPaid": "Als bezahlt markieren",
    "confirmMarkPaid": "Diese Zahlung als bezahlt markieren?",
    "paymentMarkedPaid": "Zahlung als bezahlt markiert",
    "todayAppointments": "Termine heute",
    "upcomingAppointments": "Kommende Termine",
    "noAppointments": "Keine Termine geplant",
    "workshopStats": "Werkstatt / Außendienst",
    "workshopLabel": "Werkstatt",
    "fieldLabel": "Außendienst",
    "remoteLabel": "Remote",
    "actionSheetWorkshopTitle": "Werkstatt-Aufgabe",
    "actionSheetWorkshopSubtitle": "Interne Aufgabe ohne Kunde",
    "actionSheetWalkInTitle": "Laufkundschaft",
    "actionSheetWalkInSubtitle": "Kunde kommt in die Werkstatt",
    "workshopTaskTitle": "Werkstatt-Aufgabe",
    "walkInTitle": "Walk-in Registrierung",
    "walkInSearchHint": "Kunde suchen oder anlegen...",
    "workshopPeriodView": "Aktuelle Ansicht",
    "workshopPeriodWeek": "Diese Woche",
    "workshopPeriodMonth": "Dieser Monat",
    "workshopHoursTotal": "Gesamtstunden",
    "viewAll": "Alle anzeigen",
    "customer": "Kunde",
    "searchCustomer": "Kunde suchen...",
    "noCustomersFound": "Keine Kunden gefunden",
    "selectCustomerFirst": "Wählen Sie zuerst einen Kunden",
    "selectOrCreateCustomer": "Wählen Sie zuerst einen Kunden oder erstellen Sie einen neuen",
    "selectOrCreatePiano": "Wählen Sie zuerst ein Klavier oder erstellen Sie ein neues",
    "selectAllFields": "Alle Felder auswählen",
    "selectService": "-- Service auswählen --",
    "sendTo": "Senden an",
    "customerNoEmail": "Kunde hat keine E-Mail-Adresse",
    "confirmationSentTo": "Bestätigungs-E-Mail gesendet an",
    "applying": "Wird angewendet...",
    "applyRoute": "Route anwenden",
    "appointmentsUpdated": "{{count}} Termine aktualisiert!",
    "errorApplyingRoute": "Fehler beim Anwenden der Route: ",
    "selectCustomerServiceDate": "Bitte wählen Sie Kunde, Service und Datum",
    "mileageTitle": "Km-Erfassung",
    "mileageFullView": "Vollständige Übersicht",
    "mileageBusiness": "Geschäftlich",
    "mileagePrivate": "Privat",
    "mileageTotal": "Gesamt km",
    "mileageYearTotal": "Jahresgesamt",
    "mileageQuickAdd": "Fahrt hinzufügen",
    "mileagePrivateTrip": "Privat",
    "mileageRoundTrip": "Hin & zurück ×2",
    "mileageEnterKm": "Km eingeben",
    "mileageTripAdded": "Fahrt hinzugefügt",
    "searchHint": "Nach Name suchen, oder",
    "createNewCustomer": "neuen Kunden anlegen",
    "customerRequired": "Kunde *",
    "nameRequired": "Name *",
    "selectOrCreateCustomerTitle": "Kunde auswählen oder anlegen",
    "newCustomerTitle": "Neuer Kunde",
    "addNewCustomerTitle": "Neuen Kunden hinzufügen",
    "addCustomerButton": "Kunden hinzufügen",
    "actionSheetFillHereTitle": "Hier eintragen",
    "actionSheetFillHereSubtitle": "Termin zu diesem Zeitpunkt erstellen",
    "actionSheetSmartTitle": "Guten Platz finden",
    "actionSheetSmartSubtitle": "Lassen Sie mich die beste Zeit finden",
    "wizardStepCustomer": "Kunde",
    "wizardStepPiano": "Klavier",
    "wizardStepServiceTime": "Service & Zeit",
    "emailPlaceholder": "email@beispiel.de",
    "phonePlaceholder": "0171-1234567",
    "streetPlaceholder": "Straßenname 123",
    "pianoOptionalLabel": "Klavier (optional)",
    "pianoPlaceholder": "z.B. Yamaha U1",
    "outsideHoursBeforeSingle": "↑ {{count}} Termin vor {{hour}}:00",
    "outsideHoursBeforeMultiple": "↑ {{count}} Termine vor {{hour}}:00",
    "outsideHoursAfterSingle": "↓ {{count}} Termin nach {{hour}}:00",
    "outsideHoursAfterMultiple": "↓ {{count}} Termine nach {{hour}}:00",
    "route": "Route",
    "sync": "Sync",
    "calcTravelTimesTitle": "Reisezeiten für alle Termine berechnen",
    "syncCalendarTitle": "Mit Kalender synchronisieren",
    "streamline": "Optimieren",
    "streamlineTitle": "Tag optimieren",
    "streamlineDesc": "Termine basierend auf echten Google Maps Reisezeiten verschieben",
    "streamlineLoading": "Reisezeiten berechnen...",
    "streamlineNoAppointments": "Nicht genug Termine",
    "streamlineMinTwo": "Mindestens 2 Termine sind erforderlich.",
    "streamlineAlreadyOptimal": "Bereits optimal!",
    "streamlineNoChanges": "Ihr Zeitplan ist bereits gut organisiert. Keine Änderungen nötig.",
    "streamlineChanges": "Änderungen",
    "streamlineTotal": "Termine gesamt",
    "streamlineApply": "Anwenden",
    "streamlineApplied": "Zeitplan optimiert",
    "streamlineAppointmentsMoved": "Termine verschoben",
    "streamlineFailed": "Optimierung fehlgeschlagen",
    "addCustomer": "Kunde hinzufügen",
    "addPianoTitle": "Neues Klavier hinzufügen",
    "savePiano": "Klavier hinzufügen",
    "tuningReminders": "Stimmerinnerungen",
    "auto": "Auto",
    "calculatingRoute": "Route wird berechnet...",
    "emailConfirmation": "E-Mail-Bestätigung",
    "endTime": "Endzeit",
    "endTimeHint": "Endzeit berechnet: Servicedauer + Puffer",
    "newCustomerInline": "👤 Neuer Kunde",
    "newPianoInline": "🎹 Neues Klavier",
    "noPianosAvailable": "Keine Klaviere verfügbar",
    "optimizeRoute": "Route optimieren",
    "pianosForAppointment": "Klaviere für diesen Termin",
    "selectPianos": "Klavier(e) auswählen",
    "selectPianosHint": "Wählen Sie ein oder mehrere Klaviere. Die Dauer wird automatisch berechnet.",
    "selectServiceEdit": "-- Service auswählen --",
    "sendConfirmationLabel": "Bestätigungs-E-Mail an Kunden senden",
    "serviceAndTime": "Service & Zeit",
    "serviceRequired": "Service *",
    "startTimeRequired": "Startzeit *",
    "titleRequired": "Titel *",
    "actionSheetUnavailableSubtitle": "Tag(e) für Urlaub oder frei blockieren",
    "actionSheetUnavailableTitle": "Nicht verfügbar",
    "today": "Heute",
    "yesterday": "Gestern",
    "appointment": "Termin",
    "sendConfirmationTo": "Bestätigung senden an",
    "teamBanner": "Sie haben ein Teams-Abo — verwalten Sie Ihre Stimmer und sehen Sie den Teamkalender",
    "teamDashboardBtn": "Team Dashboard",
    "titlePlaceholder": "z.B. Steinway stimmen",
    "addressAutoFilled": "Adresse (automatisch ausgefüllt)",
    "additionalInfoPlaceholder": "Zusätzliche Infos...",
    "titleExamplePlaceholder": "z.B. Klavierstimmung",
    "searchCustomerPlaceholder": "Kunde suchen...",
    "totalSent": "Gesamt",
    "thisMonth": "Diesen Monat",
    "optedOut": "Abgemeldet",
    "noMoreAppointmentsToday": "Keine weiteren Termine heute",
    "enjoyFreeTime": "Genießen Sie Ihre Freizeit!",
    "blockDays": "Tag(e) blockieren",
    "blockDaysDesc": "Blockierte Tage stehen Kunden nicht zur Verfügung.",
    "fromDate": "Von Datum",
    "untilDate": "Bis Datum",
    "untilDateOptional": "(optional, für mehrere Tage)",
    "reasonLabel": "Grund",
    "reasonOptional": "(optional)",
    "reasonPlaceholder": "z.B. Urlaub, freier Tag, Arzt...",
    "blockButton": "Blockieren",
    "prevNav": "Zurück",
    "nextNav": "Weiter",
    "prevNavTitle": "Zurück (←)",
    "nextNavTitle": "Weiter (→)",
    "routeAnalysisTitle": "Routenanalyse",
    "timeInterval": "Zeitintervall",
    "zoomControls": "Zoom (Cmd +/-)",
    "viewMode": "Ansicht (T/W/M)",
    "zoomOut": "Verkleinern",
    "zoomIn": "Vergrößern",
    "zoomOutTitle": "Verkleinern (Cmd −)",
    "zoomInTitle": "Vergrößern (Cmd +)",
    "resetZoomTitle": "Klicken zum Zurücksetzen (Cmd 0)",
    "completedAppointments": "Abgeschlossene Termine",
    "activeAppointments": "Aktive Termine",
    "pendingAppointments": "Ausstehende Termine",
    "onSchedule": "Im Zeitplan",
    "busy": "Beschäftigt",
    "stillToDo": "Noch zu erledigen",
    "oneHour": "1 Stunde",
    "calendarView": "Kalenderansicht",
    "goToToday": "Zu heute",
    "calendarSyncPromptTitle": "Google Kalender synchronisieren",
    "calendarSyncPromptDesc": "Sie haben sich mit Google angemeldet. Möchten Sie Ihren Kalender verbinden, damit Termine automatisch synchronisiert werden?",
    "calendarSyncPromptYes": "Ja, verbinden",
    "calendarSyncPromptLater": "Später",
    "bookingLeads": "Buchungsanfragen",
    "bulkComplete": "Alle abschließen",
    "bulkConfirm": "Alle {count} Termine als erledigt markieren? Stimmdaten werden aktualisiert.",
    "bulkSuccess": "{completed} Termine abgeschlossen, {pianos} Klaviere aktualisiert",
    "bulkError": "Termine konnten nicht abgeschlossen werden",
    "pendingAll": "Alle"
  },
  "customers": {
    "title": "Kunden",
    "howToUse": "Wie funktioniert es?",
    "guideTitle": "Kunden - Anleitung",
    "guideAdd": "Kunde hinzufügen",
    "guideAddDesc": "Klicken Sie auf 'Neuer Kunde' um einen Kunden anzulegen. Füllen Sie Name, Adresse und Kontaktdaten aus. Klaviere können später im Kundenprofil hinzugefügt werden.",
    "guideBookingLink": "Persönlicher Buchungslink",
    "guideBookingLinkDesc": "Jeder Kunde bekommt einen einzigartigen Buchungslink. Teilen Sie ihn mit dem Kunden, damit er Termine selbst einsehen und buchen kann. Den Link finden Sie im Kundenprofil unter 'Buchungslink'.",
    "guideTheater": "Theater-Kunden",
    "guideTheaterDesc": "Markieren Sie Theater, Konzertsäle und Stammkunden als 'Theater'. Diese Kunden können ihre komplette Terminhistorie einsehen und direkt neue Termine über ihren Link buchen.",
    "guideReminders": "Stimm-Erinnerungen",
    "guideRemindersDesc": "Legen Sie pro Klavier ein Stimmintervall fest (3, 6 oder 12 Monate). PianoPlanner sendet automatisch eine Einladungs-E-Mail wenn es Zeit für die Wartung ist.",
    "guideDuplicates": "Duplikate zusammenführen",
    "guideDuplicatesDesc": "Importierte Kunden doppelt? Nutzen Sie 'Duplikate verwalten' um doppelte Kunden zu finden und zusammenzuführen. Die Erkennung findet exakte Treffer (E-Mail, Name+Telefon, Name) und ähnliche Namen. Alle Klaviere, Termine, Rechnungen und Projekte werden übertragen. Zusammengeführte Kunden werden soft-gelöscht und können innerhalb von 30 Tagen über 'Verlauf' wiederhergestellt werden.",
    "guideTip": "<strong>Tipp:</strong> Die Spalte 'Letzte Stimmung' zeigt pro Kunde das Klavier, das am längsten nicht gestimmt wurde — ideal um schnell jemanden zwischendurch einzuplanen. Sortieren Sie nach dieser Spalte für die dringendsten Kunden.",
    "addCustomer": "Neuer Kunde",
    "editCustomer": "Kunde bearbeiten",
    "deleteCustomer": "Kunde löschen",
    "name": "Name",
    "namePlaceholder": "Vollständiger Name",
    "email": "E-Mail",
    "phone": "Telefon",
    "address": "Adresse",
    "addressSearch": "Adresse suchen",
    "addressSearchPlaceholder": "Tippen Sie für Vorschläge...",
    "street": "Straße + Hausnr.",
    "postalCode": "Postleitzahl",
    "city": "Stadt",
    "type": "Kundentyp",
    "typePrivate": "Privat",
    "typeBusiness": "Geschäftlich",
    "typeSchool": "Schule",
    "typeChurch": "Kirche",
    "typeTheater": "Theater",
    "typeStudio": "Studio",
    "typeHoreca": "Gastronomie",
    "typeGovernment": "Behörde",
    "notes": "Notizen",
    "notesPlaceholder": "Interne Notizen...",
    "noNotes": "Keine Notizen",
    "billingAdmin": "Rechnungsstellung / Verwaltung",
    "billingAdminDesc": "Rechnungen an einen Buchhalter oder ein Verwaltungsbüro senden statt an den Kunden.",
    "billingName": "Z.Hd. (Verwaltung)",
    "billingEmail": "Rechnungs-E-Mail",
    "billingToAdmin": "Rechnungen an Verwaltung",
    "billingToAdminToggle": "Rechnungen an Verwaltung senden",
    "billingToAdminToggleDesc": "Rechnungen gehen an die Verwaltungsadresse, nicht an den Kunden",
    "paymentTerms": "Zahlungsfrist",
    "paymentTermsDefault": "Standard (Einstellung)",
    "withPiano": "Mit Klavier",
    "needsTuning": "Stimmung fällig",
    "newThisMonth": "Neu diesen Monat",
    "noCustomers": "Noch keine Kunden",
    "searchPlaceholder": "Kunden suchen...",
    "backToList": "Zurück zu Kunden",
    "contactDetails": "Kontaktdaten",
    "personalBookingLink": "Persönlicher Buchungslink",
    "bookingLinkHint": "Senden Sie diesen Link an Ihren Kunden, damit er selbst Termine buchen kann.",
    "appointmentHistory": "Termine",
    "scheduleAppointment": "Termin planen",
    "call": "Anrufen",
    "route": "Route",
    "noAddressKnown": "Keine Adresse bekannt",
    "nameRequired": "Bitte geben Sie einen Namen ein",
    "errorSavingCustomer": "Fehler beim Speichern des Kunden",
    "errorSavingCustomerMsg": "Kunde konnte nicht gespeichert werden: ",
    "errorCreatingCustomer": "Kunde konnte nicht erstellt werden. Bitte versuchen Sie es erneut.",
    "loadingCustomers": "Kunden werden geladen...",
    "errorLoadingCustomers": "Kunden konnten nicht geladen werden",
    "noCustomerId": "Keine Kunden-ID angegeben",
    "errorLoadingCustomer": "Fehler beim Laden des Kunden",
    "customerNotFound": "Kunde nicht gefunden",
    "noContactDetails": "Keine Kontaktdaten",
    "unknownPiano": "Unbekanntes Klavier",
    "noAppointmentsYet": "Noch keine Termine",
    "noPiano": "Kein Klavier",
    "lastTuning": "Letzte Stimmung",
    "noResults": "Keine Ergebnisse",
    "errorDeleting": "Fehler beim Löschen",
    "tryDifferentSearch": "Versuchen Sie einen anderen Suchbegriff",
    "addFirstCustomer": "Fügen Sie Ihren ersten Kunden hinzu, um zu beginnen",
    "customersDeleted": "{{count}} Kunde(n) gelöscht",
    "manageDuplicates": "Duplikate verwalten",
    "duplicatesFound": "Duplikate",
    "duplicatesTitle": "Mögliche Duplikate",
    "mergeCustomers": "Kunden zusammenführen",
    "mergeWarningTitle": "Achtung:",
    "mergeWarning": "Wählen Sie unten die Daten aus, die Sie behalten möchten. Der Quellkunde wird soft-gelöscht und alle Termine, Klaviere, Rechnungen und Notizen werden übertragen. Dies kann innerhalb von 30 Tagen über Historie rückgängig gemacht werden.",
    "confirmMerge": "Zusammenführen",
    "merge": "Zusammenführen",
    "noDuplicates": "Keine Duplikate gefunden",
    "duplicatesBy": "Duplikate nach",
    "selectFieldsToKeep": "Wählen Sie die zu behaltenden Daten:",
    "fieldName": "Name",
    "fieldEmail": "E-Mail",
    "fieldPhone": "Telefon",
    "fieldAddress": "Adresse",
    "fieldType": "Typ",
    "fieldNotes": "Notizen",
    "mergeSuccess": "Kunden erfolgreich zusammengeführt!",
    "mergeError": "Fehler beim Zusammenführen",
    "mergeConfirmMsg": "Sind Sie sicher, dass Sie diese Kunden zusammenführen möchten? Alle Termine, Klaviere, Rechnungen und Notizen werden auf den Zielkunden übertragen. Der Quellkunde wird soft-gelöscht. Sie können dies innerhalb von 30 Tagen über Historie rückgängig machen.",
    "keepThis": "Behalten",
    "appointments": "Termine",
    "pianoCount": "Klaviere",
    "contactInfo": "Kontaktdaten",
    "streetPlaceholder": "Straßenname 123",
    "cityPlaceholder": "Berlin",
    "customerUpdated": "Kunde aktualisiert",
    "customerAdded": "Kunde hinzugefügt",
    "customerDeleted": "Kunde gelöscht",
    "confirmDeleteNamed": "Möchten Sie \"{{name}}\" wirklich löschen?",
    "errorSaving": "Fehler beim Speichern",
    "emptyStateText": "Fügen Sie Ihren ersten Kunden hinzu, um loszulegen",
    "export": "Exportieren",
    "delete": "Löschen",
    "deselect": "Auswahl aufheben",
    "convertAddresses": "Adressen umwandeln",
    "fullName": "Vollständiger Name",
    "postalCodePlaceholder": "12345",
    "guideSmartFill": "Route füllen",
    "guideSmartFillDesc": "Füllen Sie Ihre Route intelligent: Suchen Sie nach Stadt oder Postleitzahl und finden Sie Kunden in der Nähe, die gestimmt werden müssen.",
    "preferredPayment": "Bevorzugte Zahlungsmethode",
    "cityRequired": "Stadt *",
    "newCustomer": "Neuer Kunde",
    "customerCreated": "Kunde erstellt",
    "customerSaved": "Kunde gespeichert",
    "pianosAfterSave": "Klaviere und Termine erscheinen nach dem Speichern des Kunden",
    "noCustomersFound": "Keine Kunden gefunden",
    "fullNamePlaceholder": "Vollständiger Name",
    "emailPlaceholder": "email@beispiel.de",
    "phonePlaceholder": "01234-567890",
    "noPreference": "Noch nicht bekannt",
    "emailLog": "E-Mail-Protokoll",
    "noEmailsYet": "Noch keine E-Mails an diesen Kunden gesendet",
    "noContactInfo": "Keine Kontaktdaten",
    "couldNotLoadMap": "Karte konnte nicht geladen werden: ",
    "couldNotLoadMapData": "Kartendaten konnten nicht geladen werden",
    "noCity": "Keine Stadt",
    "remainingToProcess": "Noch {{count}} zu verarbeiten",
    "geocodingFailed": "Geocodierung fehlgeschlagen",
    "duplicatesFetchError": "Fehler beim Abrufen von Duplikaten",
    "duplicateDetectionDesc": "Duplikaterkennung sucht nach E-Mail, Name+Telefon, nur Name und ähnlicher Schreibweise (Fuzzy-Matching).",
    "searchingDuplicates": "Duplikate werden gesucht...",
    "duplicateGroupsFound": "mögliche Duplikatgruppen gefunden",
    "pageOf": "Seite {{current}} von {{total}}",
    "clickToSelectPrimary": "Klicken Sie auf einen Kunden, um ihn als primär auszuwählen",
    "chooseFieldValues": "Wählen Sie für jedes Feld den Wert, den Sie behalten möchten:",
    "mergeFailed": "Zusammenführung fehlgeschlagen",
    "mergeErrorOccurred": "Beim Zusammenführen ist ein Fehler aufgetreten",
    "searchFailed": "Suche fehlgeschlagen",
    "connectionFailed": "Verbindung fehlgeschlagen: ",
    "sendFailed": "Senden fehlgeschlagen",
    "failed": "Fehlgeschlagen",
    "addFirstCustomerDesc": "Fügen Sie Ihren ersten Kunden hinzu",
    "status": "Status",
    "edit": "Bearbeiten",
    "newAppointment": "Neuer Termin",
    "customerCount": "Kunden",
    "confirmDelete": "Möchten Sie diesen Kunden wirklich löschen?",
    "exportSuccess": "Export erfolgreich",
    "selected": "ausgewählt",
    "billingNamePlaceholder": "Steuerbüro Müller",
    "billingEmailPlaceholder": "buchhaltung@steuerbuero.de",
    "mergeHistory": "Verlauf",
    "mergeHistoryTitle": "Merge-Verlauf",
    "mergeWarningWithUndo": "Die anderen Kunden werden soft-gelöscht. Alle Klaviere, Termine, Rechnungen und Projekte werden übertragen. Sie können dies innerhalb von 30 Tagen rückgängig machen.",
    "noMergeHistory": "Keine kürzlichen Merges zum Rückgängigmachen.",
    "daysToUndo": "Tage zum Rückgängigmachen",
    "undoExpired": "Rückgängig machen abgelaufen",
    "confirmUndo": "Sind Sie sicher, dass Sie diesen Merge rückgängig machen möchten? Die ursprünglichen Kunden werden wiederhergestellt.",
    "undoSuccess": "Merge rückgängig gemacht! Kunden wiederhergestellt.",
    "fuzzyMatch": "ähnlich",
    "confirmMergeWithUndo": "wird mit {target} zusammengeführt. Dies kann innerhalb von 30 Tagen rückgängig gemacht werden. Fortfahren?",
    "undo": "Rückgängig",
    "undoFailed": "Rückgängig machen fehlgeschlagen",
    "pianos": "Klaviere",
    "placeholders": {
      "fullName": "Vollständiger Name",
      "streetExample": "Hauptstraße 1",
      "internalNotes": "Interne Notizen...",
      "search": "Suche nach Name, E-Mail, Telefon, Ort...",
      "cityPostalExample": "z.B. Berlin, 10115"
    }
  },
  "pianos": {
    "title": "Klaviere",
    "howToUse": "Wie funktioniert es?",
    "guideTitle": "Klaviere - Anleitung",
    "guideAdd": "Klavier hinzufügen",
    "guideAddDesc": "Klicken Sie auf 'Neues Klavier' oder fügen Sie ein Klavier über das Kundenprofil hinzu. Füllen Sie Marke, Modell, Seriennummer und Standort aus. Verknüpfen Sie das Klavier mit einem Kunden.",
    "guideInterval": "Stimmintervall festlegen",
    "guideIntervalDesc": "Legen Sie pro Klavier ein Stimmintervall fest: 3, 6 oder 12 Monate. Oder wählen Sie 'Kunde nimmt Kontakt auf' wenn der Kunde selbst anruft. Die Statusfarbe zeigt, ob Wartung nötig ist.",
    "guideStatus": "Statusfarben",
    "guideStatusDesc": "Grün = planmäßig, Gelb = Stimmung bald fällig, Rot = überfällig. Die Farben werden basierend auf der letzten Stimmung und dem festgelegten Intervall berechnet.",
    "guideSmartPick": "Smart Pick",
    "guideSmartPickDesc": "Bei der Terminplanung zeigt Smart Pick, welche Klaviere Wartung benötigen. Gelber Schein = empfohlen für Stimmung basierend auf Intervall und Jahreszeit.",
    "guideHistory": "Wartungshistorie",
    "guideHistoryDesc": "Sehen Sie die komplette Wartungshistorie pro Klavier ein. Alle Termine werden automatisch mit Datum, Serviceart und Notizen protokolliert.",
    "guideTip": "<strong>Tipp:</strong> Nutzen Sie die Filter 'Überfällig' oder 'Nie' um schnell Klaviere zu finden, die Aufmerksamkeit benötigen. Klicken Sie auf ein Klavier für Details und Historie.",
    "addPiano": "Neues Klavier",
    "editPiano": "Klavier bearbeiten",
    "deletePiano": "Klavier löschen",
    "brand": "Marke",
    "brandPlaceholder": "z.B. Steinway",
    "model": "Modell",
    "serialNumber": "Seriennummer",
    "year": "Baujahr",
    "yearPlaceholder": "Baujahr",
    "type": "Typ",
    "typeUpright": "Piano",
    "typeGrand": "Flügel",
    "upright": "Piano",
    "grand": "Flügel",
    "digital": "Digital",
    "condition": "Zustand",
    "conditionExcellent": "Ausgezeichnet",
    "conditionGood": "Gut",
    "conditionFair": "Befriedigend",
    "conditionPoor": "Schlecht",
    "excellent": "Ausgezeichnet",
    "good": "Gut",
    "fair": "Befriedigend",
    "poor": "Schlecht",
    "finish": "Oberfläche",
    "finishPlaceholder": "z.B. Schwarz Hochglanz",
    "location": "Standort",
    "locationPlaceholder": "z.B. Wohnzimmer",
    "tuningInterval": "Stimmintervall",
    "tuningPitch": "Stimmtonhöhe",
    "tuningPitchPlaceholder": "z.B. 440 Hz",
    "tuningData": "Stimmdaten",
    "climateControl": "Klimakontrolle",
    "climateControlActive": "Aktiv",
    "intervalNone": "Kunde nimmt selbst Kontakt auf",
    "interval3": "Alle 3 Monate",
    "interval6": "Alle 6 Monate",
    "interval12": "Jährlich",
    "owner": "Eigentümer",
    "noOwner": "-- Kein Eigentümer --",
    "notes": "Notizen",
    "totalPianos": "Gesamt Klaviere",
    "onSchedule": "Planmäßig",
    "dueSoon": "Bald fällig",
    "overdue": "Überfällig",
    "neverTuned": "Noch nie gestimmt",
    "byBrand": "Klaviere nach Marke",
    "searchPlaceholder": "Nach Marke, Modell, Seriennummer oder Kunde suchen...",
    "lastTuning": "Letzte Stimmung",
    "noPianos": "Noch keine Klaviere",
    "serviceHistory": "Servicehistorie",
    "addService": "Service hinzufügen",
    "serviceTuning": "Stimmung",
    "serviceRepair": "Reparatur",
    "serviceRegulation": "Regulierung",
    "serviceVoicing": "Intonation",
    "noServiceHistory": "Noch keine Servicehistorie",
    "confirmDelete": "Möchten Sie dieses Klavier wirklich löschen?",
    "lastTuned": "Zuletzt gestimmt",
    "errorLoading": "Fehler beim Laden der Daten",
    "everyMonths": "Alle {{months}} Monate",
    "noOwnerLinked": "Kein Eigentümer zugeordnet",
    "linkOwner": "Eigentümer zuordnen",
    "linkOwnerFirst": "Zuerst einen Eigentümer zuordnen",
    "dueSoonStatus": "Bald fällig",
    "overdueStatus": "Überfällig",
    "nextTuning": "Nächste",
    "planFirstTuning": "Erste Stimmung planen",
    "loadingHistory": "Historie wird geladen...",
    "noNotes": "Keine Notizen",
    "brandRequired": "Marke ist erforderlich",
    "pianoUpdated": "Klavier aktualisiert",
    "pianoAdded": "Klavier hinzugefügt",
    "pianoDeleted": "Klavier gelöscht",
    "thisPiano": "dieses Klavier",
    "confirmDeleteNamed": "Möchten Sie \"{{name}}\" wirklich löschen?",
    "selectDate": "Datum auswählen",
    "tuningAdded": "Stimmung hinzugefügt",
    "errorSavingPiano": "Fehler beim Speichern des Klaviers",
    "errorSavingPianoMsg": "Klavier konnte nicht gespeichert werden: ",
    "loadingPianos": "Klaviere werden geladen...",
    "errorLoadingPianos": "Fehler beim Laden der Klaviere",
    "newPiano": "Neues Klavier",
    "totalPianosLabel": "Gesamt Klaviere",
    "serviceOverdue": "Wartung überfällig",
    "serviceSoon": "Service bald fällig",
    "serviceOk": "Im Plan",
    "filterOverdue": "Überfällig",
    "filterDueSoon": "Bald fällig",
    "filterOk": "Gut",
    "filterUnknown": "Unbekannt",
    "colStatus": "Status",
    "colBrandModel": "Marke & Modell",
    "colType": "Typ",
    "colSerialNumber": "Seriennummer",
    "colCustomer": "Kunde",
    "colLocation": "Standort",
    "colLastTuning": "Zuletzt gestimmt",
    "colNextService": "Nächster Service",
    "colActions": "Aktionen",
    "noResults": "Keine Klaviere gefunden",
    "tryDifferentSearch": "Versuchen Sie eine andere Suche oder Filter",
    "serviceStatus": "Service-Status",
    "pianoDetails": "Klavier-Details",
    "scheduleService": "Termin planen",
    "viewCustomer": "Kunde anzeigen",
    "nextService": "Nächster Service",
    "serviceInterval": "Service-Intervall",
    "statusUnknown": "Unbekannt",
    "statusGood": "Gut",
    "monthsLate": "{{count}} Mo zu spät",
    "withinMonths": "Innerhalb von {{count}} Mo",
    "noCustomer": "Kein Kunde",
    "typePiano": "Piano",
    "typeGrandPiano": "Flügel",
    "typeDigitalPiano": "Digital",
    "schedule": "Planen",
    "edit": "Bearbeiten",
    "selected": "ausgewählt",
    "exportCsv": "Exportieren",
    "bulkLastTuning": "Letzte Stimmung",
    "bulkTuningTitle": "Letzte Stimmung aktualisieren",
    "bulkTuningDesc": "Klaviere werden aktualisiert",
    "lastTuningDate": "Datum der letzten Stimmung",
    "bulkApply": "Anwenden",
    "selectDateFirst": "Bitte wählen Sie zuerst ein Datum",
    "bulkTuningSuccess": "Klaviere aktualisiert!",
    "loading": "Laden...",
    "noPianoId": "Keine Klavier-ID angegeben",
    "pianoNotFound": "Klavier nicht gefunden",
    "errorLoadingPiano": "Klavier konnte nicht geladen werden",
    "noRemarks": "Keine Anmerkungen",
    "noServiceInfo": "Keine Service-Informationen verfügbar",
    "monthsLateForService": "{{count}} Monate zu spät für Service",
    "serviceSoonNeeded": "Service bald erforderlich",
    "monthsUntilService": "{{count}} Monate bis zum Service",
    "monthsAgoTuned": "Vor {{count}} Monaten gestimmt",
    "addFirstService": "Ersten Service hinzufügen",
    "workshopLocation": "Werkstattstandort",
    "workshopLocationPlaceholder": "z.B. Hauptwerkstatt, Lager 2",
    "workshopNote": "Für Werkstattpianinos — Standort innerhalb der Werkstatt",
    "serviceDue": "Wartung fällig",
    "nextDue": "Nächste fällig",
    "customerInitiates": "Kunde nimmt Kontakt auf",
    "every3months": "Alle 3 Monate",
    "every6months": "Alle 6 Monate",
    "every12months": "Jährlich",
    "enterCustomName": "Eigene Bezeichnung eingeben",
    "customNamePlaceholder": "z.B. Salonflügel, Konzertflügel Saal A",
    "formErrors": "Bitte überprüfen Sie das Formular",
    "errorSaving": "Fehler beim Speichern",
    "markOverdue": "Als überfällig markieren",
    "appointmentHistory": "Terminhistorie",
    "noAppointments": "Keine Termine für dieses Klavier",
    "sendReminder": "Erinnerung senden",
    "noPianosForCustomer": "Noch keine Klaviere für diesen Kunden",
    "savePiano": "Klavier speichern",
    "optional": "Optional",
    "brandExample": "z.B. Yamaha",
    "modelExample": "z.B. U1",
    "yearExample": "z.B. 1985",
    "notesPlaceholder": "Eventuelle Bemerkungen...",
    "basicInfo": "Grunddaten",
    "locationMaintenance": "Standort & Wartung",
    "emptyStateText": "Fügen Sie Ihr erstes Klavier hinzu, um loszulegen",
    "photos": "Fotos",
    "addPhoto": "Foto hinzufügen",
    "deletePhoto": "Foto löschen",
    "photoAdded": "Foto hinzugefügt",
    "photosAdded": "{{count}} Fotos hinzugefügt",
    "photoDeleted": "Foto gelöscht",
    "maxPhotos": "Maximal 10 Fotos pro Klavier",
    "uploadFailed": "Foto-Upload fehlgeschlagen",
    "deleteFailed": "Löschen fehlgeschlagen",
    "linkCustomer": "Kunde verknüpfen",
    "changeCustomer": "Ändern",
    "unlinkCustomer": "Verknüpfung aufheben",
    "selectCustomer": "Kunde auswählen",
    "customerLinked": "Kunde verknüpft",
    "customerUnlinked": "Besitzer getrennt",
    "floor": "Etage",
    "floor1": "1. Etage",
    "floor2": "2. Etage",
    "floor3": "3. Etage",
    "floor4plus": "4. Etage oder höher",
    "scheduleAppointment": "Termin planen",
    "basement": "Keller",
    "blackPolish": "Schwarz Hochglanz",
    "blackSatin": "Schwarz Satin",
    "groundFloor": "Erdgeschoss",
    "mahogany": "Mahagoni",
    "needsRepair": "Reparatur nötig",
    "oak": "Eiche",
    "other": "Sonstige",
    "piano": "Klavier",
    "walnut": "Nussbaum",
    "whitePolish": "Weiß Hochglanz",
    "modelPlaceholder": "z.B. U1, Model D",
    "typeDigital": "Digitalklavier",
    "typeRequired": "Typ *",
    "featurePopupTitle": "Neu!",
    "featurePopupBody": "Sie können jetzt Klaviere, die zur Wartung fällig sind, auswählen und Stimmungseinladungen direkt von dieser Seite senden. Verwenden Sie die Kontrollkästchen und klicken Sie auf 'Stimmeinladung senden' in der Aktionsleiste.",
    "featurePopupGotIt": "Verstanden!",
    "customerRequired": "Bitte wählen Sie zuerst einen Kunden",
    "noDetails": "Keine Details",
    "errorDeleting": "Fehler beim Löschen",
    "noCustomersFound": "Keine Kunden gefunden",
    "confirmDeletePhoto": "Foto löschen?",
    "pianoDataUnavailable": "Klavierdaten nicht verfügbar",
    "noCustomerLinked": "Kein Kunde verknüpft",
    "linkFailed": "Verknüpfung fehlgeschlagen",
    "confirmUnlinkOwner": "Eigentümer von diesem Klavier trennen?",
    "unlinkFailed": "Trennen fehlgeschlagen",
    "buildYear": "Baujahr",
    "placeholders": {
      "brandExample": "z.B. Steinway",
      "roomExample": "z.B. Wohnzimmer"
    }
  },
  "appointments": {
    "title": "Termine",
    "appointment": "Termin",
    "newAppointment": "Neuer Termin",
    "editAppointment": "Termin bearbeiten",
    "deleteAppointment": "Termin löschen",
    "deleteTitle": "Termin löschen",
    "deleteConfirm": "Sind Sie sicher, dass Sie diesen Termin löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
    "date": "Datum",
    "time": "Uhrzeit",
    "duration": "Dauer",
    "service": "Dienstleistung",
    "customer": "Kunde",
    "piano": "Klavier",
    "location": "Ort",
    "notes": "Notizen",
    "status": "Status",
    "scheduled": "Geplant",
    "completed": "Erledigt",
    "cancelled": "Storniert",
    "appointmentCreated": "Termin erstellt!",
    "appointmentDeleted": "Termin gelöscht",
    "createAppointment": "Termin erstellen",
    "thisAppointment": "diesen Termin",
    "confirmDeleteNamed": "Sind Sie sicher, dass Sie \"{{title}}\" löschen möchten?",
    "errorCreatingAppointment": "Fehler beim Erstellen des Termins: ",
    "errorSavingAppointment": "Termin konnte nicht gespeichert werden: ",
    "errorDeletingAppointment": "Termin konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.",
    "slotTaken": "Dieser Zeitraum ist bereits belegt. Bitte wählen Sie eine andere Zeit.",
    "fillTitleStartEnd": "Bitte füllen Sie Titel, Start- und Endzeit aus",
    "errorMovingAppointment": "Termin konnte nicht verschoben werden: ",
    "errorMovingAppointmentRetry": "Termin konnte nicht verschoben werden. Bitte versuchen Sie es erneut.",
    "locationType": "Wo?",
    "locationCustomer": "Beim Kunden",
    "locationWorkshop": "Werkstatt",
    "locationRemote": "Remote",
    "atWorkshop": "Werkstatt",
    "atCustomer": "Beim Kunden",
    "atRemote": "Remote",
    "workshopAddress": "Ihre Werkstattadresse",
    "noTravelNeeded": "Keine Reisezeit",
    "travelToWorkshop": "Zur Werkstatt",
    "travelFromWorkshop": "Von Werkstatt",
    "workshopAppointment": "Werkstatt-Termin",
    "workshopCount": "Werkstatt",
    "customerCount": "Kunde",
    "remoteCount": "Remote",
    "travelWarningPrevious": "Achtung: nur {{gapMinutes}} Min. Fahrzeit vom vorherigen Termin (mindestens {{neededMinutes}} Min. empfohlen)",
    "travelWarningNext": "Achtung: nur {{gapMinutes}} Min. Fahrzeit zum nächsten Termin (mindestens {{neededMinutes}} Min. empfohlen)",
    "travelWarningBoth": "Achtung: wenig Fahrzeit zu umliegenden Terminen (mindestens {{neededMinutes}} Min. empfohlen)",
    "call": "Anrufen",
    "whatsapp": "WhatsApp",
    "message": "Nachricht",
    "route": "Route",
    "done": "Erledigt",
    "markDone": "Als erledigt markieren",
    "privateAppointment": "Privater Termin",
    "privateAppointmentHint": "Nicht geschäftlich, wird separat in der Kilometererfassung gezählt",
    "privatePurpose": "Zweck der Fahrt",
    "privatePurposePlaceholder": "z.B. Einkäufe, Arzt, Familie...",
    "project": "Projekt",
    "noProject": "Kein Projekt (einzelne Werkstattstunden)",
    "newProject": "Neu",
    "remainingHours": "Verbleibend",
    "hours": "Stunden",
    "selectProject": "Projekt wählen",
    "couldNotLoad": "Termine konnten nicht geladen werden",
    "enjoyYourDay": "Genießen Sie Ihren Tag!",
    "noAppointmentsToday": "Heute keine Termine",
    "tryAgain": "Erneut versuchen",
    "schedule": "Planen",
    "workshopTimer": "Werkstatt-Timer",
    "startsIn": "Beginnt in",
    "elapsed": "vergangen",
    "remaining": "verbleibend",
    "timerDone": "Fertig",
    "viewProject": "Projekt ansehen",
    "linkedProject": "Verknüpftes Projekt"
  },
  "services": {
    "title": "Dienstleistungen",
    "addService": "Dienstleistung hinzufügen",
    "editService": "Dienstleistung bearbeiten",
    "deleteService": "Dienstleistung löschen",
    "name": "Name",
    "duration": "Dauer",
    "price": "Preis",
    "description": "Beschreibung",
    "minutes": "Minuten"
  },
  "settings": {
    "title": "Einstellungen",
    "subtitle": "Verwalten Sie Ihren Kalender, E-Mail, Konto und Geschäftseinstellungen.",
    "syncOverview": "Sync-Übersicht",
    "hideGuide": "Anleitungen ausblenden",
    "hideGuideDesc": "Verbergen Sie die 'Wie funktioniert es?' Abschnitte auf allen Seiten",
    "sidebar": {
      "calendar": "Kalender",
      "googleCalendar": "Google Kalender",
      "microsoftCalendar": "Microsoft 365",
      "appleCalendar": "Apple iCloud",
      "displaySettings": "Anzeigeeinstellungen",
      "icalFeed": "iCal Feed",
      "email": "E-Mail",
      "customDomain": "Eigene Domain",
      "emailNotifications": "Benachrichtigungen",
      "emailTemplates": "Vorlagen",
      "notifications": "Benachrichtigungen",
      "pushNotifications": "Push-Benachrichtigungen",
      "business": "Unternehmen",
      "companyDetails": "Firmendaten",
      "bookingSettings": "Buchungseinstellungen",
      "travelSettings": "Reise & Servicegebiet",
      "regionalSettings": "Regionale Einstellungen",
      "bookingPlanning": "Buchung & Planung",
      "onlineBooking": "Online-Buchung",
      "availability": "Verfügbarkeit",
      "travelArea": "Reise & Servicegebiet",
      "communication": "Kommunikation",
      "services": "Services",
      "manageServices": "Services verwalten",
      "account": "Konto",
      "profile": "Profil",
      "subscription": "Abonnement",
      "language": "Sprache",
      "importData": "Daten importieren",
      "teamManagement": "Teamverwaltung",
      "integrations": "Integrationen",
      "accounting": "Buchhaltungs-Integration",
      "mileageTracking": "Kilometererfassung",
      "emailLog": "E-Mail-Protokoll"
    },
    "cards": {
      "password": "Passwort",
      "companyAvailability": "Firma & Verfügbarkeit",
      "dangerZone": "Gefahrenzone",
      "resetData": "Daten zurücksetzen"
    },
    "googleCalendar": "Google Kalender Sync",
    "appleCalendar": "Apple Kalender Sync",
    "emailNotifications": "E-Mail-Benachrichtigungen",
    "bookingLink": "Öffentlicher Buchungslink",
    "companyProfile": "Firmenprofil",
    "account": {
      "subscriptionTitle": "Abonnement",
      "subscriptionDesc": "Verwalten Sie Ihr Abonnement, sehen Sie Rechnungen ein und passen Sie Ihre Zahlungsmethode an.",
      "manageSubscription": "Abonnement verwalten",
      "importTitle": "Daten importieren",
      "importTypes": "Kontakte, Kalender, CSV",
      "importDesc": "Importieren Sie bestehende Daten aus anderen Apps oder Dateien.",
      "importContacts": "Kontakte",
      "importContactsDesc": "vCard, CSV\niPhone, Google, Outlook",
      "importCalendar": "Kalender",
      "importCalendarDesc": "iCal (.ics)\nApple, Google, Outlook",
      "importGazelle": "Gazelle-Import",
      "importGazelleDesc": "Schritt für Schritt\nmit detailliertem Bericht",
      "cleanNotes": "Notizen bereinigen",
      "cleanNotesDesc": "Entfernen Sie doppelten Text und wiederholte Zeilen aus Kunden- und Klaviernotizen. Nützlich nach dem Import von Daten mit möglichen Zusammenführungsartefakten.",
      "cleanAllNotes": "Alle Notizen bereinigen",
      "timezone": "Zeitzone",
      "timezoneDesc": "Stellen Sie Ihre Zeitzone für genaue Terminplanung und Kalendersynchronisation ein.",
      "autoDetect": "Automatisch erkennen",
      "saveTimezone": "Zeitzone speichern",
      "name": "Name",
      "profileEmail": "E-Mail",
      "loginMethod": "Anmeldemethode",
      "saveProfile": "Profil speichern",
      "currentPassword": "Aktuelles Passwort",
      "newPassword": "Neues Passwort",
      "confirmPassword": "Passwort bestätigen",
      "minChars": "Mindestens 6 Zeichen",
      "changePassword": "Passwort ändern",
      "interfaceLanguage": "Sprache der Benutzeroberfläche",
      "deleteTitle": "Konto dauerhaft löschen",
      "deleteWarning": "Diese Aktion kann nicht rückgängig gemacht werden. Alle Ihre Daten, Termine, Kunden und Einstellungen werden dauerhaft gelöscht.",
      "deleteAccountBtn": "Konto löschen",
      "deleteAccountConfirmTitle": "Konto löschen",
      "deleteAccountPermanent": "Diese Aktion ist permanent!",
      "deleteAccountConfirmMsg": "Ihr Konto, alle Termine, Kunden, Klaviere, Dienste und Einstellungen werden dauerhaft gelöscht und können nicht wiederhergestellt werden.",
      "deleteConfirmPrompt": "Geben Sie Ihr Passwort zur Bestätigung ein:",
      "deleteConfirmPassword": "Passwort",
      "deleteConfirmBtn": "Mein Konto löschen",
      "email": "E-Mail",
      "password": "Passwort",
      "permanentAction": "Diese Aktion ist permanent!",
      "deleteModalWarning": "Ihr Konto, alle Termine, Kunden, Klaviere, Dienste und Einstellungen werden dauerhaft gelöscht und können nicht wiederhergestellt werden.",
      "confirmDeletion": "Geben Sie Ihr Passwort zur Bestätigung ein:",
      "deleteMyAccount": "Mein Konto löschen",
      "resetTitle": "Daten zurücksetzen",
      "resetDescription": "Setzen Sie ausgewählte Daten zurück und beginnen Sie von vorne",
      "resetDataBtn": "Daten zurücksetzen",
      "resetCustomers": "Kunden",
      "resetPianos": "Klaviere",
      "resetAppointments": "Termine",
      "resetInvoices": "Rechnungen",
      "resetServiceHistory": "Servicehistorie",
      "resetMileage": "Kilometerstand",
      "resetWillDelete": "Folgendes wird gelöscht",
      "resetWillKeep": "Folgendes wird beibehalten",
      "keepAccount": "Ihr Konto",
      "keepSettings": "Ihre Einstellungen",
      "keepServices": "Ihre Dienste",
      "keepTemplates": "Ihre E-Mail-Vorlagen",
      "keepSubscription": "Ihr Abonnement",
      "confirmReset": "Zurücksetzen bestätigen",
      "resetConfirmPrompt": "Sind Sie sicher? Diese Aktion kann nicht rückgängig gemacht werden.",
      "resetConfirmLabel": "Geben Sie RESET ein zur Bestätigung",
      "resetConfirmDetail": "Alle ausgewählten Daten werden dauerhaft gelöscht",
      "resetConfirmWarning": "Diese Aktion kann nicht rückgängig gemacht werden!",
      "resetTypeReset": "Geben Sie RESET ein zur Bestätigung",
      "resetting": "Wird zurückgesetzt...",
      "resetSuccess": "Alle Daten wurden gelöscht. Ihre Einstellungen und Ihr Konto bleiben erhalten.",
      "resetFailed": "Datenreset fehlgeschlagen"
    },
    "language": "Sprache",
    "selectLanguage": "Sprache auswählen",
    "save": "Speichern",
    "saved": "Gespeichert!",
    "connect": "Verbinden",
    "disconnect": "Trennen",
    "connected": "Verbunden",
    "notConnected": "Nicht verbunden",
    "enabled": "Aktiviert",
    "disabled": "Deaktiviert",
    "selectTimezone": "Bitte wählen Sie eine Zeitzone",
    "couldNotSaveTimezone": "Zeitzone konnte nicht gespeichert werden",
    "timezoneSaved": "🌍 Zeitzone gespeichert!",
    "nameEmailRequired": "Name und E-Mail sind erforderlich",
    "couldNotSaveProfile": "Profil konnte nicht gespeichert werden",
    "profileSaved": "Profil gespeichert!",
    "fillAllPasswordFields": "Bitte füllen Sie alle Passwortfelder aus",
    "passwordsDoNotMatch": "Neue Passwörter stimmen nicht überein",
    "passwordMinLength": "Passwort muss mindestens 6 Zeichen haben",
    "couldNotChangePassword": "Passwort konnte nicht geändert werden",
    "passwordChanged": "Passwort geändert!",
    "modalNotFound": "Fehler: Modal nicht gefunden",
    "editService": "Service bearbeiten",
    "newService": "Neuer Service",
    "serviceNotFound": "Service nicht gefunden. Versuchen Sie, die Seite zu aktualisieren.",
    "serviceUpdated": "Service aktualisiert!",
    "serviceAdded": "Service hinzugefügt!",
    "couldNotSaveService": "Service konnte nicht gespeichert werden",
    "confirmDeleteService": "Sind Sie sicher, dass Sie diesen Service löschen möchten?",
    "serviceDeleted": "Service gelöscht",
    "couldNotDeleteService": "Service konnte nicht gelöscht werden",
    "enterAppleCredentials": "Bitte geben Sie Ihre Apple-ID und Ihr app-spezifisches Passwort ein",
    "connectingToApple": "Verbinde mit Apple Kalender...",
    "appleCalendarConnected": "🍎 Apple Kalender erfolgreich verbunden!",
    "selectCalendarFirst": "Bitte wählen Sie zuerst einen Kalender",
    "appleSyncEnabled": "🍎 Apple Kalender Sync aktiviert!",
    "failedToEnableSync": "Sync konnte nicht aktiviert werden: ",
    "syncingWithApple": "Synchronisiere mit Apple Kalender...",
    "confirmDisconnectMicrosoft": "Sind Sie sicher, dass Sie Microsoft Kalender trennen möchten?",
    "microsoftDisconnected": "Microsoft Kalender getrennt",
    "failedToDisconnect": "Trennung fehlgeschlagen: ",
    "logoUploaded": "Logo erfolgreich hochgeladen!",
    "uploadLogo": "Logo hochladen",
    "logoRequirements": "PNG, JPG oder GIF. Max. 2MB empfohlen. Verwenden Sie vorzugsweise ein Bild von max. 400×400px mit transparentem Hintergrund.",
    "uploadFailed": "Upload fehlgeschlagen: ",
    "confirmRemoveLogo": "Sind Sie sicher, dass Sie Ihr Logo entfernen möchten?",
    "logoRemoved": "Logo entfernt",
    "couldNotRemoveLogo": "Logo konnte nicht entfernt werden: ",
    "fileTooLarge": "Datei ist zu groß. Maximale Größe ist 5MB.",
    "couldNotSaveSettings": "Einstellungen konnten nicht gespeichert werden",
    "bookingSettingsSaved": "Buchungseinstellungen gespeichert!",
    "linkCopied": "Link in die Zwischenablage kopiert!",
    "confirmCleanNotes": "Dies bereinigt alle Kunden- und Klaviernotizen, indem doppelter Text und wiederholte Zeilen entfernt werden.\n\nMöchten Sie fortfahren?",
    "couldNotLoadTemplate": "Vorlage konnte nicht geladen werden",
    "fillSubjectAndContent": "Bitte füllen Sie Betreff und Inhalt aus",
    "saveFailed": "Speichern fehlgeschlagen",
    "templateSaved": "Vorlage gespeichert!",
    "saveFailedWithError": "Speichern fehlgeschlagen: ",
    "confirmResetTemplate": "Sind Sie sicher, dass Sie diese Vorlage auf die Standardversion zurücksetzen möchten? Ihre Änderungen werden entfernt.",
    "resetFailed": "Zurücksetzen fehlgeschlagen",
    "templateReset": "Vorlage auf Standard zurückgesetzt",
    "resetFailedWithError": "Zurücksetzen fehlgeschlagen: ",
    "testEmailSending": "Test-E-Mail wird gesendet...",
    "sendFailed": "Senden fehlgeschlagen",
    "testEmailSent": "✅ Test-E-Mail an Ihre E-Mail-Adresse gesendet!",
    "testEmailFailed": "❌ Test-E-Mail fehlgeschlagen: ",
    "syncEnabled": "Sync aktiviert!",
    "somethingWentWrong": "Etwas ist schief gelaufen",
    "errorSavingSettings": "Fehler beim Speichern der Einstellungen",
    "syncing": "Synchronisiere...",
    "syncComplete": "Sync abgeschlossen! Elemente synchronisiert.",
    "syncFailed": "Sync fehlgeschlagen",
    "errorSyncing": "Fehler bei der Synchronisierung",
    "syncNow": "Jetzt synchronisieren",
    "confirmDisconnectGoogle": "Sind Sie sicher, dass Sie Google Kalender trennen möchten? Ihre Synchronisierung wird deaktiviert und Sie müssen sich erneut mit Google anmelden, um die Verbindung wiederherzustellen.",
    "googleDisconnected": "Google Kalender getrennt",
    "couldNotConnectApple": "Verbindung zu Apple Kalender konnte nicht hergestellt werden",
    "connectionError": "Verbindungsfehler. Bitte versuchen Sie es erneut.",
    "confirmDisconnectApple": "Sind Sie sicher, dass Sie Apple Kalender trennen möchten?",
    "appleDisconnected": "Apple Kalender getrennt",
    "couldNotDisconnect": "Trennung nicht möglich",
    "errorDisconnecting": "Fehler beim Trennen",
    "couldNotEnableSync": "Sync konnte nicht aktiviert werden",
    "singleProviderTitle": "Anderer Kalender aktiv",
    "singleProviderMessage": "Ihr Kalender ist mit {provider} verbunden. Trennen Sie zuerst {provider} in den Einstellungen oben, bevor Sie wechseln können.",
    "singleProviderError": "Sie haben bereits eine aktive Synchronisierung mit einem anderen Kalender. Trennen Sie zuerst den aktuellen Kalender.",
    "errorSyncingApple": "Fehler bei der Synchronisierung mit Apple Kalender",
    "calendarSelectionSaved": "Kalenderauswahl gespeichert!",
    "couldNotSaveCalendarSelection": "Kalenderauswahl konnte nicht gespeichert werden",
    "emailSettingsSaved": "E-Mail-Einstellungen gespeichert",
    "errorSavingEmailSettings": "Fehler beim Speichern der E-Mail-Einstellungen",
    "sending": "Wird gesendet...",
    "testEmailSentCheckInbox": "Test-E-Mail gesendet! Überprüfen Sie Ihren Posteingang.",
    "couldNotSendTestEmail": "Test-E-Mail konnte nicht gesendet werden",
    "errorSendingTestEmail": "Fehler beim Senden der Test-E-Mail",
    "sendTestEmail": "Test-E-Mail senden",
    "languageChanged": "Sprache geändert",
    "pleaseEnterPassword": "Bitte geben Sie Ihr Passwort ein",
    "deleting": "Wird gelöscht...",
    "accountDeletedRedirecting": "Konto erfolgreich gelöscht. Weiterleitung...",
    "failedToDeleteAccount": "Konto konnte nicht gelöscht werden",
    "deleteMyAccount": "Mein Konto löschen",
    "somethingWentWrongTryAgain": "Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.",
    "companyProfileSaved": "Firmenprofil gespeichert!",
    "couldNotSaveCompanyProfile": "Firmenprofil konnte nicht gespeichert werden: ",
    "failedToConnect": "Verbindung fehlgeschlagen: ",
    "notesCleanedSuccess": "Notizen bereinigt!",
    "errorCleaningNotes": "Fehler beim Bereinigen der Notizen: ",
    "emailsViaPianoPlanner": "E-Mails werden jetzt über PianoPlanner gesendet",
    "errorSaving": "Fehler beim Speichern: ",
    "enterEmailAddress": "Bitte geben Sie Ihre E-Mail-Adresse ein",
    "enterAppPassword": "Bitte geben Sie Ihr app-spezifisches Passwort ein",
    "smtpSettingsSaved": "SMTP-Einstellungen gespeichert! Jetzt die Verbindung testen.",
    "smtpTestSuccess": "SMTP-Test erfolgreich! Überprüfen Sie Ihren Posteingang.",
    "syncRangeSaved": "Sync-Bereich gespeichert. Kalender-Apps werden bei der nächsten Aktualisierung aktualisiert.",
    "couldNotSaveRange": "Bereich konnte nicht gespeichert werden: ",
    "calendarFeedActive": "Kalender-Feed ist jetzt aktiv! Kopieren Sie die URL zum Abonnieren.",
    "couldNotEnableFeed": "Feed konnte nicht aktiviert werden",
    "couldNotEnableFeedError": "Feed konnte nicht aktiviert werden: ",
    "confirmDisableFeed": "Sind Sie sicher, dass Sie den Kalender-Feed deaktivieren möchten? Bestehende Abonnements werden nicht mehr funktionieren.",
    "calendarFeedDisabled": "Kalender-Feed deaktiviert",
    "couldNotDisableFeed": "Feed konnte nicht deaktiviert werden",
    "couldNotDisableFeedError": "Feed konnte nicht deaktiviert werden: ",
    "confirmRegenerateFeed": "Sind Sie sicher, dass Sie einen neuen Link generieren möchten? Der aktuelle Link wird nicht mehr funktionieren und Sie müssen sich erneut in Ihren Kalender-Apps anmelden.",
    "generating": "Wird generiert...",
    "newFeedLinkGenerated": "Neuer Feed-Link generiert. Denken Sie daran, sich erneut anzumelden!",
    "couldNotRegenerateFeed": "Feed konnte nicht regeneriert werden",
    "couldNotGenerateNewLink": "Neuer Link konnte nicht generiert werden: ",
    "syncCompleteItems": "Sync abgeschlossen! Elemente synchronisiert.",
    "errors": "Fehler",
    "syncFailedError": "Sync fehlgeschlagen: ",
    "workshopAvailability": "Werkstatt-Verfügbarkeit",
    "workshopAvailabilityHint": "Legen Sie feste Werkstattzeiten fest. Während dieser Zeiten werden keine Kundentermine geplant — nur Werkstattarbeiten.",
    "enableWorkshopHours": "Werkstattzeiten aktivieren",
    "workshopAddress": "Werkstattadresse",
    "workshopAddressPlaceholder": "z.B. Industriestraße 5, 12345 Berlin",
    "workshopAddressHint": "Leer lassen, um Ihre Firmenadresse für Werkstatt-Termine zu verwenden.",
    "saveWorkshopAvailability": "Werkstatt-Verfügbarkeit speichern",
    "workshopAvailabilitySaved": "Werkstatt-Verfügbarkeit gespeichert",
    "workshopAvailabilityFailed": "Werkstatt-Verfügbarkeit konnte nicht gespeichert werden",
    "availabilitySaved": "Wochenverfügbarkeit gespeichert",
    "availabilityFailed": "Verfügbarkeit konnte nicht gespeichert werden",
    "theaterAvailabilitySaved": "Theaterverfügbarkeit gespeichert",
    "theaterAvailabilityFailed": "Theaterverfügbarkeit konnte nicht gespeichert werden",
    "saving": "Speichern...",
    "travel": {
      "title": "Fahrt-Einstellungen",
      "desc": "Legen Sie fest, wie weit Sie fahren möchten und wie viel Pause Sie zwischen Terminen brauchen.",
      "enableLimits": "Fahrtlimits aktivieren",
      "bookingRadius": "Servicegebiet für Online-Buchungen",
      "bookingRadiusDesc": "Wie weit dürfen Kunden maximal entfernt wohnen, um online zu buchen?",
      "maxTravelBooking": "Maximale Fahrtzeit für Buchungen",
      "noLimit": "Kein Limit",
      "noPreference": "Keine Präferenz",
      "farMessage": "Nachricht für entfernte Standorte",
      "farMessageHint": "Diese Nachricht wird Kunden angezeigt, die zu weit weg wohnen, um online zu buchen.",
      "routeEfficiency": "Fahrtzeit zwischen Terminen",
      "routeEfficiencyDesc": "Wie lange möchten Sie maximal zwischen zwei Kunden am selben Tag fahren? Das System nutzt diese Einstellung, um Ihren Tag effizient zu planen.",
      "maxBetween": "Fahrtzeit zwischen Terminen",
      "maxBetweenInfo": "💡 Dies gilt nur für <strong>smarte Vorschläge</strong>. Kunden, die weiter weg wohnen, können jederzeit manuell eingeplant werden oder über Ihren Buchungslink buchen. Diese Einstellung bestimmt, welche Zeiten das System automatisch vorschlägt — nicht, welche Kunden Sie annehmen können.",
      "maxBetweenAdviceNone": "⚪ <strong>Keine Präferenz eingestellt.</strong><br>▸ Das System plant weiterhin intelligent: Kunden in der Nähe erhalten <strong>Vorrang</strong> und Tage mit mehreren Kunden in derselben Region werden gebündelt<br>▸ Keine Kunden werden herabgestuft — alle bekommen eine faire Chance<br>▸ Ideal wenn Sie ein großes Einsatzgebiet haben oder dem System maximale Flexibilität geben möchten",
      "maxBetweenAdvice10": "🔴 <strong>Sehr eng — max. ~10 Min.</strong><br>▸ Kunden < 10 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 10–15 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 15 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Ideal für ein Viertel oder kleines Dorf",
      "maxBetweenAdvice15": "🟠 <strong>Eng — max. ~15 Min.</strong><br>▸ Kunden < 15 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 15–22 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 22 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Geeignet für eine Stadt oder kleine Gemeinde",
      "maxBetweenAdvice20": "🟡 <strong>Kompakt — max. ~20 Min.</strong><br>▸ Kunden < 20 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 20–30 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 30 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Ihre Stadt und direkte Nachbargemeinden",
      "maxBetweenAdvice25": "🟢 <strong>Mittel — max. ~25 Min.</strong><br>▸ Kunden < 25 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 25–37 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 37 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Eine kleine Region. Gut wenn Sie einige Gemeinden bedienen",
      "maxBetweenAdvice30": "🟢 <strong>Standard — max. ~30 Min.</strong> ⭐ Am häufigsten gewählt<br>▸ Kunden < 30 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 30–45 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 45 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Gute Balance — volle Tage in derselben Region, ohne Kunden zu verpassen",
      "maxBetweenAdvice35": "🔵 <strong>Locker — max. ~35 Min.</strong><br>▸ Kunden < 35 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 35–52 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 52 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Größere Region. Wenige Kunden werden verpasst",
      "maxBetweenAdvice40": "🔵 <strong>Breit — max. ~40 Min.</strong><br>▸ Kunden < 40 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 40–60 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 60 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Großes Servicegebiet. Nur wirklich lange Fahrten (1 Std.+) stehen niedriger",
      "maxBetweenAdvice45": "🔵 <strong>Groß — max. ~45 Min.</strong><br>▸ Kunden < 45 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 45–67 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 67 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Geeignet für ein ganzes Bundesland",
      "maxBetweenAdvice60": "⚪ <strong>Maximum — max. ~60 Min.</strong><br>▸ Kunden < 60 Min. Fahrt erhalten <strong>Priorität</strong><br>▸ Kunden 60–90 Min. Fahrt erscheinen <strong>weiter unten in der Liste</strong><br>▸ Kunden > 90 Min. Fahrt erscheinen <strong>nur wenn keine besseren Optionen verfügbar sind</strong><br>▸ Praktisch alles wird vorgeschlagen",
      "travelInfoHint": "Das System plant Ihren Tag so effizient wie möglich. Nahe Kunden erhalten Priorität, weiter entfernte Kunden erscheinen niedriger in den Vorschlägen.",
      "analyzeBtn": "Meinen Kundenstamm analysieren",
      "analyzeLoading": "Kundenstamm wird analysiert...",
      "analyzeNotEnough": "Zu wenige Kunden mit Adressdaten für eine Analyse. Mindestens 5 Kunden mit Adresse erforderlich.",
      "analyzeTitle": "Analyse Ihres Kundenstamms",
      "analyzeCustomers": "Kunden analysiert",
      "analyzeTopCities": "Größte Städte",
      "analyzeMedian": "Medianentfernung zwischen Kunden",
      "analyzeCoverage": "Prozent der Kundenpaare innerhalb jeder Einstellung",
      "analyzeRecommended": "empfohlen",
      "analyzeAdvice": "Empfehlung",
      "analyzeExplain": "Dies deckt die meisten Fahrten zwischen aufeinanderfolgenden Kunden ab. Weiter entfernte Kunden erscheinen weiterhin in Ihren Vorschlägen, aber niedriger eingestuft.",
      "analyzeApply": "Einstellung übernehmen",
      "analyzeError": "Bei der Analyse ist etwas schiefgelaufen. Bitte versuchen Sie es erneut.",
      "saveTravelSettings": "Fahrt-Einstellungen speichern",
      "30min": "30 Minuten",
      "45min": "45 Minuten",
      "1hour": "1 Stunde",
      "90min": "1,5 Stunden",
      "2hours": "2 Stunden",
      "15min": "15 Minuten",
      "10min": "10 Minuten",
      "20min": "20 Minuten",
      "25min": "25 Minuten",
      "35min": "35 Minuten",
      "40min": "40 Minuten",
      "bookingRadiusHint": "Wie weit dürfen Kunden maximal entfernt wohnen, um online zu buchen?",
      "bookingRadiusExplain": "🗺️ Dies ist die Grenze Ihres Servicegebiets für Online-Buchungen. Kunden, die weiter entfernt wohnen, können nicht online buchen — sie sehen eine Nachricht, Sie zu kontaktieren. Sie können sie jederzeit manuell einplanen.",
      "maxBookingTravel": "Maximale Fahrtzeit für Buchungen",
      "routeEfficiencyHint": "Wie lange möchten Sie maximal zwischen zwei Kunden am selben Tag fahren? Das System nutzt diese Einstellung, um Ihren Tag effizient zu planen.",
      "saveTravel": "Fahrt-Einstellungen speichern",
      "trafficPrediction": "Verkehrsprognose",
      "trafficPredictionHint": "Verwenden Sie erwartete Verkehrsbedingungen bei der Berechnung der Fahrtzeiten zwischen Terminen.",
      "enableTrafficPrediction": "Verkehrsprognose aktivieren",
      "trafficPredictionExplain": "🚦 Fahrtzeiten berücksichtigen den erwarteten Verkehr zum Zeitpunkt des Termins. Während der Stoßzeiten werden längere Fahrtzeiten berechnet, damit Ihre Planung realistischer ist."
    },
    "calendar": {
      "disable": "Deaktivieren",
      "googleTitle": "Google Kalender",
      "googleDesc": "Bidirektionale Synchronisation zwischen PianoPlanner und Google Kalender.",
      "betaDisclaimer": "Die Google Kalender-Synchronisation befindet sich derzeit in der Beta-Phase. Google prüft unsere App zur Verifizierung. In dieser Zeit wird möglicherweise ein Warnbildschirm beim Verbinden angezeigt. Das ist normal und Ihre Daten sind sicher.",
      "syncDirection": "Synchronisationsrichtung",
      "twoWaySync": "Zwei-Wege-Sync",
      "twoWayGoogleDesc": "PianoPlanner ↔ Google (empfohlen)",
      "exportOnly": "Nur exportieren",
      "exportOnlyGoogleDesc": "PianoPlanner → Google",
      "importOnly": "Nur importieren",
      "importOnlyGoogleDesc": "Google → PianoPlanner",
      "calendarLabel": "Kalender",
      "enableSync": "✓ Sync aktivieren",
      "lastSync": "Letzte Synchronisation:",
      "never": "Nie",
      "connectGoogle": "Google-Konto verbinden",
      "googleLoginRequired": "Die Google Kalender-Synchronisierung erfordert eine Anmeldung mit Ihrem Google-Konto.",
      "googleLoginRequiredDesc": "Melden Sie sich ab und wählen Sie 'Mit Google anmelden' auf der Anmeldeseite. Ihre vorhandenen Daten bleiben erhalten.",
      "googleLoginRequiredBtn": "Abmelden und mit Google anmelden",
      "displayTitle": "Kalenderanzeige",
      "displayDesc": "Konfigurieren Sie, welche Stunden in Ihrer Kalenderansicht sichtbar sind.",
      "startHour": "Startzeit",
      "endHour": "Endzeit",
      "outsideHoursInfo": "Termine außerhalb dieser Zeiten zeigen einen Indikator über/unter dem Kalender an.",
      "microsoftTitle": "Microsoft 365 / Outlook",
      "microsoftDesc": "Synchronisieren Sie mit Outlook.com, Hotmail oder Microsoft 365 Geschäftskalender.",
      "microsoftConnected": "Verbunden!",
      "microsoftSynced": "Ihr Microsoft-Kalender ist synchronisiert.",
      "selectCalendar": "Kalender auswählen:",
      "connectMicrosoft": "Microsoft-Konto verbinden",
      "appleTitle": "Apple Kalender",
      "appleDesc": "Synchronisieren Sie mit iCloud / Apple Kalender.",
      "appleIdLabel": "Apple ID",
      "appPasswordLabel": "App-spezifisches Passwort",
      "twoWayAppleDesc": "PianoPlanner ↔ Apple (empfohlen)",
      "exportOnlyAppleDesc": "PianoPlanner → Apple",
      "importOnlyAppleDesc": "Apple → PianoPlanner",
      "feedTitle": "Kalender-Abonnement",
      "feedDesc": "Abonnieren Sie Ihren Kalender aus jeder App (schreibgeschützter iCal-Feed).",
      "feedUrlLabel": "Abonnement-URL:",
      "copy": "Kopieren",
      "feedInstructionsTitle": "Zu Ihrem Kalender hinzufügen:",
      "feedInstructionApple": "Apple: Ablage → Neues Kalenderabonnement",
      "feedInstructionGoogle": "Google: Einstellungen → Kalender hinzufügen → Per URL",
      "feedInstructionOutlook": "Outlook: Kalender hinzufügen → Aus dem Internet abonnieren",
      "syncRange": "Sync-Bereich:",
      "startDate": "Startdatum",
      "monthsAhead": "Monate voraus",
      "saveRange": "Bereich speichern",
      "feedAutoRefresh": "Kalender-Apps aktualisieren automatisch (normalerweise stündlich).",
      "enableFeed": "Feed aktivieren",
      "disableFeed": "Deaktivieren",
      "newLink": "Neuer Link",
      "calendarExportTitle": "Export / Sicherung",
      "calendarExportDesc": "Laden Sie Ihren Kalender als .ics-Datei für Backup oder Import herunter.",
      "from": "Von",
      "to": "Bis",
      "downloadIcs": ".ics herunterladen",
      "exportHint": "Lassen Sie die Daten leer, um 1 Jahr zurück und voraus zu exportieren.",
      "inactive": "Inaktiv",
      "setupInstructions": "Installationsanleitung:",
      "appleId": "Apple ID",
      "appSpecificPassword": "App-spezifisches Passwort",
      "connect": "Verbinden",
      "addToCalendar": "Zu Ihrem Kalender hinzufügen:",
      "exportTitle": "Export / Sicherung",
      "exportDesc": "Laden Sie Ihren Kalender als .ics-Datei für Backup oder Import herunter.",
      "singleProviderTitle": "Ein Kalender aktiv",
      "singleProviderMessage": "Sie können nur eine Kalenderintegration gleichzeitig verwenden",
      "historyImport": "Historischer Import",
      "historyImportDesc": "Importieren Sie bestehende Termine aus Ihrem Kalender",
      "singleProviderError": "Sie können nur einen Kalenderanbieter verbinden. Trennen Sie zuerst den aktuellen."
    },
    "email": {
      "configTitle": "E-Mail-Konfiguration",
      "usingPianoplanner": "Über PianoPlanner",
      "configDesc": "Senden Sie E-Mails von Ihrer eigenen Adresse oder verwenden Sie den Standard von PianoPlanner.",
      "sendVia": "E-Mails senden über:",
      "viaPianoplanner": "PianoPlanner (Standard)",
      "viaPianoplannerDesc": "E-Mails in Ihrem Namen gesendet über noreply@pianoplanner.com",
      "viaOwn": "Meine eigene E-Mail",
      "viaOwnDesc": "E-Mails gesendet von Ihrer persönlichen E-Mail-Adresse",
      "provider": "E-Mail-Anbieter",
      "providerGmail": "Gmail / Google Workspace",
      "providerIcloud": "iCloud / Apple Mail",
      "providerOutlook": "Outlook / Microsoft 365",
      "providerCustom": "Sonstige (manuelle Konfiguration)",
      "emailAddress": "E-Mail-Adresse",
      "appPassword": "App-spezifisches Passwort",
      "appPasswordHint": "Nicht Ihr normales Passwort. Folgen Sie den Anweisungen oben.",
      "smtpHost": "SMTP-Host",
      "port": "Port",
      "senderName": "Absendername (optional)",
      "senderName2": "Absendername",
      "replyEmail": "E-Mail-Adresse (für Antworten)",
      "senderDetails": "Ihre Absender-Daten",
      "providerTransip": "TransIP",
      "advancedSmtp": "Erweitert: eigener SMTP-Server (optional)",
      "advancedSmtpDesc": "Standardmäßig werden E-Mails über unseren sicheren Server mit Ihrem Namen als Absender versendet. Möchten Sie E-Mails direkt über Ihren eigenen Mailserver versenden? Geben Sie unten Ihre SMTP-Daten ein.",
      "test": "Testen",
      "notificationsTitle": "Benachrichtigungen",
      "notificationsDesc": "Automatische E-Mails an Kunden für Termine.",
      "confirmations": "Bestätigungsmails",
      "confirmationsDesc": "Versand bei Buchung eines Termins",
      "reminders": "Erinnerungsmails",
      "remindersDesc": "Versand vor dem Termin",
      "sendReminder": "Erinnerung senden",
      "hoursBefore": "Stunden vorher",
      "reminder1Label": "Erinnerung 1",
      "reminder2Label": "Erinnerung 2",
      "reminderExplanation": "Kunden erhalten automatisch eine Erinnerungs-E-Mail vor ihrem Termin. Legen Sie eine oder zwei Erinnerungen fest — ideal wenn Sie weit voraus planen, damit Kunden noch Zeit haben umzubuchen.",
      "reminderTip": "💡 Tipp: Kombinieren Sie z.B. 7 Tage + 24 Stunden, damit Kunden Zeit haben umzubuchen falls nötig.",
      "reminderOff": "Aus",
      "hours2": "2 Stunden vorher",
      "hours6": "6 Stunden vorher",
      "hours12": "12 Stunden vorher",
      "hours24": "24 Stunden vorher",
      "hours48": "48 Stunden vorher",
      "days5": "5 Tage vorher",
      "days7": "7 Tage vorher",
      "reminder2MustBeShorter": "Erinnerung 2 muss kürzer sein als Erinnerung 1 (näher am Termin)",
      "cancellations": "Stornierungsmails",
      "cancellationsDesc": "Kunden bei Absage informieren",
      "newBookingAlerts": "Neue Buchungsmeldungen",
      "newBookingAlertsDesc": "Erhalten Sie eine Benachrichtigung, wenn Kunden buchen",
      "sendTest": "Test senden",
      "bccToSelf": "Kopie an mich selbst (BCC)",
      "bccToSelfDesc": "Erhalten Sie automatisch eine Kopie aller E-Mails an Kunden (Bestätigungen, Erinnerungen, Stornierungen, Rechnungen). Nützlich um zu überprüfen, was Ihre Kunden erhalten.",
      "templatesTitle": "E-Mail-Vorlagen",
      "templatesDesc": "Passen Sie den Inhalt automatischer E-Mails mit Ihrem eigenen Text und Stil an.",
      "loading": "Laden...",
      "openEditor": "Vorlagen-Editor öffnen",
      "editorHint": "Verwenden Sie den vollständigen Editor für ein besseres Erlebnis mit Live-Vorschau.",
      "editTemplateTitle": "E-Mail-Vorlage bearbeiten",
      "subject": "Betreff",
      "availableVariables": "Verfügbare Variablen",
      "contentHtml": "Inhalt (HTML)",
      "templateActive": "Vorlage aktiv",
      "preview": "Vorschau",
      "refresh": "Aktualisieren",
      "clickRefreshPreview": "Klicken Sie auf \"Aktualisieren\" für eine Vorschau",
      "resetToDefault": "Auf Standard zurücksetzen",
      "cancel": "Abbrechen",
      "smtpDisclaimerTitle": "SMTP-Haftungsausschluss",
      "smtpDisclaimerText": "PianoPlanner ist nicht verantwortlich für E-Mail-Zustellungsprobleme mit benutzerdefinierten SMTP-Servern",
      "sslTls": "SSL/TLS",
      "ownEmailConfigured": "Eigene E-Mail aktiv",
      "ownEmailActive": "Eigene E-Mail",
      "emailsSentFrom": "E-Mails werden gesendet von:",
      "notVerified": "Nicht verifiziert",
      "testToActivate": "Testen Sie die Verbindung, um Ihre Einstellungen zu aktivieren",
      "pianoplannerEmail": "PianoPlanner-E-Mail",
      "emailsViaPianoplannerDesc": "E-Mails werden in Ihrem Namen über noreply@pianoplanner.com versendet",
      "senderNamePlaceholder": "z.B. Müllers Klavierstimmung",
      "senderNameHelp": "Kunden sehen dies als Absender Ihrer E-Mails",
      "replyEmailPlaceholder": "info@ihrfirma.de",
      "replyEmailHelp": "Antworten von Kunden werden an diese Adresse gesendet",
      "subjectPlaceholder": "z.B. Bestätigung: {{service}} am {{date}}"
    },
    "company": {
      "logoTitle": "Firmenlogo",
      "logoDesc": "Laden Sie Ihr Logo hoch, um E-Mails und Ihre Buchungsseite zu personalisieren.",
      "uploadLogo": "Logo hochladen",
      "removeLogo": "Entfernen",
      "basicInfo": "Grundinformationen",
      "searchAddress": "Adresse suchen",
      "searchAddressPlaceholder": "Beginnen Sie zu tippen, um zu suchen...",
      "saveCompany": "Unternehmen speichern"
    },
    "booking": {
      "desc": "Lassen Sie Kunden online Termine buchen über einen teilbaren Link.",
      "linkDisabled": "Buchungslink ist deaktiviert",
      "yourBookingUrl": "Ihre Buchungs-URL:",
      "copyLink": "Kopieren",
      "previewLink": "Vorschau",
      "enableBookingLink": "Buchungslink aktivieren",
      "pageTitle": "Seitentitel",
      "pageTitlePlaceholder": "Einen Termin vereinbaren",
      "minAdvance": "Mindestvorlaufzeit",
      "maxAdvance": "Maximale Vorausbuchung",
      "requiredFields": "Pflichtfelder",
      "welcomeMessage": "Begrüßungstext (optional)",
      "welcomePlaceholder": "Nachricht auf Ihrer Buchungsseite",
      "availableServices": "Verfügbare Dienste für Buchung",
      "availableServicesDesc": "Wählen Sie, welche Dienste Kunden über den öffentlichen Link buchen können",
      "weeklyAvailability": "Wöchentliche Verfügbarkeit",
      "weeklyAvailabilityHint": "Legen Sie Ihre Arbeitszeiten pro Tag fest.",
      "saveAvailability": "Verfügbarkeit speichern",
      "theaterAvailability": "Theater-Verfügbarkeit",
      "theaterAvailabilityHint": "Optionale separate Verfügbarkeit für Theater/Konzertsäle. Aktivieren Sie diese, um bestimmten Kunden das Buchen außerhalb normaler Zeiten zu ermöglichen.",
      "proFeature": "Pro-Funktion",
      "theaterProMsg": "Theater-Verfügbarkeit ist nur mit einem Pro-Abonnement verfügbar.",
      "upgradeToPro": "Auf Pro upgraden",
      "enableTheater": "Theater-Verfügbarkeit aktivieren",
      "theaterBookingWindow": "Theater-Buchungsfenster",
      "theaterBookingWindowHint": "Andere Vorlaufzeiten für Theater-Kunden. Praktisch für Last-Minute-Buchungen.",
      "saveTheater": "Theater-Verfügbarkeit speichern",
      "yourUrl": "Ihre Buchungs-URL:",
      "preview": "Vorschau",
      "enableLink": "Buchungslink aktivieren",
      "selectServices": "Wählen Sie, welche Dienste Kunden über den öffentlichen Link buchen können",
      "theaterHint": "Optionale separate Verfügbarkeit für Theater/Konzertsäle. Aktivieren Sie diese, um bestimmten Kunden das Buchen außerhalb normaler Zeiten zu ermöglichen.",
      "theaterWindow": "Theater-Buchungsfenster",
      "theaterWindowHint": "Andere Vorlaufzeiten für Theater-Kunden. Praktisch für Last-Minute-Buchungen.",
      "1day": "1 Tag",
      "2days": "2 Tage",
      "3days": "3 Tage",
      "4days": "4 Tage",
      "5days": "5 Tage",
      "1week": "1 Woche",
      "2weeks": "2 Wochen",
      "1month": "1 Monat",
      "2months": "2 Monate",
      "3months": "3 Monate",
      "6months": "6 Monate",
      "9months": "9 Monate",
      "1year": "1 Jahr",
      "noMinimum": "Kein Minimum (sofort)",
      "1hour": "1 Stunde",
      "2hours": "2 Stunden",
      "4hours": "4 Stunden",
      "8hours": "8 Stunden (gleicher Tag)"
    },
    "services": {
      "title": "Dienste",
      "desc": "Verwalten Sie die Dienste, die Sie anbieten. Pufferzeiten werden bei der Planung berücksichtigt.",
      "newService": "+ Neuer Dienst",
      "newServiceTitle": "Neuer Dienst",
      "serviceName": "Dienstname *",
      "serviceNamePlaceholder": "z.B. Flügel stimmen",
      "duration": "Dauer (Min.) *",
      "rate": "Preis *",
      "bufferBefore": "Puffer vorher (Min.)",
      "bufferAfter": "Puffer nachher (Min.)",
      "description": "Beschreibung",
      "descriptionPlaceholder": "Kurze Beschreibung",
      "calendarColor": "Kalenderfarbe",
      "customerTypes": "Verfügbar für Kundentypen",
      "customerTypesDesc": "Wählen Sie, welche Kundentypen diesen Dienst über ihren persönlichen Link buchen können. Lassen Sie alle Optionen aus für alle Typen.",
      "cancel": "Abbrechen",
      "loadingServices": "Dienste laden..."
    },
    "sync": {
      "notConnected": "Nicht verbunden",
      "needsReauth": "Neuverbindung erforderlich",
      "active": "Aktiv",
      "notSynced": "nicht synchronisiert",
      "connectedSyncOff": "Verbunden (Sync aus)",
      "pendingInQueue": "Sync(s) in Warteschlange",
      "failed": "fehlgeschlagen",
      "forceSync": "Sync erzwingen"
    },
    "appleCalendarSavedWait": "Konto erfolgreich gespeichert! Es kann einige Sekunden dauern, bis Ihre Kalender sichtbar sind.",
    "workshopProMessage": "Werkstattverfügbarkeit ist nur mit einem Pro-Abonnement verfügbar.",
    "dayAvailable": "Verfügbar",
    "dayNotAvailable": "Nicht verfügbar",
    "timeTo": "bis",
    "loading": "Laden...",
    "export": {
      "title": "Daten-Export",
      "statusLabel": "Sicherung & Download",
      "description": "Laden Sie alle Ihre Geschäftsdaten als Backup herunter. Die Datei enthält Kunden, Klaviere, Termine, Servicehistorie und Einstellungen.",
      "tipTitle": "Tipp: Erstellen Sie regelmäßig ein Backup",
      "tipText": "Bewahren Sie die Datei an einem sicheren Ort auf, zum Beispiel in Ihrer eigenen Cloud oder auf einer externen Festplatte. So haben Sie immer eine Kopie Ihrer Geschäftsdaten.",
      "customers": "Kunden",
      "pianos": "Klaviere",
      "appointments": "Termine",
      "serviceRecords": "Service-Einträge",
      "downloadBtn": "Backup herunterladen",
      "preparing": "Export wird vorbereitet...",
      "success": "Backup heruntergeladen!",
      "error": "Fehler beim Exportieren"
    },
    "mileage": {
      "title": "Km-Erfassung",
      "description": "Finanzamtssichere Km-Dokumentation mit Fahrzeug, Kilometerständen und Fahrtenerfassung.",
      "year": "Jahr:",
      "totalKm": "Gesamt km",
      "businessKm": "Geschäftlich km",
      "privateKm": "Privat km",
      "business": "Geschäftlich",
      "private": "Privat",
      "trips": "Fahrten",
      "manualTrips": "Manuelle Fahrten",
      "monthlyBreakdown": "Monatsübersicht",
      "exportCSV": "CSV exportieren",
      "exportPDF": "PDF exportieren (finanzamtssicher)",
      "pdfComingSoon": "PDF-Export kommt bald!",
      "vehicleTitle": "Fahrzeug",
      "licensePlate": "Kennzeichen",
      "vehicleName": "Fahrzeug",
      "saveVehicle": "Speichern",
      "vehicleSaved": "Fahrzeug gespeichert",
      "vehicleError": "Fehler beim Speichern des Fahrzeugs",
      "odometerTitle": "Kilometerstände",
      "odometerDate": "Datum",
      "odometerReading": "Stand (km)",
      "noReadings": "Noch keine Kilometerstände eingegeben.",
      "selectDate": "Wählen Sie ein Datum",
      "enterReading": "Geben Sie einen gültigen Kilometerstand ein",
      "readingSaved": "Kilometerstand gespeichert",
      "addTripTitle": "Manuelle Fahrt hinzufügen",
      "tripDate": "Datum",
      "tripDistance": "Entfernung (km)",
      "tripFrom": "Von",
      "tripTo": "Nach",
      "tripPurpose": "Fahrzweck",
      "tripPrivate": "Privatfahrt",
      "tripRoundTrip": "Hin- und Rückfahrt (×2)",
      "addTrip": "Fahrt hinzufügen",
      "manualTripsTitle": "Manuelle Fahrten",
      "tripAdded": "Fahrt hinzugefügt",
      "tripDeleted": "Fahrt gelöscht",
      "confirmDelete": "Möchten Sie diese Fahrt wirklich löschen?",
      "enterDistance": "Geben Sie eine Entfernung ein",
      "noData": "Keine Km-Daten geladen",
      "generatingPdf": "PDF wird erstellt...",
      "pdfReady": "PDF heruntergeladen",
      "pdfError": "Fehler beim Erstellen der PDF",
      "exportPrefix": "km-erfassung",
      "dashboardLink": "Schnell Fahrten hinzufügen? Verwenden Sie das Km-Widget auf dem Dashboard →",
      "pdfTitle": "Fahrtenbuch",
      "pdfGeneratedOn": "Erstellt am",
      "pdfAdministration": "Fahrtenbuch-Verwaltung",
      "pdfCompanyDetails": "Firmenangaben",
      "pdfVehicle": "Fahrzeug",
      "pdfLicensePlate": "Kennzeichen",
      "pdfStartOdometer": "Anfangskilometerstand",
      "pdfEndOdometer": "Endkilometerstand",
      "pdfActuallyDriven": "Tatsächlich gefahren",
      "pdfTotal": "Gesamt",
      "pdfBusiness": "Geschäftlich",
      "pdfPrivate": "Privat",
      "pdfMonthlyOverview": "Monatsübersicht",
      "pdfMonth": "Monat",
      "pdfTripLog": "Fahrtenprotokoll",
      "pdfDate": "Datum",
      "pdfType": "Typ",
      "pdfFrom": "Von",
      "pdfTo": "Nach",
      "pdfPurpose": "Zweck",
      "pdfOutward": "Hin",
      "pdfReturn": "Zurück",
      "pdfSource": "Quelle",
      "pdfPrint": "Drucken / PDF speichern",
      "pdfLegendOverride": "Manuell korrigierte Entfernung",
      "pdfLegendManual": "Manuell hinzugefügte Fahrt",
      "pdfFooterNote": "Dieses Dokument wurde automatisch von PianoPlanner erstellt am",
      "pdfTaxNote": "Bewahren Sie dieses Dokument gemäß den Anforderungen des Finanzamts auf.",
      "pdfMonthNames": "Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember",
      "csvHeaderDate": "Datum",
      "csvHeaderType": "Typ",
      "csvHeaderTitle": "Titel",
      "csvHeaderFrom": "Von",
      "csvHeaderTo": "Nach",
      "csvHeaderOneWay": "Einfache Fahrt",
      "csvHeaderRoundTrip": "Hin- und Rückfahrt",
      "csvHeaderTotal": "Gesamt",
      "csvHeaderPurpose": "Fahrtzweck",
      "csvYes": "Ja",
      "csvNo": "Nein",
      "csvManualSuffix": "(manuell)"
    },
    "panelIntro": {
      "calendarTitle": "Kalender & Synchronisierung",
      "calendarDesc": "Synchronisieren Sie mit Ihrem bestehenden Kalender, um Doppelbuchungen zu vermeiden. PianoPlanner prüft Ihre bestehenden Termine und blockiert diese Zeiten automatisch für Online-Buchungen.",
      "emailTitle": "E-Mail & Kommunikation",
      "emailDesc": "Richten Sie automatische Bestätigungen, Erinnerungen und Benachrichtigungen ein. Verwenden Sie Ihre eigene E-Mail-Adresse für einen professionellen Auftritt.",
      "bookingTitle": "Buchung & Planung",
      "bookingDesc": "Richten Sie Ihren Online-Buchungslink ein, verwalten Sie Ihre Verfügbarkeit und Fahrzeiten. Kunden können über Ihren persönlichen Link selbst einen Termin buchen.",
      "businessTitle": "Unternehmen",
      "businessDesc": "Verwalten Sie Ihre Firmendaten, Zeitzone und Kilometererfassung. Ihre Geschäftsinformationen werden auf der Buchungsseite und in E-Mails an Kunden angezeigt.",
      "accountTitle": "Konto",
      "accountDesc": "Verwalten Sie Ihr Profil, Passwort, Sprache und Abonnement. Importieren Sie Daten oder erstellen Sie ein Backup Ihrer Daten.",
      "servicesTitle": "Dienstleistungen",
      "servicesDesc": "Verwalten Sie Ihre Dienstleistungen mit Preisen, Dauer und Pufferzeiten. Kunden wählen daraus bei der Buchung. Erstellen Sie spezifische Dienstleistungen, damit Kunden genau auswählen können, was sie brauchen.",
      "integrationsTitle": "Buchhaltungs-Integrationen",
      "integrationsDesc": "Verbinden Sie PianoPlanner mit Ihrer Buchhaltungssoftware, um Rechnungen automatisch zu synchronisieren. Ihre API-Zugangsdaten werden verschlüsselt gespeichert."
    },
    "advice": {
      "calendarSyncTitle": "Welchen Kalender verbinden?",
      "calendarSyncText": "Google Calendar bietet die beste Zwei-Wege-Synchronisierung. Apple iCloud und Microsoft 365 werden ebenfalls unterstützt. Sie können nur einen gleichzeitig verbinden — wählen Sie den Kalender, den Sie täglich nutzen. Wechseln ist jederzeit möglich, indem Sie zuerst trennen.",
      "smtpTitle": "Eigene E-Mail-Adresse = professioneller",
      "smtpText": "E-Mails von info@ihrunternehmen.de werden besser empfangen als von einer Noreply-Adresse. Verwenden Sie Gmail, iCloud oder Outlook mit einem app-spezifischen Passwort für die beste Zustellung.",
      "smtpText2": "Geben Sie Ihren Namen und Ihre E-Mail-Adresse ein, damit Kunden Ihren Namen als Absender sehen. Antworten gehen direkt in Ihr Postfach.",
      "notificationsTitle": "Empfohlene Kombination",
      "notificationsText": "Bestätigung bei Buchung, Erinnerung 24 Stunden vorher (60% weniger No-Shows), Stornierungsmail und Neubuchungs-Benachrichtigung. So verpassen Sie nichts und Kunden wissen immer, woran sie sind.",
      "bookingTitle": "Online-Buchung spart Ihnen 30 Minuten pro Tag",
      "bookingText": "Teilen Sie Ihren Buchungslink auf Ihrer Website, in Ihrer E-Mail-Signatur oder auf Ihrem Google Unternehmensprofil. Kunden wählen selbst einen verfügbaren Termin — kein Hin- und Herschreiben mehr. Empfohlen: mindestens 24 Stunden, maximal 3 Monate im Voraus.",
      "travelTitle": "Begrenzen Sie Ihr Servicegebiet für mehr Effizienz",
      "travelText": "Die meisten Klavierstimmer arbeiten innerhalb von 45-60 Minuten Fahrzeit. Ein kleineres Gebiet bedeutet mehr Termine pro Tag und weniger Kraftstoffkosten. Die Fahrzeit zwischen Terminen bestimmt, wie das intelligente Planungssystem Termine in derselben Gegend bündelt.",
      "companyTitle": "Vollständiges Profil = vertrauenswürdig",
      "companyText": "Kunden sehen Ihren Firmennamen und Ihr Logo auf der Buchungsseite und in E-Mails. Ein vollständiges Profil mit Logo, Adresse und Handelsregisternummer strahlt Professionalität aus. Ihre Adresse wird auch als Ausgangspunkt für Fahrzeitberechnungen verwendet.",
      "bufferTitle": "Pufferzeiten — Fahrzeit zwischen Terminen",
      "bufferText": "Jede Dienstleistung hat einen Puffer davor (Ankunft, Werkzeug aufstellen) und einen Puffer danach (Aufräumen, zum nächsten Kunden fahren). Empfohlen: 15 Min. davor, 15-30 Min. danach. Über das ✏️-Symbol bei jeder Dienstleistung anpassen.",
      "smtpBulkTitle": "Massen-Erinnerungen versenden?",
      "smtpBulkText": "Der Standard-PianoPlanner-Mailserver ist für kleine Mengen geeignet. Wenn Sie 100+ Kunden haben und automatische Stimm-Erinnerungen verwenden, richten Sie Ihren eigenen SMTP-Server ein für bessere Zustellbarkeit und weniger Bounces."
    },
    "syncDisclaimer": "Hinweis: Bei der Aktivierung der Kalendersynchronisation werden Termindaten mit Google (externer Verarbeiter) geteilt. PianoPlanner ist nicht verantwortlich für die Verarbeitung Ihrer Daten durch Google. Siehe unseren Auftragsverarbeitungsvertrag (Art. 3.3).\n\nMöchten Sie fortfahren?",
    "syncDisclaimerApple": "Hinweis: Bei der Verbindung mit Apple Kalender werden Termindaten mit Apple (externer Verarbeiter) geteilt. PianoPlanner ist nicht verantwortlich für die Verarbeitung Ihrer Daten durch Apple. Siehe unseren Auftragsverarbeitungsvertrag (Art. 3.3).\n\nMöchten Sie fortfahren?",
    "validateVat": "Validieren",
    "blockedDays": {
      "title": "Urlaub & gesperrte Tage",
      "hint": "Tage, an denen Sie nicht verfügbar sind. Kunden können an diesen Tagen nicht buchen.",
      "fromDate": "Von Datum",
      "toDate": "Bis Datum",
      "reason": "Grund",
      "add": "Hinzufügen",
      "empty": "Keine gesperrten Tage geplant",
      "remove": "Entfernen",
      "loadError": "Gesperrte Tage konnten nicht geladen werden",
      "selectStartDate": "Bitte wählen Sie ein Startdatum",
      "endBeforeStart": "Enddatum kann nicht vor dem Startdatum liegen",
      "unavailable": "Nicht verfügbar",
      "daysBlocked": "{count} Tage gesperrt",
      "dayBlocked": "1 Tag gesperrt",
      "blockError": "Tage konnten nicht gesperrt werden",
      "confirmRemoveSingle": "Möchten Sie diesen Tag wirklich entsperren?",
      "confirmRemoveMultiple": "Möchten Sie diese {count} Tage wirklich entsperren?",
      "dayUnblocked": "Tag entsperrt",
      "daysUnblocked": "{count} Tage entsperrt",
      "through": "bis",
      "dayCount": "{count} Tage"
    },
    "emailLog": {
      "title": "E-Mail-Protokoll",
      "description": "Übersicht aller gesendeten E-Mails",
      "loading": "Protokoll laden...",
      "refresh": "Aktualisieren",
      "searchPlaceholder": "E-Mails durchsuchen...",
      "colDate": "Datum",
      "colRecipient": "Empfänger",
      "colSubject": "Betreff",
      "colStatus": "Status",
      "statusSent": "Gesendet",
      "statusFailed": "Fehlgeschlagen",
      "empty": "Noch keine E-Mails gesendet",
      "loadError": "E-Mail-Protokoll konnte nicht geladen werden",
      "totalEmails": "E-Mail(s)",
      "selectAllPage": "Seite auswählen",
      "deleteSelected": "Ausgewählte löschen",
      "selectedCount": "{count} ausgewählt",
      "confirmDelete": "Sind Sie sicher, dass Sie {count} E-Mail(s) löschen möchten?",
      "deleted": "{count} E-Mail(s) gelöscht",
      "deleteError": "E-Mails konnten nicht gelöscht werden"
    },
    "iban": {
      "validateBtn": "Validieren",
      "enterNumber": "Bitte geben Sie zuerst eine IBAN ein",
      "invalidFormat": "Ungültiges IBAN-Format",
      "wrongLength": "IBAN für {country} muss {length} Zeichen lang sein",
      "invalid": "Ungültige IBAN — überprüfen Sie die Ziffern",
      "valid": "Gültige IBAN"
    },
    "tuningReminders": {
      "title": "Stimmerinnerungen",
      "description": "Senden Sie automatisch Erinnerungen an Kunden, deren Klavier gestimmt werden muss",
      "enable": "Aktivieren",
      "enableDesc": "Automatisch Stimmerinnerungen senden",
      "advanceDays": "Tage im Voraus",
      "daysBeforeDue": "Tage vor Fälligkeit",
      "followupInterval": "Nachfassintervall",
      "daysBetweenFollowups": "Tage zwischen Nachfassungen",
      "maxFollowups": "Maximale Nachfassungen",
      "remindersPer": "Erinnerungen pro",
      "sendTime": "Sendezeit",
      "sendTimeDesc": "Uhrzeit, zu der Erinnerungen gesendet werden",
      "editTemplate": "Vorlage bearbeiten",
      "sendTest": "Testmail senden",
      "howItWorks": "So funktioniert es",
      "howStep1": "Legen Sie ein Stimmintervall pro Klavier fest",
      "howStep2": "Das System prüft täglich, welche Klaviere gestimmt werden müssen",
      "howStep3": "Eine Erinnerungs-E-Mail wird automatisch gesendet",
      "howStep4": "Der Kunde kann direkt über den Link buchen",
      "howStep5": "Nachfassungen werden automatisch gesendet",
      "statsTotalSent": "Gesamt gesendet",
      "statsThisMonth": "Diesen Monat",
      "statsOptedOut": "Abgemeldet",
      "saved": "Stimmungserinnerungseinstellungen gespeichert",
      "saveError": "Fehler beim Speichern der Stimmungserinnerungseinstellungen",
      "testSent": "Testerinnerung an Ihre eigene E-Mail-Adresse gesendet. Überprüfen Sie Ihren Posteingang.",
      "testError": "Testerinnerung konnte nicht gesendet werden",
      "active": "Aktiv",
      "inactive": "Inaktiv",
      "previewTitle": "Hinweis",
      "previewWarning": "Es gibt derzeit {pianoCount} Pianos von {customerCount} Kunden, die eine Stimmung benötigen. Nach dem Speichern werden Erinnerungen versendet. Pianos, die vor weniger als 24 Stunden importiert wurden, werden übersprungen.",
      "previewNone": "Es gibt derzeit keine Pianos, die eine Stimmung benötigen. Neu importierte Pianos werden erst nach 24 Stunden berücksichtigt."
    },
    "bccEnabled": "BCC-Kopie aktiviert",
    "bccDisabled": "BCC-Kopie deaktiviert",
    "smtpServerError": "Server hat eine unerwartete Antwort gegeben. Versuchen Sie es erneut oder melden Sie sich erneut an.",
    "vat": {
      "enterNumber": "Bitte geben Sie zuerst eine USt-IdNr. ein",
      "validating": "Wird überprüft...",
      "valid": "Gültige USt-IdNr.",
      "invalid": "Ungültige USt-IdNr.",
      "reverseCharge": "Reverse Charge (0%) — Steuerschuldnerschaft des Leistungsempfängers",
      "serviceDown": "EU-VIES-Dienst vorübergehend nicht verfügbar. Bitte versuchen Sie es später erneut.",
      "error": "Fehler bei der Überprüfung der USt-IdNr.",
      "verified": "Überprüft über EU VIES",
      "validateBtn": "Überprüfen"
    },
    "confirmSwitchToPianoplanner": "Sind Sie sicher, dass Sie zur PianoPlanner-E-Mail zurückwechseln möchten? Ihre eigenen SMTP-Einstellungen werden entfernt.",
    "lastSyncAt": "Letzte Synchronisierung:",
    "placeholders": {
      "startAddress": "Startadresse",
      "endAddress": "Endadresse",
      "travelExample": "z.B. Kundenbesuch, Material abholen...",
      "odometerExample": "z.B. 45230"
    },
    "accounting": {
      "requestPackagePlaceholder": "z.B. FreshBooks, Wave, DATEV...",
      "requestNotesPlaceholder": "z.B. welche Funktionen Sie benötigen, API-Dokumentations-Link..."
    }
  },
  "company": {
    "name": "Firmenname",
    "ownerName": "Inhabername",
    "email": "E-Mail",
    "phone": "Telefon",
    "address": "Adresse",
    "street": "Straße",
    "postalCode": "Postleitzahl",
    "city": "Stadt",
    "country": "Land",
    "kvk": "Handelsregister",
    "vat": "USt-IdNr.",
    "iban": "IBAN",
    "website": "Webseite",
    "postalCodePlaceholder": "80331",
    "cityPlaceholder": "München",
    "vatPlaceholder": "z.B. DE123456789",
    "ibanPlaceholder": "z.B. DE89370400440532013000",
    "countryPlaceholder": "DE"
  },
  "email": {
    "title": "E-Mail-Benachrichtigungen",
    "configured": "E-Mail konfiguriert",
    "notConfigured": "E-Mail nicht konfiguriert",
    "confirmations": "Bestätigungs-E-Mails",
    "confirmationsDesc": "Bestätigung senden wenn Termin gebucht wird",
    "reminders": "Erinnerungs-E-Mails",
    "remindersDesc": "Erinnerung vor dem Termin senden",
    "reminderTime": "Erinnerung senden",
    "hoursBefore": "Stunden vorher",
    "cancellations": "Stornierungs-E-Mails",
    "cancellationsDesc": "Kunde benachrichtigen bei Terminabsage",
    "newBookings": "Neue Buchungsbenachrichtigungen",
    "newBookingsDesc": "Benachrichtigung erhalten wenn Kunden Termine buchen",
    "sendTest": "Test-E-Mail senden",
    "testSent": "Test-E-Mail gesendet! Prüfen Sie Ihren Posteingang."
  },
  "booking": {
    "title": "Online-Buchung",
    "enableBooking": "Buchungslink aktivieren",
    "yourLink": "Ihr Buchungslink",
    "copy": "Kopieren",
    "copied": "Kopiert!",
    "preview": "Vorschau",
    "slug": "Benutzerdefinierte URL",
    "pageTitle": "Neuer Termin - PianoPlanner",
    "description": "Beschreibung",
    "minAdvance": "Mindestvorlaufzeit",
    "maxAdvance": "Maximale Vorlaufzeit",
    "hours": "Stunden",
    "days": "Tage",
    "notAvailableOn": "Nicht verfügbar am",
    "noSlotsIn14Days": "Keine Zeit in den nächsten 14 Tagen gefunden.",
    "tryDifferentDate": "Versuchen Sie, ein anderes Startdatum auszuwählen.",
    "saveAndContinue": "Kunde speichern & weiter →",
    "skipPiano": "Überspringen (kein Klavier)",
    "continue": "Weiter →",
    "findTime": "Verfügbare Zeit finden",
    "differentDate": "Anderes Datum",
    "confirmAppointment": "Termin bestätigen",
    "scheduleAppointment": "Termin planen",
    "pageSubtitle": "Buchen Sie einen neuen Termin in 4 einfachen Schritten",
    "step1Title": "1. Service wählen",
    "step2Title": "2. Kundendetails",
    "step2bTitle": "2b. Klavier auswählen",
    "step3Title": "3. Datum & Zeit wählen",
    "step4Title": "4. Termin bestätigen",
    "searchCustomerPlaceholder": "Bestandskunden suchen (Name, E-Mail, Ort)...",
    "orAddNew": "oder neuen Kunden anlegen",
    "nameRequired": "Name *",
    "phone": "Telefon",
    "email": "E-Mail",
    "selectPianosDesc": "Wählen Sie aus, welche(s) Klavier(e) für diesen Kunden gewartet werden soll(en).",
    "serviceLabel": "Service:",
    "customerLabel": "Kunde:",
    "pianosLabel": "Klavier(e):",
    "preferredDate": "Wunschdatum",
    "service": "Service",
    "customer": "Kunde",
    "piano": "Klavier",
    "location": "Standort",
    "travelTime": "Fahrzeit",
    "dateTime": "Datum & Zeit",
    "notesOptional": "Notizen (optional)",
    "notesPlaceholder": "Zusätzliche Informationen für diesen Termin...",
    "success": "Termin gebucht!",
    "successText": "Der Termin wurde Ihrem Kalender hinzugefügt.",
    "newAppointment": "Neuer Termin",
    "goToDashboard": "Zum Dashboard",
    "onRequest": "Auf Anfrage",
    "noCustomersFound": "Keine Kunden gefunden",
    "customerSelected": "Kunde ausgewählt",
    "differentCustomer": "Anderer Kunde",
    "saveCustomerError": "Kunde konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.",
    "noPianosRegistered": "Noch keine Klaviere für diesen Kunden registriert.",
    "addPianosLater": "Sie können später Klaviere auf der Klaviere-Seite hinzufügen.",
    "continueWithoutPiano": "Weiter ohne Klavier →",
    "grand": "Flügel",
    "upright": "Klavier",
    "serialNumber": "SN",
    "skipNoPiano": "Überspringen (kein Klavier)",
    "selectDateFirst": "Bitte wählen Sie zuerst ein Datum",
    "checkingAvailability": "Verfügbarkeit prüfen...",
    "clickToSelect": "Klicken Sie auf eine Zeit, um sie auszuwählen",
    "firstAvailableOn": "Erster verfügbarer Termin am",
    "travelTimeLabel": "Fahrzeit",
    "continueWithTime": "Weiter mit dieser Zeit →",
    "genericError": "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.",
    "noAddress": "Keine Adresse",
    "from": "von",
    "to": "bis",
    "bookingInProgress": "Wird gebucht...",
    "bookingError": "Termin konnte nicht gebucht werden. Bitte versuchen Sie es erneut."
  },
  "calendar": {
    "today": "Heute",
    "week": "Woche",
    "month": "Monat",
    "day": "Tag",
    "syncNow": "Jetzt synchronisieren",
    "lastSync": "Letzte Synchronisierung",
    "syncDirection": "Synchronisierungsrichtung",
    "bothDirections": "Beide Richtungen",
    "toGoogle": "Nur zu Google",
    "fromGoogle": "Nur von Google",
    "toApple": "Nur zu Apple",
    "fromApple": "Nur von Apple",
    "months": [
      "Januar",
      "Februar",
      "März",
      "April",
      "Mai",
      "Juni",
      "Juli",
      "August",
      "September",
      "Oktober",
      "November",
      "Dezember"
    ],
    "monthsShort": [
      "Jan",
      "Feb",
      "Mär",
      "Apr",
      "Mai",
      "Jun",
      "Jul",
      "Aug",
      "Sep",
      "Okt",
      "Nov",
      "Dez"
    ],
    "days": [
      "Sonntag",
      "Montag",
      "Dienstag",
      "Mittwoch",
      "Donnerstag",
      "Freitag",
      "Samstag"
    ],
    "daysShort": [
      "So",
      "Mo",
      "Di",
      "Mi",
      "Do",
      "Fr",
      "Sa"
    ],
    "allDay": "Ganztägig",
    "noTitle": "Kein Titel",
    "weekAbbr": "KW",
    "weekClickOpen": "Woche {{num}} — Klicken für Wochenansicht",
    "appointmentSingular": "Termin",
    "appointmentPlural": "Termine"
  },
  "publicBooking": {
    "pageTitle": "Termin buchen",
    "loading": "Laden...",
    "step1Service": "Service",
    "step2Details": "Details",
    "step3Time": "Zeit",
    "chooseService": "Wählen Sie einen Service",
    "yourDetails": "Ihre Angaben",
    "findBestTimesIntro": "Wir finden die besten Termine basierend auf Ihrem Standort.",
    "name": "Name",
    "email": "E-Mail",
    "phone": "Telefon",
    "address": "Adresse (Straße + Hausnummer)",
    "addressPlaceholder": "Adresse eingeben...",
    "postalCode": "Postleitzahl",
    "postalCodePlaceholder": "z.B. 12345",
    "city": "Stadt",
    "cityPlaceholder": "z.B. Berlin",
    "back": "← Zurück",
    "next": "Weiter →",
    "findBestTimes": "Beste Zeiten finden →",
    "choosePreferredTime": "Wählen Sie unsere Empfehlung",
    "timesOptimizedIntro": "Diese Zeiten sind für minimale Fahrzeit und effiziente Planung optimiert.",
    "loadingOptimalTimes": "Optimale Zeiten werden geladen...",
    "confirmAppointment": "Termin bestätigen",
    "booking": "Wird gebucht...",
    "appointmentScheduled": "Termin geplant!",
    "newAppointment": "Neuer Termin",
    "service": "Service",
    "date": "Datum",
    "time": "Uhrzeit",
    "bestChoice": "Beste Wahl",
    "preferOtherTime": "Lieber eine andere Zeit? Wählen Sie selbst ein Datum",
    "backToBestChoice": "Zurück zur besten Wahl",
    "backToSuggestions": "Zurück zu Vorschlägen",
    "loadingSlots": "Verfügbare Zeiten werden geladen...",
    "noTimesOnDay": "Keine verfügbaren Zeiten an diesem Tag",
    "noServicesAvailable": "Keine Services verfügbar",
    "onRequest": "Auf Anfrage",
    "min": "Min",
    "noAvailableTimes": "Keine verfügbaren Zeiten gefunden. Bitte versuchen Sie es später erneut.",
    "errorLoadingTimes": "Fehler beim Laden der verfügbaren Zeiten. Bitte versuchen Sie es erneut.",
    "findingBestTimes": "Die besten Zeiten für Ihren Standort werden gesucht...",
    "searchingAvailability": "Verfügbarkeit suchen...",
    "analyzingCalendar": "Kalender analysieren...",
    "optimizingRoute": "Route optimieren...",
    "earliestAvailable": "Früheste Möglichkeit",
    "outsideServiceArea": "Außerhalb des Servicegebiets",
    "locationTooFar": "Ihr Standort ist etwa <strong>{{travelTime}}</strong> entfernt (max: {{maxAllowed}} Min).",
    "sendEmail": "E-Mail senden",
    "bookingFailed": "Termin konnte nicht gebucht werden. Bitte versuchen Sie es erneut.",
    "errorNotFound": "404",
    "errorNotFoundTitle": "Buchungsseite nicht gefunden",
    "errorNotFoundText": "Dieser Buchungslink ist nicht aktiv oder existiert nicht.",
    "poweredBy": "Bereitgestellt von",
    "searchingTimes": "Verfügbare Zeiten werden gesucht...",
    "searchingTimesSubtitle": "Dies kann einen Moment dauern",
    "earlierOption": "Frühester verfügbarer Termin",
    "smartPickIntro": "Diese Zeiten sind intelligent berechnet — wir sind zu diesen Zeitpunkten bereits in Ihrer Nähe. Wählen Sie einen Smart Pick für kürzeste Anfahrtszeit und pünktlichste Ankunft.",
    "optimalMatch": "Optimale Abstimmung",
    "nearby": "In der Nähe",
    "moreOptions": "Weitere Optionen",
    "smartMatchExcellent": "Ausgezeichnete Übereinstimmung",
    "smartMatchGood": "Gute Übereinstimmung",
    "smartMatchAvailable": "Verfügbar",
    "reasonNoTravel": "Keine zusätzliche Anfahrtszeit nötig",
    "reasonSameArea": "Anschließend an Termin in Ihrer Gegend — kurze Anfahrt",
    "reasonRouteOptimized": "Routenoptimiert — wir sind bereits in der Nähe",
    "reasonShortTravel": "Kurze Anfahrt vom vorherigen Termin",
    "reasonRegionDay": "Regionstag — wir sind bereits in Ihrer Nähe",
    "reasonWorkshop": "Werkstatttermin — keine Anfahrt",
    "reasonRemote": "Ferntermin — sofort verfügbar",
    "reasonAvailable": "Gut verfügbarer Zeitpunkt",
    "noSuitableTime": "Kein passender Termin gefunden?",
    "contactUs": "Kontaktieren Sie uns direkt",
    "sending": "Wird gesendet...",
    "contactRequestSent": "Nachricht gesendet!",
    "contactRequestConfirmation": "Wir haben Ihre Anfrage erhalten und werden Sie in Kürze kontaktieren, um einen passenden Termin zu finden.",
    "contactRequestFailed": "Nachricht konnte nicht gesendet werden. Bitte versuchen Sie es erneut.",
    "backToHome": "Zurück zur Startseite"
  },
  "common": {
    "save": "Speichern",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "edit": "Bearbeiten",
    "add": "Hinzufügen",
    "close": "Schließen",
    "confirm": "Bestätigen",
    "yes": "Ja",
    "no": "Nein",
    "loading": "Laden...",
    "error": "Fehler",
    "success": "Erfolg",
    "search": "Suchen",
    "filter": "Filtern",
    "all": "Alle",
    "none": "Keine",
    "required": "Erforderlich",
    "optional": "Optional",
    "or": "oder",
    "total": "Gesamt",
    "date": "Datum",
    "notes": "Bemerkungen...",
    "internalNotes": "Interne Bemerkungen...",
    "errorSaving": "Fehler beim Speichern",
    "errorDeleting": "Fehler beim Löschen",
    "errorLoading": "Fehler beim Laden",
    "saving": "Speichern...",
    "busy": "Beschäftigt...",
    "processing": "Wird verarbeitet...",
    "errorOccurred": "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.",
    "unknownError": "Unbekannter Fehler",
    "previous": "Zurück",
    "next": "Weiter",
    "back": "Zurück",
    "choose": "-- Wählen --",
    "customer": "Kunde",
    "end": "Ende",
    "selectDate": "Datum wählen",
    "service": "Service",
    "start": "Start",
    "time": "Zeit",
    "title": "Titel",
    "understood": "Verstanden",
    "saveFailed": "Speichern fehlgeschlagen",
    "appointment": "Termin",
    "more": "mehr",
    "address": "Adresse",
    "appointments_one": "{{count}} Termin",
    "appointments_other": "{{count}} Termine",
    "customers_one": "{{count}} Kunde",
    "customers_other": "{{count}} Kunden",
    "pianos_one": "{{count}} Klavier",
    "pianos_other": "{{count}} Klaviere",
    "daysAgo_one": "vor {{count}} Tag",
    "daysAgo_other": "vor {{count}} Tagen",
    "at": "um",
    "of": "von",
    "unnamed": "Unbenannt",
    "skipNav": "Zum Inhalt springen",
    "through": "bis",
    "allDay": "ganztägig",
    "today": "Heute",
    "yesterday": "Gestern",
    "info": "Info"
  },
  "actions": {
    "save": "Speichern",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "edit": "Bearbeiten",
    "add": "Hinzufügen",
    "viewCustomer": "Kunde anzeigen",
    "navigate": "Navigieren",
    "back": "Zurück",
    "next": "Weiter",
    "close": "Schließen",
    "confirm": "Bestätigen",
    "createInvoice": "Rechnung erstellen",
    "complete": "Abschließen",
    "markAsDone": "Als erledigt markieren"
  },
  "errors": {
    "notLoggedIn": "Nicht angemeldet",
    "notFound": "Nicht gefunden",
    "serverError": "Serverfehler",
    "networkError": "Netzwerkfehler",
    "invalidInput": "Ungültige Eingabe",
    "connectionError": "Verbindungsfehler",
    "couldNotComplete": "Termin konnte nicht abgeschlossen werden",
    "error": "Fehler"
  },
  "subscription": {
    "proRequired": "Rechnungen sind ab dem Pro-Abonnement verfügbar"
  },
  "route": {
    "efficiency": "Routeneffizienz",
    "excellent": "Ausgezeichnet",
    "good": "Gut",
    "moderate": "Mäßig",
    "poor": "Schlecht",
    "travelTime": "Fahrzeit"
  },
  "time": {
    "today": "Heute",
    "tomorrow": "Morgen",
    "yesterday": "Gestern",
    "thisWeek": "Diese Woche",
    "nextWeek": "Nächste Woche",
    "never": "Nie",
    "allDay": "Ganztägig",
    "justNow": "gerade eben"
  },
  "login": {
    "title": "Anmelden",
    "welcome": "Willkommen",
    "register": "Registrieren",
    "email": "E-Mail",
    "password": "Passwort",
    "confirmPassword": "Passwort bestätigen",
    "name": "Name",
    "forgotPassword": "Passwort vergessen?",
    "forgotDesc": "Geben Sie Ihre E-Mail ein. Sie erhalten einen Link zum Zurücksetzen Ihres Passworts.",
    "sendResetLink": "Reset-Link senden",
    "backToLogin": "← Zurück zur Anmeldung",
    "rememberMe": "Angemeldet bleiben",
    "loginWithGoogle": "Mit Google anmelden",
    "signupWithGoogle": "Mit Google registrieren",
    "createAccount": "Konto erstellen",
    "alreadyHaveAccount": "Bereits ein Konto?",
    "noAccount": "Neu hier?",
    "loginLink": "Anmelden →",
    "registerLink": "Konto erstellen →",
    "companyOptional": "Firmenname (optional)",
    "language": "Sprache",
    "namePlaceholder": "Max Mustermann",
    "passwordMin": "Min. 8 Zeichen",
    "or": "oder",
    "acceptTerms": "Ich stimme den <a href=\"/terms.html\" target=\"_blank\">Allgemeinen Geschäftsbedingungen</a>, der <a href=\"/privacy.html\" target=\"_blank\">Datenschutzerklärung</a> und dem <a href=\"/dpa.html\" target=\"_blank\">Auftragsverarbeitungsvertrag</a> zu",
    "acceptTermsRequired": "Sie müssen den Allgemeinen Geschäftsbedingungen, der Datenschutzerklärung und dem Auftragsverarbeitungsvertrag zustimmen.",
    "hintLogin": "Willkommen zurück!",
    "hintRegister": "Erstellen Sie in 30 Sekunden ein Konto",
    "trustFree": "1 Monat kostenlos testen",
    "trustNoCard": "Keine Kreditkarte erforderlich",
    "trustGdpr": "DSGVO-konform & Daten in der EU",
    "trustCancel": "Jederzeit kündbar",
    "loggingIn": "Anmelden...",
    "welcomeBack": "Willkommen zurück! Weiterleitung...",
    "loginFailed": "Anmeldung fehlgeschlagen",
    "somethingWentWrong": "Etwas ist schiefgelaufen. Versuchen Sie es erneut.",
    "sending": "Senden...",
    "resetLinkSent": "Wenn diese E-Mail-Adresse bekannt ist, erhalten Sie einen Reset-Link.",
    "passwordTooShort": "Passwort muss mindestens 8 Zeichen lang sein.",
    "creatingAccount": "Konto wird erstellt...",
    "awaitingApproval": "Konto erstellt! Bitte warten Sie auf die Admin-Genehmigung. Sie erhalten eine E-Mail, sobald Ihr Konto aktiviert ist.",
    "awaitingApprovalBtn": "Warte auf Genehmigung",
    "accountCreated": "Konto erstellt! Sie können sich jetzt mit Ihren Anmeldedaten anmelden.",
    "accountCreatedBtn": "Konto erstellt!",
    "googleRecommended": "Empfohlen — direkter Zugang zur Kalendersynchronisation",
    "googleRecommendedSignup": "Schnellster Weg — sofort bereit mit Kalendersynchronisation"
  },
  "pricing": {
    "title": "Einfache, transparente Preise.",
    "subtitle": "Wählen Sie den Plan, der zu Ihnen passt. Keine versteckten Kosten.",
    "monthly": "Monatlich",
    "yearly": "Jährlich",
    "startTrial": "1 Monat kostenlos testen",
    "subscribe": "Abonnieren",
    "currentPlan": "Aktueller Plan",
    "features": "Funktionen",
    "unlimited": "Unbegrenzt",
    "support": "Support",
    "trial": "Testversion",
    "trialDays": "Tage Testversion",
    "perMonth": "/ Monat",
    "mostPopular": "Beliebteste Wahl",
    "exVat": "zzgl. MwSt.",
    "trySolo": "Kostenlos testen",
    "getStartedFree": "Kostenlos starten",
    "foreverFree": "Für immer kostenlos",
    "serverLocation": "Ihre Daten werden sicher auf Servern in den Niederlanden (EU) gespeichert",
    "startName": "Start",
    "startTagline": "Intelligente Planung & Routen",
    "startFeature1": "Unbegrenzt Kunden & Termine",
    "startFeature2": "Routenoptimierung & Route füllen",
    "startFeature3": "Online-Buchungsseite",
    "startFeature4": "E-Mail-Erinnerungen & Vorlagen",
    "startFeature5": "Eigene E-Mail-Domain (SMTP)",
    "startFeature6": "Smart Suggestions",
    "startFeature7": "Kalender-Export (iCal)",
    "startFeature8": "PWA Mobile App",
    "startFeature9": "CSV- & Gazelle-Import",
    "proName": "Pro",
    "proTagline": "Volle Synchronisation & Automatisierung",
    "proFeature1": "Alles aus Start, plus:",
    "proFeature2": "2-Wege-Sync Google, Apple & Microsoft",
    "proFeature3": "Rechnungserstellung mit 1 Klick und Zahlungslink",
    "proFeature3sub": "PDF-Rechnungen + Zahlungsanbieter nach Wahl (per Key)",
    "proFeature4": "Km-Erfassung (finanzamtssicher)",
    "proFeature5": "Buchhaltungsintegration (sevDesk, Lexware, ...)",
    "invoiceHighlightTitle": "Rechnungserstellung mit Online-Zahlungslink",
    "invoiceHighlightDesc": "Erstellen Sie Rechnungen aus Ihrem Kalender, versenden Sie sie mit PDF und Zahlungslink. Ihr Kunde zahlt direkt online. Verfügbar ab Pro.",
    "premiumName": "Premium",
    "premiumTagline": "Werkstatt, Projekte & Team",
    "premiumFeature1": "Alles aus Pro, plus:",
    "premiumFeature2": "Werkstatt-Projektplaner",
    "premiumFeature3": "Stundenerfassung & Kapazitätsplanung",
    "premiumFeature4": "Theater-/Veranstaltungszeiten",
    "premiumFeature5": "Fristenübersicht",
    "premiumFeature6": "Team-Dashboard & intelligente Zuweisung",
    "premiumFeature6sub": "+ €15 pro zusätzlicher Stimmer/Teammitglied",
    "teamsName": "Teams",
    "teamsTagline": "Werkstatt, Projekte & Team",
    "teamsFeature1": "Alles aus Pro, plus:",
    "teamsFeature2": "Werkstatt-Projektplaner",
    "teamsFeature3": "Stundenerfassung & Kapazitätsplanung",
    "teamsFeature4": "Theater-/Veranstaltungszeiten",
    "teamsFeature5": "Fristenübersicht",
    "teamsFeature6": "Team-Dashboard & intelligente Zuweisung",
    "teamsFeature7": "Magic Link Portal für Stimmer",
    "teamsFeature7sub": "Inkl. 5 Stimmer · + €15 pro weiteren Stimmer",
    "businessName": "Teams Business",
    "businessTagline": "Lager, Bestand & 10 Stimmer",
    "businessFeature1": "Alles aus Teams, plus:",
    "businessFeature2": "Lager- & Bestandsverwaltung",
    "businessFeature3": "Showroom-Batches",
    "businessFeature4": "Bis zu 10 Stimmer",
    "businessFeature4sub": "+ €15 pro zusätzlicher Stimmer über 10",
    "freeHint": "Gerade erst gestartet oder bis zu 25 Kunden?",
    "freeHintLink": "Beginnen Sie mit unserem kostenlosen Einstiegsplan.",
    "serverTitle": "Europäische Server, niederländisches Unternehmen",
    "serverText": "Ihre Daten bleiben in Europa. DSGVO-konform. Ansässig in Tilburg, Niederlande.",
    "independenceTipTitle": "Unabhängig von Big Tech?",
    "independenceTipText": "Bereits mit dem Start-Abonnement verwalten Sie alles in PianoPlanner und generieren einen iCal-Link, der in jeder Kalender-App funktioniert. Kein Google-, Apple- oder Microsoft-Konto erforderlich.",
    "faqTitle": "Häufig gestellte Fragen",
    "faqSubtitle": "Alles was Sie über PianoPlanner wissen müssen.",
    "faq1Question": "Kann ich es erst ausprobieren?",
    "faq1Answer": "Ja! Alle kostenpflichtigen Abonnements haben eine kostenlose Testphase von 1 Monat. Keine Kreditkarte erforderlich. Nach dem Monat können Sie sich für die Bezahlung entscheiden oder fallen auf den kostenlosen Plan zurück.",
    "faq2Question": "Was passiert mit meinen Daten, wenn ich kündige?",
    "faq2Answer": "Ihre Daten gehören Ihnen. Sie können alles exportieren, bevor Sie kündigen. Nach der Kündigung kehrt Ihr Konto zum kostenlosen Plan zurück.",
    "faq3Question": "Kann ich später den Plan wechseln?",
    "faq3Answer": "Selbstverständlich. Upgraden oder downgraden Sie wann immer Sie möchten. Änderungen werden sofort wirksam und der neue Betrag gilt ab dem nächsten Abrechnungszeitraum.",
    "faq4Question": "Wie funktioniert die Kalendersynchronisation?",
    "faq4Answer": "PianoPlanner synchronisiert bidirektional mit Google Kalender, Apple Kalender und Microsoft 365. Termine erscheinen in Echtzeit auf allen Ihren Geräten.",
    "footerFeature1": "1 Monat kostenlos",
    "footerFeature2": "Keine Kreditkarte erforderlich",
    "footerFeature3": "Jederzeit kündbar",
    "footerFeature4": "DSGVO-konform",
    "compareTitle": "Abonnements vergleichen",
    "compareFeature": "Funktion",
    "compareCustomers": "Kunden & Termine",
    "compareRoute": "Routenoptimierung",
    "compareBooking": "Online-Buchungsseite",
    "compareReminders": "E-Mail-Erinnerungen",
    "compareSmtp": "Eigene E-Mail (SMTP)",
    "compareSmart": "Smart Suggestions",
    "compareiCal": "Kalender-Export (iCal)",
    "comparePwa": "PWA Mobile App",
    "compareImport": "CSV- & Gazelle-Import",
    "compareCalSync": "2-Wege-Kalender-Sync",
    "compareMileage": "Km-Erfassung",
    "compareInvoicing": "Rechnungserstellung + Zahlungslink",
    "compareAccounting": "Buchhaltungsintegration",
    "compareProjects": "Werkstatt-Projektplaner",
    "compareTimetrack": "Stundenerfassung",
    "compareCapacity": "Kapazitätsplanung",
    "compareTheater": "Theater-/Veranstaltungszeiten",
    "compareTeamDashboard": "Team-Dashboard & Zuweisung",
    "compareTeamMembers": "Extra Stimmer",
    "compareMagicLink": "Magic Link Portal",
    "compareInventory": "Lager- & Bestandsverwaltung",
    "compareShowroom": "Showroom-Batches",
    "compareMaxTuners": "Max. Stimmer",
    "teamsHint": "Mehr als 5 Stimmer?",
    "teamsHintLink": "Kontaktieren Sie uns für ein maßgeschneidertes Angebot."
  },
  "billing": {
    "title": "Abonnement",
    "currentPlan": "Aktueller Plan",
    "nextBilling": "Nächste Abrechnung",
    "paymentMethod": "Zahlungsmethode",
    "updatePayment": "Zahlung aktualisieren",
    "cancelSubscription": "Abonnement kündigen",
    "reactivate": "Reaktivieren",
    "active": "Aktiv",
    "trial": "Testversion",
    "expired": "Abgelaufen",
    "canceled": "Gekündigt",
    "subtitle": "Verwalten Sie Ihr Abonnement und Rechnungen",
    "startSubscription": "Abonnement starten",
    "choosePlan": "Wählen Sie Ihr Abonnement",
    "perMonthVat": "/Monat + MwSt.",
    "soloFeature1": "Unbegrenzt Kunden & Termine",
    "soloFeature2": "E-Mail-Erinnerungen & Vorlagen",
    "soloFeature3": "Routenoptimierung",
    "soloFeature4": "Online-Buchungsseite",
    "proFeatureAll": "Alles von Solo, plus:",
    "proFeature1": "2-Wege-Kalender-Sync",
    "proFeature2": "Km-Erfassung (steuerkonform)",
    "proFeature3": "Rechnungsstellung mit Zahlungslink",
    "selectPlanContinue": "Wähle ein Abonnement um fortzufahren",
    "whatsIncluded": "Was ist enthalten",
    "allPlansInclude": "Alle Abonnements enthalten:",
    "featureUnlimited": "Unbegrenzt Kunden & Termine",
    "featureEmail": "E-Mail-Erinnerungen & Vorlagen",
    "featureSMTP": "Eigene E-Mail-Domain (SMTP)",
    "featureRoute": "Routenoptimierung",
    "featureBooking": "Online-Buchungsseite",
    "featurePWA": "PWA mobile App",
    "featureSmart": "Smart Suggestions",
    "featureImport": "CSV & Gazelle Import",
    "featureIcal": "Kalender-Export (iCal)",
    "featureEU": "EU-Server (DSGVO-konform)",
    "proAdds": "Pro fügt hinzu:",
    "proFeatureSync": "2-Wege-Kalender-Sync (Google, Apple, Microsoft)",
    "proFeatureKm": "Km-Erfassung (steuerkonform)",
    "proFeatureInvoice": "Rechnungsstellung mit Zahlungslink",
    "proFeatureAccounting": "Buchhaltungsanbindung",
    "proFeatureSupport": "Priorität Support",
    "needHelp": "Hilfe nötig?",
    "needHelpDesc": "Haben Sie Fragen zu Ihrem Abonnement oder Rechnungen? Kontaktieren Sie uns.",
    "contactUs": "Kontakt aufnehmen",
    "teamsFeature1": "Bis zu 5 Klavierstimmer",
    "teamsFeature2": "Team-Dashboard & intelligente Zuweisung",
    "teamsFeature3": "iCal-Feed pro Stimmer",
    "teamsFeatureAll": "Alles aus Pro, plus:",
    "daysLeft": "Tage übrig",
    "noSubscription": "Kein Abonnement",
    "price": "Preis",
    "perMonth": "Monat",
    "vat": "MwSt.",
    "daysLeftTrial": "Tage in Ihrem Testzeitraum übrig",
    "likePianoPlanner": "Gefällt Ihnen PianoPlanner?",
    "upgradeAnytime": "Sie können jederzeit upgraden – kein Warten auf das Ende der Testphase!",
    "statusLabel": "Status",
    "trialExpired": "Ihre Testversion ist abgelaufen",
    "upgradeNow": "Jetzt upgraden",
    "manageSubscription": "Abonnement verwalten",
    "checkoutError": "Checkout konnte nicht gestartet werden.",
    "somethingWentWrong": "Etwas ist schiefgelaufen. Versuchen Sie es erneut.",
    "portalError": "Abonnementverwaltung konnte nicht geöffnet werden.",
    "loadError": "Abonnementdaten konnten nicht geladen werden.",
    "welcomePlan": "Willkommen bei PianoPlanner",
    "paymentSuccess": "Ihre Zahlung war erfolgreich. Ihr Abonnement ist jetzt aktiv für",
    "confirmationEmail": "Sie erhalten eine Bestätigungs-E-Mail. Rechnungen finden Sie unten.",
    "paymentCancelled": "Zahlung abgebrochen",
    "paymentCancelledDesc": "Kein Problem! Sie können es später erneut versuchen. Es wurde nichts berechnet.",
    "monthly": "Monatlich",
    "annual": "Jährlich",
    "saveAnnual": "Spare ~15%",
    "perYear": "Jahr",
    "continueWith": "Weiter mit"
  },
  "import": {
    "title": "Daten importieren",
    "selectSource": "Importquelle auswählen",
    "selectSourceDesc": "Wählen Sie, woher Sie Ihre Kundendaten importieren möchten.",
    "step": {
      "source": "Quelle",
      "upload": "Hochladen",
      "preview": "Vorschau",
      "import": "Import"
    },
    "external": {
      "desc": "Piano-Service-Software"
    },
    "csv": {
      "desc": "Generische CSV-Datei"
    },
    "uploadFile": "Datei hochladen",
    "uploadFileDesc": "Laden Sie Ihre Exportdatei hoch (CSV-Format).",
    "dropFile": "Datei hier ablegen",
    "orClick": "oder klicken zum Durchsuchen",
    "previewData": "Datenvorschau",
    "previewDesc": "Überprüfen Sie die Daten vor dem Import.",
    "totalRecords": "Gesamt",
    "activeClients": "Aktive Kunden",
    "inactiveClients": "Inaktive Kunden",
    "withEmail": "Mit E-Mail",
    "th": {
      "name": "Name",
      "email": "E-Mail",
      "phone": "Telefon",
      "city": "Stadt",
      "status": "Status"
    },
    "options": "Import-Optionen",
    "opt": {
      "activeOnly": "Nur aktive Kunden importieren",
      "activeOnlyDesc": "Inaktive Kunden überspringen",
      "skipDuplicates": "Duplikate überspringen",
      "skipDuplicatesDesc": "Kunden mit bereits vorhandener E-Mail überspringen",
      "includeCompany": "Firmenname einschließen",
      "includeCompanyDesc": "Firmenname zum Kundennamen hinzufügen"
    },
    "importing": "Importieren...",
    "complete": "Import abgeschlossen!",
    "failed": "Import fehlgeschlagen",
    "partialComplete": "Import teilweise abgeschlossen",
    "successMessage": "{{count}} Kunden erfolgreich importiert.",
    "partialMessage": "{{imported}} Kunden importiert mit {{errors}} Fehlern.",
    "noImports": "Keine Kunden wurden importiert.",
    "imported": "Importiert",
    "skipped": "Übersprungen",
    "errors": "Fehler",
    "viewCustomers": "Kunden anzeigen",
    "importMore": "Mehr importieren",
    "undoImport": "Import rückgängig",
    "undone": "Import rückgängig gemacht",
    "undoneMessage": "{{count}} Datensätze erfolgreich gelöscht.",
    "next": "Weiter",
    "back": "Zurück",
    "cancel": "Abbrechen",
    "preview": "Vorschau",
    "startImport": "Import starten",
    "error": {
      "csvOnly": "Bitte laden Sie eine CSV-Datei hoch",
      "parse": "Fehler beim Parsen der CSV-Datei"
    },
    "gazelleTitle": "Gazelle Import-Assistent - PianoPlanner",
    "gazelleWizard": "Gazelle Import-Assistent",
    "backToSettings": "Zurück zu Einstellungen",
    "step1Title": "Kunden importieren",
    "step1Desc": "clients.csv hochladen",
    "step2Title": "Klaviere importieren",
    "step2Desc": "pianos.csv hochladen",
    "step3Title": "Termine importieren",
    "step3Desc": "events.csv hochladen (optional)",
    "step4Title": "Abgeschlossen",
    "step4Desc": "Ergebnisse ansehen",
    "customersTitle": "Schritt 1: Kunden importieren",
    "customersDesc": "Laden Sie Ihre Gazelle clients.csv-Datei hoch. Wir prüfen jeden Datensatz und zeigen genau, was importiert wird.",
    "dropClients": "Ziehen Sie clients.csv hierher",
    "orClickBrowse": "oder klicken Sie zum Durchsuchen",
    "pianosTitle": "Schritt 2: Klaviere importieren",
    "pianosDesc": "Laden Sie Ihre Gazelle pianos.csv-Datei hoch. Klaviere werden automatisch über die Gazelle-ID mit Kunden verknüpft.",
    "dropPianos": "Ziehen Sie pianos.csv hierher",
    "eventsTitle": "Schritt 3: Termine importieren",
    "eventsDesc": "Laden Sie Ihre Gazelle events.csv-Datei hoch. Termine werden mit Kunden und Klavieren verknüpft. Dies ist optional — Sie können diesen Schritt überspringen.",
    "dropEvents": "Ziehen Sie events.csv hierher",
    "filterAll": "Alle",
    "filterValid": "✓ Gültig",
    "filterSkip": "⚠ Überspringen",
    "filterError": "✗ Fehler",
    "optSkipExisting": "Bestehende Kunden überspringen",
    "optSkipExistingDesc": "Überspringen Sie Kunden, die bereits existieren (basierend auf E-Mail)",
    "optCreateCustomers": "Fehlende Kunden anlegen",
    "optCreateCustomersDesc": "Erstellen Sie automatisch Kunden für Klaviere ohne Verknüpfung",
    "skipStep": "Schritt überspringen →",
    "skipAndFinish": "Ohne Termine abschließen →",
    "importCustomers": "Kunden importieren",
    "importPianos": "Klaviere importieren",
    "importEvents": "Termine importieren",
    "completed": "Import abgeschlossen!",
    "completedDesc": "Ihre Gazelle-Daten wurden in PianoPlanner importiert.",
    "customers": "Kunden",
    "pianos": "Klaviere",
    "events": "Termine",
    "viewPianos": "Klaviere ansehen",
    "toDashboard": "Zum Dashboard",
    "deleteImportedData": "Zuvor importierte Daten löschen",
    "backToImport": "← Zurück zum Import",
    "analyzeFile": "Datei analysieren",
    "importContacts": "Kontakte importieren",
    "importAppointments": "Termine importieren",
    "viewAgenda": "Kalender ansehen",
    "filterLinked": "✓ Verknüpft",
    "filterNoCustomer": "⚠ Kein Kunde",
    "filterNoLink": "⚠ Keine Verknüpfung",
    "deleteImported": "Importierte Daten löschen",
    "gazelle": {
      "desc": "Daten aus Gazelle importieren"
    },
    "manager": {
      "title": "Import-Verwaltung",
      "desc": "Verwalten Sie Ihre früheren Importe",
      "back": "Zurück",
      "empty": "Keine Importe gefunden",
      "loading": "Laden..."
    },
    "gazelleWizardTitle": "Gazelle Import",
    "gazelleWizardDesc": "Importieren Sie Ihre Daten aus Gazelle in 5 Schritten.",
    "gazelleStep1": "Kunden",
    "gazelleStep2": "Klaviere",
    "gazelleStep3": "Termine",
    "gazelleStep4": "Dienste",
    "gazelleStep5": "Ergebnis",
    "gazelleFileNeeded": "Benötigte Datei aus Gazelle:",
    "gazelleClientsFile": "Clients",
    "gazellePianosFile": "Pianos",
    "gazelleEventsFile": "Events",
    "gazelleMslFile": "Master Service List",
    "gazelleEsiFile": "Event Service Items",
    "gazelleClientsDesc": "Laden Sie Ihren Gazelle-Kundenexport hoch. Enthält Kundennamen, Adressen, E-Mail und Telefon.",
    "gazellePianosDesc": "Laden Sie Ihren Gazelle-Pianoexport hoch. Klaviere werden automatisch mit Kunden verknüpft.",
    "gazelleEventsDesc": "Laden Sie Ihren Gazelle-Terminexport hoch. Termine werden mit Kunden und Klavieren verknüpft.",
    "gazelleMslDesc": "Upload your Master Service List. Contains official services with prices and descriptions.",
    "gazelleEsiDesc": "Optional: Event Service Items for exact service linking per appointment.",
    "gazelleServicesTitle": "Step 4: Import Services",
    "gazelleServicesDesc": "Upload your Master Service List (MSL). Services are also automatically derived from appointments.",
    "gazelleServicesFound": "{{count}} services found",
    "gazelleServicesMsl": "From Master Service List (official)",
    "gazelleServicesExtracted": "Derived from appointments",
    "gazelleServicesExisting": "{{count}} services already exist",
    "gazelleOptionalStep": "This step is optional",
    "gazellePersonalEvents": "Import personal events as private appointments",
    "gazellePersonalEventsDesc": "Personal/memo events will be added as private appointments in your calendar",
    "gazelleSyncedEvents": "Include synced events",
    "gazelleSyncedEventsDesc": "Synced events from other calendars are skipped by default",
    "gazelleHistorical": "{{count}} historical (not synced to Google)",
    "gazelleFuture": "{{count}} upcoming (will be synced)",
    "gazelleProcessing": "Verarbeitung...",
    "gazelleProcessingOf": "{{current}} von {{total}}",
    "gazelleResultTitle": "Import abgeschlossen!",
    "gazelleResultDesc": "Ihre Gazelle-Daten wurden erfolgreich in PianoPlanner importiert.",
    "gazelleResultCustomers": "{{count}} clients imported",
    "gazelleResultPianos": "{{count}} pianos imported",
    "gazelleResultEvents": "{{count}} appointments imported",
    "gazelleResultServices": "{{count}} services created",
    "gazelleResultSkipped": "{{count}} skipped",
    "gazelleResultErrors": "{{count}} errors",
    "gazelleServicesTip": "💡 Tipp: Gehen Sie zu Einstellungen → Dienste, um Preise und Dauer anzupassen.",
    "gazelleUndoAll": "Alles rückgängig machen",
    "gazelleUndoConfirm": "Möchten Sie wirklich alle importierten Daten löschen?",
    "gazelleDropFile": "CSV-Datei hierher ziehen",
    "gazelleOrBrowse": "oder klicken zum Durchsuchen",
    "gazelleFileSelected": "File selected:",
    "gazelleAnalyzing": "Analyzing file...",
    "gazelleRecordsFound": "{{count}} records found",
    "gazelleReadyToImport": "Ready to import",
    "gazelleImportBtn": "Importieren",
    "gazelleSkipBtn": "Schritt überspringen →",
    "gazelleNextBtn": "Nächster Schritt →",
    "gazelleBackBtn": "← Vorheriger Schritt",
    "gazelleFinishBtn": "Abschließen",
    "gazelleImportSuccess": "✅ Successfully imported",
    "gazelleImportPartial": "⚠️ Partially imported",
    "gazelleImportFailed": "❌ Import failed",
    "gazelleNoFile": "No file selected yet",
    "gazelleExportInstructions": "Go to Gazelle → Data → Export and download the file:"
  },
  "emailTemplates": {
    "title": "E-Mail Vorlagen",
    "subtitle": "Passen Sie die E-Mails an, die an Ihre Kunden gesendet werden",
    "helpBanner": {
      "title": "Schnell starten mit dem E-Mail Editor",
      "subtitle": "Passen Sie Ihre Kunden-E-Mails in 3 einfachen Schritten an",
      "step1Title": "Vorlage wählen",
      "step1Desc": "Klicken Sie oben auf den E-Mail-Typ, den Sie anpassen möchten (Bestätigung, Erinnerung, usw.)",
      "step2Title": "Visuell oder in HTML bearbeiten",
      "step2Desc": "Verwenden Sie den 🎨 Visuellen Modus, um Text wie in Word zu formatieren. Klicken Sie auf Variablen, um Kundendaten einzufügen.",
      "step3Title": "Speichern & testen",
      "step3Desc": "Prüfen Sie rechts die Live-Vorschau. Senden Sie eine Test-E-Mail an sich selbst, um das Ergebnis zu sehen.",
      "tip": "Tipp: Variablen wie {{Kundenname}} werden beim Versand automatisch durch echte Kundendaten ersetzt."
    },
    "confirmation": {
      "subject": "Bestätigung: {{service}} am {{date}}",
      "title": "Termin Bestätigt",
      "confirmed": "Bestätigt",
      "greeting": "Sehr geehrte(r) {{customerName}},",
      "intro": "Ihr Termin wurde bestätigt. Hier finden Sie alle Details.",
      "details": "Termindetails",
      "date": "Datum",
      "time": "Uhrzeit",
      "service": "Leistung",
      "location": "Standort",
      "address": "Adresse",
      "instrument": "Instrument",
      "piano": "Klavier",
      "pianoType": "Typ",
      "serialNumber": "Seriennummer",
      "buildYear": "Baujahr",
      "pianoLocation": "Klavierstandort",
      "notes": "Anmerkungen",
      "questions": "Haben Sie Fragen? Kontaktieren Sie uns gerne.",
      "regards": "Mit freundlichen Grüßen,",
      "rescheduleText": "Passt der Termin nicht? Sie können Ihren Termin online verschieben.",
      "rescheduleButton": "Termin verschieben"
    },
    "reminder": {
      "subject": "Erinnerung: {{service}} am {{date}}",
      "title": "Erinnerung",
      "subtitle": "Ihr Termin ist morgen",
      "tomorrow": "morgen",
      "inHours": "in {{hours}} Stunden",
      "inDays": "in {{days}} Tagen",
      "greeting": "Sehr geehrte(r) {{customerName}},",
      "intro": "Dies ist eine Erinnerung an Ihren Termin:",
      "lookingForward": "Wir freuen uns auf Sie!",
      "regards": "Mit freundlichen Grüßen,"
    },
    "newBooking": {
      "subject": "Neue Buchung: {{customerName}} - {{service}}",
      "title": "Neuer Termin",
      "subtitle": "Ein neuer Termin wurde gebucht",
      "customerDetails": "Kunde",
      "appointmentDetails": "Termindetails",
      "customerNote": "Kundennotiz",
      "openPianoPlanner": "Öffnen Sie PianoPlanner, um diesen Termin anzuzeigen"
    },
    "cancellation": {
      "subject": "Stornierung: {{service}} am {{date}}",
      "title": "Termin Storniert",
      "greeting": "Sehr geehrte(r) {{customerName}},",
      "intro": "Ihr Termin wurde storniert:",
      "reschedule": "Möchten Sie einen neuen Termin vereinbaren? Kontaktieren Sie uns oder buchen Sie online.",
      "regards": "Mit freundlichen Grüßen,"
    },
    "bookingInvitation": {
      "subject": "Einladung zur Terminbuchung",
      "title": "Termin Buchen",
      "subtitle": "Einfache Online-Buchung",
      "greeting": "Sehr geehrte(r) {{customerName}},",
      "intro": "Ich möchte Sie einladen, einen Termin zu vereinbaren. Über den untenstehenden Link können Sie einfach einen passenden Zeitpunkt auswählen.",
      "bookButton": "Termin Buchen",
      "linkNote": "Oder kopieren Sie diesen Link:",
      "regards": "Mit freundlichen Grüßen,"
    },
    "tuningInvitation": {
      "subject": "Zeit für eine Stimmung: Ihr {{piano_brand}} {{piano_model}}",
      "title": "Zeit für eine Stimmung",
      "subtitle": "Ihr Klavier verdient die beste Pflege",
      "greeting": "Sehr geehrte(r) {{customerName}},",
      "intro": "Es ist schon eine Weile her, seit Ihr Klavier gestimmt wurde. Um Ihr Instrument in optimalem Zustand zu halten, ist es Zeit für eine Wartung.",
      "piano": "Klavier",
      "lastTuning": "Letzte Stimmung",
      "unknown": "Unbekannt",
      "timeElapsed": "Verstrichene Zeit",
      "months": "Monate",
      "recommendedInterval": "Empfohlenes Intervall",
      "every": "alle",
      "bookNow": "Planen Sie Ihre nächste Stimmung einfach über den untenstehenden Link:",
      "bookButton": "Jetzt Termin buchen",
      "regards": "Mit freundlichen Grüßen,",
      "footer": "Professionelle Klavierstimmung",
      "unsubscribeText": "Keine Erinnerungen mehr erhalten"
    },
    "trialNudge": {
      "day7": {
        "subject": "Wie läuft es mit PianoPlanner, {{name}}?",
        "greeting": "Hallo {{name}},",
        "body": "Du nutzt PianoPlanner jetzt seit einer Woche — schön, dass du dabei bist! 🎹",
        "statsTitle": "Deine bisherige Nutzung:",
        "statsCustomers": "{{count}} Kunde(n) angelegt",
        "statsPianos": "{{count}} Klavier(e) registriert",
        "statsAppointments": "{{count}} Termin(e) geplant",
        "cta": "Bei Fragen antworte einfach auf diese E-Mail. Wir helfen gerne!",
        "ctaButton": "Zu PianoPlanner",
        "footer": "Du hast noch {{daysLeft}} Tage Testzeit übrig. Nach der Testphase behältst du immer Zugang zum kostenlosen Plan."
      },
      "day20": {
        "subject": "Noch 10 Tage in deiner PianoPlanner-Testphase",
        "greeting": "Hallo {{name}},",
        "body": "Deine Testphase endet in 10 Tagen. Hier ist, was du bisher erreicht hast:",
        "statsCustomers": "{{count}} Kunde(n)",
        "statsAppointments": "{{count}} Termin(e)",
        "statsEmails": "{{count}} E-Mails gesendet",
        "loseAccess": "Nach der Testphase verlierst du den Zugang zu:",
        "loseCalendarSync": "Bidirektionale Kalendersynchronisierung",
        "loseRoute": "Routenoptimierung & Smart Suggestions",
        "loseReminders": "Automatische Erinnerungen",
        "loseInvoicing": "Rechnungsstellung & Kilometererfassung",
        "cta": "Mit dem Solo-Plan (€24,50/Monat) behältst du alles, oder upgrade auf Pro (€39,50/Monat) für das volle Erlebnis.",
        "ctaButton": "Pläne ansehen",
        "footer": "Deine Daten sind immer sicher gespeichert, auch wenn du (noch) nicht upgradest."
      },
      "day25": {
        "subject": "⏳ Noch 5 Tage — deine PianoPlanner-Testphase endet bald",
        "greeting": "Hallo {{name}},",
        "body": "In 5 Tagen endet deine Testphase und du verlierst den Zugang zu den Pro-Funktionen.",
        "warning": "Routenoptimierung, Erinnerungen, Kalendersync und Rechnungsstellung sind im kostenlosen Plan nicht verfügbar.",
        "cta": "Jetzt upgraden und alles behalten, was du aufgebaut hast.",
        "ctaButton": "Jetzt upgraden — ab €24,50/Monat",
        "footer": "Deine Daten sind immer sicher gespeichert, auch wenn du (noch) nicht upgradest."
      },
      "day28": {
        "subject": "🔔 Noch 2 Tage — dein PianoPlanner Pro-Zugang endet bald",
        "greeting": "Hallo {{name}},",
        "body": "Deine Testphase endet übermorgen.",
        "warning": "Du verlierst dann sofort den Zugang zu Routenoptimierung, Kalendersync, Rechnungsstellung und automatischen Erinnerungen.",
        "dataSafe": "Deine Daten ({{customers}} Kunden, {{pianos}} Klaviere) sind sicher gespeichert. Du kannst jederzeit upgraden.",
        "cta": "Upgrade jetzt — du hast nur noch 2 Tage, um deine Pro-Funktionen zu behalten.",
        "ctaButton": "Jetzt upgraden",
        "footer": "Deine Daten sind immer sicher gespeichert, auch wenn du nicht upgradest."
      },
      "expired": {
        "subject": "Deine PianoPlanner-Testphase ist abgelaufen",
        "greeting": "Hallo {{name}},",
        "body": "Deine 30-tägige Testphase ist beendet. Dein Konto wechselt jetzt zum kostenlosen Plan.",
        "whatChanges": "Was ändert sich?",
        "noRoute": "Keine Routenoptimierung",
        "noSync": "Keine Kalendersynchronisierung",
        "noReminders": "Keine automatischen Erinnerungen",
        "noInvoicing": "Keine Rechnungsstellung",
        "dataSafe": "Deine Daten ({{customers}} Kunden, {{pianos}} Klaviere) sind sicher",
        "freeLimit": "Bis zu 25 Kunden und 50 Termine/Jahr im kostenlosen Plan",
        "cta": "Upgrade jederzeit, um alle Funktionen sofort wieder zu aktivieren.",
        "ctaButton": "Jetzt upgraden",
        "footer": "Deine Daten sind sicher. Du kannst jederzeit upgraden, wenn du bereit bist."
      },
      "lastchance": {
        "subject": "Wir vermissen dich! Komm zurück zu PianoPlanner 🎹",
        "greeting": "Hallo {{name}},",
        "body": "Es ist eine Woche her, seit deine Testphase abgelaufen ist. Wir hoffen, du hattest eine gute Erfahrung!",
        "dataWaiting": "Du hast {{customers}} Kunden und {{pianos}} Klaviere in deinem Konto. Diese Daten warten auf dich.",
        "tip": "Mit dem Solo-Plan (€24,50/Monat) hast du alles: unbegrenzte Kunden, Routenoptimierung und automatische Erinnerungen.",
        "cta": "Upgrade heute und erhalte sofort wieder Zugang zu allen Funktionen.",
        "ctaButton": "Zurück zu PianoPlanner",
        "footer": "Dies ist die letzte Erinnerung. Du kannst jederzeit selbst über billing upgraden."
      },
      "banner": {
        "welcomeDays": "Willkommen! Du hast noch {{days}} Tage zum Entdecken",
        "daysLeft": "Noch {{days}} Tage Testzeit — upgrade um alles zu behalten",
        "endingSoon": "Noch {{days}} Tag(e) — dein Pro-Zugang endet bald!",
        "expired": "Deine Testphase ist abgelaufen — upgrade für alle Funktionen",
        "freePlan": "Kostenloser Plan — upgrade für Routenoptimierung, Kalendersync und mehr",
        "viewPlans": "Pläne ansehen",
        "upgradeNow": "Jetzt upgraden",
        "upgrade": "Jetzt upgraden"
      }
    },
    "invoiceEmail": {
      "payButton": "💳 Jetzt bezahlen",
      "paySecure": "Sicher bezahlen per Kreditkarte, Überweisung oder andere Zahlungsmethoden",
      "bookingButton": "Nächsten Termin buchen",
      "bookingHint": "Nutzen Sie Ihren persönlichen Link, um Ihre nächste Stimmung einfach zu planen"
    },
    "bccToSelf": "Kopie an mich selbst (BCC)",
    "bccToSelfDesc": "Erhalten Sie automatisch eine Kopie aller E-Mails an Kunden (Bestätigungen, Erinnerungen, Stornierungen, Rechnungen). Nützlich um zu überprüfen, was Ihre Kunden erhalten.",
    "tabs": {
      "confirmation": "Bestätigung",
      "reminder": "Erinnerung",
      "cancellation": "Stornierung",
      "newBooking": "Neue Buchung",
      "invitation": "Einladung"
    },
    "modeVisual": "🎨 Visuell",
    "modeHtml": "</> HTML",
    "varAll": "Alle",
    "varCustomer": "Kunde",
    "varAppointment": "Termin",
    "varPiano": "Klavier",
    "varInvitation": "Einladung",
    "varCompany": "Unternehmen",
    "resetDefault": "Auf Standard zurücksetzen",
    "sendTest": "Test senden",
    "teamBookingConfirmation": {
      "subject": "Bestätigung: {{service}} mit {{teamMember}} am {{date}}",
      "title": "Termin bestätigt",
      "greeting": "Sehr geehrte/r {{customerName}},",
      "intro": "Ihr Termin wurde bestätigt. Einer unserer Teammitglieder wird Sie gerne besuchen.",
      "teamMember": "Teammitglied",
      "date": "Datum",
      "time": "Uhrzeit",
      "service": "Service",
      "location": "Ort",
      "notes": "Ihre Anmerkungen",
      "questions": "Haben Sie Fragen? Kontaktieren Sie uns gerne.",
      "regards": "Mit freundlichen Grüßen,"
    },
    "teamMemberNotification": {
      "subject": "Neuer Termin zugewiesen: {{service}} am {{date}}",
      "title": "Neuer Termin",
      "subtitle": "Automatisch zugewiesen über Team-Buchung",
      "greeting": "Hallo {{teamMember}},",
      "intro": "Ein neuer Termin wurde Ihnen über das Team-Buchungssystem zugewiesen.",
      "date": "Datum",
      "time": "Uhrzeit",
      "service": "Service",
      "customerInfo": "Kundendaten",
      "name": "Name",
      "email": "E-Mail",
      "phone": "Telefon",
      "location": "Ort",
      "customerNotes": "Kundennotizen",
      "smartAssignment": "Smart-Zuweisung:",
      "travelTime": "Reisezeit von Ihrem vorherigen Termin",
      "minutes": "Minuten",
      "closing": "Viel Erfolg!",
      "footer": "Dieser Termin wurde automatisch basierend auf Verfügbarkeit und Standort zugewiesen"
    },
    "teamTuningInvitation": {
      "subject": "Zeit für eine Stimmung bei {{companyName}}",
      "title": "Zeit für eine Stimmung",
      "subtitle": "Ihr Klavier verdient die beste Pflege",
      "greeting": "Sehr geehrte(r) {{customerName}},",
      "intro": "Es ist schon eine Weile her, seit Ihr Klavier gestimmt wurde. Unser Team erfahrener Stimmer steht Ihnen zur Verfügung.",
      "piano": "Klavier",
      "lastTuning": "Letzte Stimmung",
      "timeElapsed": "Verstrichene Zeit",
      "months": "Monate",
      "usp1": "Mehrere erfahrene Stimmer verfügbar",
      "usp2": "Schnell einen passenden Termin finden",
      "usp3": "Automatisch der nächstgelegene Stimmer",
      "bookNow": "Planen Sie einfach Ihre nächste Stimmung bei unserem Team:",
      "bookButton": "Jetzt Termin vereinbaren",
      "regards": "Mit freundlichen Grüßen,",
      "footer": "Unser Team erfahrener Klavierstimmer"
    },
    "passwordReset": {
      "subject": "Passwort zurücksetzen - PianoPlanner",
      "title": "Passwort zurücksetzen",
      "greeting": "Hallo {{name}},",
      "intro": "Sie haben das Zurücksetzen Ihres Passworts angefordert. Klicken Sie auf die Schaltfläche unten, um ein neues Passwort festzulegen.",
      "button": "Passwort zurücksetzen",
      "expiry": "Dieser Link ist 1 Stunde gültig. Wenn Sie diese Anfrage nicht gestellt haben, können Sie diese E-Mail ignorieren.",
      "requestMessage": "Wenn diese E-Mail-Adresse bei uns registriert ist, erhalten Sie einen Link zum Zurücksetzen."
    },
    "rescheduleEmail": {
      "badge": "Umbuchung bestätigt",
      "title": "Termin umgebucht",
      "greeting": "Sehr geehrte/r {{name}},",
      "intro": "Ihr Termin wurde erfolgreich umgebucht.",
      "oldTime": "Vorherige Zeit",
      "regards": "Mit freundlichen Grüßen,",
      "subject": "Termin umgebucht: {{service}} — {{date}}",
      "ownerSubject": "{{name}} hat umgebucht: {{date}} {{time}}",
      "ownerTitle": "Termin vom Kunden umgebucht",
      "ownerIntro": "hat den Termin umgebucht:",
      "from": "Von:",
      "to": "Nach:",
      "service": "Service:",
      "location": "Ort:"
    },
    "subscriptionEmail": {
      "subject": "Willkommen bei {{plan}}! 🎹",
      "title": "Willkommen bei {{plan}}!",
      "subtitle": "Ihr Abonnement wurde erfolgreich aktiviert",
      "greeting": "Sehr geehrte/r {{name}},",
      "intro": "Vielen Dank für Ihr Vertrauen in PianoPlanner! Ihre Zahlung wurde empfangen und Ihr <strong>{{plan}}</strong>-Abonnement ist jetzt aktiv.",
      "plan": "Tarif",
      "amount": "Betrag",
      "status": "Status",
      "active": "Aktiv ✓",
      "inclVat": "inkl. {{pct}}% MwSt.",
      "exclVat": "zzgl. MwSt.",
      "reverseCharge": "Steuerschuldnerschaft des Leistungsempfängers",
      "perMonth": "/Monat",
      "manage": "Sie können Ihr Abonnement jederzeit über die Einstellungen in PianoPlanner verwalten. Haben Sie Fragen? Kontaktieren Sie uns gerne.",
      "dashboard": "Zum Dashboard",
      "footer": "PianoPlanner • Sie erhalten monatlich eine Rechnung für Ihr Abonnement."
    },
    "variableDescriptions": {
      "customerName": "Name des Kunden",
      "customerEmail": "E-Mail des Kunden",
      "customerPhone": "Telefonnummer des Kunden",
      "customerAddress": "Adresse des Kunden",
      "date": "Termindatum",
      "time": "Terminzeit",
      "service": "Servicename",
      "location": "Terminort/Adresse",
      "notes": "Notizen/Anmerkungen",
      "pianoBrand": "Pianomarke (z.B. Steinway)",
      "pianoModel": "Pianomodell",
      "pianoSerial": "Seriennummer des Pianos",
      "pianoBuildYear": "Baujahr des Pianos",
      "pianoType": "Typ (Flügel/Klavier)",
      "pianoColor": "Farbe/Oberfläche des Pianos",
      "pianoLocation": "Standort des Pianos (z.B. Wohnzimmer)",
      "lastTuning": "Datum der letzten Stimmung",
      "daysSinceTuning": "Tage seit der letzten Stimmung",
      "monthsSinceTuning": "Monate seit der letzten Stimmung",
      "serviceInterval": "Empfohlenes Stimmintervall in Monaten",
      "bookingLink": "Persönlicher Buchungslink des Kunden",
      "reminderNumber": "Fortlaufende Erinnerungsnummer (1, 2, 3...)",
      "unsubscribeLink": "Abmeldelink für Erinnerungen",
      "companyName": "Ihr Firmenname",
      "companyLogo": "Ihr Firmenlogo (als Bild)",
      "companyAddress": "Ihre Firmenadresse",
      "companyPhone": "Ihre Telefonnummer",
      "companyEmail": "Ihre E-Mail-Adresse"
    }
  },
  "support": {
    "pageTitle": "Support - PianoPlanner",
    "title": "Support",
    "subtitle": "Ein Problem melden oder eine Frage stellen",
    "backToDashboard": "Zurück zum Dashboard",
    "subjectLabel": "Betreff",
    "subjectPlaceholder": "Kurze Beschreibung des Problems",
    "typeLabel": "Meldungstyp",
    "typeBug": "🐛 Bug / Fehler",
    "typeQuestion": "❓ Frage",
    "typeFeature": "💡 Feature-Anfrage",
    "typeOther": "📋 Sonstiges",
    "priorityLabel": "Priorität",
    "priorityLow": "Niedrig",
    "priorityMedium": "Mittel",
    "priorityHigh": "Hoch",
    "descriptionLabel": "Beschreibung",
    "descriptionPlaceholder": "Beschreiben Sie das Problem so detailliert wie möglich. Was haben Sie getan? Was haben Sie erwartet? Was ist passiert?",
    "descriptionHint": "Tipp: Je mehr Details, desto schneller können wir Ihnen helfen",
    "screenshotsLabel": "Screenshots (optional)",
    "dropFilesHere": "Dateien hierher ziehen oder",
    "browse": "durchsuchen",
    "fileLimit": "Max. 5 Dateien, je max. 5 MB (Bilder oder PDF)",
    "submitButton": "Meldung senden",
    "thankYou": "Vielen Dank für Ihre Meldung!",
    "successMessage": "Wir haben Ihre Nachricht erhalten und werden uns so schnell wie möglich bei Ihnen melden.",
    "sending": "Senden...",
    "sendFailed": "Senden fehlgeschlagen",
    "sendError": "Fehler beim Senden: ",
    "maxFilesError": "Maximal 5 Dateien erlaubt",
    "fileTooLarge": "{file} ist zu groß (max. 5 MB)",
    "invalidFileType": "{file} ist kein Bild oder PDF"
  },
  "cookieBanner": {
    "message": "Wir verwenden Cookies, um Ihre Erfahrung zu verbessern. Durch die weitere Nutzung dieser Website stimmen Sie unserer",
    "privacyLink": "Datenschutzerklärung",
    "accept": "Akzeptieren",
    "decline": "Ablehnen"
  },
  "pwaLauncher": {
    "subtitle": "Ihr Klaviergeschäft",
    "agenda": "Kalender",
    "customers": "Kunden",
    "pianos": "Klaviere",
    "smartAppointment": "Intelligenter Termin",
    "sync": "Synchronisieren",
    "shareLink": "Link teilen",
    "loading": "Laden...",
    "login": "Anmelden",
    "loginSubtitle": "Anmelden zum Synchronisieren",
    "teams": "Teams"
  },
  "creator": {
    "pageTitle": "Über den Gründer - PianoPlanner",
    "heroTitle": "Leidenschaft für Klaviere, Präzision in der Planung",
    "heroSubtitle": "Die Geschichte hinter PianoPlanner",
    "heroIntro": "Sie kennen mich wahrscheinlich als Kollegen aus der Branche. Jemand, der mit Stimmhammer und aufmerksamem Ohr zum Kunden kommt. Was aber nicht jeder weiß: Neben der Klaviertechnik habe ich mein ganzes Leben lang eine zweite große Leidenschaft: Automatisierung und Zahlen.",
    "beginTitle": "Der Anfang",
    "beginText": "PianoPlanner ist nicht einfach so entstanden; es ist die Summe aus jahrelanger Frustration mit bestehender Software und einer lebenslangen Leidenschaft fürs Programmieren.",
    "codeTitle": "Von der Kartei zum Code",
    "codeText1": "Diese Liebe zur Technik begann früh. Als Teenager saß ich schon nächtelang am ZX Spectrum und programmierte BASIC. Später, bewaffnet mit meinem ersten Tulip PC, schrieb ich meine erste 'echte' Software: eine digitale Kundendatenbank für meinen Vater.",
    "codeText2": "In meinem jugendlichen Enthusiasmus warf ich dann seine physische Kartei weg, zum großen Schrecken meines Vaters! Letztendlich druckte ich alles ordentlich auf dem Nadeldrucker für ihn aus, aber der Ton war gesetzt: Ich wollte Dinge effizienter, schneller und besser organisieren.",
    "whyTitle": "Warum ich PianoPlanner gebaut habe",
    "whyText1": "In meiner eigenen Praxis stieß ich jahrelang an Grenzen. Ich arbeitete mit amerikanischer Software, die unseren Markt nicht ganz verstand, oder ich jonglierte mit drei verschiedenen Apps für Kalender, Rechnungen und Routen. Ich dachte: \"Das muss intelligenter gehen.\"",
    "whyText2": "Ich habe großes Interesse an allem, was mit Geschäftszahlen zu tun hat (wir alle wissen, wie komplex die Differenzbesteuerung sein kann). Ich wollte Software, die nicht nur plant, sondern auch bei meiner Unternehmensführung mitdenkt.",
    "whyText3": "Als ich beschloss, den ultimativen Kalender selbst zu bauen, war ich nicht allein. Ich machte mich mit meinen Fähigkeiten und den Ratschlägen meiner Kinder und Stiefkinder an die Arbeit. Der eine Informatik-Absolvent der HAN. Der andere Game Developer & Sound Designer, Absolvent der HKU. Mit meiner Erfahrung im Fach und ihrem Wissen über die neueste Technologie (und KI) haben wir PianoPlanner entwickelt.",
    "smartTitle": "Smart-Termine",
    "smartText": "Der Kern von PianoPlanner ist einfach: Ich möchte auf einen Blick sehen, ob ich Geld verdiene oder Zeit verschwende. Außerdem möchte ich nicht zu viel Zeit im Auto verbringen und meine Zeit effektiv nutzen. Deshalb haben wir Smart Appointments entwickelt.",
    "colorGreen": "Grün = Passt perfekt in Ihre Route",
    "colorOrange": "Orange = Achten Sie auf die Fahrzeit",
    "colorRed": "Rot = Ineffizient, Zeitverschwendung",
    "nlTitle": "Stolz aus den Niederlanden",
    "nlText1": "Im Gegensatz zu den großen amerikanischen Anbietern glaube ich an lokale Stärke. PianoPlanner ist eine unabhängige Initiative. Ihre Daten werden sicher und verschlüsselt auf europäischen Servern gespeichert, vollständig konform mit dem Datenschutzrecht.",
    "nlText2": "Ich bin stolz auf das, was wir aufgebaut haben. Ein System für Klavierstimmer, von einem Klavierstimmer.",
    "signatureGreeting": "Ich lade Sie herzlich ein, es selbst zu erleben.",
    "signatureBye": "Mit freundlichen Grüßen,",
    "signatureName": "Edward Meijer",
    "signatureTitle": "PianoPlanner & Kollege Klaviertechniker",
    "ctaTitle": "Probieren Sie PianoPlanner selbst aus",
    "ctaText": "Starten Sie noch heute kostenlos und entdecken Sie, wie intelligente Planung wirklich funktioniert.",
    "ctaButton": "Kostenlos starten",
    "aboutPianoPlanner": "Über PianoPlanner",
    "aboutCreator": "Über den Gründer",
    "footerMade": "Mit Liebe in den Niederlanden gemacht"
  },
  "footer": {
    "google": "Google Kalender",
    "microsoft": "Microsoft 365",
    "apple": "Apple Kalender",
    "offline": "Offline-Modus",
    "push": "Push-Benachrichtigungen",
    "languages": "4 Sprachen",
    "smtp": "Eigener SMTP",
    "route": "Routenplanung",
    "navFeatures": "Funktionen",
    "navPricing": "Preise",
    "navAbout": "Meine Geschichte",
    "navLogin": "Anmelden",
    "navPrivacy": "Datenschutz",
    "navTerms": "AGB",
    "navWhy": "Warum PianoPlanner",
    "navContact": "Kontakt",
    "navDpa": "Auftragsverarbeitung"
  },
  "gazelleMigration": {
    "title": "Gazelle Migration",
    "subtitle": "Importieren Sie alle Ihre Daten von Gazelle nach PianoPlanner",
    "backToSettings": "← Zurück zu Einstellungen",
    "step": {
      "customers": "Kunden",
      "pianos": "Klaviere",
      "appointments": "Termine",
      "cleanup": "Aufräumen"
    },
    "status": {
      "notImported": "Nicht importiert",
      "waiting": "Warten...",
      "finalStep": "Letzter Schritt",
      "imported": "{{count}} importiert"
    },
    "step1": {
      "title": "Schritt 1: Kunden importieren",
      "desc": "Laden Sie Ihre Gazelle \"Clients.csv\" Exportdatei hoch. Kunden-IDs werden für die Verknüpfung mit Klavieren gespeichert.",
      "dropTitle": "Gazelle Export: Clients.csv hier ablegen",
      "dropHint": "oder klicken zum Durchsuchen"
    },
    "step2": {
      "title": "Schritt 2: Klaviere importieren",
      "desc": "Laden Sie Ihre Gazelle \"Pianos.csv\" Exportdatei hoch. Klaviere werden automatisch mit Kunden verknüpft.",
      "dropTitle": "Gazelle Export: Pianos.csv hier ablegen",
      "dropHint": "oder klicken zum Durchsuchen",
      "linkInfoTitle": "Automatische Kundenverknüpfung",
      "linkInfoDesc": "Klaviere werden über die Original-ID in den Kundennotizen mit Kunden verknüpft."
    },
    "step3": {
      "title": "Schritt 3: Termine importieren",
      "desc": "Laden Sie Ihre Gazelle \"Events.csv\" Exportdatei hoch, um die Terminhistorie zu importieren.",
      "dropTitle": "Gazelle Export: Events.csv hier ablegen",
      "dropHint": "oder klicken zum Durchsuchen",
      "warningTitle": "Nur historische Daten",
      "warningDesc": "Dies importiert vergangene Termine als Referenz. Zukünftige Termine sollten neu in PianoPlanner erstellt werden."
    },
    "step4": {
      "title": "Schritt 4: Aufräumen",
      "desc": "Entfernen Sie Import-Metadaten aus Ihren Datensätzen für einen sauberen Start.",
      "warningTitle": "Wichtig: Dies ist dauerhaft!",
      "warningDesc": "Nach dem Aufräumen können Sie keine neuen Gazelle-Importe mehr mit diesen Kunden verknüpfen. Die Original-ID-Referenzen werden benötigt, um Klaviere und Termine mit Kunden zu verbinden.",
      "warningNote": "Räumen Sie nur auf, wenn Sie zu 100% mit allen Importen fertig sind!",
      "whatRemoved": "Was wird entfernt?",
      "whatRemovedDesc": "Nur diese spezifischen Import-Markierungen werden entfernt:",
      "markerBatch": "Import Batch: imp_xxx",
      "markerClient": "Original ID: cli_xxx",
      "markerPiano": "Original Piano ID: ins_xxx",
      "markerEvent": "Original Event ID: evt_xxx",
      "notesPreserved": "Ihre eigenen Notizen und Kommentare bleiben erhalten!",
      "summaryTitle": "Import-Zusammenfassung",
      "recordsWithMeta": "{{count}} Datensätze mit Import-Metadaten",
      "pending": "Ausstehend",
      "done": "Fertig",
      "cleaningUp": "Wird aufgeräumt...",
      "complete": "Migration abgeschlossen!",
      "completeDesc": "Ihre Daten wurden erfolgreich aus Gazelle importiert."
    },
    "stats": {
      "total": "Gesamt",
      "active": "Aktiv",
      "inactive": "Inaktiv",
      "withEmail": "Mit E-Mail",
      "withCustomer": "Mit Kunde",
      "completed": "Abgeschlossen",
      "canceled": "Storniert"
    },
    "table": {
      "name": "Name",
      "email": "E-Mail",
      "phone": "Telefon",
      "city": "Stadt",
      "status": "Status",
      "brand": "Marke",
      "model": "Modell",
      "customer": "Kunde",
      "type": "Typ",
      "date": "Datum",
      "title": "Titel",
      "duration": "Dauer"
    },
    "options": {
      "title": "Import-Optionen",
      "activeOnly": "Nur aktive Kunden importieren",
      "activeOnlyDesc": "Überspringe als inaktiv markierte Kunden in Gazelle",
      "skipDuplicates": "Duplikate überspringen",
      "skipDuplicatesDesc": "Überspringe Kunden mit E-Mail-Adressen, die bereits in Ihrer Datenbank sind",
      "cleanNotes": "Notizen bereinigen",
      "cleanNotesDesc": "Entferne doppelte Zeilen und Merge-Artefakte aus Notizen",
      "activeOnlyPianos": "Nur aktive Klaviere importieren",
      "activeOnlyPianosDesc": "Überspringe als inaktiv markierte Klaviere in Gazelle",
      "skipNoCustomer": "Überspringen wenn Kunde nicht gefunden",
      "skipNoCustomerDesc": "Importiere nur Klaviere, die mit einem bestehenden Kunden verknüpft werden können",
      "completedOnly": "Nur abgeschlossene Termine importieren",
      "completedOnlyDesc": "Überspringe stornierte und ausstehende Termine",
      "skipNoCustomerEvents": "Überspringen wenn Kunde nicht gefunden",
      "skipNoCustomerEventsDesc": "Importiere nur Termine, die mit einem bestehenden Kunden verknüpft werden können"
    },
    "buttons": {
      "cancel": "Abbrechen",
      "back": "← Zurück",
      "importCustomers": "Kunden importieren",
      "importPianos": "Klaviere importieren",
      "importAppointments": "Termine importieren",
      "nextPianos": "Weiter: Klaviere →",
      "nextAppointments": "Weiter: Termine →",
      "nextCleanup": "Weiter: Aufräumen →",
      "skipStep": "Diesen Schritt überspringen",
      "skipFinish": "Überspringen & Fertig",
      "cleanupNotes": "Notizen aufräumen",
      "viewCustomers": "Kunden anzeigen",
      "viewPianos": "Klaviere anzeigen",
      "goToDashboard": "Zum Dashboard"
    },
    "progress": {
      "importingCustomers": "Kunden werden importiert...",
      "importingPianos": "Klaviere werden importiert...",
      "importingAppointments": "Termine werden importiert..."
    },
    "results": {
      "customersSuccess": "Kunden erfolgreich importiert!",
      "pianosSuccess": "Klaviere erfolgreich importiert!",
      "appointmentsSuccess": "Termine erfolgreich importiert!",
      "importedSkipped": "{{imported}} importiert, {{skipped}} übersprungen"
    },
    "confirm": {
      "title": "⚠️ WICHTIG: Diese Aktion ist dauerhaft!",
      "message": "Nach dem Aufräumen können Sie KEINE neuen Gazelle-Importe mehr mit diesen Kunden verknüpfen.\n\nFahren Sie nur fort, wenn Sie zu 100% mit ALLEN Gazelle-Importen fertig sind.\n\nMit dem Aufräumen fortfahren?"
    }
  },
  "guide": {
    "title": "Benutzerhandbuch",
    "subtitle": "Alles was Sie wissen müssen, um das Beste aus PianoPlanner herauszuholen",
    "sidebar": {
      "gettingStarted": "Erste Schritte",
      "firstSteps": "Erste Schritte",
      "businessDetails": "Geschäftsdaten",
      "workingHours": "Arbeitszeiten",
      "serviceArea": "Servicegebiet",
      "routeEfficiency": "Routeneffizienz",
      "calendarSync": "Kalender-Sync",
      "googleCalendar": "Google Kalender",
      "microsoftCalendar": "Microsoft 365",
      "appleCalendar": "Apple Kalender",
      "syncMethods": "Sync-Methoden",
      "advancedSettings": "Erweiterte Einstellungen",
      "customDomain": "Eigene E-Mail-Domain",
      "emailTemplates": "E-Mail-Vorlagen",
      "tuningInvitations": "Stimmeinladungen",
      "customerFeatures": "Kundenfunktionen",
      "bookingLink": "Buchungslink",
      "customerLink": "Persönliche Links",
      "smartSuggestions": "Intelligente Vorschläge",
      "theaterAvailability": "Theater-Verfügbarkeit",
      "pianoService": "Klavier-Servicehistorie",
      "otherFeatures": "Weitere Funktionen",
      "slotDuration": "Zeitslot-Dauer",
      "importData": "Daten importieren",
      "calendarIntegration": "Kalender-Integration",
      "dataManagement": "Datenverwaltung",
      "emailSetup": "E-Mail-Einstellungen",
      "onlineBooking": "Online-Buchung",
      "pianosService": "Klaviere & Service",
      "serviceHistory": "Service-Historie",
      "workshopPlanning": "Werkstatt",
      "workshopSetup": "Werkstatt-Planung",
      "walkInTasks": "Laufkunden & Aufgaben",
      "switchCalendar": "Kalender wechseln",
      "routeAnalysis": "Routenanalyse",
      "privateAppointments": "Private Termine",
      "mileageTracking": "Kilometererfassung",
      "projectPlanner": "Projektplaner",
      "dailyUse": "Tägliche Nutzung",
      "dashboard": "Dashboard & Kalender",
      "customers": "Kundenverwaltung",
      "pianos": "Klavierverwaltung",
      "travelReport": "Reisekostenbericht",
      "invoicing": "Rechnungsstellung",
      "invoicingSetup": "Rechnung einrichten",
      "invoicingCreate": "Rechnungen erstellen",
      "invoicingBtw": "MwSt.-Behandlung",
      "accountingIntegration": "Buchhaltungsintegration",
      "smartFill": "Route füllen",
      "autoTuningReminders": "Automatische Erinnerungen",
      "streamlineDay": "Tag optimieren",
      "trafficPrediction": "Verkehrsprognose",
      "invoicingMobile": "Rechnung mobil",
      "servicesConfig": "Services",
      "reschedule": "Umbuchen",
      "routeOptimizer": "Routenplaner",
      "qrCode": "QR-Code",
      "mobileApp": "Mobile App",
      "pwaInstall": "App installieren",
      "pushNotifications": "Push-Benachrichtigungen",
      "molliePayments": "Online-Zahlungen",
      "accountSection": "Konto",
      "subscription": "Abonnement & Abrechnung",
      "teams": "Teams",
      "invoiceBookingLink": "Buchungslink in Rechnungen",
      "inventory": "Inventar",
      "ublEinvoicing": "UBL / e-Rechnung",
      "blockedDays": "Gesperrte Tage",
      "languageSettings": "Sprache",
      "tunerPortal": "Stimmer-Portal",
      "leads": "Leads verwalten"
    },
    "common": {
      "tip": "Tipp",
      "important": "Wichtig",
      "yes": "Ja"
    },
    "firstSteps": {
      "title": "Erste Schritte",
      "intro": "Willkommen bei PianoPlanner! Diese Anleitung hilft Ihnen beim schnellen Einstieg. Beginnen Sie mit diesen wichtigen Einstellungen und Sie sind in wenigen Minuten bereit, Ihren ersten Termin zu buchen.",
      "quickStartTitle": "Schnellstart (5 Minuten)",
      "quickStart1": "Geschäftsdaten - Ihr Name und Adresse für Bestätigungen",
      "quickStart2": "Arbeitszeiten - Wann können Kunden buchen?",
      "quickStart3": "Dienstleistungen - Was bieten Sie an? (Stimmen, Regulierung, usw.)",
      "quickStart4": "Ihr erster Kunde - Fügen Sie einen hinzu und probieren Sie es selbst",
      "settingsTitle": "Einstellungen finden",
      "settingsText": "Alles was Sie konfigurieren müssen, finden Sie in den Einstellungen (das Zahnrad ⚙️ im Menü). Unten helfen wir Ihnen Schritt für Schritt.",
      "recommendedOrder": "Empfohlene Reihenfolge",
      "orderList": "1. Geschäftsdaten → 2. Arbeitszeiten → 3. Arbeitsgebiet → 4. Kalender → 5. E-Mail → 6. Buchungslink",
      "configureText": "Nehmen Sie sich Zeit, alles richtig einzurichten. Das spart später Arbeit und stellt sicher, dass:",
      "benefit1": "Reisezeiten korrekt berechnet werden",
      "benefit2": "Kunden nur buchen können, wenn Sie verfügbar sind",
      "benefit3": "E-Mails professionell mit Ihren eigenen Daten aussehen",
      "benefit4": "Termine automatisch in Ihrem Kalender erscheinen",
      "onboardingTip": "Verwenden Sie den Einrichtungsassistenten (Einstellungen → Onboarding), um Schritt für Schritt durch die wichtigsten Einstellungen geführt zu werden."
    },
    "businessDetails": {
      "title": "Geschäftsdaten",
      "intro": "Ihre Geschäftsdaten erscheinen in E-Mail-Bestätigungen und auf Ihrer Buchungsseite. Füllen Sie diese korrekt aus, damit Kunden genau wissen, wer Sie sind.",
      "whatToFillTitle": "Was ausfüllen?",
      "whatToFillText": "In Einstellungen → Unternehmen finden Sie folgende Felder:",
      "field1": "Firmenname - Ihr offizieller Geschäftsname",
      "field2": "Adresse - Ihre Geschäftsadresse (wird für Routenberechnungen verwendet)",
      "field3": "Telefonnummer - Wo Kunden Sie erreichen können",
      "field4": "E-Mail-Adresse - Für Bestätigungen (kann später Ihre eigene Domain sein)",
      "field5": "Logo - Laden Sie Ihr Logo für ein professionelles Erscheinungsbild hoch",
      "whyImportantTitle": "Warum ist das wichtig?",
      "whyImportantText": "Ihre Adresse wird als Ausgangspunkt für Routenberechnungen verwendet. Wenn ein Kunde in der Nähe wohnt, erkennt das System dies und kann intelligentere Vorschläge machen. Ihr Firmenname und Logo erscheinen in jeder E-Mail, die Sie senden.",
      "tipText": "Sie können Ihre Daten jederzeit später anpassen. Beginnen Sie mit den Grundlagen und verfeinern Sie, wenn Sie mehr Erfahrung sammeln.",
      "howToSetup": "Wie richten Sie Ihre Geschäftsdaten ein?",
      "step1Title": "Gehen Sie zu Einstellungen",
      "step1Text": "Klicken Sie auf Einstellungen im Menü oder gehen Sie direkt zum Tab 'Unternehmen'.",
      "step2Title": "Füllen Sie Ihre Daten aus",
      "step2Text": "Firmenname, Ihr Name, E-Mail, Telefon und vollständige Adresse. Verwenden Sie Google Maps Vorschläge für eine genaue Adresse.",
      "step3Title": "Laden Sie Ihr Logo hoch (optional)",
      "step3Text": "Ihr Logo erscheint auf der Buchungsseite und in E-Mails.",
      "step4Title": "Überprüfen Sie Ihre Adresse",
      "step4Text": "Stellen Sie sicher, dass Ihre Adresse korrekt ist - sie wird für Reisezeitberechnungen verwendet.",
      "step5Title": "Speichern",
      "step5Text": "Klicken Sie auf Speichern, um Ihre Daten zu speichern.",
      "warning": "Ohne korrekte Adresse können Reisezeiten nicht berechnet werden. Füllen Sie dies zuerst aus!"
    },
    "workingHours": {
      "title": "Arbeitszeiten festlegen",
      "intro": "Ihre Arbeitszeiten bestimmen, wann Kunden Termine buchen können. Das System zeigt nur Zeitfenster innerhalb dieser Zeiten an.",
      "whereToFindTitle": "Wo finden Sie das?",
      "whereToFindText": "Gehen Sie zu Einstellungen → Unternehmen und scrollen Sie zu \"Verfügbarkeit\".",
      "howToSetTitle": "Wie stellen Sie es ein?",
      "howToSetItem1": "Klicken Sie auf einen Tag, um ihn ein- oder auszuschalten",
      "howToSetItem2": "Legen Sie die Start- und Endzeit pro Tag fest",
      "howToSetItem3": "Verwenden Sie verschiedene Zeiten für verschiedene Tage (z.B. Mittwoch kürzer)",
      "exampleTitle": "Beispiel",
      "exampleText": "Die meisten Klaviertechniker arbeiten Montag-Freitag von 9:00 bis 17:00 Uhr. Samstag ist optional. Sonntag normalerweise frei.",
      "importantTitle": "Wichtige Tipps",
      "importantItem1": "Berücksichtigen Sie Reisezeit - planen Sie nicht zu eng",
      "importantItem2": "Mittagspause? Das System vermeidet automatisch Zeiten um 12:00-13:00 Uhr, es sei denn, Sie deaktivieren dies",
      "importantItem3": "Theater? Legen Sie separate \"Theater-Verfügbarkeit\" fest (siehe Abschnitt unten)",
      "daysAndTimes": "Tage und Zeiten",
      "daysAndTimesText": "Wählen Sie die Tage, an denen Sie arbeiten, und stellen Sie für jeden Tag die Start- und Endzeit ein.",
      "option1": "Option 1: Feste Zeiten jeden Tag",
      "option2": "Option 2: Unterschiedliche Zeiten pro Tag",
      "option3": "Option 3: Einige Tage frei",
      "settingBuffers": "Puffer einstellen",
      "buffersText": "Puffer helfen Ihnen, Zeit zwischen Terminen zu halten und verhindern, dass Kunden zu kurzfristig buchen.",
      "bufferType": "Puffer-Typ",
      "whatDoesItDo": "Was macht das?",
      "recommended": "Empfohlen",
      "bufferBefore": "Puffer vor Termin",
      "bufferBeforeDesc": "Mindestzeit zwischen Buchung und Termin",
      "bufferBeforeRec": "2 Tage empfohlen für Planung",
      "bufferAfter": "Puffer nach Termin",
      "bufferAfterDesc": "Extra Zeit nach einem Termin für Notizen oder unerwartete Verzögerungen",
      "bufferAfterRec": "15 Minuten empfohlen",
      "minBookingTime": "Mindestbuchungszeit",
      "minBookingTimeDesc": "Wie weit im Voraus müssen Kunden mindestens buchen?",
      "minBookingTimeRec": "2 Tage gibt Ihnen Zeit zum Planen",
      "tipText": "Beginnen Sie mit großzügigen Arbeitszeiten und schränken Sie später ein, wenn bestimmte Zeiten nicht funktionieren."
    },
    "serviceArea": {
      "title": "Servicegebiet festlegen",
      "intro": "Ihr Servicegebiet bestimmt, wie weit Sie für Termine fahren möchten. Dies hilft dem System, intelligente Vorschläge zu machen und verhindert Buchungen, die zu weit entfernt sind.",
      "howItWorksTitle": "Wie funktioniert es?",
      "howItWorksText": "Legen Sie eine maximale Reiseentfernung fest (z.B. 50 km). Das System:",
      "howItWorks1": "Filtert Buchungsanfragen außerhalb Ihres Gebiets",
      "howItWorks2": "Priorisiert Kunden, die nah beieinander sind",
      "howItWorks3": "Berechnet Reisezeit für Routenoptimierung",
      "settingTitle": "Einrichten",
      "step1Title": "Gehen Sie zu Einstellungen → Unternehmen",
      "step1Text": "Scrollen Sie zum Abschnitt \"Servicegebiet\".",
      "step2Title": "Wählen Sie Ihre maximale Entfernung",
      "step2Text": "Wählen Sie, wie viele Kilometer Sie maximal fahren möchten. Standard sind 50 km.",
      "step3Title": "Optional: Postleitzahlgebiete festlegen",
      "step3Text": "Sie können auch bestimmte Postleitzahlgebiete angeben, in denen Sie arbeiten.",
      "tipText": "Beginnen Sie großzügig (z.B. 75 km) und schränken Sie später ein, wenn Sie zu viele Anfragen von weit her bekommen.",
      "howToSet": "Wie stellen Sie Ihr Arbeitsgebiet ein?",
      "step4Title": "4. Speichern",
      "step4Text": "Klicken Sie auf Speichern. Das System berücksichtigt nun Ihr Arbeitsgebiet bei Buchungen und Vorschlägen.",
      "extraOption": "Extra Option",
      "extraOptionText": "Sie können auch bestimmte Postleitzahlengebiete ausschließen, wenn Sie bestimmte Regionen nicht bedienen möchten."
    },
    "routeEfficiency": {
      "title": "Routeneffizienz verstehen",
      "intro": "PianoPlanner zeigt Ihnen mit einem Farbsystem, wie effizient Ihr Zeitplan ist. So können Sie auf einen Blick sehen, ob Ihr Tag gut geplant ist.",
      "colorsTitle": "Die Farben",
      "colorGreen": "Grün - Ausgezeichnet! Kurze Reisezeit, effiziente Route",
      "colorOrange": "Orange - Akzeptabel, aber Verbesserungspotenzial",
      "colorRed": "Rot - Lange Reisezeit, Umplanung erwägen",
      "whereToSeeTitle": "Wo sehen Sie das?",
      "whereToSeeText": "Auf dem Dashboard sehen Sie bei jedem Termin einen kleinen Farbindikator. Überprüfen Sie Ihre Tages- oder Wochenansicht, um Muster zu erkennen.",
      "tipsTitle": "Tipps für bessere Routen",
      "tip1": "Planen Sie Termine in derselben Region am selben Tag",
      "tip2": "Nutzen Sie intelligente Vorschläge - sie berücksichtigen Ihre bestehenden Termine",
      "tip3": "Überprüfen Sie die Kartenansicht, um Ihre Termine geografisch zu sehen",
      "colorLegend": "Farblegende",
      "blueTitle": "🔵 Standard",
      "blueText": "Keine Reisezeitdaten verfügbar - Reisezeit wurde nicht berechnet",
      "greenTitle": "🟢 Grün",
      "greenText": "Kurze Reisezeit - effiziente Planung!",
      "orangeTitle": "🟠 Orange",
      "orangeText": "Durchschnittliche Reisezeit - akzeptabel, aber könnte besser sein",
      "redTitle": "🔴 Rot",
      "redText": "Lange Reisezeit - erwägen Sie eine Verschiebung",
      "calculateTravel": "Wie wird die Reisezeit berechnet?",
      "calcStep1Title": "Automatische Berechnung",
      "calcStep1Text": "Bei der Erstellung eines Termins berechnet PianoPlanner automatisch die Reisezeit von Ihrem vorherigen Standort.",
      "calcStep2Title": "Farbcodierung",
      "calcStep2Text": "Die Farbe zeigt an, wie effizient die Reise im Vergleich zu Ihren eingestellten Grenzen ist.",
      "customizeLimits": "Grenzen anpassen",
      "customizeLimitsText": "Sie können die Reisezeit-Schwellenwerte unter Einstellungen → Unternehmen anpassen. Legen Sie fest, was für Sie 'kurz', 'mittel' und 'lang' bedeutet."
    },
    "googleCalendar": {
      "title": "Google Kalender verbinden",
      "intro": "Synchronisieren Sie PianoPlanner mit Ihrem Google Kalender für Zwei-Wege-Sync. Termine erscheinen in beiden Kalendern und Updates werden automatisch synchronisiert.",
      "step1Title": "1. Gehen Sie zu Einstellungen → Integrationen",
      "step1Text": "Öffnen Sie das Einstellungsmenü und klicken Sie auf \"Integrationen\" oder \"Kalender-Sync\".",
      "step2Title": "2. Klicken Sie auf \"Google Kalender verbinden\"",
      "step2Text": "Sie werden zu Google weitergeleitet, um sich anzumelden.",
      "step3Title": "3. Bei Google anmelden",
      "step3Text": "Verwenden Sie das Google-Konto, das Sie verbinden möchten. Erlauben Sie die angeforderten Berechtigungen.",
      "step4Title": "4. Wählen Sie Ihren Kalender",
      "step4Text": "Wählen Sie, welchen Google Kalender Sie synchronisieren möchten (normalerweise Ihr Hauptkalender).",
      "step5Title": "5. Fertig!",
      "step5Text": "Neue Termine erscheinen jetzt automatisch in Ihrem Google Kalender.",
      "whatSyncsTitle": "Was wird synchronisiert?",
      "whatSyncsText": "Neue Termine in PianoPlanner → Google Kalender, Änderungen bei Zeit/Datum, Stornierungen (Termin wird gelöscht/markiert), Google Kalender-Ereignisse → PianoPlanner (Blockierung)",
      "tipText": "Zwei-Wege-Sync bedeutet, wenn Sie etwas in Google blockieren, berücksichtigt PianoPlanner dies auch bei der Anzeige verfügbarer Zeitfenster.",
      "creatingConnection": "Verbindung herstellen",
      "syncOptions": "Synchronisierungsoptionen",
      "option": "Option",
      "description": "Beschreibung",
      "twoWaySync": "Zwei-Wege-Synchronisierung",
      "twoWaySyncDesc": "Änderungen in beiden Kalendern werden synchronisiert",
      "toGoogleOnly": "Nur zu Google",
      "toGoogleOnlyDesc": "Termine werden nur von PianoPlanner zu Google gesendet",
      "includeTravelTime": "Reisezeit einbeziehen",
      "includeTravelTimeDesc": "Automatisch Reisezeit zu Kalender-Events hinzufügen"
    },
    "microsoftCalendar": {
      "title": "Microsoft 365 verbinden",
      "intro": "Verwenden Sie Outlook oder Microsoft 365? Verbinden Sie Ihren Kalender für nahtlose Synchronisation mit PianoPlanner.",
      "step1Title": "1. Gehen Sie zu Einstellungen → Integrationen",
      "step1Text": "Öffnen Sie das Einstellungsmenü.",
      "step2Title": "2. Klicken Sie auf \"Microsoft 365 verbinden\"",
      "step2Text": "Sie werden zu Microsoft weitergeleitet, um sich anzumelden.",
      "step3Title": "3. Mit Ihrem Microsoft-Konto anmelden",
      "step3Text": "Dies kann ein persönliches oder geschäftliches Konto sein. Erlauben Sie die Berechtigungen.",
      "step4Title": "4. Wählen Sie Ihren Kalender",
      "step4Text": "Wählen Sie, welchen Outlook-Kalender Sie verwenden möchten.",
      "step5Title": "5. Sync aktiv",
      "step5Text": "Ihre Termine werden jetzt synchronisiert.",
      "tipText": "Microsoft 365 Business-Konten können zusätzliche Genehmigung von Ihrem IT-Administrator erfordern.",
      "whatYouNeed": "Was brauchen Sie?",
      "need1": "Ein Microsoft 365 oder Outlook.com Konto",
      "need2": "Zugriff auf Ihren Kalender",
      "connecting": "Verbindung herstellen",
      "whatGetsSynced": "Was wird synchronisiert?",
      "sync1": "Neue Termine in PianoPlanner",
      "sync2": "Änderungen an Zeit und Datum",
      "sync3": "Stornierungen",
      "worksWithBoth": "Funktioniert mit beiden",
      "worksWithBothText": "Sowohl persönliche (Outlook.com) als auch geschäftliche (Microsoft 365) Konten werden unterstützt."
    },
    "appleCalendar": {
      "title": "Apple Kalender (iCloud)",
      "intro": "Apple Kalender funktioniert etwas anders als Google und Microsoft. Sie können Ihren PianoPlanner-Kalender in Apple Kalender abonnieren, aber dies ist Ein-Wege-Synchronisation.",
      "howItWorksTitle": "Wie funktioniert es?",
      "howItWorksText": "PianoPlanner bietet einen Kalender-Feed (ICS-URL), den Sie zu Apple Kalender hinzufügen können. Der Kalender wird regelmäßig aktualisiert (alle 15-60 Minuten).",
      "step1Title": "1. Kopieren Sie Ihre Feed-URL",
      "step1Text": "Gehen Sie zu Einstellungen → Integrationen und kopieren Sie Ihren persönlichen ICS-Link.",
      "step2Title": "2. Öffnen Sie Apple Kalender",
      "step2Text": "Auf Mac: Kalender → Ablage → Neues Kalenderabonnement, Auf iPhone: Einstellungen → Kalender → Accounts → Account hinzufügen → Andere",
      "step3Title": "3. URL einfügen",
      "step3Text": "Fügen Sie den kopierten Link ein und bestätigen Sie.",
      "step4Title": "4. Aktualisierungsintervall festlegen",
      "step4Text": "Wählen Sie, wie oft der Kalender aktualisiert werden soll (Standard: alle 15 Minuten).",
      "limitationTitle": "Einschränkung",
      "limitationText": "Dies ist schreibgeschützt. Änderungen in Apple Kalender werden NICHT an PianoPlanner zurückgesendet. Nehmen Sie Änderungen immer in PianoPlanner selbst vor.",
      "requiredPassword": "Erforderlich: App-spezifisches Passwort",
      "requiredPasswordText": "Apple erfordert ein app-spezifisches Passwort für den Zugriff von Drittanbieter-Apps. Dies ist eine zusätzliche Sicherheitsebene.",
      "creatingPassword": "Ein app-spezifisches Passwort erstellen",
      "passStep1Title": "1. Gehen Sie zur Apple ID",
      "passStep1Text": "Öffnen Sie appleid.apple.com und melden Sie sich mit Ihrer Apple ID an.",
      "passStep2Title": "2. Gehen Sie zu Sicherheit",
      "passStep2Text": "Scrollen Sie zum Abschnitt 'App-spezifische Passwörter'.",
      "passStep3Title": "3. Passwort generieren",
      "passStep3Text": "Klicken Sie auf 'Passwort generieren' und geben Sie ihm einen Namen (z.B. 'PianoPlanner').",
      "passStep4Title": "4. Passwort kopieren",
      "passStep4Text": "Kopieren Sie das generierte Passwort - Sie sehen es nur einmal!",
      "connectionInPP": "Verbindung in PianoPlanner",
      "connStep1Title": "1. Kopieren Sie Ihre Kalender-Feed-URL",
      "connStep1Text": "Gehen Sie zu Einstellungen → Integrationen und kopieren Sie die iCal-Feed-URL.",
      "connStep2Title": "2. Öffnen Sie Apple Kalender",
      "connStep2Text": "Auf Mac: Ablage → Neues Kalenderabonnement. Auf iPhone/iPad: Einstellungen → Kalender → Accounts → Account hinzufügen.",
      "connStep3Title": "3. URL einfügen",
      "connStep3Text": "Fügen Sie die kopierte Feed-URL in das URL-Feld ein.",
      "connStep4Title": "4. Einstellungen konfigurieren",
      "connStep4Text": "Wählen Sie einen Namen für den Kalender und stellen Sie das Aktualisierungsintervall ein.",
      "connStep5Title": "5. Abonnieren",
      "connStep5Text": "Klicken Sie auf Abonnieren oder OK. Ihre Termine erscheinen jetzt in Apple Kalender!"
    },
    "syncMethods": {
      "title": "Sync-Methoden im Vergleich",
      "intro": "Nicht alle Kalendersynchronisation ist gleich. Hier sehen Sie die Unterschiede zwischen den Methoden.",
      "tableCalendar": "Kalender",
      "tableSyncType": "Sync-Typ",
      "tableDirection": "Richtung",
      "tableRealTime": "Echtzeit",
      "twoWay": "Zwei-Wege",
      "oneWay": "Ein-Wege",
      "bothDirections": "Beide Richtungen",
      "toApple": "→ Nur zu Apple",
      "near": "Nahezu",
      "delayed": "Verzögert (15-60 Min)",
      "recommendationTitle": "Empfehlung",
      "recommendationText": "Wenn Sie die Wahl haben, verwenden Sie Google Kalender für die beste Erfahrung. Der Zwei-Wege-Sync ist am vollständigsten und zuverlässigsten.",
      "method": "Methode",
      "direction": "Richtung",
      "realtime": "Echtzeit",
      "bestFor": "Am besten für",
      "googleBestFor": "Jeden mit einem Google-Konto - vollständigste Integration",
      "microsoftBestFor": "Microsoft 365 oder Outlook-Benutzer",
      "appleBestFor": "Jeden, der iCloud Kalender als primären Kalender verwendet",
      "icalFeed": "iCal Feed",
      "readOnly": "Nur lesen",
      "every15to60": "Alle 15-60 Min",
      "icalBestFor": "Einfache Nur-Lesen-Synchronisierung mit jeder Kalender-App",
      "usingIcal": "Ihre Stimmtermine in Ihrem eigenen vertrauten Kalender",
      "icalIntro": "Möchten Sie Ihre Stimmtermine automatisch in dem Kalender sehen, den Sie bereits auf Ihrem Telefon oder Computer verwenden (z.B. Samsung, Google oder Outlook)? Das geht ganz einfach — verbinden Sie die Kalender miteinander.",
      "icalStep1Title": "Schritt 1: Link kopieren",
      "icalStep1Text": "Gehen Sie zu Einstellungen → Integrationen. Dort finden Sie eine Schaltfläche zum Kopieren des Kalenderlinks. Klicken Sie darauf — der Link ist nun in Ihrer Zwischenablage.",
      "icalStep2Title": "Schritt 2: Link in Ihren Kalender einfügen",
      "icalStep2Text": "Öffnen Sie Ihre eigene Kalender-App und suchen Sie die Option zum Hinzufügen eines Kalenders.",
      "icalHow": "Wie funktioniert es?",
      "icalHowText": "Sie kopieren einen speziellen 'digitalen Schlüssel' (einen Link). Diesen fügen Sie einmalig in Ihre eigene Kalender-App ein. Danach werden alle Ihre Termine automatisch synchronisiert.",
      "icalAppTipsTitle": "Anleitung pro App",
      "icalTipGoogle": "Gehen Sie (am besten am Computer) zu 'Kalender hinzufügen' und wählen Sie 'Per URL'.",
      "icalTipOutlook": "Wählen Sie 'Neuer Kalender' und dann 'Aus dem Netzwerk' oder 'Aus dem Internet'.",
      "icalGoodToKnow": "Gut zu wissen",
      "icalNote1": "Nur ansehen — Sie sehen Ihre Termine in Ihrem eigenen Kalender, aber Änderungen nehmen Sie in PianoPlanner vor.",
      "icalNote2": "Automatisch — sobald Sie einen Termin planen, erscheint er automatisch in Ihrem anderen Kalender.",
      "whichMethod": "Welche Methode soll ich wählen?",
      "whichMethodText": "Dies hängt davon ab, welchen Kalender Sie verwenden. Google bietet die beste Integration, Microsoft ist ideal für Geschäftsbenutzer, und iCal funktioniert überall."
    },
    "customDomain": {
      "title": "Eigene E-Mail-Domain verwenden",
      "intro": "Möchten Sie, dass Bestätigungsmails von info@ihrfirma.de statt von noreply@pianoplanner.com kommen? Das geht! Mit Ihrem eigenen SMTP-Server.",
      "whatIsSmtpTitle": "Was ist SMTP?",
      "whatIsSmtpText": "SMTP (Simple Mail Transfer Protocol) ist der Standard zum Versenden von E-Mails. Wenn Sie eine eigene E-Mail-Adresse haben (z.B. über Ihren Webhosting-Anbieter), haben Sie wahrscheinlich auch SMTP-Zugangsdaten.",
      "step1Title": "1. SMTP-Daten sammeln",
      "step1Text": "Sie benötigen: SMTP-Server (z.B. smtp.ihranbieter.de), Port (normalerweise 587 oder 465), Benutzername (oft Ihre vollständige E-Mail-Adresse), Passwort",
      "step2Title": "2. Gehen Sie zu Einstellungen → E-Mail",
      "step2Text": "Scrollen Sie zum Abschnitt \"Eigenes SMTP\".",
      "step3Title": "3. Daten eingeben",
      "step3Text": "Geben Sie Serverdetails, Port, Benutzername und Passwort ein.",
      "step4Title": "4. Verbindung testen",
      "step4Text": "Klicken Sie auf \"Test senden\", um zu prüfen, ob alles funktioniert.",
      "step5Title": "5. Aktivieren",
      "step5Text": "Schalten Sie den Schalter auf \"An\", um Ihr eigenes SMTP zu verwenden.",
      "tipText": "Keine technischen Kenntnisse? Fragen Sie Ihren Webhoster oder IT-Administrator nach den SMTP-Daten. Die meisten Hosting-Pakete beinhalten E-Mail.",
      "popularProvidersTitle": "Beliebte Anbieter",
      "providersList": "Gmail (mit App-Passwort), Microsoft 365, Strato, 1&1, Hosteurope",
      "whySmtp": "Warum eigenes SMTP verwenden?",
      "reason1": "E-Mails kommen von Ihrer eigenen Domain (info@ihrefirma.de)",
      "reason2": "Professionelleres Erscheinungsbild",
      "reason3": "Weniger wahrscheinlich von Spam-Filtern abgefangen zu werden",
      "reason4": "Volle Kontrolle über Ihre E-Mail-Kommunikation",
      "smtpSetup": "SMTP-Konfiguration",
      "field": "Feld",
      "example": "Beispiel",
      "explanation": "Erklärung",
      "smtpHost": "SMTP-Host",
      "smtpHostDesc": "Ihre Mail-Server-Adresse (z.B. smtp.gmail.com)",
      "port": "Port",
      "portDesc": "Normalerweise 587 (TLS) oder 465 (SSL)",
      "username": "Benutzername",
      "usernameDesc": "Normalerweise Ihre vollständige E-Mail-Adresse",
      "password": "Passwort",
      "passwordDesc": "Ihr E-Mail-Passwort oder app-spezifisches Passwort",
      "fromAddress": "Absenderadresse",
      "fromAddressDesc": "Die E-Mail-Adresse, die als Absender angezeigt wird",
      "testSettings": "Testen Sie Ihre Einstellungen",
      "testSettingsText": "Nach dem Ausfüllen klicken Sie auf 'Test senden', um zu überprüfen, ob alles funktioniert, bevor Sie es aktivieren.",
      "commonSettings": "Häufige Einstellungen",
      "provider": "Anbieter",
      "host": "Host"
    },
    "emailTemplates": {
      "title": "E-Mail-Vorlagen anpassen",
      "intro": "PianoPlanner sendet automatisch E-Mails für Bestätigungen, Erinnerungen und Stornierungen. Sie können diese vollständig an Ihren eigenen Stil anpassen.",
      "typesTitle": "Verfügbare Vorlagen",
      "typeConfirmation": "Bestätigung - Wird gesendet, sobald ein Termin gebucht wird",
      "typeReminder": "Erinnerung - Wird 24 Stunden vor dem Termin gesendet",
      "typeCancellation": "Stornierung - Wird gesendet, wenn Sie einen Termin stornieren",
      "typeInvitation": "Stimmeinladung - Zum Einladen von Kunden, einen Termin zu buchen",
      "editingTitle": "Vorlagen bearbeiten",
      "step1Title": "1. Gehen Sie zu Einstellungen → E-Mail-Vorlagen",
      "step1Text": "Sie sehen eine Liste aller verfügbaren Vorlagen.",
      "step2Title": "2. Klicken Sie auf eine Vorlage",
      "step2Text": "Öffnen Sie die Vorlage, die Sie anpassen möchten.",
      "step3Title": "3. Text bearbeiten",
      "step3Text": "Passen Sie Betreffzeile und Inhalt an. Verwenden Sie Variablen für dynamische Daten.",
      "step4Title": "4. Speichern",
      "step4Text": "Klicken Sie auf \"Speichern\", um Ihre Änderungen zu behalten.",
      "variablesTitle": "Verfügbare Variablen",
      "variablesText": "Sie können diese Variablen in Ihren Vorlagen verwenden:",
      "varCustomerName": "{{customerName}} - Name des Kunden",
      "varDate": "{{date}} - Datum des Termins",
      "varTime": "{{time}} - Uhrzeit des Termins",
      "varService": "{{service}} - Art der Dienstleistung",
      "varAddress": "{{address}} - Adresse des Kunden",
      "varCompanyName": "{{companyName}} - Ihr Firmenname",
      "tipText": "Halten Sie E-Mails kurz und klar. Kunden schätzen direkte, persönliche Kommunikation.",
      "availableTemplates": "Verfügbare Vorlagen",
      "template1": "Terminbestätigung",
      "template2": "Terminerinnerung",
      "template3": "Terminabsage",
      "template4": "Stimmungseinladung",
      "template5": "Buchungsbenachrichtigung (für Sie selbst)",
      "editingTemplate": "Vorlage bearbeiten",
      "availableVariables": "Verfügbare Variablen",
      "variable": "Variable",
      "replacedBy": "Wird ersetzt durch",
      "varCompanyPhone": "{{companyPhone}}",
      "varCompanyEmail": "{{companyEmail}}",
      "editorModes": "Der Template-Editor — Zwei Modi",
      "simpleMode": "Einfacher Modus (empfohlen für Anfänger)",
      "simpleModeText": "Tippen Sie normalen Text wie in einer E-Mail. Jede neue Zeile wird automatisch ein Absatz. Variablen (wie {{Kundenname}}) können Sie im Text eingeben oder aus der Liste rechts einfügen. PianoPlanner erstellt daraus automatisch eine sauber formatierte E-Mail mit Ihrem Firmenlogo und Design.",
      "advancedMode": "Erweiterter Modus (für erfahrene Benutzer)",
      "advancedModeText": "Schreiben Sie Ihren eigenen HTML-Code für vollständige Kontrolle über die Formatierung. Nützlich für Designer oder wenn Sie ein bestimmtes Layout nachbilden möchten.",
      "step5Title": "5. Vorschau ansehen",
      "step5Text": "Rechts sehen Sie eine Live-Vorschau der E-Mail. Klicken Sie auf \"Aktualisieren\", um die Vorschau nach Änderungen zu aktualisieren.",
      "step6Title": "6. Testen und speichern",
      "step6Text": "Klicken Sie auf \"Test senden\", um ein Beispiel an Ihre eigene E-Mail-Adresse zu senden. Zufrieden? Klicken Sie auf \"Speichern\". Sie können jederzeit über \"Auf Standard zurücksetzen\" zum Standard-Template zurückkehren.",
      "tipTitle": "Tipp",
      "variablesExplanation": "Variablen sind spezielle Codes, die automatisch durch echte Daten ersetzt werden. Tippen Sie sie genau so ein (einschließlich der doppelten geschweiften Klammern) oder klicken Sie im Editor darauf.",
      "varPianoBrand": "Marke des Klaviers (z.B. \"Steinway\")",
      "varPianoModel": "Modell des Klaviers",
      "varBookingLink": "Persönlicher Buchungslink des Kunden",
      "varReminderNumber": "Nummer der Erinnerung (1, 2, 3...) — nur bei automatischen Erinnerungen",
      "varUnsubscribeLink": "Link zur Abmeldung — nur bei automatischen Erinnerungen"
    },
    "tuningInvitations": {
      "title": "Stimmeinladungen versenden",
      "intro": "Erinnern Sie Ihre Kunden automatisch, wenn ihr Klavier gestimmt werden muss. Dies ist eine kraftvolle Möglichkeit, wiederkehrende Termine zu generieren.",
      "howItWorksTitle": "Wie funktioniert es?",
      "howItWorksText": "Jedes Klavier hat ein Service-Intervall (z.B. 6 Monate). Wenn ein Klavier fast oder über dieser Zeit ist, können Sie eine Erinnerung senden. Der Kunde erhält eine E-Mail mit einem Link, um direkt einen Termin zu buchen.",
      "sendingTitle": "Einladungen versenden",
      "step1Title": "1. Gehen Sie zu Klaviere",
      "step1Text": "Im Menü sehen Sie \"Klaviere\" - dies zeigt alle Klaviere nach Service-Status sortiert.",
      "step2Title": "2. Nach \"Stimmung fällig\" filtern",
      "step2Text": "Verwenden Sie den Filter, um nur Klaviere zu sehen, die bald oder überfällig sind.",
      "step3Title": "3. Klaviere auswählen",
      "step3Text": "Markieren Sie die Klaviere, an die Sie eine Einladung senden möchten.",
      "step4Title": "4. Klicken Sie auf \"Einladung senden\"",
      "step4Text": "Eine E-Mail wird an jeden ausgewählten Kunden gesendet.",
      "whatCustomerSeesTitle": "Was erhält der Kunde?",
      "whatCustomerSeesText": "Der Kunde erhält eine freundliche E-Mail mit: Einer Erinnerung, dass sein Klavier gestimmt werden muss, Einem Link zur direkten Terminbuchung, Ihren Kontaktdaten für Fragen",
      "tipText": "Senden Sie Einladungen nicht zu oft. Eine Erinnerung reicht normalerweise. Kunden schätzen dezenten Service, keinen Spam.",
      "whenToUse": "Wann Einladungen senden?",
      "whenToUseText": "Der beste Zeitpunkt ist 2-4 Wochen bevor das Klavier zur Stimmung fällig ist. So hat der Kunde Zeit zu antworten und Sie können planen.",
      "howToSend": "Wie senden Sie Einladungen?",
      "intervalOptions": "Stimmintervall-Optionen",
      "option": "Option",
      "description": "Beschreibung",
      "optionCustomer": "Kunde nimmt Kontakt auf",
      "optionCustomerDesc": "Keine automatischen Erinnerungen",
      "option3Months": "3 Monate",
      "option3MonthsDesc": "Konzertflügel, intensive Nutzung",
      "option6Months": "6 Monate",
      "option6MonthsDesc": "Standard für die meisten Klaviere",
      "optionYearly": "12 Monate",
      "optionYearlyDesc": "Freizeitnutzung, Hobby",
      "variables": "Verfügbare Variablen für Einladungen",
      "varLastTuning": "Datum der letzten Stimmung",
      "varDaysSince": "Tage seit letzter Stimmung",
      "varMonthsSince": "Monate seit letzter Stimmung",
      "varInterval": "Service-Intervall",
      "varBookingLink": "Buchungslink",
      "safetyFeature": "Sicherheitsfunktion",
      "safetyFeatureText": "Das System verhindert, dass Sie versehentlich mehrere Einladungen an denselben Kunden innerhalb kurzer Zeit senden.",
      "autoTip": "Lieber automatisch?",
      "autoTipText": "Möchten Sie nicht jedes Mal manuell eine Einladung senden? PianoPlanner kann dies auch automatisch erledigen! Lesen Sie mehr im nächsten Kapitel: Automatische Stimmerinnerungen."
    },
    "bookingLink": {
      "title": "Ihren Buchungslink teilen",
      "intro": "Jeder PianoPlanner-Benutzer hat einen einzigartigen Buchungslink. Teilen Sie diesen mit potenziellen Kunden, damit sie selbst einen Termin buchen können.",
      "findingTitle": "Ihren Link finden",
      "findingText": "Gehen Sie zu Einstellungen → Buchungsseite. Hier sehen Sie Ihre persönliche Buchungs-URL. Sie können diese kopieren oder teilen.",
      "whereToShareTitle": "Wo teilen?",
      "share1": "Ihre Website - Fügen Sie einen \"Termin buchen\"-Button hinzu",
      "share2": "E-Mail-Signatur - Fügen Sie den Link zu jeder E-Mail hinzu",
      "share3": "Visitenkarten - Drucken Sie einen QR-Code Ihres Links",
      "share4": "Google My Business - Als Buchungslink hinzufügen",
      "share5": "Social Media - In Ihrer Bio oder Posts teilen",
      "customizingTitle": "Anpassen",
      "customizingText": "In den Einstellungen können Sie Ihre Buchungsseite anpassen:",
      "customize1": "Logo hinzufügen - Ihr Firmenlogo oben auf der Seite",
      "customize2": "Begrüßungstext - Eine persönliche Begrüßung für Kunden",
      "customize3": "Dienstleistungen wählen - Welche Services gebucht werden können",
      "customize4": "Maximale Vorausbuchung - Wie weit im Voraus Kunden buchen können",
      "tipText": "Machen Sie es Kunden so einfach wie möglich. Je weniger Klicks bis zur Buchung, desto mehr Termine bekommen Sie.",
      "whyUse": "Warum ein Buchungslink?",
      "whyUseText": "Mit Ihrem eigenen Buchungslink können Kunden 24/7 einen Termin buchen, ohne dass Sie ans Telefon gehen müssen. Sie erhalten automatisch eine Bestätigung und der Termin steht sofort in Ihrem Kalender.",
      "stepByStep": "Schritt für Schritt",
      "step1Title": "1. Gehen Sie zu Einstellungen",
      "step1Text": "Öffnen Sie das Einstellungsmenü über das Zahnrad-Symbol ⚙️.",
      "step2Title": "2. Klicken Sie auf Buchungsseite",
      "step2Text": "Finden Sie den Abschnitt 'Buchungsseite' oder 'Online-Buchung'.",
      "step3Title": "3. Kopieren Sie Ihren Link",
      "step3Text": "Sie sehen Ihren persönlichen Buchungslink. Klicken Sie auf 'Kopieren'.",
      "step4Title": "4. Seite anpassen (optional)",
      "step4Text": "Fügen Sie Ihr Logo hinzu, passen Sie den Willkommenstext an und wählen Sie, welche Dienste sichtbar sind.",
      "step5Title": "5. Verfügbarkeit einstellen",
      "step5Text": "Bestimmen Sie, wie weit im Voraus Kunden buchen können.",
      "step6Title": "6. Aktivieren",
      "step6Text": "Aktivieren Sie die Buchungsseite, damit Kunden buchen können.",
      "whereToUse": "Wo können Sie den Link verwenden?",
      "shareEverywhere": "Überall teilen",
      "use1": "Ihre Website - 'Jetzt buchen' Button",
      "use2": "E-Mail-Signatur",
      "use3": "Visitenkarten (als QR-Code)",
      "use4": "Social Media Bio",
      "use5": "Google My Business",
      "use6": "WhatsApp-Status",
      "addToWebsite": "Zu Ihrer Website hinzufügen",
      "addToWebsiteText": "Kopieren Sie diesen Code und fügen Sie ihn auf Ihrer Website ein, wo der Buchungsbutton erscheinen soll.",
      "asSimpleLink": "Als einfacher Link",
      "asButton": "Als Button",
      "tipQrCode": "QR-Code-Tipp",
      "tipQrCodeText": "Generieren Sie einen QR-Code Ihres Buchungslinks für Visitenkarten oder Flyer. Kunden können dann scannen und direkt buchen!"
    },
    "customerLink": {
      "title": "Persönliche Links für Stammkunden",
      "intro": "Stammkunden müssen ihre Daten nicht jedes Mal eingeben. Jeder Kunde in PianoPlanner hat einen einzigartigen Link mit vorausgefüllten Daten.",
      "perfectFor": "Perfekt für:",
      "perfectForText": "Stammkunden, die regelmäßig wiederkommen, Kunden mit mehreren Klavieren, Theater und Unternehmen mit komplexen Buchungen.",
      "howItWorksTitle": "Wie funktioniert es?",
      "howItWorksText": "Wenn ein Kunde seinen persönlichen Link öffnet, sieht er:",
      "sees1": "Name und Adresse bereits ausgefüllt",
      "sees2": "Seine Klaviere zur Auswahl",
      "sees3": "Intelligente Zeitvorschläge basierend auf seinem Standort",
      "sees4": "Nur relevante Dienstleistungen",
      "sees5": "Kann direkt ohne Konto buchen",
      "findingTitle": "Den Link finden",
      "step1Title": "1. Gehen Sie zu Kunden",
      "step1Text": "Öffnen Sie die Kundenliste.",
      "step2Title": "2. Klicken Sie auf einen Kunden",
      "step2Text": "Öffnen Sie die Kundendetails.",
      "step3Title": "3. Siehe \"Buchungslink\"",
      "step3Text": "Kopieren Sie den persönlichen Link dieses Kunden.",
      "step4Title": "4. Link teilen",
      "step4Text": "Senden Sie den Link per E-Mail oder speichern Sie ihn für späteren Gebrauch.",
      "needNewLinkTitle": "Neuen Link benötigt?",
      "needNewLinkText": "Wenn ein Link nicht mehr funktioniert oder Sie ihn zurücksetzen möchten, können Sie in den Kundendetails einen neuen Link generieren.",
      "realExampleTitle": "Praxisbeispiel",
      "realExampleText": "Sie senden Frau Müller jedes Jahr eine Erinnerung. Anstatt \"rufen Sie mich für einen Termin an\" senden Sie ihren persönlichen Link. Sie klickt, wählt eine Zeit und fertig. Keine Telefonate, kein Aufwand.",
      "stepByStep": "Schritt für Schritt: Link finden und teilen",
      "step5Title": "5. Kopieren oder teilen",
      "step5Text": "Kopieren Sie den Link oder teilen Sie ihn direkt per E-Mail oder WhatsApp.",
      "needNewLink": "Neuen Link benötigt?",
      "whatCustomerSees": "Was sieht der Kunde?",
      "whenOpensLink": "Wenn der Kunde den Link öffnet:",
      "realExample": "Praktisches Beispiel",
      "defaultService": "Standarddienst einstellen",
      "defaultServiceText": "Sie können pro Kunde einen Standarddienst einstellen, der automatisch ausgewählt wird, wenn er seinen Link öffnet.",
      "defaultStep1Title": "1. Zum Kunden gehen",
      "defaultStep1Text": "Öffnen Sie die Kundendetails.",
      "defaultStep2Title": "2. Auf Bearbeiten klicken",
      "defaultStep2Text": "Öffnen Sie das Bearbeitungsformular.",
      "defaultStep3Title": "3. Standarddienst auswählen",
      "defaultStep3Text": "Wählen Sie den Dienst, den dieser Kunde normalerweise bucht.",
      "defaultStep4Title": "4. Speichern",
      "defaultStep4Text": "Der Dienst wird nun automatisch bei seinem Buchungslink ausgewählt."
    },
    "smartSuggestions": {
      "title": "Intelligente Buchungsvorschläge",
      "intro": "Wenn Kunden über ihren persönlichen Link buchen, sehen sie automatisch intelligente Zeitvorschläge. Das System analysiert Ihre bestehenden Termine und schlägt die effizientesten Zeitfenster vor.",
      "howDoesItWork": "Wie funktioniert es?",
      "howDoesItWorkText": "Anstatt manuell Datum und Uhrzeit zu wählen, sieht der Kunde eine Liste empfohlener Zeiten. Diese werden berechnet basierend auf:",
      "factor1": "Bestehende Termine - Slots direkt vor oder nach anderen Terminen in der Nähe",
      "factor2": "Standort - Minimale Reisezeit zwischen Terminen",
      "factor3": "Arbeitszeiten - Nur innerhalb Ihrer verfügbaren Zeiten",
      "factor4": "Theater-Zeiten - Separate Zeiten für Theater, falls konfiguriert",
      "benefits": "Vorteile",
      "benefitsText": "• Effizientere Routenplanung - weniger Kilometer fahren\n• Kunden wählen schneller - keine Zweifel an der Verfügbarkeit\n• Besserer Zeitplan - Termine gruppieren sich im selben Gebiet",
      "whatCustomerSees": "Was sieht der Kunde?",
      "afterSelecting": "Nach Auswahl einer Dienstleistung erscheinen bis zu 10 optimale Zeitfenster, sortiert mit der besten Wahl zuerst:",
      "recommended": "Empfohlen - Die effizienteste Zeit (grünes Abzeichen)",
      "alternative": "Alternative - Gute Optionen an anderen Tagen, nach Datum sortiert",
      "pickAnother": "Der Kunde kann auch \"Andere Zeit wählen\" klicken, um manuell Datum und Uhrzeit auszuwählen.",
      "distantCustomersTitle": "Entfernte Kunden",
      "distantCustomersText": "Fuer Kunden ausserhalb Ihres normalen Einzugsgebiets sucht das System automatisch weiter voraus (bis zu 6 Monate).",
      "trafficAwareTitle": "Verkehrsabhaengige Vorschlaege",
      "trafficAwareText": "Wenn die Verkehrsprognose in Ihren Einstellungen aktiviert ist, beruecksichtigen smarte Vorschlaege Stosszeiten."
    },
    "theaterAvailability": {
      "title": "Theater-Verfügbarkeit",
      "intro": "Theater, Konzertsäle und andere Veranstaltungsorte haben oft andere Verfügbarkeiten als Privatkunden. Sie sind hauptsächlich abends und am Wochenende verfügbar - genau wenn Sie normalerweise frei haben! Mit Theater-Verfügbarkeit können Sie separate Arbeitszeiten für diese besonderen Kunden festlegen.",
      "whyTitle": "Warum Theater-Zeiten?",
      "whyText": "Das Problem: Theater haben tagsüber Proben und Vorstellungen. Sie können Sie nur vor Öffnung (morgens) oder nach Schließung (abends) reinlassen. Die Lösung: Legen Sie verschiedene Zeiten für Theaterkunden fest. Sie sehen nur Abend-/Wochenendslots. Privatkunden sehen nur Tageslots. Jeder bucht zur richtigen Zeit!",
      "benefitsTitle": "Vorteile des Theater-Modus",
      "benefit1": "🎭 Separate Verfügbarkeit - Theater sehen Ihre 9-17 Privatslots nicht",
      "benefit2": "⚡ Kurzfristige Buchungen - Theater können mit nur 2 Stunden Vorlauf buchen (Sie legen das fest)",
      "benefit3": "📅 Kürzeres Buchungsfenster - Theater können oft nicht weit vorausplanen",
      "benefit4": "🎹 Konzertreifes Stimmen - Sie buchen, wenn sie es brauchen, vor Aufführungen",
      "benefit5": "💼 Zusätzliches Einkommen - Füllen Sie Ihre Abende mit gut bezahlter Theaterarbeit",
      "setupTitle": "Schritt-für-Schritt: Theater-Zeiten einrichten",
      "step1Title": "1. Gehen Sie zu Einstellungen → Unternehmen",
      "step1Text": "Klicken Sie auf das Zahnradsymbol ⚙️ und scrollen Sie zu \"Unternehmenseinstellungen\"",
      "step2Title": "2. Finden Sie \"Theater-Verfügbarkeit\"",
      "step2Text": "Scrollen Sie an Ihren normalen Arbeitszeiten vorbei. Sie sehen einen separaten Bereich für Theater.",
      "step3Title": "3. Einschalten",
      "step3Text": "Klicken Sie auf den Schalter, um Theater-Zeiten zu aktivieren. Er wird grün.",
      "step4Title": "4. Zeiten pro Tag festlegen",
      "step4Text": "Legen Sie für jeden Tag fest, wann Sie für Theater verfügbar sind:\nBeispiel:\n• Montag-Freitag: 18:00 - 22:00 (nach Ihrer regulären Arbeit)\n• Samstag: 10:00 - 18:00 (ganzer Tag verfügbar)\n• Sonntag: AUS",
      "step5Title": "5. Speichern",
      "step5Text": "Klicken Sie unten auf der Seite auf Speichern.",
      "markingTitle": "Einen Kunden als \"Theater\" markieren",
      "markingIntro": "Teilen Sie PianoPlanner jetzt mit, welche Kunden Theater-Zeiten nutzen sollen:",
      "markStep1Title": "1. Gehen Sie zu Kunden",
      "markStep1Text": "Öffnen Sie Ihre Kundenliste und finden Sie das Theater/den Veranstaltungsort.",
      "markStep2Title": "2. Kunden bearbeiten",
      "markStep2Text": "Klicken Sie auf den Namen und dann auf Bearbeiten.",
      "markStep3Title": "3. \"Theater-Verfügbarkeit nutzen\" aktivieren",
      "markStep3Text": "Sie sehen ein Kontrollkästchen ☑️ weiter unten. Aktivieren Sie es!",
      "markStep4Title": "4. Speichern",
      "markStep4Text": "Klicken Sie auf Kunde speichern. Fertig!",
      "realExample": "Praxisbeispiel",
      "realExampleText": "Ihre normalen Arbeitszeiten:\nMontag - Freitag: 09:00 - 17:00\n\nIhre Theater-Zeiten:\nMontag - Freitag: 18:00 - 22:00\nSamstag: 10:00 - 18:00\n\nErgebnis:\n• Frau Müller (Privatkunde) → sieht Mo-Fr 09:00-17:00 Slots\n• Theater \"Das Schauspielhaus\" → sieht Mo-Fr 18:00-22:00 + Samstag Slots\n\nKeine Überschneidung, keine Verwirrung, perfekte Trennung!",
      "bookingWindowTitle": "Theater-Buchungsfenster",
      "bookingWindowIntro": "Theater müssen oft kurzfristig buchen - ein Klavier muss vielleicht vor dem heutigen Konzert gestimmt werden! Sie können festlegen, wie weit im Voraus Theater buchen müssen/können:",
      "minAdvanceTitle": "Minimale Vorlaufzeit",
      "minAdvanceText": "Wie weit im Voraus müssen Theater mindestens buchen?\nOptionen: Kein Minimum, 2 Stunden, 4 Stunden, 1 Tag, 2 Tage\nEmpfohlen: 2 Stunden - erlaubt Notfall-Anfragen in letzter Minute",
      "maxAdvanceTitle": "Maximale Vorlaufzeit",
      "maxAdvanceText": "Wie weit im Voraus können Theater buchen?\nOptionen: 1 Woche, 2 Wochen, 1 Monat, 2 Monate, 3 Monate, 6 Monate\nEmpfohlen: 1 Monat - Theater planen selten weiter voraus",
      "comparisonTitle": "Vergleich: Normale vs. Theater-Buchung",
      "comparisonText": "Normale Kunden:\n• Müssen 2 Tage im Voraus buchen (Sie haben Planungszeit)\n• Können bis zu 3 Monate im Voraus buchen\n\nTheater-Kunden:\n• Können nur 2 Stunden im Voraus buchen (Notfall-Stimmungen!)\n• Können bis zu 1 Monat im Voraus buchen\n\nTheater bekommen Flexibilität für dringende Bedürfnisse, während Privatkunden Ihnen Planungszeit geben."
    },
    "pianoService": {
      "title": "Klavier-Servicehistorie & Stimmintervalle",
      "intro": "PianoPlanner verfolgt automatisch die Servicehistorie jedes Klaviers. Das hilft Ihnen zu merken, wann Klaviere gestimmt werden müssen - keine Kunden mehr vergessen oder raten, wann Sie zuletzt da waren!",
      "whyTrackTitle": "Warum Service-Intervalle verfolgen?",
      "whyTrackText": "Ohne Verfolgung: Sie verlassen sich darauf, dass Kunden Sie anrufen, oder Sie vergessen, wer Service braucht.\nMit PianoPlanner: Sie sehen genau, welche Klaviere fällig sind. Senden Sie eine Erinnerung, buchen Sie den Termin, halten Sie Kunden zufrieden. Mehr Folgegeschäft, weniger Aufwand!",
      "howItWorksTitle": "So funktioniert es (automatisch!)",
      "howItWorksIntro": "PianoPlanner aktualisiert \"Letzte Stimmung\" automatisch basierend auf:",
      "source1": "✅ Abgeschlossene Termine - Wenn Sie eine Stimmung beenden, wird der Klaviereintrag aktualisiert",
      "source2": "✅ Service-Einträge - Notizen, die Sie zur Klavierhistorie hinzufügen",
      "source3": "✅ Manuelle Datumseingabe - Wenn Sie selbst ein vergangenes Stimmdatum eingeben",
      "automatic": "Sie müssen nichts tun! Schließen Sie einfach Ihre Termine wie gewohnt ab, und PianoPlanner behält den Überblick.",
      "statusColorsTitle": "Die Statusfarben verstehen",
      "statusColorsIntro": "Jedes Klavier zeigt einen Status, damit Sie auf einen Blick sehen, wer Aufmerksamkeit braucht:",
      "tableHeader1": "Was Sie sehen",
      "tableHeader2": "Was es bedeutet",
      "statusGreen": "Letzte: 15. Jan 2026",
      "statusGreenMeaning": "✅ Kürzlich gestimmt - noch keine Aktion nötig",
      "statusOrange": "Fällig in 14 Tagen",
      "statusOrangeMeaning": "⚠️ Service steht an - Zeit, den Kunden zu kontaktieren!",
      "statusRed": "30 Tage überfällig",
      "statusRedMeaning": "🔴 Über dem Fälligkeitsdatum - definitiv Zeit anzurufen!",
      "statusGray": "Noch nicht gestimmt",
      "statusGrayMeaning": "ℹ️ Neues Klavier - noch keine Historie erfasst",
      "intervalTitle": "Das richtige Stimmintervall festlegen",
      "intervalIntro": "Verschiedene Klaviere brauchen unterschiedliche Pflege. Ein Konzertflügel im Theater muss alle paar Monate gestimmt werden, während ein Hobbyinstrument zu Hause vielleicht nur jährlich Service braucht. Sie legen das Intervall pro Klavier fest!",
      "recommendedTitle": "Empfohlene Intervalle",
      "recommendedText": "3-4 Monate: Konzertflügel, Konservatoriumsklaviere, Musikschulen\n6 Monate: Kirchen, professionelle Musiker, ernsthafte Hobbyisten (Standard)\n12 Monate: Hausklaviere, Gelegenheitsspieler\n18-24 Monate: Selten genutzte Klaviere, Ferienhäuser",
      "changeIntervalTitle": "Schritt-für-Schritt: Intervall eines Klaviers ändern",
      "changeStep1Title": "1. Zum Klavier gehen",
      "changeStep1Text": "Öffnen Sie Kunden → klicken Sie auf einen Kunden → klicken Sie auf sein Klavier",
      "changeStep2Title": "2. Bearbeiten klicken",
      "changeStep2Text": "Klicken Sie auf den Bearbeiten-Button (Bleistift-Symbol ✏️)",
      "changeStep3Title": "3. \"Service-Intervall\" finden",
      "changeStep3Text": "Suchen Sie das Dropdown, das \"Service-Intervall (Monate)\" anzeigt",
      "changeStep4Title": "4. Intervall wählen",
      "changeStep4Text": "Wählen Sie, wie viele Monate zwischen Stimmungen:\n3, 4, 6, 9, 12, 18 oder 24 Monate",
      "changeStep5Title": "5. Speichern",
      "changeStep5Text": "Klicken Sie auf Klavier speichern. Der Status wird jetzt ab diesem Intervall berechnet!",
      "proTipTitle": "Profi-Tipp: Klaviere finden, die Service brauchen",
      "proTipText": "Gehen Sie zu Klaviere im Menü. Sie sehen alle Klaviere nach Status sortiert. Orange und rote Klaviere erscheinen zuerst - das sind Ihre Chancen!\nÜberprüfen Sie diese Liste jede Woche und senden Sie Erinnerungen an Kunden mit überfälligen Klavieren. Einfache Methode, Ihren Kalender zu füllen! 📅",
      "manualRecordTitle": "Eine vergangene Stimmung manuell erfassen",
      "manualRecordIntro": "Haben Sie ein Klavier gestimmt, bevor Sie PianoPlanner nutzten? Sie können das Datum manuell eingeben:",
      "manualStep1Title": "1. Klavier bearbeiten",
      "manualStep1Text": "Gehen Sie zum Klavier und klicken Sie auf Bearbeiten",
      "manualStep2Title": "2. \"Letztes Servicedatum\" finden",
      "manualStep2Text": "Suchen Sie das Datumsauswahl-Feld",
      "manualStep3Title": "3. Datum eingeben",
      "manualStep3Text": "Klicken Sie auf das Feld und wählen Sie das Datum der letzten Stimmung",
      "manualStep4Title": "4. Speichern",
      "manualStep4Text": "Der Status des Klaviers wird jetzt korrekt berechnet!"
    },
    "slotDuration": {
      "title": "Kalender-Zeitslot-Dauer",
      "intro": "Sie können anpassen, wie der Kalender Zeitslots anzeigt. Wählen Sie zwischen 1-Stunden-Slots oder 1,5-Stunden-Slots je nach Ihrer typischen Termindauer.",
      "changingTitle": "Slot-Dauer ändern",
      "step1Title": "Zum Dashboard gehen",
      "step1Text": "Öffnen Sie Ihre Kalenderansicht.",
      "step2Title": "Slot-Auswahl finden",
      "step2Text": "In der Werkzeugleiste neben der Ansichtsauswahl (Tag/Woche/Monat) sehen Sie ein Dropdown.",
      "step3Title": "Ihre Dauer wählen",
      "step3Text": "Wählen Sie \"1 Stunde\" oder \"1½ Stunden\" aus dem Dropdown.",
      "whenToUseTitle": "Wann welche verwenden?",
      "whenToUseText": "1-Stunden-Slots: Standard-Stimmtermine, schnelle Services\n1,5-Stunden-Slots: Regulierung, Intonation, oder wenn Stimmungen typischerweise länger dauern",
      "savedAutomatically": "Ihre Präferenz wird automatisch gespeichert und bei Ihrem nächsten Besuch erinnert."
    },
    "importData": {
      "title": "Daten importieren",
      "intro": "Wechsel von einem anderen Klavierstimm-Verwaltungssystem? Der Import Hub von PianoPlanner macht es einfach, Ihre bestehenden Daten zu übertragen — Kunden, Klaviere, Termine und Servicehistorie.",
      "whatCanImportTitle": "Was können Sie importieren?",
      "importCustomers": "Kunden - Namen, Adressen, Telefonnummern, E-Mail-Adressen",
      "importPianos": "Klaviere - Marke, Modell, Seriennummer, Jahr, Typ, Standort",
      "importHistory": "Servicehistorie - Letzte Stimmdaten werden beibehalten",
      "importOrderTip": "Importieren Sie immer zuerst Kunden, dann Klaviere. So werden Klaviere automatisch mit dem richtigen Kunden verknüpft.",
      "howToImportTitle": "So importieren Sie",
      "step1Title": "Aus Ihrem aktuellen System exportieren",
      "step1Text": "Exportieren Sie Ihre Kunden und/oder Klaviere als CSV-Dateien aus Ihrer aktuellen Software.",
      "step2Title": "Zu Import gehen",
      "step2Text": "Navigieren Sie zu Einstellungen → Daten importieren oder gehen Sie direkt zur Import-Seite.",
      "step3Title": "Auswählen, was importiert werden soll",
      "step3Text": "Wählen Sie, ob Sie Kunden oder Klaviere importieren möchten.",
      "step4Title": "CSV-Datei hochladen",
      "step4Text": "Ziehen Sie Ihre Datei per Drag & Drop oder klicken Sie zum Durchsuchen. Das System erkennt die Spalten automatisch.",
      "step5Title": "Vorschau ansehen und konfigurieren",
      "step5Text": "Überprüfen Sie die Vorschau-Tabelle und setzen Sie Optionen wie \"Duplikate überspringen\" oder \"Nur aktive Kunden\".",
      "step6Title": "Import starten",
      "step6Text": "Klicken Sie auf \"Import starten\" und warten Sie, bis der Vorgang abgeschlossen ist.",
      "optionsTitle": "Import-Optionen",
      "optionHeader": "Option",
      "whatDoesItDoHeader": "Was macht es?",
      "activeOnly": "Nur aktive",
      "activeOnlyDesc": "Nur als aktiv markierte Kunden/Klaviere importieren",
      "skipDuplicates": "Duplikate überspringen",
      "skipDuplicatesDesc": "Kunden überspringen, die bereits existieren (basierend auf E-Mail)",
      "includeCompany": "Firmennamen einschließen",
      "includeCompanyDesc": "Firmennamen zum Kundennamen hinzufügen",
      "undoImportTitle": "Import rückgängig machen",
      "undoImportText": "Fehler gemacht? Nach dem Import sehen Sie einen \"Import rückgängig machen\"-Button, mit dem Sie alle Einträge aus diesem Import-Batch auf einmal entfernen können.",
      "otherFormatsTitle": "Andere Importformate",
      "otherFormatsText": "Neben CSV unterstützt PianoPlanner auch die folgenden Importformate:",
      "gazelleTitle": "Gazelle-Import",
      "gazelleDesc": "Wechseln Sie von Gazelle (Piano-Verwaltungssoftware)? Verwenden Sie den speziellen Gazelle-Import-Assistenten unter Einstellungen → Import → Gazelle. Er erkennt das Gazelle-Exportformat automatisch.",
      "vcardTitle": "vCard (.vcf) Import",
      "vcardDesc": "Importieren Sie Kontakte direkt von Ihrem Telefon oder E-Mail-Client. Exportieren Sie Ihre Kontakte als .vcf-Datei und laden Sie sie in PianoPlanner hoch.",
      "icsTitle": "Kalender (.ics) Import",
      "icsDesc": "Importieren Sie Termine aus Ihrem bestehenden Kalender (Google, Apple, Outlook). Exportieren Sie als .ics-Datei und laden Sie sie hoch, um Ihre bestehenden Termine zu übertragen.",
      "importHubTitle": "Import Hub",
      "importHubText": "Navigieren Sie zu Einstellungen → Import, um den Import Hub zu öffnen. Wählen Sie hier die Importmethode, die zu Ihrer Situation passt:",
      "methodHeader": "Methode",
      "bestForHeader": "Geeignet für",
      "whatItImportsHeader": "Was importiert wird",
      "gazelleBestFor": "Umstieg von Gazelle",
      "gazelleImports": "Kunden, Klaviere, Servicehistorie — alles in einem geführten Workflow mit automatischer Feldzuordnung",
      "contactsTitle": "Kontakte importieren",
      "contactsBestFor": "Telefonkontakte, vCard-Dateien, CSV",
      "contactsImports": "Kunden — Namen, Adressen, Telefonnummern, E-Mails aus .vcf oder .csv Dateien",
      "calendarTitle": "Kalender importieren",
      "calendarBestFor": "Umstieg von einem anderen Kalender",
      "calendarImports": "Termine aus .ics Kalenderdateien — Daten, Zeiten, Beschreibungen",
      "genericCsvTitle": "Generisches CSV",
      "genericCsvBestFor": "Jedes andere System",
      "genericCsvImports": "Kunden und Klaviere aus CSV mit automatischer Spaltenerkennung (demnächst verfügbar)",
      "gazelleWizardTitle": "Gazelle Wizard",
      "gazelleWizardText": "Der Gazelle Wizard ist eine Schritt-für-Schritt-Anleitung speziell für Gazelle-Benutzer. Exportieren Sie Ihre Daten aus Gazelle als CSV-Dateien und laden Sie sie im Wizard hoch. PianoPlanner ordnet die Gazelle-Felder automatisch zu — Kunden, Klaviere und Servicehistorie werden auf einmal importiert.",
      "contactsImportTitle": "Kontakte importieren",
      "contactsImportText": "Importieren Sie Kunden aus Ihren Telefonkontakten oder einer vCard (.vcf) Datei. Sie können auch eine CSV-Datei mit Kundendaten hochladen. Namen, Adressen, Telefonnummern und E-Mail-Adressen werden automatisch importiert.",
      "calendarImportTitle": "Kalender importieren",
      "calendarImportText": "Laden Sie eine .ics Datei hoch, die aus Apple Kalender, Google Kalender, Outlook oder einer anderen Kalender-App exportiert wurde. Termine werden mit den ursprünglichen Daten, Zeiten und Beschreibungen erstellt."
    },
    "workshop": {
      "title": "Werkstatt-Planung",
      "intro": "PianoPlanner unterstützt eigene Werkstatt-Zeitfenster für Arbeiten in Ihrer eigenen Werkstatt. Legen Sie Ihre Werkstatt-Verfügbarkeit fest und diese wird automatisch im Online-Buchungskalender blockiert.",
      "setupTitle": "Werkstattzeiten einrichten",
      "setupText": "Gehen Sie zu Einstellungen → Werkstatt, um Ihre Werkstatt-Verfügbarkeit zu konfigurieren. Sie können für jeden Wochentag unterschiedliche Zeiten festlegen, genau wie bei Ihren regulären Arbeitszeiten.",
      "featuresTitle": "Funktionen",
      "feature1": "Werkstatt-Verfügbarkeit pro Wochentag festlegen",
      "feature2": "Werkstattzeiten werden automatisch für Online-Buchungen blockiert",
      "feature3": "Smart Pick respektiert Werkstattzeiten — keine überlappenden Vorschläge",
      "feature4": "Werkstatt-Termine mit eigenem Symbol in Ihrer Agenda sichtbar",
      "feature5": "Werkstatt-Statistiken in Ihren Dashboard-Berichten",
      "smartPickTitle": "Smart Pick Integration",
      "smartPickText": "Wenn Sie Smart Pick für Terminvorschläge verwenden, werden Ihre Werkstattzeiten automatisch vermieden. So bekommen Kunden nie ein Zeitfenster angeboten, das mit Ihrer Werkstattplanung kollidiert.",
      "tip": "Verwenden Sie Werkstatt-Planung für wiederkehrende interne Arbeiten wie Klavierrestaurierungen, Intonationsarbeiten oder Instrumentenreparaturen. So bleibt Ihr Außendienstplan sauber und Ihre Werkstattzeit organisiert."
    },
    "walkIn": {
      "title": "Laufkunden-Termine & Aufgaben",
      "intro": "Nicht jeder Termin benötigt einen Kundendatensatz. Mit PianoPlanner erstellen Sie schnell Laufkunden-Termine und interne Werkstatt-Aufgaben direkt vom Dashboard.",
      "walkInTitle": "Laufkunden-Termine",
      "walkInText": "Wenn ein Kunde unerwartet vorbeikommt, nutzen Sie die Schnell-Laufkunden-Schaltfläche auf Ihrem Dashboard. Geben Sie einen Namen und eine Dienstleistung ein — kein vollständiger Kundendatensatz nötig.",
      "tasksTitle": "Aufgaben ohne Kunde",
      "tasksText": "Möchten Sie Zeit für interne Arbeiten blockieren? Erstellen Sie eine Aufgabe ohne Kundenzuordnung. Perfekt für Werkstatt-Wartung, Verwaltungsarbeit oder persönliche Zeitblöcke.",
      "howToTitle": "So erstellen Sie",
      "howTo1": "Vom Dashboard: Tippen Sie auf den + Button und wählen Sie 'Laufkunde' oder 'Aufgabe'",
      "howTo2": "Laufkunde: Geben Sie einen Namen ein, wählen Sie eine Dienstleistung und eine Zeit",
      "howTo3": "Aufgabe: Fügen Sie eine Beschreibung und Zeit hinzu — kein Kunde nötig",
      "howTo4": "Beide Typen erscheinen in Ihrer Agenda und respektieren Ihre Verfügbarkeit",
      "tip": "Laufkunden-Termine können später in vollständige Kundendatensätze umgewandelt werden. Wenn ein Laufkunde zurückkommt, können Sie ein vollständiges Kundenprofil erstellen und den vorherigen Termin verknüpfen."
    },
    "invoicing": {
      "setupTitle": "Rechnungsstellung einrichten",
      "setupIntro": "Bevor Sie Ihre erste Rechnung erstellen, konfigurieren Sie die Rechnungseinstellungen. Gehen Sie zu Rechnungen und klicken Sie auf das ⚙️ Einstellungen-Symbol in der oberen Leiste.",
      "numberingTitle": "Rechnungsnummern",
      "prefixStep": "Präfix",
      "prefixText": "Legen Sie ein Präfix für Ihre Rechnungsnummern fest (z.B. \"F2026-\" oder \"INV-\"). Ihre Rechnungen werden als Präfix + Laufnummer nummeriert, z.B. F2026-001, F2026-002, usw.",
      "nextNumberStep": "Nächste Nummer",
      "nextNumberText": "Legen Sie die nächste Rechnungsnummer fest. Nützlich beim Wechsel von einem anderen System mitten im Jahr — geben Sie einfach die Nummer ein, bei der Sie aufgehört haben. Der Zähler wird bei jeder neuen Rechnung automatisch erhöht.",
      "bankStep": "Bankdaten",
      "bankText": "Geben Sie Ihre IBAN, den Banknamen und den BIC-Code ein. Diese erscheinen auf Ihren Rechnungen, damit Kunden wissen, wohin sie überweisen sollen.",
      "footerStep": "Fußzeilentext",
      "footerText": "Fügen Sie Ihre Handelsregisternummer, USt-IdNr. oder andere rechtliche Texte hinzu, die am Ende jeder Rechnung stehen sollen.",
      "setupTip": "Sie können auch Ihr eigenes Briefpapier hochladen (JPG/PNG), damit Ihre Rechnungen zu Ihrem Corporate Design passen. Wenn Ihr Briefpapier bereits Ihre Firmendaten enthält, aktivieren Sie \"Firmendaten auf Rechnung ausblenden\".",
      "createTitle": "Rechnungen erstellen",
      "createIntro": "Es gibt zwei Möglichkeiten, eine Rechnung zu erstellen: aus dem Kalender oder manuell.",
      "fromAgendaTitle": "Aus dem Kalender (empfohlen)",
      "fromAgendaText": "Nach Abschluss eines Termins können Sie direkt aus dem Kalender eine Rechnung erstellen. Klicken Sie auf den Termin → wählen Sie \"Rechnung erstellen\". Die Rechnung wird automatisch ausgefüllt mit:",
      "prefill1": "Kundenname und Daten",
      "prefill2": "Dienstbeschreibung mit Instrument (z.B. \"Stimmung — Steinway & Sons D\")",
      "prefill3": "Termindatum in der Beschreibung",
      "prefill4": "Dienstpreis aus Ihrer Dienstkonfiguration",
      "prefill5": "Kundenanmerkungen (als separate Textzeile)",
      "manualTitle": "Manuelle Rechnung",
      "manualText": "Gehen Sie zu Rechnungen → Neue Rechnung. Suchen und wählen Sie einen Kunden und fügen Sie dann Rechnungszeilen manuell hinzu. Sie können normale Zeilen mit Preisen oder reine Textzeilen für zusätzliche Notizen hinzufügen.",
      "sendTitle": "Rechnungen versenden",
      "sendText": "Wenn Ihre Rechnung fertig ist, speichern Sie sie als \"Versendet\". Sie können sie dann direkt per E-Mail an den Kunden senden, mit PDF-Anhang. Wenn Sie Mollie konfiguriert haben, wird automatisch ein Zahlungslink eingefügt.",
      "createTip": "Sie können 'Standard-Dienste' in den Rechnungseinstellungen verwenden, um häufig genutzte Dienste schnell zu jeder Rechnung hinzuzufügen.",
      "btwTitle": "MwSt.-Behandlung",
      "btwIntro": "PianoPlanner behandelt die MwSt. je nach Kundentyp unterschiedlich. Dies wird automatisch anhand des im Kundenprofil eingestellten Kundentyps bestimmt.",
      "btwPrivateTitle": "Privatkunden",
      "btwPrivateLabel": "Preis = INKLUSIVE MwSt.",
      "btwPrivateText": "Für Privatkunden ist der Dienstpreis der Gesamtbetrag inklusive MwSt. Beispiel: Ihr Dienst kostet €125. Die Rechnung zeigt: Zwischensumme: €103,31 — MwSt. 21%: €21,69 — Gesamt: €125,00",
      "btwBusinessTitle": "Geschäftskunden / Institutionen",
      "btwBusinessLabel": "Preis = EXKLUSIVE MwSt.",
      "btwBusinessText": "Für Unternehmen, Schulen, Kirchen und Theater ist der Dienstpreis exklusive MwSt. Die MwSt. wird aufgeschlagen. Beispiel: Ihr Dienst kostet €125 netto. Die Rechnung zeigt: Zwischensumme: €125,00 — MwSt. 21%: €26,25 — Gesamt: €151,25",
      "btwCustomerTypeTitle": "Kundentyp festlegen",
      "btwCustomerTypeText": "Um die korrekte MwSt.-Behandlung sicherzustellen, legen Sie den Kundentyp in jedem Kundenprofil fest:",
      "typePrivate": "Privat",
      "typePrivateDesc": "Preis inklusive MwSt.",
      "typeBusiness": "Geschäftlich",
      "typeBusinessDesc": "Preis exklusive MwSt.",
      "typeSchool": "Schule",
      "typeSchoolDesc": "Preis exklusive MwSt.",
      "typeChurch": "Kirche",
      "typeChurchDesc": "Preis exklusive MwSt.",
      "typeTheater": "Theater",
      "typeTheaterDesc": "Preis exklusive MwSt.",
      "btwTip": "Der Standard-Kundentyp ist 'Privat'. Wenn Sie keinen Typ festlegen, wird der Preis als inklusive MwSt. behandelt. Sie können den Preis auf der Rechnung jederzeit manuell anpassen.",
      "mobileTitle": "Rechnungsstellung mobil",
      "mobileIntro": "Mit PianoPlanner auf Ihrem Startbildschirm können Sie Rechnungen direkt von Ihrem Telefon erstellen und versenden — sogar während Sie noch beim Kunden sind.",
      "mobileFromCustomerTitle": "Über ein Kundenprofil",
      "mobileFromCustomerText": "Öffnen Sie einen Kunden in der PWA, scrollen Sie nach unten und tippen Sie auf \"Rechnung erstellen\". Ein Menü erscheint, in dem Sie:",
      "mobilePrefill1": "Einen Service auswählen — der Preis wird automatisch ausgefüllt",
      "mobilePrefill2": "Eine Beschreibung oder Notizen hinzufügen",
      "mobilePrefill3": "Den Rechnungsstatus wählen (Entwurf, Gesendet, Bezahlt)",
      "mobilePrefill4": "Mit Zahlungslink versenden — der Kunde kann sofort online bezahlen",
      "mobileWorkflowTitle": "Typischer mobiler Workflow",
      "mobileStep1": "Stimmung abschließen",
      "mobileStep1Text": "Schließen Sie den Termin wie gewohnt ab.",
      "mobileStep2": "Kunde öffnen → Rechnung erstellen",
      "mobileStep2Text": "Tippen Sie auf den Kunden und dann auf \"Rechnung erstellen\". Service und Preis sind vorausgefüllt.",
      "mobileStep3": "Mit Zahlungslink versenden",
      "mobileStep3Text": "Speichern und versenden. Der Kunde erhält eine E-Mail mit einer PDF-Rechnung und einem Online-Zahlungslink.",
      "mobileTip": "Der Klavierstimmer ist noch beim Kunden und die Rechnung ist bereits versendet — mit Zahlungslink. Keine Buchhaltungssoftware nötig, keine manuelle Arbeit am Ende des Tages."
    },
    "needHelp": {
      "title": "Hilfe benötigt?",
      "text": "Kommen Sie nicht weiter? Kontaktieren Sie uns gerne.",
      "contactButton": "Support kontaktieren"
    },
    "dashboard": {
      "sectionTitle": "Dashboard & Kalender",
      "intro": "Das Dashboard ist Ihr zentraler Arbeitsplatz. Hier finden Sie Ihren Kalender, die Tagesübersicht, Schnellaktionen und nützliche Widgets — alles, was Sie für einen produktiven Arbeitstag brauchen.",
      "layoutTitle": "Dashboard-Aufbau",
      "layoutText": "Ihr Dashboard ist in drei Spalten unterteilt: ein linkes Panel mit schnellen Übersichten, der Kalender in der Mitte und ein rechtes Panel mit Statistiken und Widgets.",
      "leftPanelTitle": "Linkes Panel",
      "leftMiniCal": "Mini-Kalender — schnell zwischen Daten navigieren",
      "leftTrafficLights": "Ampeln — Tagesstatus auf einen Blick (erledigt, in Arbeit, zu tun)",
      "leftCurrentAppt": "Aktueller Termin — zeigt den Termin, an dem Sie gerade arbeiten",
      "leftUpcoming": "Noch heute — schnelle Liste der verbleibenden Termine",
      "leftPending": "Abzuarbeiten — Termine, die noch Nacharbeit benötigen",
      "calendarTitle": "Kalender",
      "calendarText": "Wechseln Sie zwischen Tages-, Wochen- und Monatsansicht. Klicken Sie auf einen Zeitslot, um einen neuen Termin zu erstellen. Ziehen Sie Termine, um sie zu verschieben. Doppelklicken Sie zum Bearbeiten.",
      "calendarDrag": "Drag & Drop — verschieben Sie Termine auf einen anderen Zeitpunkt oder Tag",
      "calendarResize": "Größe ändern — ziehen Sie den unteren Rand eines Termins, um die Dauer anzupassen",
      "calendarRoute": "Route-Button — berechnen Sie Fahrzeiten und farbcodieren Sie Ihre Termine",
      "calendarFilters": "Filter — ein-/ausblenden von Termintypen (Außendienst, Werkstatt, Privat)",
      "rightPanelTitle": "Rechtes Panel",
      "rightToday": "Heutige Termine mit Kundendaten",
      "rightUpcoming": "Kommende Termine für die nächsten Tage",
      "rightWorkshop": "Werkstatt-/Außendienst-Statistiken des Tages",
      "rightMileage": "Km-Widget — Monatsübersicht und schnell Fahrten hinzufügen (Pro)",
      "createApptTitle": "Termin erstellen",
      "createStep1Title": "Klicken Sie auf einen Zeitslot oder drücken Sie +",
      "createStep1Text": "Klicken Sie auf eine Zeit im Kalender oder verwenden Sie den + Button rechts unten.",
      "createStep2Title": "Wählen Sie einen Kunden",
      "createStep2Text": "Suchen Sie einen bestehenden Kunden oder erstellen Sie direkt einen neuen.",
      "createStep3Title": "Wählen Sie den Standorttyp",
      "createStep3Text": "Wählen Sie 'Beim Kunden' für Termine vor Ort oder 'Werkstatt' für Werkstattarbeiten.",
      "createStep4Title": "Wählen Sie ein Klavier (optional)",
      "createStep4Text": "Smart Pick markiert Klaviere, die gewartet werden müssen, mit einem gelben Leuchten. Klicken Sie zum Auswählen.",
      "createStep5Title": "Stellen Sie Zeit und Dauer ein, dann speichern",
      "createStep5Text": "Passen Sie bei Bedarf Zeit und Dauer an. Klicken Sie auf Speichern — der Termin erscheint in Ihrem Kalender.",
      "smartPickTitle": "Smart Pick",
      "smartPickText": "Klaviere mit einem gelben Leuchten werden von Smart Pick empfohlen. Es berücksichtigt Stimmintervall, letzte Wartung und Jahreszeit, um vorzuschlagen, welche Klaviere Aufmerksamkeit benötigen.",
      "tipText": "Verwenden Sie die Wochenansicht für die Planungsübersicht und die Tagesansicht für detaillierte Planung. Der Kalender merkt sich Ihre Einstellung.",
      "completeTitle": "Termine abschließen",
      "completeIntro": "Markieren Sie den Termin nach dem Kundenbesuch als abgeschlossen. Die Stimmhistorie des Klaviers wird automatisch aktualisiert.",
      "pendingWidgetTitle": "Das Widget \"Abzuarbeiten\"",
      "pendingWidgetText": "Das linke Panel zeigt eine \"Abzuarbeiten\"-Liste mit Terminen, die bereits vergangen sind, aber noch nicht als abgeschlossen markiert wurden. Verwenden Sie die Filterschaltflächen (7T, 30T, 90T, Alle), um weiter zurückzuschauen.",
      "completeStep1Title": "Klicken Sie auf das grüne Häkchen",
      "completeStep1Text": "Neben jedem offenen Termin klicken Sie auf das grüne Häkchen, um den Abschlussdialog zu öffnen.",
      "completeStep2Title": "Stimmdatum aktualisieren",
      "completeStep2Text": "Das Kontrollkästchen \"Stimmung aktualisieren\" ist standardmäßig aktiviert. Dies setzt das letzte Stimmdatum des Klaviers auf heute. Deaktivieren Sie es, wenn der Besuch keine Stimmung war (z.B. ein Angebot oder eine Inspektion).",
      "completeStep3Title": "Zahlungsmethode wählen",
      "completeStep3Text": "Wählen Sie, wie der Kunde bezahlt hat: Rechnung, Karte, Bar, Später oder Keine Zahlung. Dies wird für zukünftige Referenz gespeichert.",
      "completeStep4Title": "Klicken Sie auf \"Abschließen\"",
      "completeStep4Text": "Der Termin wird als erledigt markiert, die Stimmhistorie des Klaviers wird aktualisiert und er verschwindet aus der offenen Liste.",
      "bulkCompleteTitle": "Mehrere Termine gleichzeitig abschließen",
      "bulkCompleteText": "Wenn Sie viele offene Termine haben (z.B. nach einem Urlaub oder Import), verwenden Sie die Schaltfläche \"Alle abschließen\" am Ende der offenen Liste. Damit werden alle sichtbaren Termine als abgeschlossen markiert und alle verknüpften Klavier-Stimmdaten mit einem Klick aktualisiert. Es erscheint zuerst ein Bestätigungsdialog.",
      "pianoLinkWarning": "Wählen Sie beim Erstellen eines Termins immer ein Klavier aus. Ohne verknüpftes Klavier verwendet das System das erste Klavier des Kunden als Ersatz — was bei Kunden mit mehreren Instrumenten möglicherweise nicht das richtige ist."
    },
    "customers": {
      "title": "Kundenverwaltung",
      "intro": "Verwalten Sie alle Kundendaten an einem Ort. Fügen Sie Kunden hinzu, verknüpfen Sie Klaviere, verfolgen Sie die Servicehistorie und senden Sie professionelle E-Mails — alles aus einer Übersicht.",
      "addTitle": "Kunden hinzufügen",
      "addStep1Title": "Gehen Sie zu Kunden",
      "addStep1Text": "Klicken Sie auf \"Kunden\" im Navigationsmenü, um die Kundenübersicht zu öffnen.",
      "addStep2Title": "Klicken Sie auf + Neuer Kunde",
      "addStep2Text": "Füllen Sie Name, Adresse, E-Mail und Telefon aus. Die Adresse wird für Fahrzeitberechnungen verwendet.",
      "addStep3Title": "Fügen Sie Notizen hinzu (optional)",
      "addStep3Text": "Fügen Sie Parkhinweise, Zugangscodes oder besondere Wünsche hinzu. Diese Notizen erscheinen beim Erstellen von Terminen.",
      "detailTitle": "Kunden-Detailseite",
      "detailText": "Klicken Sie auf einen Kunden, um das vollständige Profil zu sehen. Hier finden Sie:",
      "detailPianos": "Alle verknüpften Klaviere mit Servicestatus",
      "detailHistory": "Vollständige Terminhistorie",
      "detailBooking": "Persönlicher Buchungslink zum Teilen mit dem Kunden",
      "detailInvite": "Stimm-Einladungen direkt versenden",
      "detailNotes": "Kontaktdaten und Notizen",
      "searchTitle": "Suchen & Filtern",
      "searchText": "Verwenden Sie die Suchleiste, um schnell Kunden nach Name, E-Mail, Stadt oder Telefonnummer zu finden. Die Liste wird aktualisiert, während Sie tippen.",
      "tip": "Sie können auch neue Kunden direkt beim Erstellen eines Termins hinzufügen. Geben Sie den Namen im Kundenfeld ein und klicken Sie auf '+ Neuen Kunden anlegen'.",
      "duplicatesTitle": "Duplikaterkennung",
      "duplicatesIntro": "PianoPlanner erkennt automatisch mögliche Duplikate in Ihrer Kundendatenbank anhand von Name, E-Mail, Telefonnummer und Adresse. Durch Fuzzy Matching (Levenshtein-Algorithmus) werden auch kleine Tippfehler erkannt.",
      "dupStep1Title": "Duplikate öffnen",
      "dupStep1Text": "Gehen Sie zu Kunden und klicken Sie auf \"Duplikate\", um alle erkannten Duplikatpaare anzuzeigen.",
      "dupStep2Title": "Übereinstimmungen prüfen",
      "dupStep2Text": "Jedes Paar zeigt die übereinstimmenden Felder und einen Ähnlichkeitswert. Fuzzy Matches werden mit einem Badge gekennzeichnet.",
      "dupStep3Title": "Kunden zusammenführen",
      "dupStep3Text": "Klicken Sie auf \"Zusammenführen\", um zwei Kundenprofile zu kombinieren. Alle Klaviere, Termine, Rechnungen, Notizen und Servicehistorie werden in einer Transaktion übertragen.",
      "mergeUndoTip": "Es sich anders überlegt? Sie können eine Zusammenführung bis zu 30 Tage rückgängig machen unter Kunden → Merge-Verlauf."
    },
    "pianos": {
      "title": "Klavierverwaltung",
      "intro": "Verfolgen Sie jedes Klavier, das Sie stimmen oder warten. Erfassen Sie Marke, Modell, Seriennummer, Baujahr und Zustand. Verknüpfen Sie Klaviere mit Kunden und führen Sie eine vollständige Servicehistorie.",
      "addTitle": "Klavier hinzufügen",
      "addStep1Title": "Gehen Sie zu Klaviere",
      "addStep1Text": "Klicken Sie auf \"Klaviere\" im Navigationsmenü, klicken Sie dann auf \"+ Neues Klavier\".",
      "addStep2Title": "Verknüpfen Sie mit einem Kunden",
      "addStep2Text": "Wählen Sie den Kunden, dem dieses Klavier gehört. Das Klavier erscheint auf dessen Detailseite.",
      "addStep3Title": "Füllen Sie die Klavierdaten aus",
      "addStep3Text": "Marke, Modell, Seriennummer, Baujahr, Typ (Flügel/Klavier/Digital) und Standort im Haus.",
      "addStep4Title": "Stellen Sie das Stimmintervall ein",
      "addStep4Text": "Wählen Sie, wie oft dieses Klavier gestimmt werden soll: alle 3, 6 oder 12 Monate, oder 0, wenn der Kunde selbst Kontakt aufnimmt.",
      "detailTitle": "Klavier-Detailseite",
      "detailInfo": "Vollständige Klavierspezifikationen und Zustandsnotizen",
      "detailService": "Servicehistorie — alle bisherigen Termine und Stimmungen",
      "detailStatus": "Servicestatus-Anzeige: im Plan, bald fällig oder überfällig",
      "detailPhotos": "Fotos — laden Sie Bilder des Klaviers als Referenz hoch",
      "serviceIntervalTitle": "Stimmintervalle erklärt",
      "intervalHeader": "Intervall",
      "meaningHeader": "Bedeutung",
      "interval0": "Kunde nimmt selbst Kontakt auf — keine automatischen Erinnerungen",
      "interval3": "Alle 3 Monate — für Konzertflügel oder intensive Nutzung",
      "interval6": "Alle 6 Monate — Standard für die meisten Klaviere",
      "interval12": "Jährlich — für Klaviere mit leichter Nutzung",
      "smartPickTitle": "Smart Pick verwendet diese Intervalle",
      "smartPickText": "Beim Erstellen eines Termins markiert Smart Pick automatisch Klaviere, die gewartet werden müssen, basierend auf dem eingestellten Intervall und der letzten Wartung."
    },
    "switchCalendar": {
      "title": "Kalender wechseln",
      "intro": "Möchten Sie von Google Calendar zu Apple Calendar wechseln (oder umgekehrt)? Das geht ohne Verlust von Terminen. Dies ist auch interessant, wenn Sie sich von amerikanischen Cloud-Diensten lösen und mehr Kontrolle über Ihre Daten haben möchten.",
      "noDataLoss": "Kein Datenverlust",
      "noDataLossText": "Alle Termine sind immer sicher in PianoPlanner gespeichert. Kalender-Sync ist nur eine Kopie in Ihrer Kalender-App. Wenn Sie eine Synchronisation stoppen, bleiben alle Termine bestehen — sowohl in PianoPlanner als auch in Ihrem alten Kalender.",
      "whySwitch": "Warum wechseln?",
      "reason1": "Datenschutz: Apple verarbeitet Daten in Europa (DSGVO), Google in den USA",
      "reason2": "Weniger abhängig von Big Tech: Kein Google-Konto mehr für Ihren Kalender nötig",
      "reason3": "Bessere Integration: Apple Calendar funktioniert nahtlos auf iPhone, iPad und Mac",
      "reason4": "Digitale Souveränität: Ihre Daten, Ihre Wahl, wo sie gespeichert werden",
      "howTo": "Schritt-für-Schritt-Anleitung",
      "step1Title": "1. Überprüfen Sie Ihre Termine",
      "step1Text": "Gehen Sie zu Ihrem Kalender in PianoPlanner und überprüfen Sie, ob alle Termine vorhanden sind. Alle Daten werden zentral gespeichert — die Kalender-Synchronisation ist nur eine Kopie.",
      "step2Title": "2. Trennen Sie Ihren aktuellen Kalender",
      "step2Text": "Gehen Sie zu Einstellungen → Kalender und klicken Sie auf 'Verbindung trennen' bei Ihrem aktuellen Anbieter (z.B. Google). Ihre Termine in PianoPlanner und in Ihrem alten Kalender bleiben bestehen.",
      "step3Title": "3. Erstellen Sie ein app-spezifisches Passwort (Apple)",
      "step3Text": "Gehen Sie zu appleid.apple.com → Anmeldung und Sicherheit → App-spezifische Passwörter. Erstellen Sie ein neues Passwort mit dem Namen 'PianoPlanner'.",
      "step4Title": "4. Verbinden Sie Apple Calendar",
      "step4Text": "Gehen Sie zu Einstellungen → Kalender → Apple. Geben Sie Ihre Apple-ID-E-Mail und das app-spezifische Passwort ein. Wählen Sie den richtigen Kalender.",
      "step5Title": "5. Synchronisieren",
      "step5Text": "PianoPlanner sendet automatisch alle bestehenden Termine (bis 1 Jahr zurück und 1 Jahr voraus) an Ihren neuen Apple Calendar. Sie müssen nichts manuell übertragen.",
      "tipTitle": "Tipp: Alten Kalender aufräumen",
      "tipText": "Nach dem Wechsel stehen Ihre Termine noch in Ihrem alten Kalender (z.B. Google). Sie können sie als Archiv belassen oder später manuell löschen. Sie werden nicht mehr synchronisiert.",
      "comparisonTitle": "Vergleich: Google vs Apple",
      "dataLocation": "Datenspeicherort",
      "dataGoogle": "USA (Google Cloud)",
      "dataApple": "Europa (Apple iCloud)",
      "syncType": "Sync-Methode",
      "direction": "Richtung",
      "dirBoth": "Bidirektional",
      "privacy": "Datenschutz (DSGVO)"
    },
    "routeAnalysis": {
      "title": "Routenanalyse",
      "intro": "Die Routenanalyse zeigt Ihnen, wie effizient Ihre Tagesplanung ist. Sehen Sie Entfernungen zwischen Terminen, erhalten Sie eine Effizienzbewertung und bekommen Sie Vorschläge zur Routenoptimierung.",
      "availableFor": "Verfügbar für Solo & Pro",
      "availableForText": "Die Routenanalyse ist in Solo- und Pro-Abonnements enthalten. Free-Nutzer können upgraden, um diese leistungsstarke Funktion freizuschalten.",
      "howToAccessTitle": "Zugriff",
      "step1Title": "1. Dashboard öffnen",
      "step1Text": "Gehen Sie zu Ihrer Kalender-/Terminansicht in PianoPlanner.",
      "step2Title": "2. Klicken Sie auf \"Analyse\"",
      "step2Text": "Finden Sie den 📊 Analyse-Button in der Werkzeugleiste, neben Route und Sync.",
      "step3Title": "3. Wählen Sie Tag oder Woche",
      "step3Text": "Wechseln Sie zwischen Tagesansicht (detailliert) und Wochenansicht (Übersicht).",
      "dayAnalysisTitle": "Tagesanalyse",
      "dayAnalysisIntro": "Die Tagesansicht zeigt:",
      "dayFeature1": "📊 Effizienzbewertung (A-F Note) — Wie gut Ihre Route optimiert ist",
      "dayFeature2": "🚗 Gesamtstrecke — Summe aller Fahrten zwischen Terminen",
      "dayFeature3": "⏱️ Fahrzeit — Geschätzte Fahrzeit für alle Strecken",
      "dayFeature4": "📍 Fahrtenliste — Jede Fahrt mit Start, Ziel, km und Minuten",
      "weekAnalysisTitle": "Wochenanalyse",
      "weekAnalysisIntro": "Die Wochenansicht bietet eine breitere Perspektive:",
      "weekFeature1": "📅 Tagesbewertungen — Sehen Sie, welche Tage effiziente vs. ineffiziente Routen haben",
      "weekFeature2": "📈 Wochendurchschnitt — Gesamte Effizienz in Prozent",
      "weekFeature3": "⚡ Tagesübergreifende Chancen — Vorschläge zum Verschieben von Terminen zwischen Tagen",
      "efficiencyScoresTitle": "Effizienzbewertungen verstehen",
      "gradeHeader": "Note",
      "scoreHeader": "Bewertung",
      "meaningHeader": "Bedeutung",
      "gradeA": "Ausgezeichnet! Ihre Route ist sehr gut optimiert.",
      "gradeB": "Gute Route mit kleinen Verbesserungsmöglichkeiten.",
      "gradeC": "Akzeptabel, aber beachten Sie die Vorschläge.",
      "gradeD": "Ineffiziente Route — folgen Sie den Optimierungstipps.",
      "gradeF": "Sehr ineffizient — erhebliche Optimierung notwendig.",
      "optimizationTitle": "1-Klick-Optimierung",
      "optimizationIntro": "Wenn das System Optimierungschancen findet, sehen Sie Vorschläge mit einem \"Durchführen\"-Button. Ein Klick wird:",
      "optStep1": "Auf Konflikte mit bestehenden Terminen prüfen",
      "optStep2": "Eine Bestätigung mit der vorgeschlagenen Änderung anzeigen",
      "optStep3": "Den Termin verschieben, wenn Sie bestätigen",
      "urgencyTitle": "Dringlichkeitsanzeigen",
      "urgencyIntro": "Jeder Vorschlag hat eine farbige Dringlichkeitsstufe:",
      "urgencyWhen": "Wann",
      "urgencyAction": "Aktion",
      "urgencyCritical": "Sie kommen zu spät!",
      "urgencyCriticalAction": "Sofort handeln",
      "urgencyHigh": "Risiko der Verspätung (<10 Min. Puffer)",
      "urgencyHighAction": "Heute beheben",
      "urgencyMedium": "Lange Fahrt (>30km) oder Zickzack",
      "urgencyMediumAction": "Erwägen",
      "urgencyLow": "Optimierungsmöglichkeit",
      "urgencyLowAction": "Wäre schön",
      "economicTitle": "Wirtschaftliche Auswirkung",
      "economicText": "Jeder Vorschlag zeigt die mögliche Einsparung in km, Minuten und Kraftstoffkosten. Zum Beispiel: '42 km Fahrt = ~9€ Kraftstoffkosten' hilft Ihnen, die tatsächlichen Kosten ineffizienter Routen zu verstehen.",
      "tipsTitle": "Tipps für bessere Routen",
      "tipsText": "Fuegen Sie Adressen zu allen Kunden hinzu\nVerwenden Sie Smarte Vorschlaege bei neuen Terminen\nPruefen Sie die Wochenanalyse\nErwaegen Sie Termine zu verschieben bei D oder F Bewertungen\nVerwenden Sie die Streamline-Taste um Ihren Zeitplan zu straffen"
    },
    "privateAppointments": {
      "title": "Private Termine",
      "intro": "Möchten Sie persönliche Fahrten getrennt von geschäftlichen Terminen erfassen? Markieren Sie Termine als privat, um sie in Ihrer Kilometererfassung getrennt zu halten und synchronisieren Sie sie ohne Details in externe Kalender.",
      "howToTitle": "Einen privaten Termin erstellen",
      "step1Title": "Erstellen oder bearbeiten Sie einen Termin",
      "step1Text": "Öffnen Sie das Terminformular im Dashboard.",
      "step2Title": "Schalten Sie \"Privater Termin\" ein",
      "step2Text": "Aktivieren Sie den lila Toggle, um dies als private Fahrt zu markieren.",
      "step3Title": "Fügen Sie einen Zweck hinzu (optional)",
      "step3Text": "Geben Sie eine Beschreibung ein wie \"Arzt\", \"Einkäufe\" oder \"Familienbesuch\".",
      "visualTitle": "Visuelle Unterscheidung",
      "visualText": "Private Termine erscheinen lila mit einem 🔒 Symbol in Ihrem Kalender, so dass sie leicht von geschäftlichen Terminen zu unterscheiden sind.",
      "syncTitle": "Kalender-Synchronisation",
      "syncText": "Bei der Synchronisation mit Google, Apple oder Microsoft Kalendern erscheinen private Termine als \"Beschäftigt\" ohne Details, Standort oder Beschreibung. Ihre Privatsphäre ist geschützt!",
      "taxTip": "Private Kilometer werden separat erfasst und können für Steuerzwecke exportiert werden. Dies hilft, eine klare Trennung zwischen geschäftlichen und privaten Fahrten zu gewährleisten."
    },
    "mileageTracking": {
      "title": "Kilometererfassung",
      "intro": "PianoPlanner erfasst automatisch Ihre gefahrenen Kilometer basierend auf Terminstandorten. Sehen Sie eine vollständige Übersicht aufgeteilt nach geschäftlichen und privaten Fahrten.",
      "introNew": "Führen Sie eine finanzamtssichere Km-Dokumentation. PianoPlanner erfasst automatisch Kilometer von Terminen, und Sie können manuelle Fahrten hinzufügen, Kilometerstände eingeben und alles für Ihre Steuererklärung exportieren.",
      "proFeature": "Pro-Funktion",
      "proFeatureText": "Kilometererfassung ist mit dem Pro-Abonnement (39,50€/Monat) und höher verfügbar.",
      "accessTitle": "Wo Sie es finden",
      "accessDashboard": "Dashboard — Das Km-Widget im rechten Panel zeigt Ihren aktuellen Monat und lässt Sie schnell Fahrten hinzufügen",
      "accessSettings": "Einstellungen → Unternehmen → Km-Erfassung — Vollständige Übersicht mit Fahrzeuginfo, Kilometerständen, Diagramm und Exporten",
      "accessTravelReport": "Reisekosten — Detaillierte Fahrtenliste mit Routeninformationen und CSV-Export",
      "accessText": "Gehen Sie zu Einstellungen → Unternehmen → Kilometererfassung, um Ihre Kilometerübersicht anzuzeigen.",
      "vehicleTitle": "Fahrzeug einrichten",
      "vehicleText": "Gehen Sie zu Einstellungen → Unternehmen → Km-Erfassung und tragen Sie Ihr Kennzeichen und den Fahrzeugnamen ein. Dies erscheint auf Ihren Kilometerberichten und PDF-Exporten.",
      "odometerTitle": "Kilometerstände",
      "odometerText": "Erfassen Sie Ihre Kilometerstände regelmäßig (z.B. Anfang und Ende des Jahres). Dies dient als Nachweis für das Finanzamt und hilft, Ihre Fahrtenerfassung zu verifizieren.",
      "autoTrackTitle": "Automatische Erfassung",
      "autoTrackText": "Jeder Termin mit Kundenadresse erzeugt automatisch einen Fahrteneintrag. Das System berechnet die Entfernung von Ihrer Firmenadresse zum Kundenstandort.",
      "featuresTitle": "Funktionen",
      "feature1": "Jahresübersicht mit monatlichem Balkendiagramm",
      "feature2": "Separate Summen für geschäftliche (grün) und private (lila) Fahrten",
      "feature3": "Intelligente Rückfahrtberechnung: echte km vom letzten Kunden nach Hause über Google Maps",
      "feature4": "Export als CSV für Buchhaltung oder Steuererklärung",
      "smartCalcTitle": "Intelligente Rückfahrtberechnung",
      "smartCalcText": "Das System entscheidet automatisch, ob eine Fahrt einfach oder Hin- und Rückfahrt ist:",
      "oneWay": "Weitere Termine an dem Tag → Nur Hinfahrt (Sie fahren zum nächsten Standort weiter)",
      "roundTrip": "Letzter Termin des Tages → Hin- und Rückfahrt (echte km nach Hause über Google Maps)",
      "manualTitle": "Manuelle Fahrten",
      "manualText": "Für Fahrten, die nicht mit einem Termin verbunden sind (z.B. Ersatzteile abholen, Lieferant besuchen), fügen Sie manuelle Fahrten über das Dashboard-Km-Widget oder über die Einstellungen hinzu.",
      "manualStep1Title": "Schnelle Methode: Dashboard-Widget",
      "manualStep1Text": "Geben Sie km ein, Zweck und klicken Sie auf +. Markieren Sie 'Privat' für nicht-geschäftliche Fahrten, 'Hin & zurück' um die Entfernung zu verdoppeln.",
      "manualStep2Title": "Ausführliche Methode: Einstellungen",
      "manualStep2Text": "Gehen Sie zu Einstellungen → Km-Erfassung → Manuelle Fahrt Formular. Hier können Sie auch das genaue Datum, Von/Nach-Standorte einstellen und Fahrten löschen.",
      "exportTitle": "Export & Berichte",
      "exportCSV": "CSV-Export — Laden Sie alle Fahrten als Tabelle für Ihren Steuerberater herunter",
      "exportPDF": "PDF-Export — Erstellen Sie einen finanzamtssicheren Bericht mit Fahrzeugdaten, Kilometerständen und Fahrtenliste",
      "exportChart": "Monatsdiagramm — Visuelle Übersicht von geschäftlichen vs. privaten km pro Monat",
      "taxTip": "Das Finanzamt verlangt eine vollständige Fahrtendokumentation, wenn Sie geschäftliche Reisekosten geltend machen. Erfassen Sie Ihre Kilometerstände mindestens am Anfang und Ende jedes Jahres.",
      "exportTip": "Exportieren Sie Ihre Kilometerdaten am Ende jedes Jahres als CSV für Ihre Steuererklärung. Der Export enthält Datum, Typ, Standort, einfache Entfernung, Rückfahrt-Indikator und Gesamtkilometer."
    },
    "travelReport": {
      "title": "Reisekostenbericht",
      "intro": "Der Reisekostenbericht gibt Ihnen eine detaillierte Übersicht aller Fahrten über jeden Zeitraum. Filtern Sie nach Datumsbereich, sehen Sie Summen und exportieren Sie eine vollständige Abrechnung.",
      "howToTitle": "So verwenden Sie es",
      "step1Title": "Reisekosten öffnen",
      "step1Text": "Klicken Sie auf \"Reisekosten\" im Navigationsmenü (Auto-Symbol).",
      "step2Title": "Datumsbereich einstellen",
      "step2Text": "Verwenden Sie die 'Von'- und 'Bis'-Datumswähler, um den Zeitraum auszuwählen. Der Bericht wird automatisch aktualisiert.",
      "step3Title": "Zusammenfassung ansehen",
      "step3Text": "Oben sehen Sie Summen: Anzahl Fahrten, Gesamt km, Durchschnitts-km pro Fahrt, Fahrzeit und Erstattungsbetrag.",
      "step4Title": "Als CSV exportieren",
      "step4Text": "Klicken Sie auf den CSV-Button, um den vollständigen Bericht als Tabelle für Ihre Buchhaltung oder Ihren Steuerberater herunterzuladen.",
      "columnsTitle": "Berichtspalten",
      "columnHeader": "Spalte",
      "descriptionHeader": "Beschreibung",
      "colDate": "Datum",
      "colDateDesc": "Datum des Termins",
      "colCustomer": "Kunde",
      "colCustomerDesc": "Kundenname mit Link zur Detailseite",
      "colLocation": "Standort",
      "colLocationDesc": "Adresse des Termins",
      "colRoute": "Route",
      "colRouteDesc": "In Google Maps zur Navigation öffnen",
      "colDistance": "Entfernung",
      "colDistanceDesc": "Einfache Entfernung in km",
      "colTravelTime": "Fahrzeit",
      "colTravelTimeDesc": "Geschätzte Fahrzeit",
      "tip": "Verwenden Sie das Suchfeld, um Fahrten nach Kundenname oder Standort zu filtern. Kombinieren Sie dies mit einem Datumsbereich, um bestimmte Fahrten schnell zu finden."
    },
    "projectPlanner": {
      "title": "Werkstatt-Projektplaner",
      "intro": "Der Werkstatt-Projektplaner hilft Ihnen bei der Verwaltung größerer Werkstattaufträge — Klavierrestaurierungen, Revisionen oder jedes Projekt mit mehreren Schritten. Verfolgen Sie Aufgaben, Stunden, Fristen und verknüpfen Sie Projekte mit Kunden und Klavieren.",
      "businessOnly": "Business-Abonnement",
      "businessOnlyText": "Der Projektplaner ist exklusiv mit dem Business-Abonnement (89,50€/Monat) verfügbar. Upgraden Sie über Einstellungen → Abonnement, um diese Funktion freizuschalten.",
      "createTitle": "Ein Projekt erstellen",
      "createText": "Gehen Sie zu Projekte im Hauptmenü und klicken Sie auf 'Neues Projekt'. Geben Sie einen Titel, verknüpfen Sie optional einen Kunden und ein Klavier, legen Sie Priorität und Frist fest und schätzen Sie die Gesamtstunden.",
      "tasksTitle": "Aufgaben verwalten",
      "tasksText": "Jedes Projekt kann mehrere Aufgaben enthalten. Fügen Sie schnell Aufgaben über das Eingabefeld am Ende der Aufgabenliste hinzu, oder klicken Sie auf eine Aufgabe, um Details wie geschätzte/tatsächliche Stunden und Fälligkeitsdaten zu bearbeiten.",
      "task1": "Klicken Sie auf den Kreis, um den Status zu wechseln: Zu tun → In Arbeit → Erledigt",
      "task2": "Ziehen Sie Aufgaben am Griff, um die Reihenfolge zu ändern",
      "task3": "Verfolgen Sie geschätzte vs. tatsächliche Stunden pro Aufgabe",
      "task4": "Legen Sie Fälligkeitsdaten fest — überfällige Aufgaben werden rot markiert",
      "capacityTitle": "Kapazitätsübersicht",
      "capacityText": "Der Kapazitätsbalken in der Projektübersicht zeigt, wie viele Werkstattstunden Sie diese Woche genutzt haben vs. verfügbar sind. Dies basiert auf Ihren Werkstattzeiten in Einstellungen → Werkstatt.",
      "featuresTitle": "Funktionen",
      "feature1": "Verknüpfen Sie Projekte mit Kunden und Klavieren",
      "feature2": "Prioritätsstufen: Niedrig, Normal, Hoch, Dringend",
      "feature3": "Statusverwaltung: Planung → Aktiv → Pausiert → Abgeschlossen",
      "feature4": "Visueller Fortschrittsbalken basierend auf erledigten Aufgaben",
      "feature5": "Wöchentliche Kapazitätsübersicht basierend auf Ihren Werkstattzeiten",
      "feature6": "Filtern und Suchen durch alle Projekte",
      "quoteTitle": "Angebote & Preise",
      "quoteIntro": "Machen Sie aus Ihrer Aufgabenliste ein professionelles Angebot. Jede Aufgabe kann Preisinformationen enthalten, die automatisch berechnet werden und zum Teilen mit Ihrem Kunden bereit sind.",
      "excelEditTitle": "Excel-Stil-Bearbeitung",
      "excelEditText": "Die Aufgabenliste funktioniert wie eine Tabellenkalkulation. Klicken Sie auf eine Zelle, um inline zu bearbeiten. Änderungen werden automatisch gespeichert, während Sie tippen. Drücken Sie Enter für die nächste Zeile oder Tab für die nächste Spalte.",
      "taskTypesTitle": "Aufgabentypen",
      "taskTypeLabor": "<strong>Arbeit</strong> — Arbeitsstunden abgerechnet zu Ihrem Stundensatz (einstellbar über Einstellungen → Werkstatt)",
      "taskTypeMaterial": "<strong>Material</strong> — Ersatzteile, Saiten, Filz usw. Erfassen Sie den Einkaufspreis für Margenberechnung",
      "taskTypeOther": "<strong>Sonstiges</strong> — Transport, Entsorgung, Mietkosten",
      "costOverviewTitle": "Kostenübersicht",
      "costOverviewText": "Die Kostenübersicht unten zeigt Echtzeit-Summen für Arbeit, Material und sonstige Kosten. Nur als \"fakturierbar\" (grünes Häkchen) markierte Aufgaben werden im Angebot berücksichtigt. Deaktivieren Sie die Fakturierbarkeit für interne Aufgaben, die Sie nicht weiterberechnen möchten.",
      "exportQuoteTitle": "Angebot exportieren",
      "exportQuoteText": "Klicken Sie auf \"Angebot kopieren\", um eine Textversion in die Zwischenablage zu kopieren (ideal für E-Mails), oder klicken Sie auf \"PDF\", um ein professionell formatiertes Angebot zu öffnen, das zum Drucken oder Speichern als PDF bereit ist.",
      "quoteTip": "Stellen Sie Ihren Stundensatz über Einstellungen → Werkstatt ein. Neue Arbeitsaufgaben verwenden automatisch diesen Satz. Für Materialien können Sie sowohl den Einkaufspreis (was Sie zahlen) als auch den Verkaufspreis eingeben, um Ihre Marge zu verfolgen.",
      "tip": "Verwenden Sie Projekte für jeden mehrtägigen Werkstattauftrag: vollständige Restaurierungen, Mechanikrevisionen, Resonanzbodenreparaturen oder auch die Koordination von Instrumententransporten. Die Aufgabenliste hält Sie auf Kurs und die Stundenübersicht hilft beim Kalkulieren zukünftiger vergleichbarer Aufträge."
    },
    "accountingIntegration": {
      "title": "Buchhaltungsintegration",
      "intro": "PianoPlanner kann Ihre Rechnungen direkt mit Ihrer Buchhaltungssoftware synchronisieren, sodass Sie keine manuelle Eingabe mehr benötigen. Gehen Sie zu <strong>Einstellungen → Integrationen</strong>, um Ihr Buchhaltungspaket zu verbinden.",
      "availableTitle": "Verfügbare Integrationen",
      "availableText": "Derzeit sind zwei Integrationen voll funktionsfähig. Weitere werden entwickelt, um Klaviertechniker in den Niederlanden, Belgien und Deutschland zu unterstützen.",
      "jorttTitle": "Jortt (Niederlande)",
      "jorttIntro": "Jortt ist ein beliebtes niederländisches Buchhaltungspaket für Freiberufler und kleine Unternehmen. PianoPlanner verbindet sich über OAuth2 für sichere, automatische Rechnungssynchronisierung.",
      "jorttStep1Title": "API-Zugangsdaten erhalten",
      "jorttStep1Text": "Melden Sie sich bei Ihrem Jortt-Konto an und gehen Sie zu <strong>Einstellungen → API</strong>. Erstellen Sie einen neuen API-Client, um Ihre Client-ID und Ihr Client-Secret zu erhalten.",
      "jorttStep2Title": "In PianoPlanner verbinden",
      "jorttStep2Text": "Navigieren Sie zu <strong>Einstellungen → Integrationen</strong>, finden Sie die Jortt-Karte, geben Sie Ihre Client-ID und Ihr Client-Secret ein und klicken Sie auf <strong>Verbinden</strong>.",
      "jorttStep3Title": "Synchronisierung konfigurieren",
      "jorttStep3Text": "Wählen Sie, ob Rechnungen automatisch bei Erstellung oder manuell über die Sync-Schaltfläche synchronisiert werden sollen. Sie können auch die automatische Synchronisierung aktivieren, wenn eine Rechnung als gesendet markiert wird.",
      "odooTitle": "Odoo (International)",
      "odooIntro": "Odoo ist ein internationales Open-Source-ERP-System mit einem leistungsstarken Buchhaltungsmodul. PianoPlanner verbindet sich über die JSON-RPC-API von Odoo.",
      "odooWarning": "Der Odoo-API-Zugang erfordert einen Custom- oder Enterprise-Plan. Der kostenlose Odoo-Online-Plan beinhaltet keinen externen API-Zugang.",
      "odooStep1Title": "Odoo-Details sammeln",
      "odooStep1Text": "Sie benötigen vier Dinge: Ihre Odoo-URL (z.B. https://meinefirma.odoo.com), Ihren Datenbanknamen, Ihren Benutzernamen (E-Mail) und einen API-Schlüssel. Generieren Sie einen API-Schlüssel in Odoo über <strong>Einstellungen → Benutzer → API-Schlüssel</strong>.",
      "odooStep2Title": "In PianoPlanner verbinden",
      "odooStep2Text": "Gehen Sie zu <strong>Einstellungen → Integrationen</strong>, finden Sie die Odoo-Karte, füllen Sie alle vier Felder aus und klicken Sie auf <strong>Verbinden</strong>. PianoPlanner überprüft Ihre Zugangsdaten sofort.",
      "odooStep3Title": "Rechnungen synchronisieren",
      "odooStep3Text": "Nach der Verbindung verwenden Sie die <strong>Sync</strong>-Schaltfläche, um Rechnungen an Odoo zu senden. Jede Rechnung erstellt eine Kundenrechnung (account.move) in Odoo, und fehlende Kontakte werden automatisch erstellt.",
      "syncLogTitle": "Synchronisierungsprotokoll",
      "syncLogText": "Jede Synchronisierungsaktion wird protokolliert. Sie können den Synchronisierungsverlauf in den Integrationseinstellungen einsehen, um zu sehen, welche Rechnungen erfolgreich gesendet wurden und bei welchen Fehler aufgetreten sind.",
      "comingSoonTitle": "Demnächst verfügbar",
      "comingSoonText": "Wir arbeiten aktiv an Integrationen mit weiteren Buchhaltungspaketen, die von Klaviertechnikern in ganz Europa genutzt werden:",
      "comingSoonMoneybird": "Beliebte niederländische Online-Buchhaltung",
      "comingSoonEboekhouden": "Niederländische Cloud-Buchhaltung",
      "comingSoonExact": "Niederländisches/internationales ERP-System",
      "comingSoonDatev": "Deutscher Marktführer für Steuerberater",
      "comingSoonLexoffice": "Beliebte deutsche Cloud-Buchhaltung",
      "comingSoonSevdesk": "Deutsche Online-Buchhaltung für Freiberufler",
      "comingSoonYuki": "Niederländisch/belgische Buchhaltung mit Dokumentenverarbeitung",
      "comingSoonBillit": "Belgische Rechnungsplattform",
      "tip": "Fehlt Ihr Buchhaltungspaket? Lassen Sie es uns über den Support wissen und wir priorisieren es. Alle Zugangsdaten werden verschlüsselt und sicher gespeichert — Ihre API-Schlüssel sind nach dem Speichern nie mehr sichtbar.",
      "moneybirdTitle": "Moneybird (Niederlande/Belgien)",
      "moneybirdIntro": "Moneybird ist ein beliebtes niederländisches Online-Buchhaltungspaket. PianoPlanner verbindet sich über die Moneybird-API zur automatischen Rechnungssynchronisierung.",
      "moneybirdStep1Title": "API-Token erhalten",
      "moneybirdStep1Text": "Melden Sie sich bei Ihrem Moneybird-Konto an und gehen Sie zu Einstellungen → Entwickler → Persönliche API-Tokens. Erstellen Sie einen neuen Token.",
      "moneybirdStep2Title": "In PianoPlanner verbinden",
      "moneybirdStep2Text": "Gehen Sie zu Einstellungen → Integrationen → Moneybird. Geben Sie Ihren API-Token und die Administrations-ID ein und klicken Sie auf Verbinden.",
      "moneybirdStep3Title": "Rechnungen synchronisieren",
      "moneybirdStep3Text": "Nach der Verbindung können Sie Rechnungen direkt an Moneybird senden. Kunden werden automatisch erstellt, wenn sie noch nicht existieren."
    },
    "dismiss": "Ausblenden",
    "smartFill": {
      "title": "Route füllen",
      "intro": "Haben Sie eine Lücke in Ihrem Zeitplan in einem bestimmten Gebiet? Route füllen hilft Ihnen, Kunden in der Nähe zu finden, die eine Stimmung benötigen, und lässt Sie ihnen mit einem Klick eine Einladung senden.",
      "howItWorksTitle": "Wie funktioniert es?",
      "step1Title": "1. Route füllen öffnen",
      "step1Text": "Gehen Sie zu Kunden und klicken Sie auf die grüne Schaltfläche \"Route füllen\" oben rechts.",
      "step2Title": "2. Standort eingeben",
      "step2Text": "Geben Sie einen Ortsnamen oder eine Postleitzahl ein und wählen Sie einen Suchradius (10-50 km). Klicken Sie auf Suchen.",
      "step3Title": "3. Ergebnisse prüfen",
      "step3Text": "Sie sehen eine Liste von Kunden, sortiert nach Dringlichkeit. Jeder Kunde zeigt Entfernung, letztes Stimmungsdatum und ein Dringlichkeits-Badge.",
      "step4Title": "4. Auswählen und senden",
      "step4Text": "Wählen Sie die Kunden aus, die Sie einladen möchten, und klicken Sie auf \"Einladungen senden\". Sie erhalten eine Stimmungseinladung mit Ihrem Buchungslink.",
      "urgencyTitle": "Dringlichkeits-Badges",
      "urgencyIntro": "Jeder Kunde erhält ein farbiges Badge basierend auf der letzten Stimmung:",
      "urgencyOverdue": "🔴 Überfällig — Über das Stimmintervall hinaus",
      "urgencyDue": "🟠 Fällig — Innerhalb eines Monats des Intervalls",
      "urgencySoon": "🟡 Bald — Innerhalb von drei Monaten des Intervalls",
      "urgencyOk": "🟢 Im Zeitplan — Noch nicht fällig",
      "benefitsTitle": "Warum Route füllen nutzen?",
      "benefitsText": "• Füllen Sie Lücken in Ihrem Zeitplan proaktiv\n• Kombinieren Sie mehrere Termine im selben Gebiet\n• Kunden schätzen die persönliche Erinnerung\n• Weniger fahren, mehr verdienen",
      "tip": "Nur Kunden mit einem konfigurierten Stimmintervall und einer E-Mail-Adresse erscheinen in den Ergebnissen. Stellen Sie sicher, dass Ihre Kundendaten aktuell sind."
    },
    "autoReminders": {
      "title": "Automatische Stimmerinnerungen",
      "intro": "PianoPlanner kann automatisch Stimmerinnerungen an Kunden senden, wenn ihr Klavier gestimmt werden muss. Sie müssen nichts tun — das System prüft pro Klavier, wann die letzte Stimmung war, addiert das Stimmintervall und sendet zum richtigen Zeitpunkt eine Erinnerung. Bei keiner Reaktion folgen automatische Nachfassungen.",
      "whatIsIt": "Was ist der Unterschied zu manuellen Einladungen?",
      "whatIsItText": "Manuelle Einladung: Sie klicken selbst bei jedem Kunden auf das E-Mail-Symbol, um eine Einladung zu senden. Automatische Erinnerung: PianoPlanner erledigt dies für Sie. Sie stellen einmal ein, wie es funktionieren soll, und danach werden alle Kunden automatisch zum richtigen Zeitpunkt erinnert. Inklusive Nachfassungen, wenn sie nicht reagieren.",
      "howItWorks": "Wie funktioniert es?",
      "step1": "1. Klavier hat ein Stimmintervall",
      "step1Text": "Erinnerungen werden nur für Klaviere gesendet, bei denen ein Stimmintervall eingestellt ist (3, 6 oder 12 Monate). Klaviere mit \"Nimmt selbst Kontakt auf\" (Stimmintervall 0) werden übersprungen.",
      "step2": "2. Erste Erinnerung wird gesendet",
      "step2Text": "Angenommen, ein Klavier hat ein Stimmintervall von 6 Monaten und die letzte Stimmung war am 1. Januar. Dann ist die nächste Stimmung um den 1. Juli fällig. Bei der Standardeinstellung (30 Tage im Voraus) erhält der Kunde die erste Erinnerung um den 1. Juni.",
      "step3": "3. Nachfassung bei keiner Reaktion",
      "step3Text": "Wenn der Kunde nicht reagiert (keinen Termin bucht), folgt nach 14 Tagen automatisch eine zweite Erinnerung. Danach folgt monatlich eine weitere Erinnerung, bis das Maximum erreicht ist (standardmäßig 4 Erinnerungen pro Zyklus).",
      "step4": "4. Zyklus stoppt automatisch",
      "step4Text": "Die Erinnerungen hören automatisch auf, sobald der Kunde einen Termin bucht, die maximale Anzahl an Erinnerungen erreicht ist oder der Kunde sich über den Link am Ende der E-Mail abmeldet.",
      "setupTitle": "Einrichten — Schritt für Schritt",
      "setup1": "1. Gehen Sie zu Einstellungen",
      "setup1Text": "Öffnen Sie die Einstellungen und scrollen Sie zur Karte \"Automatische Stimmerinnerungen\" (mit dem Glockensymbol). Klicken Sie darauf, um sie aufzuklappen.",
      "setup2": "2. Aktivieren Sie die Funktion",
      "setup2Text": "Schalten Sie den Schalter bei \"Automatische Erinnerungen aktivieren\" ein. Es erscheinen nun zusätzliche Optionen.",
      "setup3": "3. Stellen Sie den Zeitplan ein",
      "setup3Text": "Passen Sie die folgenden Einstellungen nach Ihren Wünschen an:",
      "setting": "Einstellung",
      "settingDefault": "Standard",
      "settingExplanation": "Erklärung",
      "settingAdvance": "Wie viele Tage vor der Stimmung die erste E-Mail gesendet wird. Beispiel: 30 Tage = ca. 1 Monat im Voraus.",
      "settingFollowup": "Wie viele Tage zwischen der ersten und zweiten Erinnerung liegen. Danach wird monatlich gesendet.",
      "settingMax": "Maximale Anzahl an E-Mails pro Klavier pro Stimmzyklus. Nach dieser Anzahl stoppt das System, auch wenn der Kunde nicht reagiert.",
      "settingTime": "Zu welcher Uhrzeit die E-Mails gesendet werden. Wählen Sie eine Zeit, zu der Ihre Kunden wahrscheinlich online sind.",
      "setup4": "4. Senden Sie einen Test",
      "setup4Text": "Klicken Sie auf \"Test senden\", um eine Beispiel-Erinnerung an Ihre eigene E-Mail-Adresse zu senden. So sehen Sie genau, wie die E-Mail für Ihre Kunden aussieht.",
      "setup5": "5. Klicken Sie auf Speichern",
      "setup5Text": "Vergessen Sie nicht, auf \"Speichern\" zu klicken! Ab jetzt werden Ihre Kunden automatisch erinnert.",
      "templateTitle": "E-Mail-Vorlage anpassen",
      "templateText": "Die automatischen Erinnerungen verwenden dieselbe Vorlage wie die manuellen Stimmeinladungen. Sie können diese Vorlage anpassen über:",
      "template1": "Über Einstellungen",
      "template1Text": "Klicken Sie bei den Stimmerinnerung-Einstellungen auf \"Vorlage bearbeiten\". Sie werden zum Template-Editor weitergeleitet.",
      "template2": "Zusätzliche Variablen",
      "template2Text": "Neben den Standard-Variablen (Kundenname, Klavier, etc.) stehen zwei zusätzliche Variablen für automatische Erinnerungen zur Verfügung:",
      "varReminderNumber": "Die Nummer der Erinnerung (1, 2, 3...). Nützlich, um sie im Text zu erwähnen.",
      "varUnsubscribeLink": "Ein Link, über den der Kunde sich von Erinnerungen abmelden kann. Dieser wird automatisch am Ende der E-Mail platziert.",
      "unsubscribeTitle": "Abmeldung durch Kunden",
      "unsubscribeText": "Am Ende jeder automatischen Erinnerung steht ein Abmeldelink. Wenn ein Kunde darauf klickt, erscheint eine saubere Seite mit der Bestätigung, dass er abgemeldet wurde. Er erhält dann keine Erinnerungen mehr von Ihnen.",
      "unsubscribeStats": "In den Statistiken bei den Einstellungen sehen Sie, wie viele Kunden sich abgemeldet haben. Möchten Sie einen Kunden erneut anmelden? Kontaktieren Sie den Helpdesk.",
      "dashboardTitle": "Dashboard-Widget",
      "dashboardText": "Sobald Sie automatische Erinnerungen aktivieren, erscheint ein Widget auf Ihrem Dashboard mit drei Zahlen: die Gesamtzahl gesendeter Erinnerungen, die Anzahl dieses Monats und die Anzahl abgemeldeter Kunden.",
      "prereqTitle": "Voraussetzungen",
      "prereqCalloutTitle": "Wichtig zu wissen",
      "prereqCalloutText": "Automatische Erinnerungen werden nur gesendet, wenn alle Voraussetzungen erfüllt sind: die Funktion ist aktiviert, das Klavier hat ein Stimmintervall (3, 6 oder 12 Monate), das Klavier hat ein bekanntes Datum der letzten Stimmung, der Kunde hat eine E-Mail-Adresse und der Kunde hat sich nicht abgemeldet.",
      "tipTitle": "Tipp: Überprüfen Sie Ihre Kundendaten",
      "tipText": "Bevor Sie die automatischen Erinnerungen aktivieren, überprüfen Sie, ob Ihre Kunden eine E-Mail-Adresse haben und ob die Klaviere ein Stimmintervall und ein Datum der letzten Stimmung eingetragen haben."
    },
    "streamlineDay": {
      "title": "Tag optimieren",
      "intro": "Haben Sie Luecken zwischen Terminen? Die Streamline-Taste strafft Ihren Zeitplan automatisch durch Neuberechnung der Terminzeiten basierend auf echten Fahrzeiten.",
      "availableFor": "Verfuegbar fuer Solo & Pro",
      "availableForText": "Tag optimieren ist in Solo- und Pro-Abonnements enthalten.",
      "howItWorksTitle": "Wie funktioniert es?",
      "step1Title": "1. Route-Analyse oeffnen",
      "step1Text": "Gehen Sie zum Dashboard und klicken Sie auf den Analyse-Button.",
      "step2Title": "2. Optimieren klicken",
      "step2Text": "Klicken Sie in der Tagesanalyse auf den Streamline-Button.",
      "step3Title": "3. Vorschau pruefen",
      "step3Text": "Eine Vorschau zeigt den aktuellen vs. den vorgeschlagenen Zeitplan.",
      "step4Title": "4. Anwenden oder verwerfen",
      "step4Text": "Klicken Sie auf Anwenden um alle Terminzeiten zu aktualisieren.",
      "whatItDoesTitle": "Was berechnet Streamline?",
      "calc1": "Echte Fahrzeit von Ihrer Firmenadresse zum ersten Termin",
      "calc2": "Echte Fahrzeit zwischen aufeinanderfolgenden Terminen",
      "calc3": "Ihre konfigurierte Pufferzeit wird nach jeder Fahrzeit hinzugefuegt",
      "calc4": "Der erste Termin beginnt zu Arbeitszeit-Start + Fahrzeit",
      "previewTitle": "Die Vorschau verstehen",
      "previewText": "Die Vorschau zeigt jeden Termin mit aktueller und vorgeschlagener neuer Zeit.",
      "benefitsTitle": "Vorteile",
      "benefitsText": "Eliminiert unnoetige Luecken zwischen Terminen\nVerwendet echte Google Maps Fahrzeiten\nSchafft Zeit am Ende Ihres Tages frei\nEin Klick um den gesamten Zeitplan zu optimieren",
      "noteTitle": "Gut zu wissen",
      "noteText": "Streamline passt nur unbestaetigte Termine an. Private Termine bleiben unveraendert."
    },
    "trafficPrediction": {
      "title": "Verkehrsprognose",
      "intro": "PianoPlanner kann echte Verkehrsbedingungen bei der Berechnung von Fahrzeiten beruecksichtigen.",
      "howItWorksTitle": "Wie funktioniert es?",
      "howItWorksText": "Bei aktivierter Verkehrsprognose beruecksichtigt jede Fahrzeitberechnung die erwartete Abfahrtszeit.",
      "whereUsedTitle": "Wo wird es verwendet?",
      "usage1": "Smarte Vorschlaege - Buchungsvorschlaege beruecksichtigen Stossverkehr",
      "usage2": "Routenfarben - Kalenderfarben spiegeln realistische Fahrzeiten wider",
      "usage3": "Route-Analyse - Analyse verwendet verkehrsbewusste Dauern",
      "usage4": "Streamline - Optimierte Zeitplaene beruecksichtigen Verkehrsmuster",
      "enableTitle": "Wie aktivieren",
      "step1Title": "1. Zu Einstellungen gehen",
      "step1Text": "Navigieren Sie zu Einstellungen - Fahrzeit.",
      "step2Title": "2. Verkehrsprognose aktivieren",
      "step2Text": "Schalten Sie Verkehrsprognose ein.",
      "exampleTitle": "Beispiel",
      "exampleText": "Eine Fahrt von Tilburg nach Amsterdam dauert normalerweise 89 Minuten. Mit Verkehrsprognose zeigt PianoPlanner 91 Minuten fuer eine Montagmorgen-Abfahrt.",
      "noteTitle": "Gut zu wissen",
      "noteText": "Verkehrsprognosen basieren auf historischen Google Maps Verkehrsdaten. Der Cache wird alle 2 Stunden aktualisiert."
    },
    "servicesConfig": {
      "title": "Services",
      "intro": "Services definieren, was Sie Ihren Kunden anbieten — wie Stimmung, Regulierung oder Reparatur. Jeder Service hat eine eigene Dauer, einen Preis und eine Kalenderfarbe. Kunden sehen diese bei der Online-Buchung.",
      "howToTitle": "Services einrichten",
      "step1Title": "Gehen Sie zu Einstellungen → Services",
      "step1Text": "Hier finden Sie eine Übersicht aller Ihrer Services. Klicken Sie auf \"Service hinzufügen\", um einen neuen zu erstellen.",
      "step2Title": "Details ausfüllen",
      "step2Text": "Name, Dauer (in Minuten), Preis und optional eine Beschreibung, die Kunden auf der Buchungsseite sehen.",
      "step3Title": "Pufferzeiten festlegen",
      "step3Text": "Fügen Sie Pufferzeit vor und/oder nach dem Termin hinzu. So haben Sie Reisezeit oder Vorbereitungszeit zwischen den Terminen.",
      "step4Title": "Kalenderfarbe wählen",
      "step4Text": "Jeder Service kann eine eigene Farbe haben. Diese Farbe erscheint in Ihrem PianoPlanner-Kalender und wird mit Google Kalender synchronisiert. So sehen Sie auf einen Blick, welche Art von Termin Sie haben.",
      "step5Title": "Aktivieren oder deaktivieren",
      "step5Text": "Nur aktive Services erscheinen auf der Buchungsseite. Deaktivieren Sie einen Service, um ihn vorübergehend auszublenden, ohne ihn zu löschen.",
      "colorTitle": "Kalenderfarben",
      "colorText": "Service-Farben helfen Ihnen, Termintypen visuell im Kalender zu unterscheiden. Wählen Sie aus vordefinierten Farben wie Blau, Grün, Rot, Lila usw. Die Farbe wird auch bei der Synchronisierung mit Google Kalender verwendet.",
      "tip": "Erstellen Sie verschiedene Services für verschiedene Dauern. Zum Beispiel: \"Klavierstimmung\" (90 Min.), \"Flügelstimmung\" (120 Min.) und \"Schnellcheck\" (45 Min.). So buchen Kunden immer die richtige Zeit."
    },
    "reschedule": {
      "title": "Termin umbuchen",
      "intro": "Kunden können ihren Termin über einen sicheren Link in der Bestätigungs-E-Mail selbst umbuchen. Kein Anruf oder E-Mail nötig — sie wählen eine neue Zeit aus Smart-Vorschlägen und bestätigen mit einem Klick.",
      "howItWorksTitle": "Wie funktioniert es?",
      "step1Title": "Kunde erhält Bestätigungs-E-Mail",
      "step1Text": "Jede Buchungsbestätigung enthält eine \"Termin umbuchen\"-Schaltfläche mit einem einzigartigen, sicheren Link.",
      "step2Title": "Kunde klickt auf den Link",
      "step2Text": "Er sieht seinen aktuellen Termin und eine Liste verfügbarer Alternativzeiten, unterstützt durch Smart Suggestions mit Routenoptimierung.",
      "step3Title": "Kunde wählt eine neue Zeit",
      "step3Text": "Er wählt einen neuen Zeitslot und bestätigt. Der Termin wird automatisch umgebucht.",
      "step4Title": "Beide Parteien werden benachrichtigt",
      "step4Text": "Der Kunde erhält eine Bestätigungs-E-Mail mit der neuen Zeit. Sie (der Techniker) erhalten ebenfalls eine Benachrichtigung über die Umbuchung.",
      "rulesTitle": "Regeln",
      "rule1": "Umbuchung ist nur bis 24 Stunden vor dem Termin möglich",
      "rule2": "Vergangene Termine können nicht umgebucht werden",
      "rule3": "Der Link ist pro Termin einzigartig und funktioniert nur einmal",
      "rule4": "Kalendersynchronisierung (Google/Apple/Microsoft) wird automatisch ausgelöst",
      "tip": "Die Umbuchungsseite verwendet die gleiche Smart-Suggestions-Engine wie die Buchungsseite — der aktuelle Termin wird ausgeschlossen und nur Zeiten, die in Ihren Zeitplan und Ihre Route passen, werden angezeigt."
    },
    "routeOptimizer": {
      "title": "Routenoptimierung",
      "intro": "Der Routenoptimierer verwendet Google Maps, um die effizienteste Reihenfolge für Ihre Termine zu berechnen. Er kann Ihren Tag automatisch umordnen, um die Gesamtreisezeit zu minimieren.",
      "step1Title": "Optimierer öffnen",
      "step1Text": "Klicken Sie im Dashboard auf das Routensymbol an einem Tag mit mehreren Terminen. Der Optimierer öffnet sich mit einer Kartenansicht.",
      "step2Title": "Vorgeschlagene Reihenfolge prüfen",
      "step2Text": "Sie sehen Ihre Termine auf der Karte mit der optimierten Route eingezeichnet. Die Gesamtzeitersparnis wird angezeigt.",
      "step3Title": "Mit einem Klick anwenden",
      "step3Text": "Klicken Sie auf \"Optimierte Route anwenden\", um Ihre Termine automatisch umzuordnen. Die Kalendersynchronisierung wird automatisch aktualisiert.",
      "tip": "Der Optimierer funktioniert am besten, wenn Ihre Kunden genaue Adressen haben. Verwenden Sie Google Maps-Vorschläge beim Hinzufügen von Kundenadressen."
    },
    "qrCode": {
      "title": "QR-Code",
      "intro": "PianoPlanner hat einen integrierten QR-Code-Generator für Ihre Buchungsseite. Drucken Sie ihn auf Visitenkarten, Flyer oder platzieren Sie ihn in Ihrer Werkstatt — Kunden scannen ihn und gelangen direkt zu Ihrer Buchungsseite.",
      "step1Title": "QR-Code-Seite öffnen",
      "step1Text": "Navigieren Sie zu Einstellungen → Buchungslink und klicken Sie auf die QR-Code-Schaltfläche, oder öffnen Sie die QR-Seite direkt.",
      "step2Title": "Herunterladen oder drucken",
      "step2Text": "Der QR-Code verlinkt auf Ihre persönliche Buchungsseite. Laden Sie ihn als Bild herunter und verwenden Sie ihn auf Ihren Marketingmaterialien."
    },
    "pwaInstall": {
      "title": "Mobile App (PWA)",
      "intro": "PianoPlanner funktioniert als Progressive Web App (PWA) — Sie können sie auf Ihrem Telefon oder Tablet installieren und wie eine native App verwenden. Kein App Store nötig.",
      "iosTitle": "Installation auf iPhone / iPad",
      "iosStep1Title": "PianoPlanner in Safari öffnen",
      "iosStep1Text": "Gehen Sie zu pianoplanner.com und melden Sie sich an. Stellen Sie sicher, dass Sie Safari verwenden (nicht Chrome oder Firefox).",
      "iosStep2Title": "Auf \"Teilen\" tippen",
      "iosStep2Text": "Tippen Sie auf das Teilen-Symbol (Quadrat mit Pfeil) am unteren Bildschirmrand.",
      "iosStep3Title": "\"Zum Home-Bildschirm\" wählen",
      "iosStep3Text": "Scrollen Sie nach unten und tippen Sie auf \"Zum Home-Bildschirm\". PianoPlanner erscheint nun als App-Symbol auf Ihrem Home-Bildschirm.",
      "androidTitle": "Installation auf Android",
      "androidStep1Title": "PianoPlanner in Chrome öffnen",
      "androidStep1Text": "Gehen Sie zu pianoplanner.com und melden Sie sich über Chrome an.",
      "androidStep2Title": "Auf \"Installieren\" oder Menü tippen",
      "androidStep2Text": "Möglicherweise sehen Sie ein \"Installieren\"-Banner unten. Andernfalls tippen Sie auf die drei Punkte (⋮) und wählen \"App installieren\" oder \"Zum Startbildschirm hinzufügen\".",
      "featuresTitle": "Was Sie mobil bekommen",
      "feature1": "Vollständige Kalenderansicht für Touch optimiert",
      "feature2": "Kunden und Pianos schnell nachschlagen",
      "feature3": "Termine unterwegs erstellen und bearbeiten",
      "feature4": "Rechnungen vom Telefon erstellen und versenden",
      "feature5": "Push-Benachrichtigungen bei neuen Buchungen",
      "navigationTitle": "Navigation",
      "navigationText": "Die mobile App hat eine Navigationsleiste unten mit 5 Tabs: Kalender, Kunden, Klaviere, Rechnungen und Smart Planning. Sie können schnell zwischen allen Bereichen wechseln."
    },
    "pushNotifications": {
      "title": "Push-Benachrichtigungen",
      "intro": "Erhalten Sie sofortige Push-Benachrichtigungen, wenn ein Kunde online einen Termin bucht. Funktioniert auf Desktop und Mobilgeräten (wenn die PWA installiert ist).",
      "step1Title": "Benachrichtigungen aktivieren",
      "step1Text": "Gehen Sie zu Einstellungen → Benachrichtigungen und aktivieren Sie Push-Benachrichtigungen. Ihr Browser fragt nach Erlaubnis — klicken Sie auf \"Erlauben\".",
      "step2Title": "Testen",
      "step2Text": "Klicken Sie auf \"Testbenachrichtigung senden\", um zu prüfen, ob es funktioniert. Sie sollten innerhalb weniger Sekunden eine Benachrichtigung sehen.",
      "tip": "Für das beste Erlebnis installieren Sie die PWA auf Ihrem Telefon und aktivieren Sie Benachrichtigungen. So werden Sie sofort benachrichtigt, wenn ein Kunde bucht, auch wenn Sie PianoPlanner nicht aktiv nutzen."
    },
    "molliePayments": {
      "title": "Online-Zahlungen (Mollie)",
      "intro": "Akzeptieren Sie Kreditkarten- und andere Online-Zahlungen direkt auf Ihren Rechnungen über Mollie. Kunden klicken auf den Zahlungslink in der Rechnungs-E-Mail und bezahlen sofort.",
      "setupTitle": "Mollie einrichten",
      "step1Title": "Mollie-Konto erstellen",
      "step1Text": "Gehen Sie zu mollie.com und erstellen Sie ein kostenloses Konto. Schließen Sie den Verifizierungsprozess ab (Identitätsprüfung und Bankkonto).",
      "step2Title": "API-Schlüssel erhalten",
      "step2Text": "Gehen Sie in Ihrem Mollie-Dashboard zu Entwickler → API-Schlüssel. Kopieren Sie Ihren Live-API-Schlüssel.",
      "step3Title": "In PianoPlanner verbinden",
      "step3Text": "Gehen Sie zu Einstellungen → Integrationen → Mollie. Fügen Sie Ihren API-Schlüssel ein und klicken Sie auf Verbinden. PianoPlanner überprüft die Verbindung.",
      "step4Title": "Rechnungen mit Zahlungslink versenden",
      "step4Text": "Wenn Sie eine Rechnung per E-Mail versenden, wird automatisch ein Zahlungslink hinzugefügt. Kunden können direkt per Kreditkarte oder anderen Zahlungsmethoden bezahlen.",
      "tip": "Mollie erhebt keine monatlichen Gebühren — Sie zahlen nur pro Transaktion (z.B. 0,29 € pro Zahlung). Der Rechnungsstatus wird automatisch aktualisiert, wenn der Kunde bezahlt."
    },
    "subscription": {
      "title": "Abonnement & Abrechnung",
      "intro": "PianoPlanner bietet flexible Abonnements, die zu Ihren Bedürfnissen passen. Verwalten Sie Ihr Abonnement, upgraden, downgraden oder aktualisieren Sie Ihre Zahlungsdaten jederzeit.",
      "plansTitle": "Verfügbare Tarife",
      "planHeader": "Tarif",
      "priceHeader": "Preis",
      "featuresHeader": "Hauptfunktionen",
      "starterPrice": "Kostenlos",
      "starterFeatures": "Grundlegende Terminplanung, bis zu 25 Kunden, 50 Termine/Jahr, Kalenderexport, E-Mail-Bestätigungen",
      "soloFeatures": "Unbegrenzte Kunden & Termine, Routenoptimierung, Smart Suggestions, eigenes SMTP, Datenimport",
      "proFeatures": "Alles in Solo + Zwei-Wege-Kalendersync, Rechnungsstellung, Kilometererfassung, Buchhaltungsintegrationen",
      "teamsFeatures": "Alles in Pro + Team-Dashboard, Mehrere-Stimmer-Planung, Team-Buchungsseite, Projektplaner (max. 5 Stimmer, +€15/extra)",
      "businessFeatures": "Alles in Teams + Lagerverwaltung, Showroom-Chargen (max. 10 Stimmer)",
      "manageTitle": "Abonnement verwalten",
      "step1Title": "Zur Abrechnung",
      "step1Text": "Klicken Sie auf Ihr Profilsymbol → Abrechnung, oder gehen Sie direkt zur Abrechnungsseite.",
      "step2Title": "Up- oder downgraden",
      "step2Text": "Klicken Sie auf \"Tarif wechseln\", um zwischen Tarifen zu wechseln. Änderungen gelten ab Ihrem nächsten Abrechnungsdatum. Ein Upgrade gibt sofortigen Zugang zu neuen Funktionen.",
      "step3Title": "Zahlungsverwaltung",
      "step3Text": "Klicken Sie auf \"Zahlung verwalten\", um Ihre Kreditkarte zu aktualisieren, Rechnungen einzusehen oder Ihr Abonnement über das Stripe-Kundenportal zu kündigen."
    },
    "teams": {
      "title": "Teams",
      "intro": "Arbeiten Sie mit mehreren Technikern? Die Teams-Funktion ermöglicht die Verwaltung einer gemeinsamen Kundendatenbank, koordinierte Terminplanung und Team-Buchungsseiten.",
      "availabilityNote": "Teams ist im Teams-Tarif (€49,50/Monat) verfügbar. Funktionen umfassen: Teammitglieder-Einladungen, gemeinsame Kunden- und Pianodatenbank, koordinierter Kalender, iCal-Feeds pro Stimmer und eine Team-Buchungsseite, auf der Kunden einen Techniker wählen oder Smart Pick den besten Match bestimmen lassen können.",
      "setupTitle": "Erste Schritte mit Teams",
      "step1Title": "Team erstellen",
      "step1Text": "Gehen Sie zu Einstellungen → Teams und klicken Sie auf \"Team erstellen\". Benennen Sie Ihr Team und richten Sie es ein.",
      "step2Title": "Mitglieder einladen",
      "step2Text": "Laden Sie Techniker per E-Mail ein. Sie erhalten eine Einladung, Ihrem Team beizutreten.",
      "step3Title": "Team-Buchungsseite teilen",
      "step3Text": "Ihr Team erhält eine gemeinsame Buchungsseite, auf der Kunden ihren bevorzugten Techniker wählen können, oder das System den besten Match basierend auf Verfügbarkeit und Standort bestimmt."
    },
    "invoiceBookingLink": {
      "title": "Buchungslink in Rechnungen",
      "intro": "Fügen Sie einen persönlichen Buchungslink in Ihre Rechnungs-E-Mails ein, damit Kunden sofort ihren nächsten Stimmtermin vereinbaren können. Der Link verwendet das eindeutige Buchungstoken jedes Kunden und schlägt automatisch den richtigen Zeitraum basierend auf dem Stimmintervall des Klaviers vor.",
      "whyTitle": "Warum verwenden?",
      "whyText": "Nach dem Stimmen eines Klaviers erhält der Kunde Ihre Rechnung. Direkt unter dem Bezahl-Button sehen sie einen \"Nächsten Termin vereinbaren\" Button. Hat das Klavier ein 6-monatiges Stimmintervall und wurde heute gestimmt, öffnet sich der Kalender automatisch beim richtigen Monat.",
      "howTitle": "So funktioniert es",
      "step1Title": "1. Toggle aktivieren",
      "step1Text": "Gehen Sie zu Rechnungen → Einstellungen (⚙️) und aktivieren Sie \"Buchungslink in Rechnungs-E-Mails einfügen\". Dies fügt jedem E-Mail-Versand einer Rechnung einen Buchungs-Button hinzu.",
      "step2Title": "2. Rechnung versenden",
      "step2Text": "Wenn Sie eine Rechnung per E-Mail versenden, erscheint ein dunkler \"Nächsten Termin vereinbaren\" Button unter dem Bezahl-Button. Jeder Kunde erhält seinen eigenen persönlichen Link.",
      "step3Title": "3. Kunde klickt den Link",
      "step3Text": "Der Link öffnet die persönliche Buchungsseite des Kunden. Hat das Klavier ein Stimmintervall (z.B. 6 Monate), öffnet sich der Kalender automatisch beim vorgeschlagenen Monat. Intelligente Vorschläge zeigen die besten verfügbaren Zeiten. Der Kunde kann auch einen früheren Termin wählen.",
      "smartDateTitle": "Intelligente Datumsberechnung",
      "smartDateText": "Das vorgeschlagene Startdatum wird automatisch berechnet: letztes Stimmdatum + Stimmintervall. Hat ein Kunde mehrere Klaviere, wählt PianoPlanner das früheste nächste Stimmdatum. Beispiel: Ein am 9. April gestimmtes Klavier mit 6-Monats-Intervall schlägt den 9. Oktober als Startpunkt vor.",
      "tip": "Kunden mit einem Stimmintervall von 0 (\"Kunde meldet sich selbst\") sehen keinen Buchungslink. Stellen Sie sicher, dass Ihre Klaviere ein Stimmintervall und letztes Stimmdatum eingestellt haben.",
      "tipExisting": "Der Buchungslink erscheint nur wenn der Kunde ein Buchungstoken hat. Alle Kunden erhalten automatisch ein Token bei der Erstellung. Importierte Bestandskunden müssen möglicherweise einmal ihre Detailseite besuchen um ein Token zu generieren."
    },
    "inventory": {
      "title": "Inventarverwaltung",
      "intro": "Verwalten Sie Ihren Klavierbestand — Ausstellungsraum, Werkstattinstrumente und verkaufte Klaviere. Verfolgen Sie jedes Instrument vom Eingang bis zum Verkauf und planen Sie Showroom-Stimmbatches effizient.",
      "businessOnly": "Business-Funktion",
      "businessOnlyText": "Die Inventarverwaltung ist im Business-Abo (€89,50/Monat) verfügbar.",
      "addTitle": "Klaviere hinzufügen",
      "addText": "Navigieren Sie zu Inventar im Hauptmenü. Klicken Sie auf 'Klavier hinzufügen' um Marke, Modell, Seriennummer, Typ (Klavier, Flügel, Digital) und internen Standort einzugeben. Sie können auch Klaviere per CSV-Import hinzufügen.",
      "locationsTitle": "Standorte & Status",
      "locationsText": "Jedes Klavier hat einen Standort (Showroom, Werkstatt oder Sonstige) und einen Status (auf Lager oder verkauft). Filtern und durchsuchen Sie Ihr Inventar, um jedes Instrument schnell zu finden.",
      "batchTitle": "Showroom Batch-Planung",
      "batchText": "Wählen Sie mehrere Klaviere aus und klicken Sie auf 'Showroom Batch erstellen', um eine Stimmsitzung für alle auf einmal zu planen. Legen Sie den Standort fest, die geschätzte Dauer pro Klavier, und wählen Sie ein Datum — oder nutzen Sie Smart Suggestions für den besten Zeitpunkt.",
      "featuresTitle": "Funktionen",
      "feature1": "Klaviere nach Marke, Modell, Seriennummer und Typ verfolgen",
      "feature2": "Standort-Badges: Showroom, Werkstatt, Sonstige",
      "feature3": "Statusverfolgung: Auf Lager → Verkauft",
      "feature4": "Mehrere Klaviere für Showroom Batch-Stimmung auswählen",
      "feature5": "Smart Suggestions Integration für Batch-Planung",
      "feature6": "CSV-Import für Bestandsverwaltung",
      "tip": "Nutzen Sie die Showroom Batch-Planung, um alle Ausstellungsklaviere in einer effizienten Sitzung zu stimmen — keine Reisezeit nötig. Perfekt für Musikgeschäfte mit 10+ Instrumenten."
    },
    "blockedDays": {
      "title": "Gesperrte Tage & Urlaub",
      "intro": "Urlaub oder ein freier Tag? Sperren Sie Tage in Ihrem Kalender, damit Kunden keine Termine buchen können. Gesperrte Tage werden auch von Smart Suggestions übersprungen.",
      "howToTitle": "Tage sperren",
      "howToText": "Es gibt zwei Möglichkeiten, Tage zu sperren:",
      "dashboardMethodTitle": "Vom Dashboard aus",
      "dashStep1": "Klicken Sie auf einen Tag im Kalender",
      "dashStep1Text": "Das Aktionsmenü erscheint mit verschiedenen Optionen.",
      "dashStep2": "Wählen Sie \"Nicht verfügbar\"",
      "dashStep2Text": "Wählen Sie die rote Option \"Nicht verfügbar\" aus dem Aktionsmenü.",
      "dashStep3": "Daten und Grund festlegen",
      "dashStep3Text": "Wählen Sie Start- und Enddatum, fügen Sie optional einen Grund hinzu (z.B. \"Urlaub\", \"Fortbildung\"). Klicken Sie auf Speichern.",
      "settingsMethodTitle": "Aus den Einstellungen",
      "settingsMethodText": "Gehen Sie zu Einstellungen → Gesperrte Tage, um alle gesperrten Zeiträume auf einen Blick zu sehen. Fügen Sie neue hinzu, bearbeiten Sie bestehende oder entfernen Sie sie.",
      "effectsTitle": "Was passiert bei gesperrten Tagen?",
      "effect1": "Online-Buchung ist für diese Tage deaktiviert — Kunden sehen sie als nicht verfügbar",
      "effect2": "Smart Suggestions überspringt gesperrte Tage bei Terminvorschlägen",
      "effect3": "Gesperrte Tage erscheinen im Kalender mit einem eigenen visuellen Stil",
      "effect4": "Kalendersynchronisation respektiert gesperrte Tage — sie erscheinen als \"Beschäftigt\" in externen Kalendern",
      "tip": "Planen Sie Ihren Urlaub im Voraus. Gesperrte Tage sind sofort für buchende Kunden sichtbar und vermeiden Terminkonfikte."
    },
    "ubl": {
      "title": "UBL / e-Rechnung",
      "intro": "PianoPlanner kann maschinenlesbare UBL 2.1 XML-Rechnungen neben Ihren PDF-Rechnungen erstellen. Diese e-Rechnungen entsprechen europäischen Standards und werden automatisch per E-Mail angehängt.",
      "standardsTitle": "Unterstützte Standards",
      "standardHeader": "Standard",
      "countryHeader": "Land",
      "descHeader": "Beschreibung",
      "nlciusDesc": "Niederländische Umsetzung des EU-e-Rechnungsstandards",
      "xrechnungDesc": "Deutscher e-Rechnungsstandard, Pflicht für B2G-Rechnungen",
      "peppolDesc": "Paneuropäischer e-Rechnungsstandard für grenzüberschreitende Rechnungen",
      "howItWorksTitle": "Wie es funktioniert",
      "howItWorksText": "Gehen Sie zu Rechnungen → Einstellungen und suchen Sie den UBL-Schalter. Wenn aktiviert, enthält jede Rechnungs-E-Mail automatisch einen UBL-XML-Anhang neben dem PDF.",
      "optionsTitle": "Optionen",
      "option1": "<strong>Auto (Standard)</strong> — UBL für EU-Kunden aktiviert, für Nicht-EU deaktiviert",
      "option2": "<strong>Immer an</strong> — UBL XML bei jeder Rechnungs-E-Mail",
      "option3": "<strong>Aus</strong> — Kein UBL XML, nur PDF",
      "tip": "UBL e-Rechnungen werden zunehmend für B2G-Rechnungen (Behörden) in Europa vorgeschrieben. Auch wenn es für Ihre Kunden noch nicht Pflicht ist, sind Sie damit zukunftssicher."
    },
    "language": {
      "title": "Spracheinstellungen",
      "intro": "PianoPlanner ist in 9 Sprachen verfügbar. Ändern Sie Ihre Sprache jederzeit — alle Menüs, Labels, E-Mails und Rechnungsvorlagen passen sich an.",
      "howToTitle": "Sprache ändern",
      "step1Title": "Zu Einstellungen gehen",
      "step1Text": "Navigieren Sie zu Einstellungen → Sprache.",
      "step2Title": "Sprache auswählen",
      "step2Text": "Wählen Sie aus: English, English (US), Nederlands, Deutsch, Deutsch (Österreich), Deutsch (Schweiz), Français, Español oder Italiano.",
      "step3Title": "Automatische Aktualisierung",
      "step3Text": "Die Oberfläche wird sofort aktualisiert. Kein Neuladen nötig — alle Labels, Menüs und Benachrichtigungen wechseln zu Ihrer gewählten Sprache.",
      "whatChangesTitle": "Was ändert sich mit der Spracheinstellung?",
      "change1": "Alle Menüs, Labels und Schaltflächen der Oberfläche",
      "change2": "E-Mail-Vorlagen an Ihre Kunden",
      "change3": "Rechnungslabels und Formatierung",
      "change4": "Buchungsseiten für Ihre Kunden",
      "change5": "Datums- und Zahlenformatierung",
      "tip": "Ihre Spracheinstellung beeinflusst auch E-Mails an Kunden. Wenn Sie internationale Kunden bedienen, stellen Sie die Sprache passend zu Ihrer Hauptkundengruppe ein."
    },
    "tunerPortal": {
      "title": "Stimmer-Portal",
      "intro": "Das Stimmer-Portal gibt Teammitgliedern eine einfache Nur-Lese-Ansicht ihrer zugewiesenen Termine ohne ein vollständiges PianoPlanner-Konto. Zugang über einen sicheren Magic Link vom Teaminhaber.",
      "teamsOnly": "Teams-Funktion",
      "teamsOnlyText": "Das Stimmer-Portal ist im Teams-Abo (€49,50/Monat) und höher verfügbar.",
      "sendLinkTitle": "Magic Link senden",
      "step1Title": "Zu Teams gehen",
      "step1Text": "Öffnen Sie Ihre Teameinstellungen und finden Sie das Teammitglied, dem Sie Portalzugang geben möchten.",
      "step2Title": "Magic Link senden",
      "step2Text": "Klicken Sie auf \"Magic Link senden\" neben dem Namen des Teammitglieds. Eine E-Mail mit einem sicheren Login-Link wird gesendet.",
      "step3Title": "Stimmer öffnet den Link",
      "step3Text": "Der Stimmer klickt auf den Link und wird automatisch eingeloggt — kein Passwort nötig.",
      "featuresTitle": "Portal-Funktionen",
      "feature1": "Heutige und wöchentliche zugewiesene Termine einsehen",
      "feature2": "Terminstatus aktualisieren: Bestätigt, Unterwegs, Abgeschlossen",
      "feature3": "Notizen zu Terminen hinzufügen",
      "feature4": "Mobilfreundliches Design — funktioniert auf jedem Telefon oder Tablet",
      "tip": "Magic Links sind aus Sicherheitsgründen zeitlich begrenzt. Wenn der Link eines Stimmers abgelaufen ist, senden Sie einfach einen neuen aus den Teameinstellungen."
    },
    "leads": {
      "title": "Leads verwalten",
      "intro": "Wenn ein potenzieller Kunde den Buchungsprozess startet, aber nicht abschließt, werden die Kontaktdaten als Lead gespeichert. So verlieren Sie nie einen potenziellen Kunden, selbst wenn er den Vorgang mittendrin abbricht.",
      "howItWorks": "Wie funktioniert es?",
      "howItWorksText": "• Ein Besucher öffnet Ihre Buchungsseite und gibt Name, E-Mail und Telefonnummer ein\n• Diese Daten werden sofort als Lead gespeichert\n• Wenn der Besucher die Buchung abschließt, wird der Lead automatisch zum Kunden\n• Wenn er vor der Bestätigung abbricht, haben Sie trotzdem die Kontaktdaten zur Nachverfolgung",
      "managingLeads": "Ihre Leads verwalten",
      "managingLeadsText": "Gehen Sie zu Leads im Seitenleistenmenü (unter Planung). Hier sehen Sie alle Ihre Leads mit Filteroptionen.",
      "step1Title": "1. Nach Status filtern",
      "step1Text": "Verwenden Sie die Filterregisterkarten oben, um Leads nach Status anzuzeigen: Alle, Neu, Kontaktiert, Konvertiert oder Abgelehnt.",
      "step2Title": "2. Leads suchen",
      "step2Text": "Verwenden Sie die Suchleiste, um schnell einen Lead nach Name, E-Mail, Telefonnummer oder Standort zu finden.",
      "step3Title": "3. Status aktualisieren",
      "step3Text": "Ändern Sie den Status eines Leads über das Dropdown-Menü auf jeder Karte. Markieren Sie z.B. als \"Kontaktiert\" nachdem Sie angerufen haben.",
      "step4Title": "4. Leads löschen",
      "step4Text": "Nicht mehr relevant? Klicken Sie auf die Löschen-Schaltfläche auf einer Lead-Karte. Sie werden zur Bestätigung aufgefordert, bevor es dauerhaft entfernt wird.",
      "statusOverview": "Statusübersicht",
      "statusNew": "Neu — Gerade erfasst, noch nicht kontaktiert",
      "statusContacted": "Kontaktiert — Sie haben Kontakt aufgenommen",
      "statusConverted": "Konvertiert — Sie wurden Kunde (Termin gebucht)",
      "statusDismissed": "Abgelehnt — Kein Interesse oder nicht relevant",
      "tipFollowUp": "Tipp: Schnell nachfassen",
      "tipFollowUpText": "Ein Lead, der den Buchungsprozess abgebrochen hat, war offensichtlich an Ihren Dienstleistungen interessiert. Rufen Sie an oder schreiben Sie innerhalb von 24 Stunden — Sie werden überrascht sein, wie viele tatsächlich buchen!",
      "followUpEmailTitle": "Follow-up-E-Mail senden",
      "followUpEmailText": "Sehen Sie einen neuen Lead mit E-Mail-Adresse? Senden Sie mit einem Klick eine Follow-up-E-Mail! Die E-Mail enthält einen Link zu Ihrer Buchungsseite mit vorausgefüllten Daten — so kann die Buchung ohne erneute Eingabe abgeschlossen werden.",
      "followUpStep1Title": "1. Lead finden",
      "followUpStep1Text": "Gehen Sie zu Leads und finden Sie den Lead, den Sie kontaktieren möchten.",
      "followUpStep2Title": "2. Klicken Sie auf Senden",
      "followUpStep2Text": "Klicken Sie auf das Papierflieger-Symbol ✈️ neben dem Lead. Eine Follow-up-E-Mail wird sofort gesendet.",
      "followUpStep3Title": "3. Status wird automatisch aktualisiert",
      "followUpStep3Text": "Der Status des Leads ändert sich nach dem Senden auf „Kontaktiert\". Die E-Mail enthält einen Buchungslink mit Name, E-Mail, Telefon und Adresse vorausgefüllt.",
      "contactRequestTitle": "Kontaktanfragen",
      "contactRequestText": "Wenn ein Kunde auf Ihrer Buchungsseite keinen passenden Termin findet, kann er auf „Kontaktieren Sie uns direkt\" klicken. Sie erhalten eine E-Mail mit den Kontaktdaten, sodass Sie anrufen und gemeinsam einen Termin finden können. So geht kein potenzieller Kunde verloren."
    }
  },
  "projects": {
    "title": "Werkstatt Projektplaner",
    "detailTitle": "Projekt - PianoPlanner",
    "subtitle": "Verwalten Sie Werkstattarbeiten, Revisionen und Restaurierungen",
    "newProject": "Neues Projekt",
    "noProjects": "Noch keine Projekte",
    "noProjectsText": "Beginnen Sie Ihr erstes Projekt, indem Sie auf 'Neues Projekt' klicken.",
    "backToProjects": "Zurück zu Projekte",
    "notFound": "Projekt nicht gefunden",
    "statusPlanning": "Planung",
    "statusActive": "Aktiv",
    "statusPaused": "Pausiert",
    "statusCompleted": "Abgeschlossen",
    "statusCancelled": "Abgebrochen",
    "priorityLow": "Niedrig",
    "priorityNormal": "Normal",
    "priorityHigh": "Hoch",
    "priorityUrgent": "Dringend",
    "tasks": "Aufgaben",
    "tasksCompleted": "Aufgaben erledigt",
    "hoursWorked": "Geleistete Stunden",
    "hoursPlanned": "Geplant",
    "hoursEstimated": "Geschätzt",
    "progress": "Fortschritt",
    "addTask": "Aufgabe hinzufügen...",
    "addTaskPlaceholder": "Neue Aufgabe hinzufügen...",
    "editTask": "Aufgabe bearbeiten",
    "completedTasks": "Erledigt",
    "taskAdded": "Aufgabe hinzugefügt",
    "taskUpdated": "Aufgabe aktualisiert",
    "taskDeleted": "Aufgabe gelöscht",
    "projectSaved": "Projekt gespeichert",
    "projectDeleted": "Projekt gelöscht",
    "duplicate": "Duplizieren",
    "duplicating": "Projekt wird dupliziert...",
    "projectDuplicated": "Projekt dupliziert",
    "duplicateError": "Projekt konnte nicht dupliziert werden",
    "workHistory": "Arbeitshistorie",
    "noWorkHistory": "Noch keine Werkstatt-Termine verknüpft",
    "hours": "Stunden",
    "howToUse": "Wie funktioniert es?",
    "guideTitle": "Werkstatt-Projektplaner - Anleitung",
    "guideCreate": "Projekt erstellen",
    "guideCreateDesc": "Klicken Sie auf 'Neues Projekt', um einen Werkstattauftrag zu erstellen. Fügen Sie einen Titel hinzu, verknüpfen Sie optional einen Kunden/Klavier und legen Sie ein geschätztes Stundenbudget fest.",
    "guideTasks": "Aufgaben verwalten",
    "guideTasksDesc": "Fügen Sie Aufgaben als Checkliste hinzu: Materialien bestellen, Teile abholen, Kunden anrufen, usw. Haken Sie ab, was erledigt ist, um den Fortschritt zu verfolgen.",
    "guideLink": "Termine verknüpfen",
    "guideLinkDesc": "Erstellen Sie Werkstatt-Termine im Kalender und wählen Sie das Projekt unter 'Werkstatt'. Die geleisteten Stunden werden automatisch erfasst und vom Budget abgezogen.",
    "guideProgress": "Fortschritt verfolgen",
    "guideProgressDesc": "Sehen Sie auf einen Blick: erledigte Aufgaben, geleistete vs. geplante Stunden und verbleibendes Budget. Die Wochenkapazität zeigt, wie viel Platz Sie noch haben.",
    "guideTheater": "Theater & Stammkunden",
    "guideTheaterDesc": "Theater und Stammkunden erhalten einen persönlichen Buchungslink. Damit können sie ihre Termine einsehen (anstehend + Historie) und direkt neue Termine buchen. Den Link finden Sie im Kundenprofil.",
    "guideTip": "<strong>Tipp:</strong> Verwenden Sie die Statusfilter, um fokussiert zu bleiben. Setzen Sie abgeschlossene Projekte auf 'Abgeschlossen', um Ihre Übersicht sauber zu halten. Projekte mit Deadline werden rot, wenn sie sich nähern!",
    "viewGrid": "Karten",
    "viewTimeline": "Zeitleiste",
    "timelineTitle": "Projekt-Zeitleiste",
    "project": "Projekt",
    "appointment": "Termin",
    "pageTitle": "Projekte - PianoPlanner",
    "searchPlaceholder": "Projekt suchen...",
    "filterAll": "Alle",
    "filterPlanning": "Planung",
    "filterActive": "Aktiv",
    "filterPaused": "Pausiert",
    "filterCompleted": "Abgeschlossen",
    "noProjectsDesc": "Erstellen Sie Ihr erstes Werkstattproject, um loszulegen.",
    "createFirst": "Erstes Projekt erstellen",
    "noResults": "Keine Projekte gefunden",
    "noResultsDesc": "Versuchen Sie einen anderen Suchbegriff oder Filter.",
    "capacity": "Kapazität diese Woche",
    "hoursUsed": "Stunden genutzt",
    "hoursAvailable": "von {{max}} verfügbar",
    "projectTitle": "Projekttitel *",
    "projectTitlePlaceholder": "z.B. Yamaha C3 Revision",
    "customer": "Kunde",
    "selectCustomer": "Kunde auswählen...",
    "piano": "Klavier",
    "selectPiano": "Klavier auswählen...",
    "priority": "Priorität",
    "status": "Status",
    "deadline": "Frist",
    "estimatedHours": "Geschätzte Stunden",
    "description": "Beschreibung",
    "descriptionPlaceholder": "Beschreiben Sie das Projekt...",
    "save": "Speichern",
    "cancel": "Abbrechen",
    "noTasks": "Noch keine Aufgaben",
    "taskName": "Aufgabenname",
    "estimatedHrs": "Geschätzt (Std.)",
    "actualHrs": "Tatsächlich (Std.)",
    "dueDate": "Fälligkeitsdatum",
    "editProject": "Projekt bearbeiten",
    "deleteProject": "Projekt löschen",
    "confirmDelete": "Dieses Projekt dauerhaft löschen?",
    "hoursTracked": "Erfasste Stunden",
    "of": "von",
    "created": "Erstellt",
    "lastUpdated": "Zuletzt aktualisiert",
    "detailPageTitle": "Projekt - PianoPlanner",
    "quote": "Angebot",
    "quoteTitle": "Angebot",
    "copyQuote": "Angebot kopieren",
    "quoteCopied": "Angebot in Zwischenablage kopiert",
    "laborRate": "Stundensatz",
    "laborTotal": "Arbeit gesamt",
    "materialTotal": "Material gesamt",
    "otherTotal": "Sonstiges gesamt",
    "grandTotal": "Gesamtsumme",
    "taskTypeLabor": "Arbeit",
    "taskTypeMaterial": "Material",
    "taskTypeOther": "Sonstiges",
    "billable": "Fakturierbar",
    "costPrice": "Einkaufspreis",
    "sellPrice": "Verkaufspreis",
    "margin": "Marge",
    "totalCost": "Gesamtkosten",
    "totalPrice": "Gesamtpreis",
    "exportPdf": "PDF",
    "errorSaving": "Fehler beim Speichern",
    "errorLoading": "Fehler beim Laden",
    "businessFeature": "Business-Funktion",
    "businessFeatureDesc": "Der Projektplaner ist mit dem Business-Abonnement verfügbar.",
    "upgradeButton": "Auf Business upgraden",
    "noCustomer": "-- Kein Kunde --",
    "noPiano": "-- Kein Klavier --",
    "selectCustomerFirst": "Wählen Sie zuerst einen Kunden",
    "actualHours": "Tatsächliche Stunden",
    "notes": "Notizen",
    "taskTitle": "Aufgabe",
    "taskDescription": "Beschreibung",
    "taskTodo": "Zu tun",
    "taskInProgress": "In Arbeit",
    "taskDone": "Erledigt",
    "taskTitleRequired": "Aufgabentitel ist erforderlich",
    "projectCreated": "Projekt erstellt",
    "projectUpdated": "Projekt aktualisiert",
    "titleRequired": "Projekttitel ist erforderlich",
    "confirmDeleteText": "Dies löscht das Projekt und alle Aufgaben. Dies kann nicht rückgängig gemacht werden.",
    "confirmDeleteTask": "Aufgabe löschen?",
    "confirmDeleteTaskText": "Diese Aktion kann nicht rückgängig gemacht werden.",
    "upgradeTitle": "Werkstatt-Projektplaner",
    "upgradeText": "Der Projektplaner ist im Business-Abonnement verfügbar. Upgraden Sie, um Projekte und Aufgaben zu verwalten.",
    "upgradeBtn": "Auf Business upgraden",
    "runningProjects": "Laufende Projekte",
    "viewAll": "Alle ansehen",
    "viewAgenda": "Kalender ansehen",
    "overbookedWarning": "Achtung: {hours} Stunden diese Woche überbucht!",
    "weekCapacity": "Wochenkapazität",
    "weekFull": "Woche ist vollständig eingeplant",
    "hoursAvailableWeek": "Stunden verfügbar diese Woche",
    "noProjectsFilter": "Keine Projekte mit diesem Filter",
    "noProjectsHint": "Erstellen Sie Ihr erstes Werkstattprojekt.",
    "titlePlaceholder": "z.B. Restaurierung Steinway B",
    "upgradeCta": "Auf Business upgraden",
    "dayMon": "Mo",
    "dayTue": "Di",
    "dayWed": "Mi",
    "dayThu": "Do",
    "dayFri": "Fr",
    "daySat": "Sa",
    "daySun": "So",
    "itemType": "Typ",
    "typeLabor": "Arbeit",
    "typeMaterial": "Material",
    "typeOther": "Sonstiges",
    "pricing": "Preisinformation",
    "quantity": "Menge",
    "unit": "Einheit",
    "unitHour": "Stunde",
    "unitPiece": "Stück",
    "unitSet": "Set",
    "unitMeter": "Meter",
    "unitLiter": "Liter",
    "unitPrice": "Preis",
    "isBillable": "Fakturierbar",
    "lineTotal": "Gesamt",
    "quoteSummary": "Kostenübersicht",
    "totalToBill": "Zu fakturieren",
    "materialsCatalog": "Materialkatalog",
    "selectFromCatalog": "Aus Katalog wählen",
    "addMaterial": "Material hinzufügen",
    "materialName": "Name",
    "materialCategory": "Kategorie",
    "materialSupplier": "Lieferant",
    "materialArticleNumber": "Artikelnummer",
    "materialDefaultPrice": "Standard-Verkaufspreis",
    "materialCostPrice": "Einkaufspreis",
    "materialSaved": "Material gespeichert",
    "materialDeleted": "Material gelöscht",
    "workshopHourlyRate": "Werkstatt-Stundensatz",
    "duplicateTitle": "Projekt duplizieren",
    "pdf": "PDF",
    "notesPlaceholder": "Interne Notizen...",
    "addRowError": "Zeile konnte nicht hinzugefügt werden",
    "placeholders": {
      "taskExample": "z.B. Saiten ersetzen, Hammerkopf, etc.",
      "quoteNotes": "Zusätzliche Notizen für Angebot..."
    }
  },
  "onboarding": {
    "welcome": "Willkommen bei PianoPlanner",
    "subtitle": "Lassen Sie uns Ihr Konto in wenigen Schritten einrichten",
    "stepCompany": "Firma",
    "stepServices": "Dienste",
    "stepTravel": "Fahrzeit",
    "stepCalendar": "Kalender",
    "stepTest": "Test",
    "stepDone": "Fertig!",
    "next": "Weiter",
    "previous": "Zurück",
    "skip": "Überspringen und später konfigurieren",
    "calendarTitle": "Kalender Verbinden",
    "calendarDescription": "Verbinden Sie Ihren bestehenden Kalender, damit PianoPlanner weiß, wann Sie bereits beschäftigt sind. So vermeidet die intelligente Planung Doppelbuchungen.",
    "calendarWhyTitle": "Warum den Kalender verbinden?",
    "calendarWhy1": "PianoPlanner sieht, wann Sie bereits einen Termin haben",
    "calendarWhy2": "Der intelligente Planer schlägt nur freie Zeitfenster vor",
    "calendarWhy3": "Kunden können nicht buchen, wenn Sie beschäftigt sind",
    "calendarOptionGoogle": "Google Kalender",
    "calendarOptionGoogleDesc": "Beste Wahl wenn Sie Gmail oder ein Google-Konto verwenden. Vollständige Zwei-Wege-Synchronisation.",
    "calendarOptionGoogleBtn": "Google Calendar verbinden",
    "calendarOptionApple": "Apple Kalender (iCloud)",
    "calendarOptionAppleDesc": "Ideal wenn Sie ein iPhone oder Mac verwenden. Zwei-Wege-Synchronisation über iCloud.",
    "calendarOptionAppleBtn": "Apple Kalender verbinden",
    "calendarOptionOutlook": "Microsoft Outlook",
    "calendarOptionOutlookDesc": "Für Benutzer von Outlook, Hotmail oder einem Microsoft 365 Geschäftskonto.",
    "calendarOptionOutlookBtn": "Outlook verbinden",
    "calendarOptionIcal": "Anderer Kalender (iCal)",
    "calendarOptionIcalDesc": "Funktioniert mit Samsung Kalender, Thunderbird und jeder anderen App die iCal unterstützt. Nur-Lesen.",
    "calendarOptionIcalBtn": "iCal-Anleitung anzeigen",
    "calendarIcalWhat": "Was ist iCal?",
    "calendarIcalTitle": "Ihre Stimmtermine in Ihrem eigenen vertrauten Kalender",
    "calendarIcalIntro": "Möchten Sie Ihre Stimmtermine automatisch in dem Kalender sehen, den Sie bereits auf Ihrem Telefon oder Computer verwenden (z.B. Samsung, Google oder Outlook)? Das geht ganz einfach — verbinden Sie die Kalender miteinander.",
    "calendarIcalHow": "Wie funktioniert es?",
    "calendarIcalHowText": "Sie kopieren gleich einen speziellen 'digitalen Schlüssel' (einen Link). Diesen fügen Sie einmalig in Ihre eigene Kalender-App ein. Danach werden alle Ihre Termine automatisch synchronisiert.",
    "calendarIcalExplain": "iCal ist ein universelles Format, mit dem Kalender-Apps miteinander kommunizieren können. PianoPlanner gibt Ihnen einen speziellen Link (URL), den Sie in Ihre eigene Kalender-App einfügen. Ihre Termine erscheinen dann automatisch.",
    "calendarIcalStep1Title": "Link kopieren",
    "calendarIcalStep1": "Nach der Einrichtung finden Sie unter Einstellungen → Integrationen eine Schaltfläche zum Kopieren des Kalenderlinks.",
    "calendarIcalStep2Title": "Link in Ihren Kalender einfügen",
    "calendarIcalStep2": "Öffnen Sie Ihre Kalender-App und suchen Sie die Option zum Hinzufügen eines Kalenders.",
    "calendarIcalStep3": "Öffnen Sie Ihre Kalender-App und suchen Sie 'Kalender hinzufügen' oder 'Abonnieren'",
    "calendarIcalStep4": "Fügen Sie die URL ein und speichern Sie — Ihre Termine erscheinen innerhalb einer Stunde",
    "calendarIcalTipGoogle": "Gehen Sie (am besten am Computer) zu 'Kalender hinzufügen' und wählen Sie 'Per URL'.",
    "calendarIcalTipOutlook": "Wählen Sie 'Neuer Kalender' und dann 'Aus dem Netzwerk' oder 'Aus dem Internet'.",
    "calendarIcalGoodToKnow": "Gut zu wissen",
    "calendarIcalNote1": "Nur ansehen — Sie sehen Ihre Termine in Ihrem eigenen Kalender, aber Änderungen nehmen Sie in PianoPlanner vor.",
    "calendarIcalNote2": "Automatisch — sobald Sie einen Termin planen, erscheint er automatisch in Ihrem anderen Kalender.",
    "calendarSkip": "Überspringen, ich mache das später",
    "calendarConnected": "Kalender verbunden!",
    "calendarSkipNote": "Kalender-Links öffnen in einem neuen Tab — du kannst sie später abschließen. Klicke unten auf „Weiter\", um fortzufahren.",
    "finishBtn": "PianoPlanner starten",
    "phone": "Telefonnummer",
    "phonePlaceholder": "+49 30 1234567",
    "companyTitle": "Firmendaten",
    "companyDescription": "Geben Sie Ihre Firmeninformationen ein. Diese werden für Rechnungen und Kundenkommunikation verwendet.",
    "companyName": "Firmenname *",
    "companyNamePlaceholder": "z.B. Klavierservice München",
    "findAddress": "Adresse suchen",
    "findAddressPlaceholder": "z.B. Musterstraße 1, München",
    "addressAutoFill": "Adresse wird automatisch über Google ausgefüllt",
    "street": "Straße und Hausnummer",
    "postalCode": "Postleitzahl",
    "city": "Stadt",
    "country": "Land",
    "postalCodePlaceholder": "80331",
    "cityPlaceholder": "München",
    "skipConfirm": "Sind Sie sicher, dass Sie die Einrichtung überspringen möchten? Sie können diese Einstellungen jederzeit später in den Einstellungen anpassen.",
    "servicesTitle": "Services konfigurieren",
    "servicesDescription": "Konfigurieren Sie die Services, die Sie anbieten. Weitere können Sie jederzeit hinzufügen.",
    "addService": "Service hinzufügen",
    "noServices": "Noch keine Services. Fügen Sie einen hinzu!",
    "modalAddService": "Service hinzufügen",
    "modalEditService": "Service bearbeiten",
    "serviceName": "Name *",
    "serviceNamePlaceholder": "z.B. Stimmung",
    "serviceDuration": "Dauer (Minuten) *",
    "serviceDescription": "Beschreibung",
    "serviceOptional": "Optional",
    "servicePrice": "Preis",
    "cancel": "Abbrechen",
    "save": "Speichern",
    "travelTitle": "Reisezeit & Einstellungen",
    "travelDescription": "Legen Sie Ihre Reisezeitpräferenzen für den Smart-Planer fest.",
    "maxTravelTime": "Max. Reisezeit zwischen Terminen (Minuten)",
    "maxTravelTimeHint": "Smart-Termin priorisiert Termine innerhalb dieses Bereichs.",
    "maxBookingTravelTime": "Max. Reisezeit für Buchungen (Minuten)",
    "maxBookingTravelTimeHint": "Kunden außerhalb dieses Bereichs sehen eine Kontaktnachricht.",
    "minutes10": "10 Minuten",
    "minutes15": "15 Minuten",
    "minutes20": "20 Minuten",
    "minutes25": "25 Minuten",
    "minutes30": "30 Minuten",
    "minutes35": "35 Minuten",
    "minutes40": "40 Minuten",
    "minutes45": "45 Minuten",
    "hour1": "1 Stunde",
    "hours1_5": "1,5 Stunden",
    "hours2": "2 Stunden",
    "testTitle": "Ausprobieren",
    "testDescription": "Erstellen Sie einen Testkunden, um die App zu erkunden.",
    "testCardTitle": "Testkunde erstellen",
    "testCardDescription": "Wir erstellen einen Beispielkunden \"Testkunde\" mit einem Piano \"Yamaha U1\". So können Sie sehen, wie alles funktioniert!",
    "testButton": "Testkunde erstellen",
    "testResult": "✅ Testkunde und Piano erstellt!",
    "doneTitle": "Alles fertig!",
    "doneDescription": "Hier sind einige Tipps für den Einstieg:",
    "tipGreenTitle": "Grüne Termine",
    "tipGreenText": "Ein Piano muss bald gestimmt werden und passt gut in Ihren Zeitplan.",
    "tipRedTitle": "Rote Termine",
    "tipRedText": "Ein Piano wurde zu lange nicht gestimmt — dringend einplanen!",
    "tipSmartTitle": "Smart-Termin",
    "tipSmartText": "Automatische Terminvorschläge basierend auf Standort und Dringlichkeit.",
    "errorSaving": "Beim Speichern ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
    "errorCompanyName": "Bitte geben Sie einen Firmennamen ein.",
    "errorServiceSave": "Service konnte nicht gespeichert werden.",
    "errorServiceDelete": "Service konnte nicht gelöscht werden.",
    "errorGeneric": "Etwas ist schiefgelaufen.",
    "confirmDeleteService": "Sind Sie sicher, dass Sie diesen Service löschen möchten?",
    "pleaseWait": "Bitte warten...",
    "creating": "Wird erstellt...",
    "created": "Erstellt!",
    "tryAgain": "Erneut versuchen",
    "pageTitle": "Willkommen bei PianoPlanner — Einrichtungsassistent",
    "goToDashboardCta": "Zum Dashboard",
    "goToDashboardHint": "Lies bei Bedarf zuerst die Tipps unten.",
    "streetPlaceholder": "Musterstraße 1"
  },
  "pwa": {
    "tabs": {
      "agenda": "Kalender",
      "customers": "Kunden",
      "pianos": "Klaviere",
      "invoices": "Rechnungen",
      "smart": "Smart"
    },
    "youAreOffline": "Du bist offline",
    "backOnline": "Wieder online",
    "updateAvailable": "Neue Version verfügbar",
    "dataStoredLocally": "Daten werden lokal gespeichert",
    "dataSynced": "Daten synchronisiert",
    "syncFailed": "Synchronisierung fehlgeschlagen",
    "sync": "Sync",
    "itemsSynced": "Elemente synchronisiert",
    "itemsFailedSync": "Elemente nicht synchronisiert",
    "wakeLockActive": "Bildschirm bleibt an",
    "wakeLockReleased": "Bildschirmsperre freigegeben",
    "update": "Aktualisieren",
    "later": "Später",
    "noCustomersYet": "Noch keine Kunden",
    "addFirstCustomer": "Fügen Sie Ihren ersten Kunden hinzu",
    "addCustomer": "Kunden hinzufügen",
    "searchCustomer": "Kunde suchen...",
    "editCustomer": "Kunden bearbeiten",
    "newCustomer": "Neuer Kunde",
    "customerName": "Name *",
    "customerEmail": "E-Mail",
    "customerPhone": "Telefon",
    "customerStreet": "Straße",
    "customerPostalCode": "PLZ",
    "customerCity": "Stadt",
    "customerCountry": "Land",
    "customerNotes": "Notizen",
    "noPianosYet": "Noch keine Klaviere",
    "addFirstPiano": "Fügen Sie Ihr erstes Klavier hinzu",
    "addPiano": "Klavier hinzufügen",
    "searchPiano": "Klavier suchen...",
    "editPiano": "Klavier bearbeiten",
    "newPiano": "Neues Klavier",
    "backToCustomers": "Zurück zu Kunden",
    "backToPianos": "Zurück zu Klaviere",
    "loading": "Laden...",
    "swipeToClose": "Nach unten wischen zum Schließen",
    "pullToRefresh": "Ziehen zum Aktualisieren",
    "releaseToRefresh": "Loslassen zum Aktualisieren",
    "refreshing": "Aktualisiere...",
    "syncCompleted": "Synchronisation abgeschlossen!",
    "syncedCalendars": "Kalender synchronisiert",
    "noCalendarsLinked": "Keine Kalender verknüpft",
    "goToSettings": "Gehen Sie zu Einstellungen, um Kalender zu verknüpfen",
    "syncError": "Synchronisationsfehler",
    "couldNotSync": "Synchronisation nicht möglich. Überprüfen Sie Ihre Internetverbindung",
    "launcher": {
      "agenda": "Kalender",
      "agendaDesc": "Termine verwalten",
      "customers": "Kunden",
      "customersDesc": "Kundenübersicht",
      "pianos": "Klaviere",
      "pianosDesc": "Instrumente & Daten",
      "smart": "Smart Planen",
      "smartDesc": "KI-gestützte Vorschläge",
      "sync": "Synchronisieren",
      "share": "Buchungslink teilen",
      "sectionTitle": "Loslegen",
      "invoices": "Rechnungen",
      "invoicesDesc": "Rechnungen erstellen und versenden"
    },
    "agenda": {
      "today": "Heute",
      "day": "Tag",
      "week": "Woche",
      "month": "Monat",
      "view": "Ansehen",
      "done": "Fertig",
      "pending": "ausstehend",
      "routeAnalysis": "Routenanalyse",
      "dayMon": "Mo",
      "dayTue": "Di",
      "dayWed": "Mi",
      "dayThu": "Do",
      "dayFri": "Fr",
      "daySat": "Sa",
      "daySun": "So"
    },
    "customerDetail": {
      "customers": "Kunden",
      "customer": "Kunde",
      "edit": "Bearbeiten",
      "call": "Anrufen",
      "route": "Route",
      "email": "E-Mail",
      "whatsapp": "WhatsApp",
      "copy": "Kopieren",
      "addPiano": "Klavier hinzufügen",
      "newPiano": "Neues Klavier",
      "invoice": "Rechnung",
      "invoiceTitle": "Schnellrechnung",
      "openTasks": "Offene Termine",
      "addService": "Service hinzufügen",
      "addLine": "+ Zeile hinzufügen",
      "selectService": "Service wählen...",
      "customDescription": "Beschreibung",
      "quantity": "Menge",
      "price": "Preis",
      "vatRate": "MwSt.",
      "subtotal": "Zwischensumme",
      "vat": "MwSt.",
      "total": "Gesamt",
      "sendInvoice": "Senden",
      "sending": "Wird gesendet...",
      "invoiceSent": "Rechnung gesendet!",
      "invoiceError": "Fehler beim Senden der Rechnung",
      "noEmail": "Dieser Kunde hat keine E-Mail-Adresse. Bitte fügen Sie zuerst eine hinzu.",
      "noLines": "Fügen Sie mindestens eine Zeile zur Rechnung hinzu.",
      "removeLine": "Entfernen",
      "invoiceProOnly": "Rechnungsstellung ist ab dem Pro-Tarif verfügbar."
    },
    "logoutConfirm": "Sind Sie sicher, dass Sie sich abmelden möchten?",
    "customers": {
      "searchPlaceholder": "Kunden suchen..."
    },
    "logout": "Abmelden",
    "login": {
      "title": "Anmelden",
      "subtitle": "Melden Sie sich an, um zu synchronisieren",
      "password": "Passwort",
      "loginBtn": "Anmelden",
      "or": "oder",
      "continueGoogle": "Weiter mit Google",
      "noAccount": "Noch kein Konto?",
      "register": "Registrieren"
    },
    "pianoForm": {
      "condition": "Zustand"
    }
  },
  "privacy": {
    "title": "Datenschutzerklärung",
    "subtitle": "Wie wir Ihre Daten sammeln, nutzen und schützen",
    "h1": "1. Welche Daten erheben wir?",
    "p1": "Wir verarbeiten Daten in zwei Kategorien:",
    "h2": "2. Zweck der Datenverarbeitung",
    "p2": "Wir verarbeiten diese Daten ausschließlich um:",
    "h3": "3. Weitergabe von Daten und Synchronisierung",
    "p3a": "<strong>3.1. Externe Kalenderdienste:</strong> Wenn Sie die Zwei-Wege-Synchronisierung aktivieren, werden Termindaten mit externen Parteien wie Google, Apple oder Microsoft ausgetauscht.",
    "p3b": "<strong>3.2. Auftragsverarbeiter:</strong> Wir nutzen vertrauenswürdige Unterauftragsverarbeiter für Hosting, E-Mail-Versand und Zahlungen.",
    "p3c": "<strong>3.3. Kein Verkauf:</strong> Wir werden Ihre Daten niemals an Dritte für Marketingzwecke verkaufen oder vermieten.",
    "h4": "4. Sicherheit und Speicherung",
    "p4a": "<strong>4.1. Sicherheit:</strong> Wir treffen angemessene technische und organisatorische Maßnahmen zum Schutz der Daten.",
    "p4b": "<strong>4.2. Lokale Speicherung (PWA):</strong> Bei Nutzung der Progressive Web App können bestimmte Daten lokal auf Ihrem Gerät gespeichert werden.",
    "h5": "5. Aufbewahrungsfrist",
    "p5": "Wir bewahren Ihre Daten auf, solange Ihr Konto aktiv ist. Nach Beendigung Ihres Abonnements bewahren wir Ihre Daten noch maximal 30 Tage auf.",
    "h6": "6. Ihre Rechte",
    "p6": "Gemäß der DSGVO haben Sie folgende Rechte bezüglich Ihrer personenbezogenen Daten:",
    "p6outro": "Sie können diese Rechte über die Einstellungen in Ihrem Konto oder per E-Mail an info@pianoplanner.com ausüben.",
    "h7": "7. Kontaktdaten",
    "lastUpdated": "Zuletzt aktualisiert: 23. Februar 2026",
    "tldr": "Wir verkaufen Ihre Daten niemals. Ihre Daten werden sicher auf europäischen Servern gespeichert. Sie sind und bleiben Eigentümer Ihrer Kundendaten.",
    "toc1": "Daten",
    "toc2": "Zweck",
    "toc3": "Weitergabe",
    "toc4": "Sicherheit",
    "toc5": "Aufbewahrung",
    "toc6": "Ihre Rechte",
    "toc7": "Kontakt",
    "intro": "Einführung",
    "catA": "Kategorie A",
    "catA1": "Vor- und Nachname",
    "catA2": "Adressdaten",
    "catA3": "Telefonnummer",
    "catB": "Kategorie B",
    "catB1": "E-Mail-Adresse",
    "catB2": "IP-Adresse",
    "catB3": "Browser-Informationen",
    "p2a": "Lieferung von Produkten/Diensten",
    "p2b": "Kundenservice",
    "p2c": "Verbessung unserer Website",
    "p2d": "Gesetzliche Pflichten",
    "p6a": "Einsichtsrecht",
    "p6b": "Recht auf Berichtigung",
    "p6c": "Recht auf Löschung"
  },
  "terms": {
    "title": "Allgemeine Geschäftsbedingungen",
    "subtitle": "Nutzungsbedingungen für PianoPlanner",
    "h1": "1. Identität des Unternehmers",
    "p1": "PianoPlanner ist ein Dienst von Edward Meijer, handelnd unter dem Namen Edan Creative. Ansässig in Tilburg, Niederlande. KvK: 18073263.",
    "p1b": "Durch die Erstellung eines Kontos oder die Nutzung von PianoPlanner stimmen Sie diesen Allgemeinen Geschäftsbedingungen zu.",
    "h2": "2. Beschreibung des Dienstes",
    "p2": "PianoPlanner ist ein Online-Planungs- und Kundenverwaltungsdienst (SaaS) für Klaviertechniker, verfügbar über einen Webbrowser und als Progressive Web App (PWA).",
    "h3": "3. Geistiges Eigentum",
    "p3a": "<strong>3.1. Eigentum:</strong> Der Dienst PianoPlanner, einschließlich Quellcode, Design, Algorithmen, grafischer Elemente und aller Inhalte, ist das ausschließliche geistige Eigentum von Edward Meijer.",
    "p3b": "<strong>3.2. Markenrecht:</strong> Der Name „PianoPlanner“ und die zugehörigen Logos sind geschützte Marken (beim BOIP angemeldet/registriert). Die Verwendung ohne vorherige schriftliche Genehmigung ist untersagt.",
    "p3c": "<strong>3.3. Nutzungsrecht:</strong> Nutzer erhalten ein nicht-exklusives, nicht übertragbares Recht zur Nutzung der Software für die Dauer des Abonnements.",
    "h4": "4. Nutzung des Dienstes und der PWA",
    "p4a": "<strong>4.1. Konto:</strong> Der Nutzer ist für die Geheimhaltung der Zugangsdaten und alle Aktivitäten unter seinem Konto verantwortlich.",
    "p4b": "<strong>4.2. Synchronisierung:</strong> PianoPlanner verwendet Technologie zur Zwei-Wege-Synchronisierung zwischen Geräten und externen Kalenderdiensten.",
    "p4c": "<strong>4.3. Akzeptable Nutzung:</strong> Es ist verboten, den Dienst für illegale Zwecke zu nutzen.",
    "h5": "5. Abonnements und Zahlung",
    "p5a": "<strong>5.1. Preise:</strong> Die aktuellen Preise für die verschiedenen Pakete (Solo, Pro, Business) sind auf der Website aufgeführt.",
    "p5b": "<strong>5.2. Zahlung:</strong> Zahlungen werden über Mollie abgewickelt. Abonnements werden automatisch verlängert.",
    "p5c": "<strong>5.3. Kündigung:</strong> Nach der Kündigung behält der Nutzer den Zugang bis zum Ende der bezahlten Periode.",
    "h6": "6. Daten und Datenschutz",
    "p6a": "<strong>6.1. Dateneigentum:</strong> Der Nutzer bleibt Eigentümer aller eingegebenen Kunden- und Instrumentendaten.",
    "p6b": "<strong>6.2. Verarbeitung:</strong> Wir verarbeiten personenbezogene Daten gemäß unserer Datenschutzerklärung und der DSGVO.",
    "p6c": "<strong>6.3. Export:</strong> Nach Beendigung des Dienstes hat der Nutzer 30 Tage Zeit, Daten zu exportieren.",
    "h7": "7. Haftungsbeschränkung",
    "p7a": "<strong>7.1. Verfügbarkeit:</strong> Wir streben eine hohe Verfügbarkeit an, garantieren jedoch keine 100% Betriebszeit.",
    "p7b": "<strong>7.2. Externe Dienste:</strong> Wir haften nicht für Störungen externer Dienste (Google, Apple, Microsoft).",
    "p7c": "<strong>7.3. Datenverlust:</strong> Obwohl wir tägliche Backups erstellen, übernehmen wir keine Haftung für Datenverlust.",
    "p7d": "<strong>7.4. Maximale Haftung:</strong> Unsere Gesamthaftung ist auf den in den letzten 12 Monaten gezahlten Betrag beschränkt.",
    "h8": "8. Wartung und Backup",
    "p8a": "<strong>8.1. Wartung:</strong> Wir dürfen den Dienst für notwendige Wartungsarbeiten vorübergehend unterbrechen.",
    "p8b": "<strong>8.2. Backup:</strong> Wir empfehlen Nutzern, regelmäßig eigene Exports kritischer Geschäftsdaten zu erstellen.",
    "h9": "9. Änderungen und anwendbares Recht",
    "p9a": "<strong>9.1. Änderungen:</strong> Wir können diese Bedingungen ändern. Wesentliche Änderungen werden mindestens 30 Tage im Voraus mitgeteilt.",
    "p9b": "<strong>9.2. Recht:</strong> Es gilt ausschließlich niederländisches Recht.",
    "p9c": "<strong>9.3. Streitigkeiten:</strong> Streitigkeiten werden dem zuständigen Gericht in Breda vorgelegt.",
    "lastUpdated": "Zuletzt aktualisiert: 23. Februar 2026",
    "tldr": "Sie bleiben Eigentümer Ihrer Daten. Kündigung ist jederzeit möglich — Sie behalten den Zugang bis zum Ende des Abrechnungszeitraums. Nach der Kündigung haben Sie 30 Tage zum Exportieren. Es gilt niederländisches Recht.",
    "toc1": "Identität",
    "toc2": "Dienst",
    "toc3": "Eigentum",
    "toc4": "Nutzung & PWA",
    "toc5": "Zahlung",
    "toc6": "Datenschutz",
    "toc7": "Haftung",
    "toc8": "Wartung",
    "toc9": "Änderungen"
  },
  "analysis": {
    "routeAnalysis": "Routenanalyse",
    "analyze": "Analyse",
    "day": "Tag",
    "week": "Woche",
    "loading": "Analyse wird geladen...",
    "trips": "Fahrten",
    "appointments": "Termine",
    "suggestions": "Vorschläge",
    "optimizations": "Optimierungen",
    "noAppointments": "Keine Termine",
    "noAppointmentsDesc": "Es gibt keine Termine zum Analysieren.",
    "score": "Bewertung",
    "grade": "Note",
    "totalKm": "Gesamt km",
    "totalTime": "Gesamte Fahrzeit",
    "potentialSavings": "Mögliche Einsparung",
    "save": "sparen",
    "savings": "Einsparung",
    "total": "gesamt",
    "savingsThisWeek": "Einsparung diese Woche",
    "savingsPossible": "Einsparung möglich",
    "perDay": "Pro Tag",
    "shortTrip": "Kurz",
    "mediumTrip": "Mittel",
    "longTrip": "Lang",
    "veryLongTrip": "Sehr lang",
    "gradeA": "Ausgezeichnet",
    "gradeB": "Gut",
    "gradeC": "Akzeptabel",
    "gradeD": "Verbesserungswürdig",
    "gradeF": "Ineffizient",
    "moveAppointment": "Termin verschieben",
    "applyOptimization": "Anwenden",
    "timingRisk": "Zu enge Planung",
    "timingTight": "Enge Zeitplanung",
    "longTripWarning": "Lange Fahrt",
    "zigzagWarning": "Zickzack-Route",
    "clusterSuggestion": "Termine bündeln",
    "upgradeRequired": "Solo-Funktion",
    "upgradeDesc": "Routenanalyse ist ab dem Solo-Abonnement verfügbar.",
    "upgradeButton": "Auf Solo upgraden",
    "errorLoading": "Fehler beim Laden der Analyse",
    "thisWeek": "Diese Woche",
    "critical": "KRITISCH",
    "high": "HOCH",
    "medium": "MITTEL",
    "tip": "TIPP",
    "minutesSaved": "Min. gespart",
    "quickMove": "Schnell verschieben nach",
    "later": "später",
    "viewAllTimes": "Alle Zeiten anzeigen",
    "viewReorder": "Umordnung anzeigen",
    "findBetterDay": "Besseren Tag finden",
    "routeOptimizationPossible": "Routenoptimierung möglich!",
    "viewAnalysis": "Analyse anzeigen"
  },
  "days": {
    "monday": "Montag",
    "tuesday": "Dienstag",
    "wednesday": "Mittwoch",
    "thursday": "Donnerstag",
    "friday": "Freitag",
    "saturday": "Samstag",
    "sunday": "Sonntag"
  },
  "invoices": {
    "pageTitle": "Rechnungen - PianoPlanner",
    "title": "Rechnungen",
    "settings": "Einstellungen",
    "newInvoice": "Neue Rechnung",
    "totalInvoices": "Gesamt",
    "drafts": "Entwürfe",
    "overdue": "Überfällig",
    "totalRevenue": "Umsatz",
    "searchPlaceholder": "Rechnung suchen...",
    "filterAll": "Alle",
    "filterDraft": "Entwurf",
    "filterSent": "Versendet",
    "filterPaid": "Bezahlt",
    "filterOverdue": "Überfällig",
    "filterCancelled": "Storniert",
    "noInvoices": "Noch keine Rechnungen",
    "noInvoicesDesc": "Erstellen Sie Ihre erste Rechnung, um loszulegen.",
    "createFirst": "Erste Rechnung erstellen",
    "noResults": "Keine Rechnungen gefunden",
    "noResultsDesc": "Versuchen Sie einen anderen Suchbegriff oder Filter.",
    "invoice": "Rechnung",
    "to": "An",
    "date": "Datum",
    "due": "Fällig",
    "status": "Status",
    "amount": "Betrag",
    "statusDraft": "Entwurf",
    "statusSent": "Versendet",
    "statusPaid": "Bezahlt",
    "statusOverdue": "Überfällig",
    "statusCancelled": "Storniert",
    "detailPageTitle": "Rechnung - PianoPlanner",
    "backToInvoices": "Zurück zu Rechnungen",
    "edit": "Bearbeiten",
    "send": "Senden",
    "markPaid": "Als bezahlt markieren",
    "download": "Herunterladen",
    "cancel": "Stornieren",
    "delete": "Löschen",
    "invoiceNumber": "Rechnungsnummer",
    "invoiceDate": "Rechnungsdatum",
    "dueDate": "Fälligkeitsdatum",
    "from": "Von",
    "billTo": "Rechnungsempfänger",
    "description": "Beschreibung",
    "quantity": "Menge",
    "unitPrice": "Stückpreis",
    "total": "Gesamt",
    "subtotal": "Zwischensumme",
    "vatRate": "MwSt.-Satz",
    "vatAmount": "MwSt.-Betrag",
    "totalAmount": "Gesamtbetrag",
    "notes": "Bemerkungen",
    "paymentInfo": "Zahlungsinformationen",
    "confirmSend": "Rechnung per E-Mail an den Kunden senden?",
    "confirmPaid": "Diese Rechnung als bezahlt markieren?",
    "confirmCancel": "Diese Rechnung stornieren?",
    "confirmDelete": "Diese Rechnung dauerhaft löschen?",
    "sentSuccess": "Rechnung versendet",
    "paidSuccess": "Rechnung als bezahlt markiert",
    "cancelledSuccess": "Rechnung storniert",
    "deletedSuccess": "Rechnung gelöscht",
    "savedSuccess": "Rechnung gespeichert",
    "errorLoading": "Fehler beim Laden der Rechnung",
    "errorSaving": "Fehler beim Speichern",
    "errorSending": "Fehler beim Senden",
    "newInvoiceTitle": "Neue Rechnung erstellen",
    "editInvoiceTitle": "Rechnung bearbeiten",
    "selectCustomer": "Kunde auswählen",
    "addLine": "Position hinzufügen",
    "removeLine": "Position entfernen",
    "saveAsDraft": "Als Entwurf speichern",
    "saveAndSend": "Speichern und senden",
    "settingsTitle": "Rechnungseinstellungen",
    "prefix": "Rechnungspräfix",
    "nextNumber": "Nächste Nummer",
    "nextInvoicePreview": "Nächste Rechnung:",
    "defaultDueDays": "Standard-Zahlungsfrist (Tage)",
    "defaultVat": "Standard-MwSt. (%)",
    "defaultNotes": "Standard-Bemerkungen",
    "bankDetails": "Bankverbindung",
    "iban": "IBAN",
    "bic": "BIC",
    "bankName": "Bankname",
    "chamberOfCommerce": "Handelsregister",
    "vatNumber": "USt.-IdNr.",
    "saveSettings": "Einstellungen speichern",
    "settingsSaved": "Einstellungen gespeichert",
    "paid": "Bezahlt",
    "paidPageTitle": "Zahlung bestätigt - PianoPlanner",
    "paidTitle": "Zahlung erhalten!",
    "paidDesc": "Vielen Dank für Ihre Zahlung.",
    "paidInvoiceNumber": "Rechnungsnummer",
    "paidAmount": "Bezahlter Betrag",
    "paidDate": "Zahlungsdatum",
    "paidThankYou": "Vielen Dank für Ihr Vertrauen!",
    "paidBackToSite": "Zurück zur Website",
    "outstanding": "Ausstehend",
    "loading": "Laden...",
    "colNumber": "Nummer",
    "colCustomer": "Kunde",
    "colDate": "Datum",
    "colDueDate": "Fälligkeitsdatum",
    "colAmount": "Betrag",
    "colStatus": "Status",
    "numbering": "Nummerierung",
    "layout": "Layout",
    "paymentTermsDays": "Zahlungsfrist (Tage)",
    "vatRegion": "MwSt.-Region",
    "footerText": "Fußtext Rechnung",
    "contactPosition": "Kundendaten Position",
    "contactLeft": "Links (Standard)",
    "contactRight": "Rechts",
    "hideCompanyInfo": "Unternehmensdaten auf Rechnung ausblenden (bereits auf Briefpapier)",
    "letterhead": "Briefpapier",
    "serviceTemplates": "Standard-Dienste",
    "save": "Speichern",
    "statusCredited": "Gutgeschrieben",
    "statusConfirmed": "Bestätigt",
    "editInvoice": "Bearbeiten",
    "viewPdf": "PDF anzeigen",
    "duplicate": "Duplizieren",
    "markSent": "Als versendet markieren",
    "markConfirmed": "Bestätigen ohne E-Mail",
    "confirmNoEmail": "Bestätigen ohne E-Mail",
    "invoiceConfirmed": "Rechnung bestätigt (ohne E-Mail)",
    "creditNote": "Gutschrift",
    "creditForRef": "Betrifft",
    "creditedBy": "Gutgeschrieben mit",
    "confirmCredit": "Möchten Sie wirklich eine Gutschrift erstellen?",
    "savedMsg": "Einstellungen gespeichert",
    "deletedMsg": "Rechnung gelöscht",
    "statusUpdated": "Status aktualisiert",
    "duplicatedMsg": "Rechnung dupliziert",
    "creditCreated": "Gutschrift erstellt",
    "errorStatus": "Fehler beim Ändern des Status",
    "errorDuplicate": "Fehler beim Duplizieren",
    "errorCredit": "Fehler beim Erstellen der Gutschrift",
    "invoiceSaved": "Rechnung gespeichert",
    "changesSaved": "Änderungen gespeichert",
    "selectCustomerError": "Wählen Sie einen Kunden",
    "issueDateError": "Geben Sie ein Rechnungsdatum ein",
    "addLineError": "Fügen Sie mindestens eine Zeile hinzu",
    "alreadyCredited": "Diese Rechnung wurde bereits gutgeschrieben",
    "internalNotes": "Interne Notizen",
    "internalNotesPlaceholder": "Nur für Sie sichtbar, nicht auf der Rechnung...",
    "letterheadUploaded": "Briefpapier hochgeladen",
    "letterheadHint": "Nur JPG oder PNG. PDF wird nicht unterstützt.",
    "letterheadNoPdf": "PDF wird nicht als Briefpapier unterstützt. Verwenden Sie JPG oder PNG.",
    "letterheadOnlyImages": "Nur JPG oder PNG Dateien sind erlaubt.",
    "selectFileFirst": "Wählen Sie zuerst eine Datei aus",
    "serviceAdded": "Dienst hinzugefügt",
    "serviceDeleted": "Dienst gelöscht",
    "invoiceDetail": "Rechnung",
    "customer": "Kunde",
    "issueDate": "Rechnungsdatum",
    "paymentTerms": "Zahlungsfrist",
    "paymentTermsCash": "Bar / Karte",
    "paymentTerms7": "7 Tage",
    "paymentTerms14": "14 Tage",
    "paymentTerms30": "30 Tage",
    "savePaymentTermsToCustomer": "Zahlungsfrist \"{terms}\" bei {name} speichern?",
    "paymentTermsSaved": "Zahlungsfrist beim Kunden gespeichert",
    "days": "Tage",
    "addTextLine": "Textzeile",
    "fromPiano": "Klavier hinzufügen...",
    "searchPiano": "Klavier suchen...",
    "lineTotal": "Gesamt",
    "saveDraft": "📝 Entwurf speichern",
    "backToList": "Zurück zur Übersicht",
    "fromTemplate": "Aus Dienst",
    "sendEmail": "E-Mail senden",
    "sendEmailTitle": "Rechnung versenden",
    "emailSubject": "Betreff",
    "emailMessage": "Nachricht",
    "attachmentHint": "Die Rechnung wird als Anhang mitgesendet",
    "includePaymentLink": "Zahlungslink hinzufügen",
    "paymentLinkHint": "Fügt der E-Mail einen Mollie-Zahlungsbutton hinzu",
    "emailSent": "Rechnung per E-Mail versendet",
    "noCustomerEmail": "Kunde hat keine E-Mail-Adresse",
    "sendError": "Fehler beim Senden der Rechnung",
    "onlinePayment": "Online bezahlen",
    "mollieApiKey": "Mollie API Key",
    "mollieHint": "Geben Sie Ihren Mollie Live API Key ein, um Online-Zahlungslinks auf Rechnungen zu aktivieren.",
    "eInvoicing": "E-Rechnungsstellung",
    "ublAttach": "UBL-XML-Anhang mitsenden",
    "ublHint": "Sendet eine maschinenlesbare E-Rechnung (UBL 2.1) als Anhang neben dem PDF. Standardmäßig aktiviert für EU-Länder.",
    "ublEuNote": "E-Rechnungsstellung ist in Ihrem Land Standard oder Pflicht.",
    "ublNonEuNote": "E-Rechnungsstellung ist in Ihrem Land nicht erforderlich. Sie können sie optional aktivieren.",
    "downloadUbl": "UBL XML",
    "fontSizes": "Schriftgrößen",
    "fsBedrijfsnaam": "Firmenname",
    "fsBedrijfsinfo": "Firmeninfo",
    "fsFactuurtitel": "Rechnungstitel",
    "fsKlantnaam": "Kundenname",
    "fsTabelkop": "Tabellenkopf",
    "fsTabelinhoud": "Tabelleninhalt",
    "fsTotalen": "Summen",
    "fsVoettekst": "Fußzeile",
    "senderAlign": "Absender-Ausrichtung",
    "companyLogo": "Firmenlogo",
    "noLogo": "Kein Logo",
    "logoPosition": "Logo-Position",
    "logoScale": "Logo-Größe",
    "layoutEditor": "Layout-Editor",
    "marginSize": "Randgröße",
    "contactBlock": "Kontaktblock",
    "contactBlockHint": "Kontaktinformationen auf der Rechnung",
    "customerPosition": "Kundenposition",
    "customerOffsetX": "Versatz X",
    "customerOffsetY": "Versatz Y",
    "posLeft": "Links",
    "posCenter": "Zentriert",
    "posRight": "Rechts",
    "resetToDefault": "Zurücksetzen",
    "emailBcc": "Blindkopie (BCC)",
    "emailSubjectTemplate": "Betreff-Vorlage",
    "emailBodyTemplate": "Nachrichten-Vorlage",
    "defaultSubject": "Rechnung {{invoiceNumber}}",
    "defaultBody": "Sehr geehrte/r {{firstName}},\n\nanbei erhalten Sie Rechnung {{invoiceNumber}} für die erbrachten Leistungen.\nDer Gesamtbetrag beträgt {{amount}}.\n\nBitte begleichen Sie diese Rechnung bis zum {{dueDate}}.\n\nDie Rechnung finden Sie im Anhang.\n\nMit freundlichen Grüßen",
    "defaultCreditSubject": "Gutschrift {{invoiceNumber}}",
    "defaultCreditBody": "Sehr geehrte/r {{firstName}},\n\nanbei erhalten Sie Gutschrift {{invoiceNumber}}.\nDer Gesamtbetrag beträgt {{amount}}.\n\nDie Gutschrift finden Sie im Anhang.\n\nMit freundlichen Grüßen",
    "emailTemplate": "E-Mail-Vorlage",
    "emailTemplateHint": "Variablen: {{invoiceNumber}}, {{customerName}}, {{amount}}",
    "createFromTasks": "Aus Aufgaben erstellen",
    "openTasks": "Offene Aufgaben",
    "dismissTask": "Aufgabe ignorieren",
    "preview": "Vorschau",
    "howToUse": "Wie funktioniert es?",
    "guideTitle": "Rechnungen - Anleitung",
    "guideCreate": "Rechnung erstellen",
    "guideCreateDesc": "Erstellen Sie Rechnungen direkt aus dem Kalender oder manuell.",
    "guideLayout": "Layout",
    "guideLayoutDesc": "Passen Sie Logo, Ränder und Fußzeile an.",
    "guideSend": "Versenden",
    "guideSendDesc": "Senden Sie Rechnungen per E-Mail direkt aus PianoPlanner.",
    "guidePayment": "Zahlung",
    "guidePaymentDesc": "Verfolgen Sie Zahlungen und markieren Sie Rechnungen als bezahlt.",
    "guideStatus": "Status",
    "guideStatusDesc": "Rechnungen wechseln von Entwurf zu gesendet, dann zu bezahlt.",
    "guideVat": "MwSt.",
    "guideVatDesc": "Konfigurieren Sie MwSt.-Sätze pro Kundentyp.",
    "guideTip": "<strong>Tipp:</strong> Verwenden Sie Service-Vorlagen um Rechnungen schnell zu erstellen.",
    "emailTo": "An",
    "numberOnSend": "Nummer beim Versand",
    "sampleLine1": "1 x Stimmung Flügel",
    "sampleLine2": "1 x Anfahrtskosten",
    "sampleCompany": "Meine Firma",
    "vatExempt": "Befreit",
    "errorDeleting": "Fehler beim Löschen",
    "draft": "Entwurf",
    "itemsSelected": "{count} Element(e) ausgewählt",
    "multiCustomerSelected": "{count} Elemente von {customers} Kunden ausgewählt",
    "confirmDismiss": "{count} Element(e) als erledigt markieren? Sie werden aus der Liste entfernt.",
    "dismissedSuccess": "Element(e) als erledigt markiert",
    "dismissError": "Fehler beim Markieren als erledigt",
    "confirmMarkPaid": "{count} Element(e) als bezahlt markieren?",
    "paymentMarkedPaid": "Zahlung(en) als bezahlt markiert",
    "markPaidError": "Fehler beim Markieren als bezahlt",
    "multiCustomerInvoice": "Sie haben Elemente von mehreren Kunden ausgewählt. Pro Kunde wird eine Rechnung erstellt. Fortfahren?",
    "deleteLetterheadConfirm": "Briefkopf löschen?",
    "letterheadDeleted": "Briefkopf gelöscht",
    "stripeApiKey": "Stripe-API-Schlüssel",
    "stripeHint": "Alternative: Geben Sie Ihren Stripe Secret Key für Zahlungslinks über Stripe Checkout ein.",
    "logoUploaded": "Logo hochgeladen",
    "logoDeleted": "Logo gelöscht",
    "confirmDeleteLogo": "Sind Sie sicher, dass Sie das Logo löschen möchten?",
    "noLetterhead": "Noch kein Briefkopf",
    "desktopHint": "Passen Sie Layoutdetails wie Logoposition, Schriftgrößen und Ränder am Desktop mit der Live-Vorschau an.",
    "companyBlockPosition": "Position Firmeninfo",
    "metaPosition": "Position Rechnungsdetails",
    "errorLoadingInvoices": "Fehler beim Laden der Rechnungen",
    "billingRedirectNote": "Rechnung geht an die Buchhaltung statt an den Kunden",
    "molliePaymentLinkError": "Mollie-Zahlungslink konnte nicht erstellt werden",
    "unknownError": "Unbekannter Fehler",
    "errorGeneric": "Fehler",
    "mollieKeyNotSet": "Kein Mollie-Schlüssel konfiguriert",
    "stripeKeyNotSet": "Kein Stripe-Schlüssel konfiguriert",
    "mollieConnectFailed": "Verbindung mit Mollie fehlgeschlagen",
    "stripeConnectFailed": "Verbindung mit Stripe fehlgeschlagen",
    "mollieKeyVerified": "Mollie API-Schlüssel verifiziert und gespeichert",
    "stripeKeyVerified": "Stripe API-Schlüssel verifiziert und gespeichert",
    "uploadFailed": "Upload fehlgeschlagen",
    "errorDeletingLogo": "Fehler beim Löschen des Logos",
    "noServicesYet": "Noch keine Dienste konfiguriert",
    "errorAddingService": "Fehler beim Hinzufügen des Dienstes",
    "pushToAccounting": "Senden an",
    "confirmPushAccounting": "Diese Rechnung an {provider} senden?",
    "pushingToAccounting": "Wird an {provider} gesendet...",
    "pushedToAccounting": "Rechnung an {provider} gesendet",
    "pushFailed": "Senden fehlgeschlagen",
    "bookingLinkSection": "Buchungslink",
    "includeBookingLink": "Buchungslink in Rechnungs-E-Mails einfügen",
    "bookingLinkHint": "Fügt eine persönliche Buchungsschaltfläche zu Rechnungs-E-Mails hinzu, damit Kunden ihren nächsten Termin planen können. Der Kalender öffnet sich im vorgeschlagenen Monat basierend auf dem Stimmintervall.",
    "includeBookingLinkEmail": "Buchungslink hinzufügen",
    "bookingLinkEmailHint": "Fügt einen \"Nächsten Termin vereinbaren\" Button zur E-Mail hinzu",
    "confirmResend": "Diese Rechnung wurde gerade versendet. Trotzdem erneut senden?",
    "emailRetryQueued": "Senden fehlgeschlagen, aber wir versuchen es automatisch in ein paar Minuten erneut. Keine Aktion nötig.",
    "placeholders": {
      "invoiceNotes": "Notizen für die Rechnung..."
    },
    "layoutHint": "Positionen und Ränder anpassen — die Live-Vorschau aktualisiert sich automatisch.",
    "vatRegionHint": "Bestimmt Währung, Rechnungssprache, MwSt-Sätze und das E-Rechnungs-Profil (UBL).",
    "paymentTermsHint": "Standard für neue Rechnungen — pro Rechnung änderbar.",
    "onlinePaymentHint": "Mollie unterstützt iDEAL, Bancontact und Karten in der gesamten EU und Großbritannien. Stripe verarbeitet Kreditkarten weltweit. Sie benötigen nur einen — verwenden Sie beide für maximale Auswahl.",
    "hideCompanyInfoHint": "Nur aktivieren, wenn Ihr Briefpapier bereits Firmenname und Adresse enthält.",
    "footerPlaceholder": "z.B. USt-IdNr., Handelsregister, Bedingungen",
    "varCustomerNameTip": "Vollständiger Kundenname",
    "varFirstNameTip": "Vorname Kunde",
    "varInvoiceNumberTip": "Rechnungsnummer",
    "varAmountTip": "Gesamtbetrag inkl. MwSt",
    "varDueDateTip": "Fälligkeitsdatum (formatiert)",
    "varCompanyNameTip": "Ihr Firmenname"
  },
  "routeOptimizer": {
    "title": "Routenoptimierer",
    "subtitle": "Optimieren Sie Ihre Fahrtrouten für maximale Effizienz",
    "selectWeek": "Woche auswählen",
    "currentWeek": "Diese Woche",
    "analyze": "Analysieren",
    "optimizing": "Optimiere...",
    "totalDistance": "Gesamtstrecke",
    "totalTime": "Gesamtzeit",
    "appointments": "Termine",
    "efficiency": "Effizienz",
    "suggestedSwaps": "Vorgeschlagene Änderungen",
    "noSuggestions": "Keine Optimierungen gefunden - Ihre Route ist bereits effizient!",
    "swap": "Tauschen",
    "swapDesc": "{{apt1}} ↔ {{apt2}}",
    "savesKm": "Spart {{km}} km",
    "savesMin": "Spart {{min}} Min.",
    "apply": "Anwenden",
    "applyAll": "Alle anwenden",
    "applied": "Angewendet",
    "dayView": "Tagesansicht",
    "weekView": "Wochenansicht",
    "from": "Von",
    "to": "Nach",
    "distance": "Entfernung",
    "time": "Zeit",
    "status": "Status",
    "optimal": "Optimal",
    "subOptimal": "Verbesserbar",
    "inefficient": "Ineffizient",
    "noData": "Keine Daten verfügbar",
    "errorLoading": "Fehler beim Laden der Routendaten",
    "km": "km",
    "min": "Min.",
    "hour": "Std.",
    "hours": "Std.",
    "efficiencyScore": "Routeneffizienz",
    "calculating": "Berechne...",
    "totalKm": "Gesamt km",
    "avgPerTrip": "Ø pro Fahrt",
    "outliers": "Ausreißer",
    "suggestions": "Optimierungsvorschläge",
    "planningOptimal": "Ihre Planung ist bereits optimal!",
    "weekOverview": "Wochenübersicht",
    "suggestedTime": "Vorgeschlagene Zeit",
    "accept": "Akzeptieren",
    "dismiss": "Ignorieren",
    "rescheduled": "Termin verschoben!",
    "rescheduleError": "Fehler beim Verschieben",
    "noTimeAvailable": "Keine Zeit verfügbar",
    "noApiKey": "Google Maps API Key nicht konfiguriert",
    "potentialSavings": "Sparen Sie bis zu {km} km",
    "gradeA": "Ausgezeichnete Routenplanung!",
    "gradeB": "Gute Routenplanung",
    "gradeC": "Akzeptable Planung",
    "gradeD": "Kann verbessert werden",
    "gradeF": "Deutliche Verbesserung möglich",
    "outlier": "Ausreißer",
    "centroid": "Zentrum {day}",
    "week": "Woche",
    "month": "Monat"
  },
  "teamBooking": {
    "pageTitle": "Termin buchen - Team",
    "stepService": "Dienst",
    "stepDateTime": "Datum & Zeit",
    "stepDetails": "Ihre Daten",
    "stepConfirm": "Bestätigen",
    "selectService": "Wählen Sie einen Dienst",
    "selectServiceSubtitle": "Wählen Sie den gewünschten Dienst",
    "selectDateTime": "Datum & Zeit wählen",
    "smartAssignmentInfo": "Wir schlagen das beste verfügbare Teammitglied basierend auf Ihrem Standort und Datum vor",
    "preferredDate": "Gewünschtes Datum",
    "yourAddress": "Ihre Adresse",
    "addressPlaceholder": "Straße, Stadt",
    "addressHelp": "Hilft uns, das nächste verfügbare Teammitglied zuzuweisen",
    "findAvailableTimes": "Verfügbare Zeiten suchen",
    "availableOptions": "Verfügbare Optionen",
    "bestMatch": "Beste Übereinstimmung",
    "yourDetails": "Ihre Daten",
    "yourDetailsSubtitle": "Wir benötigen einige Informationen zur Bestätigung Ihrer Buchung",
    "fullName": "Vollständiger Name",
    "email": "E-Mail-Adresse",
    "phone": "Telefonnummer",
    "notes": "Zusätzliche Bemerkungen",
    "notesPlaceholder": "Besondere Wünsche oder Informationen...",
    "reviewBooking": "Buchung überprüfen",
    "reviewBookingSubtitle": "Überprüfen Sie alle Details, bevor Sie bestätigen",
    "confirmBooking": "Buchung bestätigen",
    "bookingConfirmed": "Buchung bestätigt!",
    "confirmationEmail": "Eine Bestätigungsmail wurde an Ihre E-Mail-Adresse gesendet.",
    "teamMember": "Teammitglied",
    "dateTime": "Datum & Zeit",
    "duration": "Dauer",
    "location": "Standort",
    "name": "Name",
    "noSlotsAvailable": "Keine verfügbaren Zeitslots an diesem Datum",
    "tryAlternativeDates": "Probieren Sie diese alternativen Termine",
    "travelTime": "Fahrzeit",
    "appointmentsToday": "Termine heute",
    "minutes": "Minuten",
    "service": "Dienst",
    "confirmationEmailLabel": "Bestätigungsmail",
    "searchCustomer": "Kunde suchen",
    "selectPiano": "Klavier auswählen",
    "outsideServiceArea": "Außerhalb unseres Einsatzgebiets",
    "outOfZoneMessage": "Diese Adresse liegt leider außerhalb des Gebiets, das wir derzeit bedienen.",
    "contactUsDirectly": "Kontaktieren Sie uns direkt:",
    "selectTimeFirst": "Bitte wählen Sie zuerst ein Zeitfenster",
    "fillRequiredFields": "Bitte Name, E-Mail und Adresse ausfüllen",
    "searchingTimes": "Verfügbare Zeiten suchen...",
    "noSlotsInComingWeeks": "Keine verfügbaren Zeitfenster in den kommenden Wochen gefunden.",
    "preferOtherTime": "Lieber eine andere Zeit? Wählen Sie selbst",
    "earliestOption": "Früheste",
    "backToBestChoice": "Zurück zur besten Wahl",
    "findBestTimesIntro": "Beste Zeiten finden",
    "addressStar": "Adresse *",
    "findBestTimes": "Beste Zeiten finden",
    "choosePreferredTime": "Wählen Sie unsere Empfehlung",
    "timesOptimizedIntro": "Zeiten optimiert für effiziente Routenplanung",
    "loadingOptimalTimes": "Optimale Zeiten laden...",
    "confirmAppointment": "Termin bestätigen",
    "smartPickIntro": "Wir sind zu diesen Zeiten bereits in Ihrer Nähe — effizient für Sie und für uns.",
    "optimalMatch": "Optimale Abstimmung",
    "nearby": "In der Nähe",
    "moreOptions": "Weitere Optionen",
    "reasonRouteOptimized": "Routenoptimiert — wir sind bereits in der Nähe",
    "reasonBestMatch": "Beste Übereinstimmung für Ihren Standort"
  },
  "teams": {
    "pageTitle": "Teamverwaltung - PianoPlanner",
    "title": "Teamverwaltung",
    "subtitle": "Verwalten Sie Ihre Teams und aktivieren Sie intelligente Teambuchungen",
    "createTeam": "Team erstellen",
    "newTeam": "Neues Team",
    "editTeam": "Team bearbeiten",
    "teamName": "Teamname",
    "bookingTitle": "Buchungsseiten-Titel",
    "bookingTitleHint": "Wird Kunden auf der Buchungsseite angezeigt",
    "bookingDescription": "Buchungsseiten-Beschreibung",
    "bookingDescriptionHint": "Eine kurze Beschreibung für Kunden",
    "bookingSettings": "Buchungseinstellungen",
    "enableBooking": "Teambuchungen aktivieren",
    "enableBookingHint": "Erlauben Sie Kunden, bei Ihrem Team zu buchen",
    "teamMembers": "Teammitglieder",
    "addMember": "Mitglied hinzufügen",
    "newMember": "Neues Mitglied",
    "editMember": "Mitglied bearbeiten",
    "memberName": "Name",
    "memberEmail": "E-Mail",
    "memberAddress": "Privatadresse",
    "memberAddressHint": "Wird für intelligente Routenplanung verwendet",
    "maxDistance": "Max. Entfernung (km)",
    "workHours": "Arbeitszeiten",
    "workHoursHint": "Format: HH:MM-HH:MM",
    "priority": "Priorität (0-100)",
    "priorityHint": "Mitglieder mit höherer Priorität werden bei Zuweisungen bevorzugt",
    "status": "Status",
    "statusActive": "Aktiv",
    "statusInactive": "Inaktiv",
    "noTeamsYet": "Noch keine Teams",
    "createFirstTeam": "Erstellen Sie Ihr erstes Team, um intelligente Teambuchungen zu aktivieren",
    "active": "Aktiv",
    "inactive": "Inaktiv",
    "members": "Mitglieder",
    "manage": "Verwalten",
    "myTeam": "Mein Team",
    "myTeamSubtitle": "Verwalten Sie Ihre Klavierstimmer, Arbeitszeiten und Buchungslink",
    "loading": "Laden...",
    "bookingLink": "Buchungslink",
    "pianoTuners": "Klavierstimmer",
    "save": "Speichern",
    "bookingDisabledMsg": "Aktivieren Sie Buchungen, damit Kunden online bei Ihrem Team buchen können.",
    "teamNamePlaceholder": "z.B. Ihr Firmenname",
    "bookingTitlePlaceholder": "z.B. Stimmung buchen",
    "bookingDescPlaceholder": "z.B. Unser erfahrenes Stimmteam steht Ihnen gerne zur Verfügung...",
    "icalTitle": "Kalenderabonnement für Teammitglieder",
    "icalDesc": "Jedes Teammitglied hat einen persönlichen iCal-Link, um Termine (schreibgeschützt) im eigenen Kalender anzuzeigen.",
    "icalApple": "Apple: Ablage → Neues Kalenderabonnement → URL einfügen",
    "icalGoogle": "Google: Einstellungen → Andere Kalender → Von URL",
    "icalOutlook": "Outlook: Kalender hinzufügen → Aus dem Web abonnieren",
    "bookingEnabled": "Buchungen aktiviert",
    "bookingDisabled": "Buchungen deaktiviert",
    "settingsSaved": "Einstellungen gespeichert",
    "settingsSaveFailed": "Einstellungen konnten nicht gespeichert werden",
    "linkCopied": "Link kopiert!",
    "connectLinkCopied": "Verbindungslink für {name} kopiert! Senden Sie diesen Link an {name}.",
    "connectLinkFailed": "Verbindungslink konnte nicht erstellt werden",
    "disconnectConfirm": "Google Kalender für {name} trennen?",
    "disconnected": "Google Kalender für {name} getrennt",
    "disconnectFailed": "Google Kalender konnte nicht getrennt werden",
    "enterDates": "Geben Sie ein Start- und Enddatum ein",
    "absenceAdded": "Abwesenheit hinzugefügt",
    "absenceAddFailed": "Abwesenheit konnte nicht hinzugefügt werden",
    "absenceDeleteConfirm": "Abwesenheit löschen?",
    "absenceDeleted": "Abwesenheit gelöscht",
    "absenceDeleteFailed": "Abwesenheit konnte nicht gelöscht werden",
    "nameEmailRequired": "Name und E-Mail sind erforderlich",
    "memberUpdated": "Mitglied aktualisiert",
    "memberAdded": "Mitglied hinzugefügt",
    "memberSaveFailed": "Mitglied konnte nicht gespeichert werden",
    "memberDeleteConfirm": "Sind Sie sicher, dass Sie dieses Teammitglied entfernen möchten?",
    "memberRemoved": "Mitglied entfernt",
    "memberRemoveFailed": "Mitglied konnte nicht entfernt werden",
    "bookingToggleFailed": "Buchungen konnten nicht geändert werden",
    "enterTeamName": "Teamname eingeben:",
    "companyLogo": "Firmenlogo",
    "logoUploadHint": "Eigenes Team-Logo hochladen (überschreibt Firmenlogo)",
    "logoUploaded": "Logo hochgeladen",
    "logoRemoved": "Logo entfernt",
    "usingCompanyLogo": "Ihr Firmenlogo aus den Einstellungen wird auf der Buchungsseite verwendet.",
    "changeInSettings": "In Einstellungen ändern",
    "serviceArea": "Einsatzgebiet",
    "noZone": "Keine Zone",
    "enterAddressFirst": "Geben Sie zuerst eine Heimatadresse ein",
    "clearZone": "Zone löschen (überall verfügbar)",
    "geocodeFailed": "Adresse konnte nicht auf der Karte gefunden werden",
    "serviceZone": "Zone",
    "contactPhone": "Kontakttelefon",
    "contactPhonePlaceholder": "z.B. +49 170 1234567",
    "contactPhoneHint": "Wird Kunden außerhalb Ihres Einsatzgebiets angezeigt",
    "contactEmail": "Kontakt-E-Mail",
    "contactEmailPlaceholder": "z.B. info@firma.de",
    "dragToMove": "Ziehen um Zonenmitte zu verschieben",
    "zoneHint": "Kunden außerhalb dieses Radius können diesen Stimmer nicht buchen",
    "teamLoadFailed": "Team konnte nicht geladen werden",
    "bookingActiveLabel": "Aktiv",
    "copyButton": "Kopieren",
    "bookingDisabledLabel": "Aus",
    "noMembersYet": "Noch keine Teammitglieder",
    "vacationButton": "🏖️ Urlaub",
    "sendAccessButton": "📱 Zugang senden",
    "lastActiveLabel": "Zuletzt aktiv:",
    "neverLoggedIn": "Noch nie eingeloggt",
    "sendingStatus": "Senden...",
    "sentStatus": "Gesendet",
    "errorSending": "Fehler beim Senden.",
    "justNow": "gerade eben",
    "minutesAgo": "vor {{mins}} Min.",
    "hoursAgo": "vor {{hours}} Std.",
    "yesterday": "gestern",
    "daysAgo": "vor {{days}} Tagen",
    "absencesTitle": "Abwesenheiten",
    "noAbsences": "Keine Abwesenheiten geplant",
    "scheduledAbsences": "Geplant",
    "pastAbsences": "Vergangen",
    "dateRangeSeparator": "bis",
    "deleteAbsenceButton": "Löschen",
    "memberLoadFailed": "Teammitglieder konnten nicht geladen werden",
    "logoUploadFailed": "Logo konnte nicht hochgeladen werden",
    "logoRemoveFailed": "Logo konnte nicht entfernt werden",
    "magicLinkSent": "Magic-Link erfolgreich gesendet!",
    "selectTeam": "Team:",
    "membersCount": "Mitglieder",
    "teamCreated": "Team erstellt",
    "errorCreatingTeam": "Fehler beim Erstellen des Teams",
    "cannotDeleteLastTeam": "Das letzte Team kann nicht gelöscht werden",
    "confirmDeleteTeam": "Sind Sie sicher, dass Sie dieses Team löschen möchten? Alle Mitglieder werden entfernt und Termine entkoppelt.",
    "teamDeleted": "Team gelöscht",
    "errorDeletingTeam": "Fehler beim Löschen des Teams",
    "everyone": "Alle",
    "unassigned": "Nicht zugewiesen",
    "bulkAssignFuture": "Auch alle zukünftigen Termine dieses Kunden zuweisen",
    "bulkAssignSuccess": "{count} Termine zugewiesen",
    "assignTo": "Zuweisen an",
    "copyIcalLink": "iCal-Link kopieren",
    "notifyOnAssign": "E-Mail bei Zuweisung",
    "icalSubscribeTitle": "Persönlichen Kalender abonnieren",
    "icalSubscribeDesc": "Fügen Sie diesen Link zu Apple Kalender, Google Kalender oder Outlook hinzu:",
    "icalSubscribeButton": "Kalender abonnieren",
    "icalCopyHint": "Oder kopieren Sie den Link und fügen ihn in Ihre Kalender-App ein.",
    "copied": "Kopiert!",
    "copyManually": "Diesen Link kopieren:",
    "calendarColor": "Kalenderfarbe",
    "tabMembers": "Mitglieder",
    "tabBooking": "Buchung",
    "tabSettings": "Einstellungen",
    "bookingPageSettings": "Buchungsseite",
    "teamSettings": "Teameinstellungen",
    "welcomeTitle": "Willkommen bei Teams!",
    "welcomeDesc": "Wir richten dein Team ein und fügen dich als erstes Mitglied hinzu. Deine bestehenden Einstellungen und Termine werden automatisch übernommen.",
    "teamNameLabel": "Teamname",
    "reviewProfile": "Überprüfe dein Profil",
    "reviewDesc": "Diese Daten werden für dein Teammitgliedsprofil verwendet. Du kannst sie später ändern.",
    "nameLabel": "Name",
    "emailLabel": "E-Mail",
    "addressLabel": "Adresse",
    "workHoursLabel": "Arbeitszeiten",
    "continueButton": "Weiter",
    "backButton": "Zurück",
    "createTeamButton": "Team erstellen",
    "setupComplete": "Team ist bereit!",
    "setupCompleteDesc": "Du wurdest als erstes Teammitglied hinzugefügt. Deine bevorstehenden Termine wurden verknüpft. Füge deinen ersten Kollegen hinzu.",
    "appointmentsLinked": "{count} bevorstehende Termine mit deinem Profil verknüpft",
    "addFirstColleague": "Ersten Kollegen hinzufügen"
  },
  "travelReport": {
    "title": "Reisekostenabrechnung - PianoPlanner",
    "heading": "Reisekosten",
    "subtitle": "Übersicht aller Fahrstrecken für Abrechnung",
    "startDate": "Von",
    "endDate": "Bis",
    "customerFilter": "Kunde (optional)",
    "searchPlaceholder": "Kunden suchen...",
    "generate": "Bericht erstellen",
    "export": "CSV",
    "totalAppointments": "Fahrten",
    "totalKm": "Kilometer",
    "avgKm": "Ø km",
    "totalTime": "Fahrzeit",
    "costLabel": "Erstattung",
    "loading": "Laden...",
    "emptyState": "Zeitraum auswählen",
    "emptyHint": "Der Bericht wird automatisch erstellt",
    "date": "Datum",
    "time": "Uhrzeit",
    "customer": "Kunde",
    "location": "Standort",
    "route": "Route",
    "service": "Dienst",
    "distance": "Entfernung",
    "travelTime": "Fahrzeit",
    "notes": "Bemerkungen",
    "noDataFound": "Keine Reisedaten gefunden",
    "errorLoading": "Bericht konnte nicht geladen werden",
    "errorExport": "Erstellen Sie zuerst einen Bericht",
    "selectDates": "Wählen Sie ein Start- und Enddatum"
  },
  "travelV2": {
    "pageTitle": "Fahrten & Reisekosten - PianoPlanner",
    "heading": "Fahrten & Reisekosten",
    "tabOverview": "Übersicht",
    "tabTrips": "Fahrtenliste",
    "tabVehicle": "Fahrzeug",
    "year": "Jahr:",
    "totalKm": "Gesamt km",
    "businessKm": "Geschäftlich km",
    "privateKm": "Privat km",
    "declaration": "Erstattung",
    "manualTrips": "Manuell",
    "odometerDiff": "Km-Stand Differenz",
    "monthlyChart": "Monatsübersicht",
    "business": "Geschäftlich",
    "private": "Privat",
    "filterAll": "Alle",
    "filterBusiness": "Geschäftlich",
    "filterPrivate": "Privat",
    "filterManual": "Manuell",
    "searchTrips": "Fahrt suchen...",
    "addTrip": "Fahrt hinzufügen",
    "colDate": "Datum",
    "colPurpose": "Fahrzweck",
    "colRoute": "Route",
    "colType": "Typ",
    "colSource": "Quelle",
    "colDistance": "Entfernung",
    "noTrips": "Keine Fahrten gefunden",
    "noTripsHint": "Wählen Sie ein anderes Jahr oder ändern Sie den Filter",
    "loading": "Laden...",
    "purposePlaceholder": "Fahrzweck",
    "fromPlaceholder": "Von",
    "toPlaceholder": "Nach",
    "roundTrip": "Hin & zurück",
    "vehicleInfo": "Fahrzeuginformationen",
    "licensePlate": "Kennzeichen",
    "vehicleName": "Fahrzeugname",
    "save": "Speichern",
    "odometerTitle": "Kilometerstände",
    "odometerDate": "Datum",
    "odometerReading": "Stand (km)",
    "period": "Zeitraum:",
    "periodWeek": "Woche",
    "periodMonth": "Monat",
    "periodQuarter": "Quartal",
    "periodYear": "Jahr",
    "periodCustom": "Benutzerdefiniert",
    "periodTo": "bis",
    "tripsCount": "{count} Fahrten",
    "exportCsv": "CSV",
    "exportPdf": "PDF",
    "exportCsvTitle": "Als CSV exportieren",
    "exportPdfTitle": "Als PDF exportieren",
    "loadError": "Fehler beim Laden der Daten",
    "tripSaveError": "Fehler beim Speichern der Fahrt",
    "tripUpdateError": "Fehler beim Aktualisieren der Fahrt",
    "confirmDeleteTrip": "Möchten Sie diese Fahrt wirklich löschen?",
    "deleteError": "Fehler beim Löschen",
    "kmOverrideError": "Fehler beim Anpassen der km",
    "vehicleSaved": "Fahrzeug gespeichert",
    "vehicleSaveError": "Fehler beim Speichern des Fahrzeugs",
    "noOdometerReadings": "Noch keine Kilometerstände erfasst",
    "odometerSaveError": "Fehler beim Speichern des Standes",
    "noDataExport": "Keine Daten zum Exportieren",
    "csvHeader": "Datum,Zweck,Von,Nach,Typ,Quelle,Entfernung (km),Rückfahrt",
    "pdfError": "Fehler beim PDF-Export",
    "kmRate": "Kilometersatz",
    "kmRatePlaceholder": "0,30"
  },
  "why": {
    "navPricing": "Preise",
    "navStart": "Loslegen",
    "heroTitle": "Warum Klaviertechniker PianoPlanner wählen",
    "heroSubtitle": "Entwickelt von einem Klaviertechniker, der genug von ineffizienter Planung hatte. Das macht PianoPlanner anders als Gazelle und andere Software.",
    "uniqueTitle": "🏆 Features, die sonst niemand hat",
    "badgeUnique": "Einzigartig",
    "badgeSmart": "Smart",
    "badgeVisual": "Visuell",
    "theaterTitle": "Theater-Modus",
    "theaterDesc": "Konzertsäle und Theater sind verfügbar, wenn Sie normalerweise frei haben — abends und am Wochenende. PianoPlanner lässt Sie separate Arbeitszeiten für diese speziellen Kunden einstellen.",
    "tripleCalTitle": "Dreifache Kalender-Sync",
    "tripleCalDesc": "Die einzige Klaviertechniker-App mit Zwei-Wege-Sync für Google Calendar, Microsoft 365 UND Apple Calendar — gleichzeitig. Ihre privaten Termine blockieren automatisch die Verfügbarkeit.",
    "personalLinkTitle": "Persönliche Buchungslinks",
    "personalLinkDesc": "Jeder Kunde bekommt einen eigenen einzigartigen Buchungslink mit vorausgefüllten Daten: Name, Adresse, Klaviere, letzte Stimmung und Stimmintervall.",
    "smartOriginTitle": "Smarte Routenberechnung",
    "smartOriginDesc": "Fahrzeit wird ab Ihrem VORHERIGEN Termin berechnet, nicht ab dem Büro. Kombiniert mit Daten aus all Ihren Kalendern (Google, Apple, Microsoft) für genaue Fahrzeiten.",
    "routeColorsTitle": "Routeneffizienz-Farben",
    "routeColorsDesc": "Sehen Sie auf einen Blick, ob Ihr Tag effizient geplant ist. Jeder Termin bekommt eine Farbe basierend auf der Fahrzeit vom vorherigen.",
    "pianoLocTitle": "Klavier ≠ Kundenstandort",
    "pianoLocDesc": "PianoPlanner versteht, dass ein Klavier woanders stehen kann als dort, wo der Kunde wohnt. Die Fahrzeit wird zum tatsächlichen Standort des Klaviers berechnet.",
    "compareTitle": "📊 Vergleich",
    "compareSubtitle": "Sehen Sie, wie PianoPlanner sich im Vergleich zu anderer Planungssoftware für Klaviertechniker schlägt.",
    "tableFeature": "Funktion",
    "featureTarget": "Zielgruppe",
    "featureTargetPP": "Klaviertechniker",
    "featureTargetGZ": "Klaviertechniker",
    "featureTargetSP": "HLK-Installateure",
    "featureTheater": "Theater-/Veranstaltungszeiten",
    "featureGoogle": "Google Kalender",
    "featureMicrosoft": "Microsoft 365",
    "featureApple": "Apple Kalender",
    "featurePersonalLinks": "Persönliche Kundenlinks",
    "featureRouteColors": "Routeneffizienz-Farben",
    "featureSmartOrigin": "Smart Origin (ab vorherigem Termin)",
    "featurePianoLoc": "Klavier-Standort Unterstützung",
    "featureTuningReminders": "Automatische Stimmerinnerungen",
    "featureOffline": "Offline PWA-App",
    "featureLanguages": "Sprachen",
    "featureServers": "Datenspeicherort",
    "featurePrice": "Startpreis",
    "featureFree": "Kostenlose Version",
    "ownOnly": "Nur eigener Kalender",
    "nativeApp": "Native App",
    "serversEU": "Europa (DSGVO)",
    "serversUS": "Vereinigte Staaten",
    "serversNL": "Niederlande",
    "free25": "25 Kunden",
    "trial30": "30 Tage Probe",
    "trial14": "14 Tage Probe",
    "routeDemoTitle": "🚦 Routeneffizienz auf einen Blick",
    "routeGreen": "<15 Min. Fahrzeit — Effizient",
    "routeOrange": "15-30 Min. Fahrzeit — Akzeptabel",
    "routeRed": ">30 Min. Fahrzeit — Verschiebung erwägen",
    "ctaTitle": "Bereit, PianoPlanner auszuprobieren?",
    "ctaDesc": "Starten Sie kostenlos mit bis zu 25 Kunden. Keine Kreditkarte erforderlich. Importieren Sie Ihre bestehenden Daten von Gazelle oder Excel in Minuten.",
    "ctaButton": "Kostenlos starten →",
    "footerMadeBy": "Made with ♥ in Tilburg, Niederlande"
  },
  "importCalendar": {
    "googleTitle": "Google Kalender importieren",
    "googleDesc": "Importieren Sie Termine direkt aus Ihrem Google Kalender — bis zu 3 Jahre zurück.",
    "googleNotConnected": "Ihr Google Kalender ist noch nicht verbunden. Gehen Sie zu Einstellungen → Kalender-Sync, um Ihr Google-Konto zu verbinden.",
    "googlePeriod": "Zeitraum:",
    "googleFoundInGoogle": "Im Google Kalender gefunden:",
    "googleAlreadyImported": "Bereits importiert:",
    "googleNewEvents": "Neu zu importieren:",
    "googlePreviewBtn": "🔍 Verfügbare Termine anzeigen",
    "googleImportBtn": "📥 Termine importieren",
    "googleImporting": "Importieren...",
    "googleViewAgenda": "Kalender anzeigen",
    "uploadTitle": "Laden Sie Ihre Kalenderdatei hoch",
    "microsoftTitle": "Microsoft / Outlook importieren",
    "microsoftDesc": "Importieren Sie Termine direkt aus Ihrem Microsoft 365 / Outlook Kalender — bis zu 3 Jahre zurück.",
    "microsoftNotConnected": "Ihr Microsoft Kalender ist noch nicht verbunden. Gehen Sie zu Einstellungen → Kalender-Sync, um Ihr Microsoft-Konto zu verbinden.",
    "microsoftPeriod": "Zeitraum:",
    "microsoftFoundInMs": "In Microsoft gefunden:",
    "microsoftAlreadyImported": "Bereits importiert:",
    "microsoftNewEvents": "Neu zu importieren:",
    "microsoftPreviewBtn": "🔍 Verfügbare Termine anzeigen",
    "microsoftImportBtn": "📥 Termine importieren",
    "microsoftImporting": "Importieren...",
    "microsoftViewAgenda": "Kalender anzeigen",
    "appleTitle": "Apple Kalender",
    "appleExplanation": "Apple bietet keine offene API für Kalenderzugriff an, anders als Google und Microsoft. Daher ist ein direkter Import nicht möglich.",
    "appleHowTo": "Sie können Ihren Apple Kalender über eine .ics-Datei importieren:",
    "appleStep1": "Öffnen Sie Kalender auf Ihrem Mac",
    "appleStep2": "Wählen Sie Ihren Kalender in der Seitenleiste",
    "appleStep3": "Gehen Sie zu Ablage → Exportieren → Exportieren...",
    "appleStep4": "Speichern Sie als .ics-Datei und laden Sie sie unten hoch ↓",
    "googleSessionExpired": "Ihre Google-Sitzung ist abgelaufen. Gehen Sie zu Einstellungen, um erneut zu verbinden.",
    "microsoftSessionExpired": "Ihre Microsoft-Sitzung ist abgelaufen. Gehen Sie zu Einstellungen, um erneut zu verbinden.",
    "previewFailed": "Vorschau fehlgeschlagen",
    "importFailed": "Import fehlgeschlagen",
    "error": "Fehler",
    "importError": "Fehler beim Importieren",
    "processing": "Verarbeiten...",
    "errors": "Fehler",
    "googleConfirmImport": "{count} Termine aus Google Kalender importieren? Dies kann nicht rückgängig gemacht werden.",
    "microsoftConfirmImport": "{count} Termine aus Microsoft importieren? Dies kann nicht rückgängig gemacht werden.",
    "googleFetching": "Termine aus Google abrufen...",
    "microsoftFetching": "Termine aus Microsoft abrufen...",
    "importedCount": "{count} Termine importiert!",
    "skippedCount": "{count} übersprungen (bereits vorhanden)",
    "noEventsToImport": "Keine Termine zum Importieren",
    "importOf": "Import von",
    "batchLoadError": "Fehler beim Laden der Import-Batches.",
    "confirmDeleteBatch": "Möchten Sie diesen Import wirklich löschen?\\n\\nDies löscht {count} Einträge dauerhaft.",
    "deleteError": "Fehler beim Löschen: ",
    "unknownError": "Unbekannter Fehler",
    "invalidFileType": "Bitte laden Sie eine .ics oder .ical Datei hoch",
    "fileReadError": "Fehler beim Lesen der Datei: ",
    "andMore": "... und {count} weitere",
    "batchCustomers": "Kunden",
    "batchPianos": "Klaviere",
    "batchAppointments": "Termine",
    "deletedResult": "Gelöscht:\\n\\u2022 {customers} Kunden\\n\\u2022 {pianos} Klaviere\\n\\u2022 {appointments} Termine"
  },
  "accounting": {
    "title": "Buchhaltungs-Integration",
    "subtitle": "Verbinden Sie PianoPlanner mit Ihrer Buchhaltungssoftware, um Rechnungen automatisch zu synchronisieren.",
    "connected": "Verbunden",
    "notConnected": "Nicht verbunden",
    "comingSoon": "Demnächst",
    "connect": "Verbinden",
    "connecting": "Verbinde...",
    "disconnect": "Trennen",
    "disconnected": "Getrennt",
    "testConnection": "Verbindung testen",
    "connectionOk": "Verbindung OK",
    "connectionFailed": "Verbindung fehlgeschlagen",
    "syncNow": "Jetzt synchronisieren",
    "syncing": "Synchronisierung gestartet...",
    "syncFailed": "Synchronisierung fehlgeschlagen",
    "fillBothFields": "Bitte Client ID und Client Secret ausfüllen",
    "connectFailed": "Verbindung fehlgeschlagen",
    "networkError": "Netzwerkfehler — bitte erneut versuchen",
    "confirmDisconnect": "Sind Sie sicher, dass Sie die Verbindung trennen möchten? Bestehende Syncs bleiben erhalten.",
    "disconnectFailed": "Trennen fehlgeschlagen",
    "jorttConnected": "Jortt erfolgreich verbunden!",
    "lastSyncAt": "Letzte Sync:",
    "neverSynced": "Noch nicht synchronisiert",
    "syncSettings": "Sync-Einstellungen",
    "syncInvoices": "Rechnungen synchronisieren",
    "syncContacts": "Kunden synchronisieren",
    "autoSync": "Automatisch synchronisieren (täglich)",
    "syncLog": "Sync-Protokoll",
    "syncLogDesc": "Übersicht der letzten Synchronisierungen",
    "logDate": "Datum",
    "logInvoice": "Rechnung",
    "logProvider": "Anbieter",
    "logStatus": "Status",
    "noSyncHistory": "Noch keine Synchronisierungen durchgeführt",
    "comingSoonText": "Diese Integration wird bald verfügbar sein. Kontaktieren Sie uns, wenn Sie sie nutzen möchten.",
    "country": {
      "nl": "Niederlande",
      "be": "Belgien",
      "de": "Deutschland",
      "intl": "International"
    },
    "requestSection": "Ihr Paket nicht dabei?",
    "requestTitle": "Anderes Buchhaltungspaket anfragen",
    "requestDesc": "Nutzen Sie ein anderes Buchhaltungspaket? Lassen Sie es uns wissen! Wir prüfen, ob wir eine Anbindung hinzufügen können.",
    "requestCountry": "Land",
    "requestPackageName": "Name des Buchhaltungspakets *",
    "requestPackageUrl": "Website (optional)",
    "requestNotes": "Anmerkungen (optional)",
    "requestSubmit": "Anfrage senden",
    "requestSending": "Wird gesendet...",
    "requestSent": "Vielen Dank! Ihre Anfrage wurde gesendet. Wir prüfen die Möglichkeiten und melden uns bei Ihnen.",
    "requestSentShort": "Anfrage gesendet!",
    "requestFillName": "Bitte geben Sie den Namen des Buchhaltungspakets ein",
    "requestFailed": "Anfrage fehlgeschlagen",
    "jortt": {
      "desc": "Online-Buchhaltung, Rechnungen und Umsatzsteuer für Freiberufler und KMU",
      "apiInfo": "Verbinden Sie Ihr Jortt-Konto über die API. Sie benötigen eine Client ID und ein Client Secret vom Jortt Developer Portal.",
      "step1Title": "Gehen Sie zum Jortt Developer Portal",
      "step1Text": "Melden Sie sich mit Ihrem Jortt-Konto an",
      "step2Title": "Erstellen Sie eine neue API-Verbindung",
      "step2Text": "Klicken Sie auf \"Neue Verbindung\" und nennen Sie sie \"PianoPlanner\"",
      "step3Title": "Kopieren Sie die Zugangsdaten",
      "step3Text": "Kopieren Sie Client ID und Client Secret und fügen Sie sie unten ein",
      "clientId": "Client ID",
      "clientSecret": "Client Secret",
      "credentialHint": "Ihre Zugangsdaten werden verschlüsselt gespeichert.",
      "viewInvoices": "Rechnungen in Jortt anzeigen",
      "syncPayments": "Zahlungen abrufen",
      "noInvoices": "Keine Rechnungen in Jortt gefunden",
      "goToSetup": "Verbindung einrichten",
      "manage": "Verwalten"
    },
    "moneybird": {
      "desc": "Beliebte niederländische Buchhaltungssoftware für Freiberufler und KMU",
      "apiInfo": "Verbinden Sie Ihr Moneybird-Konto über ein Personal Access Token. Sie benötigen ein Token und Ihre Administrations-ID.",
      "step1Title": "Erstellen Sie ein Personal Access Token",
      "step1Text": "Erstellen Sie ein neues Token mit dem Namen \"PianoPlanner\"",
      "step2Title": "Finden Sie Ihre Administrations-ID",
      "step2Text": "Gehen Sie zu Ihrer Administration in Moneybird. Die ID steht in der URL: moneybird.com/{administrations-id}/...",
      "step3Title": "Füllen Sie die Angaben unten aus",
      "step3Text": "Fügen Sie Ihr Token und Ihre Administrations-ID unten ein",
      "token": "Persönlicher Zugangstoken",
      "adminId": "Administrations-ID",
      "credentialHint": "Ihr Token wird verschlüsselt gespeichert.",
      "fillBothFields": "Bitte füllen Sie sowohl das Token als auch die Administrations-ID aus",
      "syncContacts": "Kunden synchronisieren",
      "syncInvoices": "Rechnungen synchronisieren",
      "goToSetup": "Verbindung einrichten",
      "syncPayments": "Zahlungen synchronisieren",
      "connectedTitle": "Moneybird ist verbunden",
      "manage": "Verwalten"
    },
    "eboekhouden": {
      "desc": "Einfache und erschwingliche Online-Buchhaltung",
      "apiInfo": "Verbinde dein e-Boekhouden-Konto über ein API-Token. Gehe zu e-Boekhouden → Verwaltung → Verbindungen → API, um dein Token zu erstellen.",
      "step1Title": "Melde dich bei e-Boekhouden an",
      "step1Text": "gehe zu Verwaltung → Verbindungen → API",
      "step2Title": "Erstelle ein API-Token",
      "step2Text": "Klicke auf \"Neues Token\" und kopiere das generierte Token",
      "step3Title": "Füge das Token unten ein",
      "step3Text": "Dein Token wird verschlüsselt gespeichert",
      "apiToken": "API-Token",
      "credentialHint": "Dein Token wird verschlüsselt gespeichert.",
      "goToSetup": "Verbindung einrichten",
      "manage": "Verwalten",
      "syncPayments": "Zahlungen abrufen",
      "connected": "Erfolgreich mit e-Boekhouden verbunden!",
      "tokenRequired": "Bitte gib dein API-Token ein"
    },
    "exact": {
      "desc": "Umfassende Unternehmenssoftware für Buchhaltung und ERP"
    },
    "odooConnected": "Odoo erfolgreich verbunden!",
    "odoo": {
      "desc": "Open-Source-ERP und Buchhaltung — beliebt in Belgien und international",
      "apiInfo": "Verbinden Sie Ihr Odoo-Konto über die External API. Sie benötigen Ihre Odoo-URL, Datenbankname, Benutzername und einen API-Key.",
      "planNote": "Hinweis:",
      "planNoteText": "Die Odoo External API ist nur in Custom/Enterprise-Plänen verfügbar. Standard- und One App Free-Pläne werden nicht unterstützt.",
      "step1Title": "Notieren Sie Ihre Odoo-URL und Datenbank",
      "step1Text": "Zum Beispiel https://meinefirma.odoo.com — der Datenbankname ist meist der Firmenname",
      "step2Title": "Erstellen Sie einen API-Key",
      "step2Text": "Gehen Sie zu Einstellungen → Kontosicherheit → Neuer API-Key. Bewahren Sie den Key sicher auf!",
      "step3Title": "Füllen Sie die Daten unten aus",
      "step3Text": "Ihre URL, Datenbankname, E-Mail-Adresse und API-Key",
      "url": "Odoo URL",
      "dbName": "Datenbankname",
      "username": "Benutzername (E-Mail)",
      "apiKey": "API-Key",
      "credentialHint": "Ihre Zugangsdaten werden verschlüsselt gespeichert. Der API-Key entspricht einem Passwort.",
      "fillAllFields": "Bitte alle Felder ausfüllen: URL, Datenbank, Benutzername und API-Key",
      "goToSetup": "Verbindung einrichten",
      "manage": "Verwalten"
    },
    "datev": {
      "desc": "Der Standard für deutsche Steuerberater und Unternehmen — Marktführer in Deutschland"
    },
    "lexoffice": {
      "desc": "Beliebteste Cloud-Buchhaltung in Deutschland — von Haufe/Lexware"
    },
    "sevdesk": {
      "desc": "Smarte Online-Buchhaltung mit exzellenter API — schnell wachsend in Deutschland"
    },
    "yuki": {
      "desc": "Automatisierte Buchhaltung für Buchhalter — beliebt in Belgien und den Niederlanden"
    },
    "billit": {
      "desc": "Belgische Rechnungsplattform mit E-Invoicing und Buchhaltung"
    },
    "quickbooks": {
      "desc": "Weltweit beliebte Buchhaltungssoftware von Intuit — Marktführer in den USA und Großbritannien",
      "apiInfo": "Verbinden Sie Ihr QuickBooks Online-Konto über die API. Sie benötigen ein Access Token und Ihre Company ID (Realm ID) aus dem Intuit Developer Portal.",
      "step1Title": "Gehen Sie zum Intuit Developer Portal",
      "step1Text": "Melden Sie sich mit Ihrem Intuit-Konto an",
      "step2Title": "Erstellen Sie eine App und generieren Sie Tokens",
      "step2Text": "Erstellen Sie eine OAuth 2.0 App und verwenden Sie den API Explorer, um ein Access Token zu generieren",
      "step3Title": "Finden Sie Ihre Company ID (Realm ID)",
      "step3Text": "Ihre Company ID steht in der URL Ihres QuickBooks-Kontos: app.qbo.intuit.com/app/homepage?companyId={ID}",
      "realmId": "Company ID (Realm ID)",
      "token": "Access Token",
      "credentialHint": "Ihr Token wird verschlüsselt gespeichert.",
      "fillBothFields": "Bitte füllen Sie sowohl die Company ID als auch das Access Token aus"
    },
    "quickbooksConnected": "QuickBooks erfolgreich verbunden!",
    "zoho": {
      "desc": "Komplette Cloud-Buchhaltung von Zoho — beliebt in Indien, USA, UK und weltweit",
      "apiInfo": "Verbinden Sie Ihr Zoho Books-Konto über OAuth. Sie benötigen ein OAuth Token und Ihre Organization ID aus der Zoho API Console.",
      "step1Title": "Gehen Sie zur Zoho API Console",
      "step1Text": "Erstellen Sie einen Self Client für OAuth Tokens",
      "step2Title": "Generieren Sie ein OAuth Token",
      "step2Text": "Verwenden Sie den Scope ZohoBooks.fullaccess.all und generieren Sie ein Token über den Self Client",
      "step3Title": "Finden Sie Ihre Organization ID",
      "step3Text": "Gehen Sie zu Zoho Books → Einstellungen → Organisation → die ID steht oben",
      "regionLabel": "Zoho Region",
      "orgId": "Organization ID",
      "token": "OAuth Token",
      "credentialHint": "Ihr Token wird verschlüsselt gespeichert.",
      "fillBothFields": "Bitte füllen Sie sowohl die Organization ID als auch das OAuth Token aus"
    },
    "zohoConnected": "Zoho Books erfolgreich verbunden!",
    "fiken": {
      "desc": "Super einfache Buchhaltungssoftware für norwegische Unternehmen — Rechnungen, Buchhaltung und Mehrwertsteuer",
      "apiInfo": "Verbinden Sie Ihr Fiken-Konto mit einem Personal API Token und Ihrem Company Slug. Die API kostet 99 NOK/Monat in Fiken.",
      "step1Title": "Bei Fiken einloggen",
      "step1Text": "Gehen Sie zu Konto bearbeiten → API → Persönliche API-Schlüssel",
      "step2Title": "Erstellen Sie ein Personal API Token",
      "step2Text": "Klicken Sie auf 'Neuen Schlüssel erstellen' und kopieren Sie das Token",
      "step3Title": "Finden Sie Ihren Company Slug",
      "step3Text": "Ihr Company Slug steht in der URL: fiken.no/foretak/ihr-firmen-slug",
      "companySlug": "Company Slug",
      "token": "Personal API Token",
      "credentialHint": "Ihr Token wird verschlüsselt gespeichert.",
      "fillBothFields": "Bitte füllen Sie sowohl den Company Slug als auch das API Token aus"
    },
    "fikenConnected": "Fiken erfolgreich verbunden!",
    "visma": {
      "desc": "Skandinavische Buchhaltungsplattform — Visma eAccounting, e-conomic, Netvisor und mehr"
    },
    "vipps": {
      "desc": "Mobile Zahlungen in Skandinavien — Rechnungen stellen und Zahlungen über Vipps direkt auf dem Handy empfangen"
    },
    "region": {
      "europa": "Europa",
      "international": "International",
      "payments": "Zahlungen"
    },
    "moneybirdConnected": "Moneybird erfolgreich verbunden!",
    "syncingPayments": "Zahlungsstatus wird abgerufen...",
    "noNewPayments": "Keine neuen Zahlungen gefunden",
    "administration": "Verwaltung:",
    "loadFailed": "Laden fehlgeschlagen",
    "fetchFailed": "Abruf fehlgeschlagen",
    "statusConfirmed": "Bestätigt",
    "syncAsDraft": "Als Entwurf synchronisieren",
    "syncAsDraftHint": "Rechnungen werden als Entwurf synchronisiert, damit Sie sie in Ihrer Buchhaltungssoftware prüfen und versenden können."
  },
  "dpa": {
    "title": "Auftragsverarbeitungsvertrag",
    "subtitle": "Auftragsverarbeitungsvertrag gemäß der DSGVO",
    "intro": "Dieser Auftragsverarbeitungsvertrag ist integraler Bestandteil der Allgemeinen Geschäftsbedingungen von PianoPlanner und regelt die Verarbeitung personenbezogener Daten durch Edward Meijer (Edan Creative), nachfolgend ‘Auftragsverarbeiter’, im Auftrag des Nutzers der Software, nachfolgend ‘Verantwortlicher’.",
    "h1": "1. Gegenstand der Verarbeitung",
    "p1a": "1.1. Der Auftragsverarbeiter verpflichtet sich, unter den Bedingungen dieses Vertrags personenbezogene Daten im Auftrag des Verantwortlichen zu verarbeiten.",
    "p1b": "1.2. Die Verarbeitung bezieht sich ausschließlich auf Daten der Kunden des Verantwortlichen (wie Name, Adresse, Instrumentendaten und Terminhistorie), die in die PianoPlanner-Software für Planung und Verwaltung eingegeben werden.",
    "h2": "2. Pflichten des Auftragsverarbeiters",
    "p2a": "2.1. Der Auftragsverarbeiter verarbeitet personenbezogene Daten ausschließlich auf Grundlage schriftlicher Weisungen des Verantwortlichen, einschließlich der Weisungen, die sich aus der normalen Nutzung der Software ergeben.",
    "p2b": "2.2. Der Auftragsverarbeiter wird die Daten nicht für eigene Zwecke verwenden oder an Dritte weitergeben, es sei denn aufgrund einer gesetzlichen Verpflichtung.",
    "p2c": "2.3. Der Auftragsverarbeiter garantiert, dass zur Verarbeitung befugte Personen sich zur Vertraulichkeit verpflichtet haben.",
    "h3": "3. Sicherheit und Synchronisierung",
    "p3a": "3.1. Der Auftragsverarbeiter trifft angemessene technische und organisatorische Maßnahmen zum Schutz personenbezogener Daten gegen Verlust oder jede Form unrechtmäßiger Verarbeitung.",
    "p3b": "3.2. Diese Maßnahmen umfassen unter anderem SSL-Verschlüsselung, sichere Cloud-Speicherung und Überwachung der Systemintegrität.",
    "p3c": "3.3. Der Verantwortliche erkennt an, dass bei Aktivierung der Zwei-Wege-Synchronisierung (z.B. mit Google oder iCloud) Daten außerhalb der direkten Kontrolle des Auftragsverarbeiters übertragen werden. Der Auftragsverarbeiter ist nicht verantwortlich für die Verarbeitung durch diese externen Parteien.",
    "h4": "4. Unterauftragsverarbeiter",
    "p4a": "4.1. Der Verantwortliche erteilt hiermit die Genehmigung, Unterauftragsverarbeiter (wie Hosting-Anbieter und Zahlungsdienstleister) einzusetzen.",
    "p4b": "4.2. Der Auftragsverarbeiter stellt sicher, dass diese Unterauftragsverarbeiter mindestens gleichwertige Verpflichtungen eingehen.",
    "h5": "5. Rechte der Betroffenen",
    "p5a": "5.1. Wenn ein Endkunde des Verantwortlichen einen Antrag auf Auskunft, Berichtigung oder Löschung seiner personenbezogenen Daten stellt, leitet der Auftragsverarbeiter diesen Antrag an den Verantwortlichen weiter.",
    "p5b": "5.2. Der Auftragsverarbeiter unterstützt den Verantwortlichen, soweit zumutbar, bei der Erfüllung seiner Pflichten bezüglich der Rechte der Betroffenen.",
    "h6": "6. Laufzeit und Beendigung",
    "p6a": "6.1. Dieser Vertrag gilt solange das PianoPlanner-Abonnement aktiv ist.",
    "p6b": "6.2. Nach Beendigung der Dienstleistung löscht der Auftragsverarbeiter die personenbezogenen Daten innerhalb von 30 Tagen, es sei denn, eine gesetzliche Aufbewahrungspflicht besteht.",
    "lastUpdated": "Zuletzt aktualisiert: 23. Februar 2026",
    "tldr": "Wir verarbeiten Ihre Kundendaten ausschließlich in Ihrem Auftrag. Ihre Daten werden verschlüsselt in Europa gespeichert und niemals an Dritte weitergegeben.",
    "toc1": "Gegenstand",
    "toc2": "Pflichten",
    "toc3": "Sicherheit",
    "toc4": "Unterauftragsverarbeiter",
    "toc5": "Rechte",
    "toc6": "Laufzeit"
  },
  "smartFill": {
    "badgeNew": "Neu",
    "buttonLabel": "Route füllen",
    "title": "Route füllen",
    "description": "Geben Sie einen Ort oder eine Postleitzahl ein, um Kunden in der Nähe zu finden, die eine Stimmung benötigen.",
    "locationLabel": "Ort oder Postleitzahl",
    "radiusLabel": "Radius (km)",
    "searchBtn": "Suchen",
    "searching": "Kunden in der Nähe suchen...",
    "errorEmpty": "Geben Sie einen Ort oder eine Postleitzahl ein",
    "noResults": "Keine Kunden in dieser Gegend mit ausstehender Stimmung gefunden.",
    "customersFound": "Kunden gefunden in der Nähe von",
    "selectAll": "Alle auswählen",
    "changeLocation": "Anderen Standort",
    "selected": "ausgewählt",
    "sendInvitations": "Einladungen senden",
    "sending": "Wird gesendet...",
    "successTitle": "Einladungen gesendet!",
    "successMessage": "{count} Einladungen erfolgreich gesendet.",
    "close": "Schließen",
    "urgencyOverdue": "Überfällig",
    "urgencyDue": "Fällig",
    "urgencySoon": "Bald",
    "urgencyOk": "Im Zeitplan",
    "urgencyUnknown": "Unbekannt",
    "noCoordinates": "Keine Koordinaten",
    "neverTuned": "Nie gestimmt",
    "monthsOverdue": "Monate überfällig",
    "monthsLeft": "Monate übrig",
    "invitationsSent": "Einladungen gesendet!",
    "neverVisited": "Noch nie besucht",
    "monthsAgo": "Monate her",
    "lastVisited": "Zuletzt besucht"
  },
  "reschedule": {
    "pageTitle": "Termin verschieben",
    "loading": "Termin wird geladen...",
    "title": "Termin verschieben",
    "currentAppointment": "Aktueller Termin",
    "currentLabel": "Aktueller Termin",
    "suggestionsTitle": "Verfügbare Zeiten",
    "loadingSuggestions": "Optimale Zeiten werden gesucht...",
    "noSuggestionsTitle": "Keine Zeiten verfügbar",
    "noSuggestionsText": "Leider wurden im kommenden Zeitraum keine verfügbaren Zeiten gefunden. Bitte kontaktieren Sie uns, um einen anderen Termin zu vereinbaren.",
    "recommended": "Empfohlen",
    "bestChoice": "Beste Wahl",
    "routeOptimized": "Routenoptimiert",
    "nearby": "In der Nähe",
    "confirmButton": "Termin verschieben",
    "keepCurrent": "Aktuellen Termin beibehalten",
    "confirmDialogTitle": "Termin verschieben?",
    "confirmDialogText": "Ihr Termin wird verschoben auf:",
    "confirmCancel": "Abbrechen",
    "confirmSubmit": "Bestätigen",
    "processing": "Wird verschoben...",
    "keptTitle": "Termin beibehalten",
    "keptText": "Ihr aktueller Termin bleibt unverändert.",
    "successTitle": "Termin verschoben!",
    "successText": "Ihr Termin wurde erfolgreich verschoben. Sie erhalten eine Bestätigung per E-Mail.",
    "errorTitle": "Hoppla!",
    "errorGeneric": "Etwas ist schiefgelaufen.",
    "expiredTitle": "Link abgelaufen",
    "expiredText": "Dieser Umbuchungslink ist nicht mehr gültig. Der Termin liegt möglicherweise bereits in der Vergangenheit oder wurde storniert.",
    "invalidLink": "Ungültiger Link",
    "chooseNewDate": "Neues Datum wählen",
    "chooseNewTime": "Neue Uhrzeit wählen",
    "newAppointment": "Neuer Termin",
    "noSlots": "Keine verfügbaren Zeiten an diesem Tag. Bitte wählen Sie ein anderes Datum.",
    "loadingTimes": "Zeiten laden...",
    "until": "bis"
  },
  "completion": {
    "title": "Termin abschließen",
    "updatePiano": "Stimmung aktualisieren",
    "updatePianoDesc": "Letztes Stimmdatum → heute",
    "paymentLabel": "Zahlung",
    "payInvoice": "Rechnung erstellen",
    "payPin": "Mit Karte bezahlt",
    "payCash": "Bar bezahlt",
    "payLater": "Später fakturieren",
    "payNone": "Keine Zahlung (Garantie/Service)",
    "notesLabel": "Notizen",
    "notesPlaceholder": "Optionale Notiz...",
    "submit": "✅ Abschließen",
    "preferredHint": "⭐ Bevorzugte Zahlungsart dieses Kunden",
    "customerPreference": "⭐ Bevorzugte Zahlungsart dieses Kunden"
  },
  "invoiceApi": {
    "invoiceNotFound": "Rechnung nicht gefunden",
    "invoiceLoadError": "Rechnung konnte nicht geladen werden",
    "invoicesLoadError": "Rechnungen konnten nicht geladen werden",
    "invoiceCreateError": "Rechnung konnte nicht erstellt werden",
    "invoiceUpdateError": "Rechnung konnte nicht aktualisiert werden",
    "invoiceDeleteError": "Rechnung konnte nicht gelöscht werden",
    "invoiceDuplicateError": "Rechnung konnte nicht dupliziert werden",
    "invoiceSent": "Rechnung per E-Mail versendet",
    "invoiceSendError": "Fehler beim Versenden der Rechnung",
    "invoice": "Rechnung",
    "creditNote": "Gutschrift",
    "creditNoteFor": "Gutschrift für",
    "creditNoteCreateError": "Gutschrift konnte nicht erstellt werden",
    "alreadyCredited": "Diese Rechnung wurde bereits gutgeschrieben",
    "deleteOnlyDraft": "Nur Entwürfe und stornierte Rechnungen können gelöscht werden. Erstellen Sie zuerst eine Gutschrift.",
    "invalidStatus": "Ungültiger Status",
    "statusChangeError": "Status konnte nicht geändert werden",
    "notesUpdated": "Notizen und Rechnungsnummer aktualisiert",
    "settingsLoadError": "Einstellungen konnten nicht geladen werden",
    "settingsSaveError": "Einstellungen konnten nicht gespeichert werden",
    "mollieNoKey": "Kein Mollie API-Key hinterlegt. Geben Sie einen Key ein, der mit live_ beginnt",
    "mollieKeyFormat": "Key muss mit live_ (Produktion) oder test_ (Test) beginnen",
    "mollieKeyInvalid": "Ungültiger Mollie API-Key. Der Key muss mit live_ (Produktion) oder test_ (Test) beginnen.",
    "mollieKeyVerifyFailed": "Mollie API-Key ist ungültig",
    "stripeNoKey": "Kein Stripe API-Key hinterlegt. Geben Sie einen Key ein, der mit sk_live_ oder sk_test_ beginnt",
    "stripeKeyFormat": "Key muss mit sk_live_ (Produktion) oder sk_test_ (Test) beginnen",
    "stripeKeyInvalid": "Ungültiger Stripe API-Key. Der Key muss mit sk_live_ oder sk_test_ beginnen.",
    "stripeKeyVerifyFailed": "Stripe API-Key ist ungültig",
    "keyInvalid": "Key ist ungültig",
    "internalTestError": "Interner Fehler beim Testen",
    "noFileUploaded": "Keine Datei hochgeladen",
    "letterheadUploadError": "Briefpapier konnte nicht hochgeladen werden",
    "letterheadDeleteError": "Briefpapier konnte nicht gelöscht werden",
    "servicesLoadError": "Dienste konnten nicht geladen werden",
    "serviceNotFound": "Dienst nicht gefunden",
    "serviceCreateError": "Dienst konnte nicht erstellt werden",
    "serviceUpdateError": "Dienst konnte nicht aktualisiert werden",
    "serviceDeleteError": "Dienst konnte nicht gelöscht werden",
    "nameRequired": "Name ist erforderlich",
    "openTasksError": "Offene Aufgaben konnten nicht geladen werden",
    "pdfGenerateError": "PDF konnte nicht erstellt werden",
    "ublGenerateError": "UBL-XML konnte nicht erstellt werden",
    "numberAssignError": "Rechnungsnummer konnte nicht zugewiesen werden",
    "customerNotFound": "Kunde nicht gefunden",
    "customerNoEmail": "Kunde hat keine E-Mail-Adresse",
    "adminNoEmail": "Buchhaltung hat keine E-Mail-Adresse",
    "emailSendFailed": "E-Mail konnte nicht gesendet werden",
    "invoiceRecentlySent": "Diese Rechnung wurde vor weniger als einer Minute bereits versendet. Möchten Sie sie wirklich erneut senden?"
  },
  "sidebar": {
    "planning": "Planung",
    "agenda": "Kalender",
    "myAgenda": "Mein Kalender",
    "customers": "Kunden",
    "pianos": "Klaviere",
    "reminders": "Erinnerungen",
    "work": "Arbeit",
    "projects": "Projekte",
    "travel": "Fahrten",
    "invoices": "Rechnungen",
    "inventory": "Inventar",
    "management": "Verwaltung",
    "settings": "Einstellungen",
    "emailTemplates": "E-Mail-Vorlagen",
    "accounting": "Buchhaltung",
    "import": "Import",
    "billing": "Abonnement",
    "teams": "Teams",
    "help": "Hilfe",
    "guide": "Anleitung",
    "support": "Hilfe",
    "logout": "Abmelden",
    "forceRefresh": "Klicken zum Aktualisieren",
    "logoutConfirm": "Möchten Sie sich wirklich abmelden?",
    "menuToggle": "Menü",
    "emailQuota": "E-Mail-Kontingent",
    "googleExpired": "Ihre Google Kalender-Verbindung ist abgelaufen.",
    "reconnect": "Erneut verbinden",
    "aiSearch": "AI-Suche",
    "leads": "Leads"
  },
  "contact": {
    "about": "Über uns",
    "businessDetails": "Geschäftsdaten",
    "companyName": "Unternehmen",
    "companyTitle": "Über uns",
    "email": "E-Mail",
    "emailField": "E-Mail",
    "error": "Etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut.",
    "formDesc": "Füllen Sie das untenstehende Formular aus und wir melden uns innerhalb von 24 Stunden bei Ihnen.",
    "formTitle": "Senden Sie uns eine Nachricht",
    "heroDesc": "Haben Sie Fragen zu PianoPlanner? Wir freuen uns von Ihnen zu hören. Senden Sie uns eine Nachricht und wir antworten so schnell wie möglich.",
    "heroTitle": "Kontakt aufnehmen",
    "kvk": "Handelskammer (KvK)",
    "location": "Standort",
    "login": "Anmelden",
    "message": "Nachricht",
    "name": "Name",
    "selectSubject": "Betreff auswählen...",
    "send": "Nachricht senden",
    "sending": "Wird gesendet...",
    "subject": "Betreff",
    "subjectBilling": "Abrechnung & Abonnement",
    "subjectFeature": "Funktionsanfrage",
    "subjectFeedback": "Feedback",
    "subjectGeneral": "Allgemeine Frage",
    "subjectOther": "Sonstiges",
    "subjectSupport": "Technischer Support",
    "success": "Ihre Nachricht wurde erfolgreich gesendet!",
    "vat": "USt-IdNr."
  },
  "teamDashboard": {
    "pageTitle": "Team Dashboard - PianoPlanner",
    "teamLoading": "Team wird geladen...",
    "today": "Heute",
    "smartAppointment": "Smart-Termin",
    "dayView": "Tag",
    "weekView": "Woche",
    "teamView": "Team",
    "loading": "Laden...",
    "bookingLink": "Buchungslink",
    "bookingLinkTitle": "Öffentlichen Buchungslink kopieren",
    "invitations": "Einladungen",
    "invitationsTitle": "Stimmeinladungen über Teams versenden",
    "teamMembers": "Teammitglieder",
    "workload": "Auslastung diese Woche",
    "unassigned": "Nicht zugewiesen",
    "everyone": "Alle",
    "none": "Keine",
    "previous": "Zurück",
    "next": "Weiter",
    "icalFeeds": "iCal-Feeds",
    "icalHowItWorks": "Wie funktioniert es?",
    "icalCopyLink": "Kopieren Sie den iCal-Link und fügen Sie ihn als Abonnement hinzu in:",
    "icalApple": "Apple Kalender: Ablage → Neues Kalenderabonnement",
    "icalGoogle": "Google Kalender: Einstellungen → Andere Kalender → Von URL",
    "icalOutlook": "Outlook: Kalender hinzufügen → Aus dem Web abonnieren",
    "selectPiano": "Piano auswählen oder hinzufügen",
    "selectPianoDesc": "Bestehendes Piano wählen oder ein neues registrieren",
    "customerPianos": "Pianos des Kunden",
    "selectCustomerFirst": "Wählen Sie zuerst einen Kunden aus",
    "or": "oder",
    "addNewPiano": "Neues Piano hinzufügen",
    "brand": "Marke",
    "brandPlaceholder": "z.B. Steinway, Yamaha",
    "model": "Modell",
    "modelPlaceholder": "z.B. Model D, U1",
    "type": "Typ",
    "upright": "Klavier",
    "grand": "Flügel",
    "buildYear": "Baujahr",
    "buildYearPlaceholder": "z.B. 1985",
    "savePiano": "Piano speichern",
    "aiSuggestions": "KI-Vorschläge",
    "aiSuggestionsDesc": "Intelligente Empfehlungen basierend auf Standort und Kalender",
    "customer": "Kunde",
    "piano": "Piano",
    "selectService": "Service wählen",
    "selectServicePlaceholder": "-- Service auswählen --",
    "smartestMoments": "Beste Zeitpunkte",
    "smartMomentsDesc": "Automatisch berechnet basierend auf Ihrem Kalender und Reisezeit",
    "smartMomentsLoading": "Suche nach den besten Optionen...",
    "smartMomentsEmpty": "Wählen Sie einen Service, um die besten Zeitpunkte zu sehen",
    "loadMoreOptions": "Mehr Optionen laden",
    "chosenMoment": "Gewählter Zeitpunkt",
    "assignMember": "Teammitglied zuweisen",
    "assignMemberDesc": "Wer übernimmt diesen Termin?",
    "moment": "Zeitpunkt",
    "chooseMember": "Teammitglied wählen",
    "chooseMemberDesc": "Sortiert nach Smart-Score (Verfügbarkeit, Standort, Auslastung)",
    "chooseMemberLoading": "Bestes Teammitglied wird berechnet...",
    "sendConfirmation": "Bestätigungs-E-Mail senden",
    "createAndAssign": "Termin erstellen & zuweisen",
    "prevStep": "Zurück",
    "nextStep": "Weiter",
    "assign": "Zuweisen",
    "removeAssignment": "Zuweisung entfernen",
    "cancel": "Abbrechen",
    "sendInvitations": "Stimmeinladungen versenden",
    "searchCustomer": "Kunde nach Name oder E-Mail suchen...",
    "selected": "ausgewählt",
    "selectAll": "Alle auswählen",
    "deselectAll": "Alle abwählen",
    "customersLoading": "Kunden werden geladen...",
    "customersSelected": "Kunde(n) ausgewählt",
    "sendInvitationsBtn": "Einladungen versenden",
    "errorLoadingTeams": "Fehler beim Laden der Teams",
    "bookingLinkCopied": "Buchungslink kopiert!",
    "errorLoadingCalendar": "Fehler beim Laden des Teamkalenders",
    "selectMember": "Teammitglied auswählen",
    "assignmentSaved": "Zuweisung gespeichert",
    "errorAssigning": "Fehler bei der Zuweisung",
    "assignmentRemoved": "Zuweisung entfernt",
    "errorRemovingAssignment": "Fehler beim Entfernen der Zuweisung",
    "selectTeamFirst": "Wählen Sie zuerst ein Team aus",
    "selectPianoFirst": "Wählen Sie zuerst ein Piano aus",
    "selectTimeslotFirst": "Wählen Sie zuerst einen Zeitslot",
    "enterName": "Name eingeben",
    "errorSavingCustomer": "Fehler beim Speichern des Kunden",
    "enterBrand": "Marke eingeben",
    "errorSavingPiano": "Fehler beim Speichern des Pianos",
    "selectAllFieldsAndMember": "Alle Felder und ein Teammitglied auswählen",
    "confirmCreateAnyway": "Möchten Sie diesen Termin trotzdem erstellen?",
    "appointmentCreated": "Termin erstellt und {name} zugewiesen",
    "errorCreatingAppointment": "Fehler beim Erstellen des Termins",
    "invitationsSent": "{count} Team-Einladung(en) versendet",
    "noTeams": "Keine Teams — erstellen Sie zuerst eines",
    "noTeamsTitle": "Keine Teams",
    "noTeamsDesc": "Gehen Sie zur Teamverwaltung, um ein Team zu erstellen.",
    "copied": "Kopiert!",
    "copy": "Kopieren",
    "clickToCopy": "Klicken zum Kopieren",
    "noTeamMembers": "Keine Teammitglieder",
    "members": "Mitglieder",
    "copyThisLink": "Diesen Link kopieren:",
    "stepCustomer": "Kunde",
    "stepPiano": "Piano",
    "stepAppointment": "Termin",
    "stepMember": "Mitglied",
    "selectCustomer": "Kunde auswählen oder anlegen",
    "selectCustomerDesc": "Bestehenden Kunden suchen oder neuen anlegen",
    "searchExistingCustomer": "Bestehenden Kunden suchen",
    "searchCustomerInputPlaceholder": "Name, E-Mail oder Telefonnummer eingeben...",
    "searchCustomerPlaceholder": "Kunde nach Name oder E-Mail suchen...",
    "createNewCustomer": "Neuen Kunden anlegen",
    "nameLabel": "Name",
    "emailLabel": "E-Mail",
    "phoneLabel": "Telefon",
    "addressLabel": "Adresse",
    "postalCodeLabel": "Postleitzahl",
    "cityLabel": "Stadt",
    "fullNamePlaceholder": "Vollständiger Name",
    "emailPlaceholder": "email@beispiel.de",
    "phonePlaceholder": "+49 123 456 7890",
    "addressPlaceholder": "Straße und Hausnummer",
    "postalCodePlaceholder": "12345",
    "cityPlaceholder": "Stadt",
    "saveCustomer": "Kunde speichern",
    "noAddressKnown": "Keine Adresse bekannt",
    "noCustomersFound": "Keine Kunden gefunden",
    "loadingPianos": "Pianos werden geladen...",
    "noPianosYet": "Dieser Kunde hat noch keine Pianos. Fügen Sie eines hinzu!",
    "monthsAgoTuned": "Monate seit der letzten Stimmung",
    "noTuningKnown": "Keine Stimmhistorie bekannt",
    "noTuningKnownPiano": "Keine Stimmhistorie für dieses Piano bekannt.",
    "pianoOverdue": "Dieses Piano wurde seit",
    "months": "Monaten",
    "errorLoadingPianos": "Fehler beim Laden der Pianos",
    "noAvailableMoments": "Keine verfügbaren Zeitpunkte gefunden.",
    "errorSearchingMoments": "Fehler bei der Suche nach verfügbaren Zeitpunkten.",
    "saved": "gespeichert",
    "bestChoice": "Beste Wahl",
    "preferOther": "Anderen Zeitpunkt bevorzugen?",
    "alternativesAvailable": "Alternativen verfügbar",
    "preferOtherChoose": "Anderen Zeitpunkt bevorzugen? Selbst wählen",
    "backToBest": "Zurück zur besten Wahl",
    "recommended": "Empfohlen",
    "available": "Verfügbar",
    "noActiveMembersAvailable": "Keine aktiven Teammitglieder verfügbar",
    "noActiveMembers": "Keine aktiven Teammitglieder",
    "activateMembersVia": "Teammitglieder aktivieren über",
    "teamManagement": "Teamverwaltung",
    "noTeamsCreate": "um ein Team zu erstellen.",
    "errorLoadingMembers": "Fehler beim Laden der Teammitglieder",
    "busy": "Beschäftigt...",
    "appointment": "Termin",
    "createAnyway": "Möchten Sie diesen Termin trotzdem erstellen?",
    "sendConfirmationTo": "Bestätigungs-E-Mail senden an",
    "confirmationSentTo": "Bestätigungs-E-Mail gesendet an",
    "appointmentCreatedAssigned": "Termin erstellt und zugewiesen an",
    "loadingCustomers": "Kunden werden geladen...",
    "errorLoadingCustomers": "Fehler beim Laden der Kunden",
    "noCustomersWithEmail": "Keine Kunden mit E-Mail gefunden",
    "unnamed": "Unbenannt",
    "sending": "Wird gesendet...",
    "sendingFailed": "Senden fehlgeschlagen",
    "teamInvitationsSent": "Team-Einladung(en) versendet",
    "viaTeamBookingLink": "Über Team-Buchungslink",
    "skipped": "übersprungen",
    "sent": "gesendet",
    "done": "Fertig",
    "error": "Fehler",
    "timelineView": "Zeitstrahl",
    "newAppointment": "Neuer Termin",
    "createAppointment": "Termin erstellen",
    "smartSuggestion": "Vorschlag",
    "createFailed": "Erstellen fehlgeschlagen",
    "errorCreating": "Fehler beim Erstellen",
    "noMember": "Keine",
    "appointmentMoved": "Termin verschoben",
    "fromHome": "von zu Hause",
    "travelTimeLbl": "Fahrzeit",
    "toHome": "nach Hause",
    "smartPlanTitle": "Intelligente Planung",
    "smartSelectService": "Wählen Sie Kunde und Service für intelligente Vorschläge",
    "smartSearching": "Beste Momente suchen...",
    "noSmartSuggestions": "Keine intelligenten Vorschläge verfügbar",
    "smartError": "Vorschläge konnten nicht geladen werden",
    "backToSmart": "Zurück zu intelligenten Vorschlägen ▴",
    "planManually": "Lieber manuell planen? ▾",
    "smartSelectServiceWorkshop": "Wählen Sie einen Service für Smart-Vorschläge",
    "errorLoadingAppointment": "Termin konnte nicht geladen werden",
    "editAppointmentTitle": "Termin bearbeiten",
    "saveButton": "Speichern",
    "noServiceOption": "— Kein Service —",
    "saveFailed": "Speichern fehlgeschlagen",
    "appointmentSaved": "Termin gespeichert",
    "errorSaving": "Fehler beim Speichern",
    "selectProjectFirst": "Wählen Sie ein Projekt für Werkstattarbeit",
    "selectSuggestionOrManual": "Wählen Sie einen Vorschlag oder planen Sie manuell",
    "confirmDelete": "Möchten Sie diesen Termin wirklich löschen?",
    "deleteFailed": "Löschen fehlgeschlagen",
    "appointmentDeleted": "Termin gelöscht",
    "errorDeleting": "Fehler beim Löschen",
    "routeOptimized": "Route-optimiert",
    "noProject": "— Kein Projekt (freie Stunden) —",
    "daysOverdue": "Tage über Frist!",
    "deadlineToday": "heute!",
    "daysRemaining": "noch {{n}} Tage",
    "wizardCustomer": "Kunde",
    "wizardServiceTime": "Service & Zeit",
    "wizardDetails": "Details",
    "searchHint": "Nach Name suchen, oder",
    "addNewCustomer": "neuen Kunden anlegen",
    "newCustomer": "Neuer Kunde",
    "nameRequired": "Name *",
    "phone": "Telefon",
    "streetHouseNr": "Straße + Hausnr.",
    "postalCode": "PLZ",
    "city": "Ort",
    "addCustomer": "Kunde hinzufügen",
    "titleHint": "Leer lassen für automatischen Titel basierend auf Kunde + Service",
    "customerCreated": "Kunde hinzugefügt",
    "errorCreatingCustomer": "Fehler beim Anlegen des Kunden",
    "atWorkshop": "Werkstatt",
    "allDay": "Ganztägig",
    "privateAppointment": "Privater Termin",
    "privatePurposePlaceholder": "z.B. Einkaufen, Arzt, Familie..."
  },
  "notifications": {
    "updated": "aktualisiert",
    "pinPaid": "EC-Karte bezahlt",
    "cashPaid": "Bar bezahlt",
    "invoiceLater": "Später fakturieren",
    "appointmentCompleted": "Termin abgeschlossen"
  },
  "legal": {
    "tldrLabel": "Kurz gesagt",
    "tocTitle": "Inhaltsverzeichnis"
  },
  "about": {
    "heroTitle": "Software für Klavierstimmer,<br>gebaut von einem Klavierstimmer.",
    "heroSubtitle": "Nach 46 Jahren Praxiserfahrung weiß ich, was Sie brauchen. Ich habe die App gebaut, die ich selbst immer wollte.",
    "storyOriginTitle": "Von der Kartei zum Code",
    "storyOriginP1": "Meine Liebe zur Technologie begann früh. Als Teenager programmierte ich abends spät BASIC auf einem ZX Spectrum. Später, mit meinem ersten Tulip PC, schrieb ich meine erste „echte“ Software: eine digitale Kundendatenbank für meinen Vater.",
    "storyOriginP2": "In meinem jugendlichen Enthusiasmus warf ich anschließend seine physische Kartei weg — zum großen Schrecken meines Vaters! Am Ende habe ich alles ordentlich auf dem Nadeldrucker für ihn ausgedruckt, aber der Ton war gesetzt: Ich wollte Dinge effizienter, schneller und besser organisieren.",
    "storyFrustrationTitle": "Was ich alles probiert habe",
    "storyFrustrationP1": "Jeden Morgen das gleiche Ritual: Google Calendar prüfen, Kundenadressen nachschlagen, Google Maps öffnen, berechnen ob noch ein Termin zwischen zwei andere passt... Und abends: manuell Bestätigungsmails senden, meine Excel-Tabelle mit Seriennummern aktualisieren, notieren wann jedes Klavier wieder gestimmt werden muss.",
    "storyFrustrationP2": "Nach Jahren des Denkens „das muss doch besser gehen“ beschloss ich, es selbst zu bauen.",
    "triedExcel": "Keine Erinnerungen",
    "triedGCal": "Keine Kundeninfos",
    "triedGazelle": "Teuer, US-Server",
    "triedCalendly": "Nicht für unser Fach",
    "triedServiceP": "Für Heizungsmonteure",
    "triedPaperName": "Papierkalender",
    "triedPaper": "Kein Backup, Sync",
    "storyTeamTitle": "Die Zusammenarbeit",
    "storyTeamP1": "In meiner eigenen Praxis stieß ich jahrelang an Grenzen. Ich arbeitete mit amerikanischer Software, die unseren Markt nicht ganz verstand, oder ich jonglierte mit drei verschiedenen Apps für Kalender, Rechnungsstellung und Routen. Ich dachte: „Das muss intelligenter gehen.“",
    "storyTeamP2": "Ich interessiere mich sehr für alles rund um Geschäftszahlen — wir wissen alle, wie komplex die Differenzbesteuerung sein kann. Ich wollte Software, die nicht nur plant, sondern auch mit meiner Geschäftsführung mitdenkt.",
    "storyTeamP3": "Als ich beschloss, den ultimativen Planer selbst zu bauen, stand ich nicht allein da. Ich machte mich an die Arbeit mit meinen Fähigkeiten und dem Rat meiner Kinder und Stiefkinder. Eines hat als IT-Spezialist an der HAN-Hochschule abgeschlossen. Das andere als Game Developer & Sound Designer an der HKU. Mit meiner Praxiserfahrung und ihrem Wissen über die neueste Technologie und KI haben wir gemeinsam PianoPlanner entwickelt.",
    "storySmartTitle": "Intelligente Termine",
    "storySmartP1": "Der Kern von PianoPlanner ist einfach: Ich möchte auf einen Blick sehen, ob ich Geld verdiene oder Zeit verschwende. Ich möchte auch nicht zu viel im Auto sitzen. Deshalb haben wir Smart Appointments entwickelt — jeder Termin bekommt automatisch eine Farbe basierend auf der Fahrtzeit:",
    "colorGreen": "Passt perfekt in Ihre Route",
    "colorOrange": "Achten Sie auf Ihre Fahrtzeit",
    "colorRed": "Ineffizient, kostet Sie Zeit",
    "storyNLTitle": "Stolz niederländisch",
    "storyNLP1": "Anders als die großen amerikanischen Anbieter glaube ich an lokale Stärke. PianoPlanner ist eine unabhängige Initiative. Ihre Daten werden sicher verschlüsselt auf europäischen Servern gespeichert, vollständig DSGVO-konform.",
    "storyNLP2": "Ich bin stolz auf das, was wir gebaut haben. Ein System für Klavierstimmer, von einem Klavierstimmer.",
    "compareTitle": "PianoPlanner vs Gazelle",
    "compareSubtitle": "Zwei Plattformen für Klaviertechniker — welche passt zu Ihrer Arbeitsweise?",
    "ppOrigin": "🇳🇱 Niederlande · Von einem Klavierstimmer entwickelt",
    "pp1": "Automatische Routenoptimierung mit Smart Suggestions",
    "pp2": "Google + Microsoft + Apple Kalender-Sync (bidirektional)",
    "pp3": "Online-Buchungslinks für Kunden",
    "pp4": "Europäische Server — DSGVO-konform",
    "pp5": "4 Sprachen: NL, EN, DE, FR",
    "gzOrigin": "🇺🇸 USA · Gegründet 2015",
    "gz1": "Native iOS & Android Apps",
    "gz2": "Rechnungsstellung mit QuickBooks-Integration",
    "gz3": "Condition Reports (PDF-Klavierberichte)",
    "gz4": "Großer Kundenstamm in den USA",
    "gz5": "Mehrere Sprachen verfügbar",
    "thFeature": "Funktion",
    "catPlanning": "📅 Planung & Route",
    "fRouteOpt": "Routenoptimierung",
    "fRouteOptPP": "✅ Smart Suggestions — KI wählt automatisch den besten Zeitslot basierend auf Fahrtzeit + bestehenden Terminen",
    "fRouteOptGZ": "Manuelle Planung mit Kartenansicht + Routing-Algorithmus",
    "fRouteFill": "Route Füllen",
    "fRouteFillPP": "✅ Finden Sie Kunden in der Nähe bestehender Termine, die eine Stimmung benötigen. Einladungen versenden.",
    "fCustAnalysis": "Kundenstamm-Analyse",
    "fCustAnalysisPP": "✅ Scannen Sie Ihren Kundenstamm, berechnen Sie Entfernungen, erhalten Sie eine optimale Fahrzeitempfehlung — ein Klick",
    "fTheater": "Theater-Modus",
    "fTheaterPP": "✅ Separate Zeiten für Theater & Konzerthallen",
    "catCalendar": "📆 Kalender & Synchronisation",
    "fGooglePP": "✅ Bidirektionale Sync (Echtzeit)",
    "fGoogleGZ": "Einweg-Sync",
    "catBooking": "🌐 Online-Buchung",
    "fBookingLink": "Öffentlicher Buchungslink",
    "fBookingLinkPP": "✅ pianoplanner.com/book/ihr-name",
    "fSmartSugg": "Smart Suggestions",
    "fSmartSuggPP": "✅ 3 Strategien: Route, Lückenfüller, Nähe",
    "fConfirm": "Bestätigung",
    "fConfirmPP": "✅ Sofort bestätigt — Kunde weiß sofort Bescheid",
    "fConfirmGZ": "Genehmigung erforderlich",
    "catPianos": "🎹 Klaviere & Kunden",
    "fPhotos": "Fotos pro Klavier",
    "fPhotosPP": "✅ Bis zu 5 Fotos pro Klavier — optimiert mit Thumbnails",
    "fPhotosGZ": "✅ Fotos beim Klavier + Condition Reports",
    "fWorkshop": "Werkstatt-Projektplaner",
    "fWorkshopPP": "✅ Projekte, Aufgaben, Stundenplanung, Fortschritt",
    "catBilling": "💰 Rechnungsstellung",
    "fInvoicing": "Rechnungsstellung",
    "fInvoicingPP": "✅ Inklusive",
    "fInvoicingGZ": "Kostenpflichtiges Add-on",
    "fAccounting": "Buchhaltung-Integration",
    "fAccountingPP": "✅ Moneybird, Jortt, e-Boekhouden, Exact Online",
    "fAccountingGZ": "QuickBooks / Xero (US-orientiert)",
    "fMileage": "Kilometererfassung",
    "fMileagePP": "✅ Automatisch pro Termin auf Basis der Route",
    "catTechnical": "⚙️ Technisches",
    "fPrivacy": "Datenschutz & Daten",
    "fPrivacyPP": "✅ EU/NL Server · DSGVO-konform",
    "fPrivacyGZ": "US Server",
    "fSmtp": "Eigene E-Mail-Domain",
    "fSmtpPP": "✅ Eigenes SMTP + anpassbare Vorlagen",
    "fLanguages": "Sprachen",
    "fLanguagesPP": "✅ NL, EN, DE, FR, IT, ES",
    "fLanguagesGZ": "EN + mehrere Sprachen",
    "catPricing": "💳 Preise",
    "fFree": "Kostenlose Version",
    "fFreePP": "✅ Dauerhaft — bis 25 Kunden",
    "fFreeGZ": "30 Tage Testversion",
    "fStartPrice": "Startpreis",
    "fStartPricePP": "Ab €24,50/Monat (unbegrenzt)",
    "fStartPriceGZ": "€67/Mo (250 Klaviere) · €89 (350) · €115 (500)",
    "fLimits": "Grenzen",
    "fLimitsPP": "✅ Unbegrenzt Kunden & Klaviere",
    "fLimitsGZ": "Pro 50 Klaviere zuzahlen + Extrakosten",
    "catTeams": "👥 Teams",
    "fTeams": "Teams-Version",
    "fTeamsPP": "✅ Mehrere Stimmer pro Unternehmen · gemeinsamer Kalender · Smart Pick · iCal pro Stimmer · €49,50/Monat",
    "honestTitle": "🤝 Ehrlich: wo Gazelle stärker ist",
    "honest1": "<strong>Condition Reports</strong> — Senden Sie Kunden detaillierte PDF-Berichte über den Zustand ihres Klaviers. Das hat PianoPlanner (noch) nicht.",
    "honest2": "<strong>Native Apps</strong> — Die iOS/Android-Apps von Gazelle können sich flüssiger anfühlen als eine PWA, besonders auf älteren Geräten.",
    "honest3": "<strong>Marktposition USA</strong> — Gazelle ist länger aktiv und hat ein großes Netzwerk in Nordamerika.",
    "diffTitle": "Der wesentliche Unterschied",
    "diffSubtitle": "Warum Stimmer zu PianoPlanner wechseln",
    "diffSmartTitle": "Automatisch intelligent planen",
    "diffSmartDesc": "Smart Suggestions analysiert Ihren Kalender, berechnet Fahrtzeiten und schlägt automatisch die effizientesten Zeitfenster vor. Das System clustert von selbst.",
    "diffSyncTitle": "Dreifache Kalender-Sync",
    "diffSyncDesc": "Als einzige Klavier-Plattform synchronisiert PianoPlanner bidirektional mit Google Calendar, Microsoft 365 und Apple Calendar.",
    "diffBookingTitle": "Kunden buchen selbst",
    "diffBookingDesc": "Jeder Kunde erhält einen persönlichen Buchungslink. Sie sehen ihre Klaviere, frühere Termine und können direkt einen neuen Zeitslot wählen.",
    "diffPrivacyTitle": "Europäischer Datenschutz",
    "diffPrivacyDesc": "Alle Daten sind auf niederländischen Servern gespeichert. Vollständig DSGVO-konform. Keine Daten in die USA. Ideal für europäische Techniker.",
    "priceTitle": "Preisvergleich",
    "priceSubtitle": "Was zahlen Sie pro Monat?",
    "priceAmountPP": "€0 – €89,50",
    "pricePerMonth": "pro Monat",
    "pricePP1": "Starter: kostenlos (bis 25 Kunden)",
    "pricePP2": "Start: €24,50/Monat — unbegrenzt",
    "pricePP3": "Pro: €39,50/Monat — mit Kalender-Sync + Rechnungsstellung",
    "pricePP4": "Keine Begrenzung bei Klavieren oder Kunden",
    "pricePP5": "1 Monat kostenlos testen",
    "priceAmountGZ": "€67 – €115+",
    "priceSubGZ": "pro Monat (250–500 Klaviere, nur Basispaket)",
    "priceGZ1": "30 Tage kostenlose Testversion",
    "priceGZ2": "250 Klaviere = €67/Mo · 350 = €89 · 500 = €115",
    "priceGZ3": "Preis pro 50 aktive Klaviere — skaliert schnell",
    "priceGZ4": "Erinnerungen, Rechnungsstellung, SMS kosten extra",
    "priceGZ5": "QuickBooks-Integration (Add-on)",
    "migTitle": "Umsteigen? Dauert nur 5 Minuten.",
    "migSubtitle": "Exportieren Sie Ihre Kunden, Klaviere und Termine aus Gazelle als CSV. Hochladen in PianoPlanner — fertig.",
    "migStep1": "1. Aus Gazelle exportieren",
    "migStep2": "2. In PianoPlanner hochladen",
    "migStep3": "3. Fertig!",
    "signatureGreeting": "Ich lade Sie herzlich ein, es selbst zu erleben.",
    "signatureTitle": "Klaviertechniker & Schöpfer von PianoPlanner",
    "ctaTitle": "Bereit, intelligenter zu arbeiten?",
    "ctaDesc": "Starten Sie kostenlos mit bis zu 25 Kunden. Keine Kreditkarte nötig.",
    "ctaBtn": "Kostenlos starten →"
  },
  "seo": {
    "homeTitle": "PianoPlanner — Intelligente Terminplanung für Klaviertechniker",
    "homeDescription": "Die intelligenteste Unternehmenssoftware für Klaviertechniker. KI-gestützte Planung, Routenoptimierung, Rechnungsstellung und eine Buchungsseite, die Ihre Kunden lieben werden.",
    "pricingTitle": "Preise — PianoPlanner",
    "pricingDescription": "Einfache Preise für Klaviertechniker. Starten Sie kostenlos mit bis zu 25 Kunden. Keine Kreditkarte nötig.",
    "aboutTitle": "Über PianoPlanner — Von einem Klaviertechniker entwickelt",
    "aboutDescription": "Die Geschichte hinter PianoPlanner. Entwickelt von Klaviertechniker Edward Meijer, um Kollegen zu helfen, intelligenter zu arbeiten.",
    "contactTitle": "Kontakt — PianoPlanner",
    "contactDescription": "Kontaktieren Sie das PianoPlanner-Team. Fragen, Feedback oder Kooperationsanfragen — wir freuen uns von Ihnen zu hören.",
    "guideTitle": "Erste Schritte — PianoPlanner",
    "guideDescription": "Erfahren Sie, wie Sie mit PianoPlanner starten. Richten Sie Ihr Konto ein, importieren Sie Kunden und planen Sie Ihren ersten Termin.",
    "bookTitle": "Demo buchen — PianoPlanner",
    "bookDescription": "Buchen Sie eine kostenlose Demo von PianoPlanner. Sehen Sie, wie intelligente Planung Ihr Klavierstimm-Geschäft transformieren kann.",
    "teamsInfoTitle": "PianoPlanner Teams — Der gesamte Betrieb unter Kontrolle",
    "teamsInfoDescription": "KI-gestützte Routenplanung, mobile Techniker-App und lückenlose Sicherheit. PianoPlanner Teams automatisiert die Logistik Ihres Klavierservice-Unternehmens.",
    "compareTitle": "PianoPlanner vs Gazelle — Ehrlicher Vergleich für Klavierstimmer (2026)",
    "compareDescription": "Gazelle in Betracht ziehen oder eine Alternative suchen? Vergleichen Sie PianoPlanner und Gazelle: Routenplanung, Kalender-Sync, Rechnungsstellung, Datenschutz und Preise. Inkl. Migrationsleitfaden."
  },
  "languagePicker": {
    "chooseLanguage": "Sprache wählen",
    "searchLanguage": "Sprache suchen..."
  },
  "portal": {
    "pageTitle": "Meine Route — PianoPlanner",
    "title": "Meine Route",
    "logout": "Abmelden",
    "loading": "Planung laden...",
    "noAppointments": "Keine Termine",
    "noAppointmentsDesc": "Du hast heute keine Stimmtermine.",
    "completeTitle": "Termin abschließen",
    "updateTuning": "Stimmung aktualisieren",
    "updateTuningDesc": "Letztes Stimmdatum → heute",
    "payment": "Zahlung",
    "customerPreference": "Präferenz dieses Kunden",
    "paidByCard": "Per Karte bezahlt",
    "paidByCash": "Bar bezahlt",
    "createInvoice": "Rechnung erstellen",
    "invoiceLater": "Später fakturieren",
    "noPayment": "Keine Zahlung",
    "notes": "Notizen",
    "optionalNote": "Optionale Notiz...",
    "cancel": "Abbrechen",
    "complete": "Abschließen",
    "navigate": "Navigieren",
    "note": "Notiz",
    "history": "Verlauf",
    "done": "Fertig",
    "save": "Speichern",
    "loadingText": "Laden...",
    "noCustomerNotes": "Noch keine Notizen für diesen Kunden.",
    "loadError": "Verlauf konnte nicht geladen werden.",
    "unknownCustomer": "Unbekannter Kunde",
    "notePlaceholder": "Notiz zu dieser Stimmung...",
    "appointmentCompleted": "Termin abgeschlossen",
    "pianoUpdated": "Klavier aktualisiert",
    "cardPaid": "Kartenzahlung",
    "cashPaid": "Barzahlung",
    "invoiceRequested": "Rechnung angefordert",
    "connectionError": "Verbindungsfehler",
    "couldNotComplete": "Konnte nicht abgeschlossen werden",
    "saved": "Gespeichert",
    "dayMon": "Mo",
    "dayTue": "Di",
    "dayWed": "Mi",
    "dayThu": "Do",
    "dayFri": "Fr",
    "daySat": "Sa",
    "daySun": "So",
    "statusPending": "Geplant",
    "statusConfirmed": "Bestätigt",
    "statusEnRoute": "Unterwegs",
    "statusCompleted": "Abgeschlossen",
    "expiredTitle": "Sitzung abgelaufen",
    "expiredHeading": "Link ist abgelaufen",
    "expiredMessage": "Dieser sichere Zugangslink ist nicht mehr gültig oder Ihre Sitzung wurde beendet. Bitten Sie Ihren Planer, Ihnen einen neuen Link zu senden.",
    "workshopTasks": "Werkstatt",
    "estimated": "geschätzt",
    "actual": "gearbeitet",
    "taskCompleted": "Aufgabe erledigt",
    "reportAbsence": "Abwesenheit melden",
    "startDate": "Startdatum",
    "endDate": "Enddatum",
    "reason": "Grund (optional)",
    "reasonPlaceholder": "Z.B. Urlaub, krank...",
    "send": "Absenden",
    "datesRequired": "Bitte Start- und Enddatum ausfüllen",
    "endAfterStart": "Enddatum muss nach Startdatum liegen",
    "absenceRegistered": "Abwesenheit gemeldet",
    "allDay": "Ganztägig",
    "unavailable": "Nicht verfügbar"
  },
  "teamsInfo": {
    "heroTitle": "PianoPlanner Teams: Der gesamte Betrieb unter Kontrolle",
    "heroSubtitle": "Ein Team von Klavierstimmern zu koordinieren ist ein komplexes logistisches Puzzle. Wie verhindern Sie, dass sich zwei Stimmer auf der Autobahn kreuzen? Wie geben Sie Mitarbeitern Zugang zu ihrer Route, ohne finanzielle Geschäftsdaten offenzulegen? PianoPlanner Teams wurde speziell entwickelt, um diese Herausforderungen vollständig zu automatisieren.",
    "smartTitle": "KI-gestützte Routenplanung",
    "smartIntro": "Hören Sie auf, fünf verschiedene Kalender manuell zu vergleichen. Die integrierten Algorithmen erledigen die Berechnungen in Millisekunden.",
    "smartLocationLabel": "Standort-zuerst",
    "smartLocationDesc": "Haben Sie einen Kunden am Telefon? Geben Sie die Postleitzahl ein und das System durchsucht sofort alle Kalender Ihres gesamten Teams.",
    "smartMatchLabel": "Das perfekte Match",
    "smartMatchDesc": "Sie erhalten eine Rangliste der besten Stimmer für den Auftrag. Der Algorithmus berechnet die Fahrzeit ab ihrem vorherigen Termin und berücksichtigt eine faire Arbeitsverteilung.",
    "smartSpeedLabel": "Zeitersparnis",
    "smartSpeedDesc": "Was einen menschlichen Planer zehn Minuten Tüfteln kostet, erledigt PianoPlanner mit einem Klick.",
    "appTitle": "Die mobile Stimmer-App",
    "appIntro": "Jeder Klavierstimmer erhält ein eigenes, geschütztes Portal für unterwegs — optimiert für das Mobiltelefon.",
    "appMagicLabel": "Magic Links",
    "appMagicDesc": "Kein Ärger mit vergessenen Passwörtern. Sie senden Ihrem Stimmer einen sicheren Login-Link per E-Mail. Ein Klick und er ist auf seinem eigenen Telefon eingeloggt.",
    "appFocusLabel": "Fokus auf den Tag",
    "appFocusDesc": "Der Stimmer sieht eine übersichtliche Zeitleiste: wohin muss ich, welcher Klaviertyp, und kundenspezifische Notizen — inklusive direkter Navigationsschaltfläche.",
    "appRealtimeLabel": "Echtzeit-Abschluss",
    "appRealtimeDesc": "Sobald der Stimmer einen Auftrag als erledigt markiert, wird dies sofort im zentralen Dashboard aktualisiert.",
    "securityTitle": "Lückenlose Sicherheit und Datenschutz",
    "securityIntro": "Als Inhaber möchten Sie Ihr Team unterstützen, aber finanzielle und strategische Daten abschirmen. PianoPlanner arbeitet nach dem Need-to-know-Prinzip.",
    "securitySepLabel": "Strikte Datentrennung",
    "securitySepDesc": "Ein Stimmer sieht ausschließlich seine eigenen Termine. Kalender von Kollegen, Umsätze, Rechnungen und die allgemeine Kundendatenbank sind absolut unsichtbar.",
    "securityRevokeLabel": "Die Notbremse",
    "securityRevokeDesc": "Verlässt ein Mitarbeiter das Unternehmen? Mit einem Klick wird sein Zugang sofort widerrufen — selbst wenn er gerade eingeloggt ist. Ihre Daten gehören Ihnen.",
    "bookingTitle": "Intelligentes Buchungs-Widget für Kunden",
    "bookingIntro": "Lassen Sie Ihr Online-Buchungssystem für Sie arbeiten, nicht gegen Sie.",
    "bookingRouteLabel": "Routen-optimiertes Buchen",
    "bookingRouteDesc": "Kunden geben ihre Adresse online ein. Das System zeigt automatisch nur die Zeiten an, die für Ihr Team die kürzeste Fahrzeit ergeben. Der Kunde wählt die Zeit, das System wählt den Stimmer.",
    "bookingFixedLabel": "Der Stammstimmer-Link",
    "bookingFixedDesc": "Hat ein Kunde eine feste Beziehung zu einem bestimmten Stimmer? Senden Sie ihm einen persönlichen Link. Das System gibt diesem Stimmer Vorrang, es sei denn, er ist wochenlang ausgebucht — dann werden Kollegen als Alternative vorgeschlagen.",
    "summary": "Mit PianoPlanner Teams minimieren Sie Fahrzeiten, eliminieren Planungsfehler und bieten Kunden wie Mitarbeitern ein ultra-professionelles Erlebnis. Das System übernimmt das schwere logistische Denkwerk, damit Sie sich auf das Wachstum Ihres Unternehmens konzentrieren können.",
    "ctaTry": "Kostenlos testen",
    "ctaPricing": "Preise ansehen"
  },
  "api": {
    "auth": {
      "notLoggedIn": "Nicht angemeldet",
      "emailPasswordRequired": "E-Mail und Passwort sind erforderlich",
      "invalidEmailFormat": "Ungültiges E-Mail-Format",
      "registrationFailed": "Registrierung fehlgeschlagen",
      "sessionError": "Sitzungsfehler",
      "loginFailed": "Anmeldung fehlgeschlagen",
      "emailRequired": "E-Mail ist erforderlich",
      "errorOccurred": "Ein Fehler ist aufgetreten",
      "tokenMissing": "Token fehlt",
      "tokenVerificationFailed": "Token konnte nicht verifiziert werden",
      "tokenPasswordRequired": "Token und Passwort sind erforderlich",
      "passwordMinLength": "Passwort muss mindestens 8 Zeichen lang sein",
      "passwordResetFailed": "Passwort konnte nicht zurückgesetzt werden",
      "usernamePasswordRequired": "Benutzername und Passwort sind erforderlich",
      "invalidCredentials": "Ungültiger Benutzername oder Passwort",
      "noChanges": "Keine Änderungen angegeben",
      "newPasswordRequired": "Neues Passwort ist erforderlich",
      "passwordsDoNotMatch": "Passwörter stimmen nicht überein",
      "currentNewPasswordRequired": "Aktuelles und neues Passwort sind erforderlich",
      "newPasswordsDoNotMatch": "Neue Passwörter stimmen nicht überein",
      "userNotFound": "Benutzer nicht gefunden",
      "passwordRequired": "Passwort ist erforderlich",
      "verifyEmailTitle": "E-Mail verifizieren — PianoPlanner",
      "verifyEmailSent": "Überprüfen Sie Ihre E-Mail, um Ihr Konto zu bestätigen.",
      "verifyEmailSubject": "Bestätigen Sie Ihre E-Mail-Adresse",
      "emailVerified": "E-Mail verifiziert!",
      "emailVerifiedDesc": "Ihre E-Mail-Adresse wurde verifiziert. Sie können sich jetzt anmelden.",
      "alreadyVerified": "Bereits verifiziert",
      "alreadyVerifiedDesc": "Ihre E-Mail-Adresse wurde bereits verifiziert. Sie können sich anmelden.",
      "verificationExpired": "Link abgelaufen",
      "verificationExpiredDesc": "Dieser Bestätigungslink ist abgelaufen. Geben Sie Ihre E-Mail ein, um einen neuen zu erhalten.",
      "invalidToken": "Ungültiger Link",
      "invalidTokenDesc": "Dieser Bestätigungslink ist ungültig oder wurde bereits verwendet. Sie können einen neuen anfordern.",
      "resendVerification": "Bestätigungs-E-Mail erneut senden",
      "verificationResent": "E-Mail gesendet!",
      "verificationResentDesc": "Wenn diese E-Mail registriert ist, wurde ein neuer Bestätigungslink gesendet. Überprüfen Sie Ihren Posteingang.",
      "goToLogin": "Zur Anmeldung",
      "emailNotVerified": "Ihre E-Mail-Adresse wurde noch nicht verifiziert.",
      "verificationSentBtn": "Bestätigung gesendet!"
    },
    "subscription": {
      "checkFailed": "Abonnement konnte nicht überprüft werden",
      "featureCheckFailed": "Feature konnte nicht überprüft werden",
      "limitCheckFailed": "Limit konnte nicht überprüft werden",
      "cancelled": "Abonnement gekündigt",
      "planChanged": "Plan geändert"
    },
    "email": {
      "quotaCheckFailed": "Kontingentprüfung fehlgeschlagen",
      "noAddress": "Keine E-Mail-Adresse angegeben",
      "settingsUpdated": "E-Mail-Einstellungen aktualisiert",
      "notConfigured": "E-Mail nicht konfiguriert",
      "confirmationSent": "Bestätigungs-E-Mail gesendet",
      "reminderSent": "Erinnerungs-E-Mail gesendet",
      "customerIdRequired": "customerId ist erforderlich",
      "invitationSent": "Einladung gesendet",
      "customerPianoIdRequired": "customerId und pianoId sind erforderlich",
      "logLoadFailed": "E-Mail-Log konnte nicht geladen werden",
      "noneSelected": "Keine E-Mails ausgewählt",
      "invalidIds": "Ungültige IDs",
      "deleteFailed": "E-Mails konnten nicht gelöscht werden"
    },
    "appointments": {
      "notFound": "Termin nicht gefunden",
      "loadFailed": "Termine konnten nicht geladen werden",
      "noneFound": "Keine Termine gefunden",
      "duplicateDetectionFailed": "Duplikate konnten nicht erkannt werden",
      "noDuplicatesFound": "Keine Duplikate gefunden",
      "cleanupFailed": "Bereinigung fehlgeschlagen",
      "noBrokenFound": "Keine fehlerhaften Termine gefunden",
      "pendingLoadFailed": "Ausstehende Termine konnten nicht geladen werden",
      "paymentLoadFailed": "Offene Zahlungen konnten nicht geladen werden",
      "missingAddressesLoadFailed": "Fehlende Adressen konnten nicht geladen werden",
      "titleRequired": "Titel ist erforderlich",
      "startEndTimeRequired": "Start- und Endzeit sind erforderlich",
      "createFailed": "Termin konnte nicht erstellt werden",
      "updateFailed": "Termin konnte nicht aktualisiert werden",
      "deleteFailed": "Termin konnte nicht gelöscht werden",
      "completeFailed": "Termin konnte nicht abgeschlossen werden",
      "cancelFailed": "Termin konnte nicht storniert werden",
      "statsLoadFailed": "Statistiken konnten nicht geladen werden",
      "dateRequired": "Datum ist erforderlich",
      "routeOptimizationFailed": "Route konnte nicht optimiert werden",
      "noScheduleProvided": "Kein Zeitplan angegeben",
      "routeApplyFailed": "Optimierte Route konnte nicht angewendet werden",
      "duplicateRemovalFailed": "Duplikate konnten nicht entfernt werden",
      "workshopStatsLoadFailed": "Werkstatt-Statistiken konnten nicht geladen werden",
      "paymentMarkedAsPaid": "Zahlung als bezahlt markiert",
      "paymentMarkFailed": "Zahlung konnte nicht markiert werden",
      "markedAsCompleted": "Termin als erledigt markiert",
      "taskCompleteFailed": "Aufgabe konnte nicht abgeschlossen werden",
      "timeSlotOverlap": "Dieser Zeitraum überschneidet sich mit einem bestehenden Termin: \"{conflictWith}\". Bitte wählen Sie einen anderen Zeitpunkt.",
      "bulkNoIds": "Keine Termin-IDs angegeben",
      "bulkTooMany": "Maximal 200 Termine gleichzeitig",
      "bulkCompleteFailed": "Massenabschluss fehlgeschlagen"
    },
    "customers": {
      "noEmail": "Kunde hat keine E-Mail-Adresse",
      "notFound": "Kunde nicht gefunden",
      "loadFailed": "Kunden konnten nicht geladen werden",
      "namesLoadFailed": "Kundennamen konnten nicht geladen werden",
      "searchFailed": "Suche fehlgeschlagen",
      "duplicatesLoadFailed": "Duplikate konnten nicht geladen werden",
      "targetSourceIdRequired": "Ziel- und Quell-ID sind erforderlich",
      "mergeFailed": "Zusammenführung fehlgeschlagen",
      "targetSourceIdsRequired": "Ziel-ID und Quell-IDs sind erforderlich",
      "notesCleanFailed": "Notizen konnten nicht bereinigt werden",
      "mapDataLoadFailed": "Kartendaten konnten nicht geladen werden",
      "geocodingFailed": "Geocodierung fehlgeschlagen",
      "nameRequired": "Name ist erforderlich",
      "createFailed": "Kunde konnte nicht erstellt werden",
      "updateFailed": "Kunde konnte nicht aktualisiert werden",
      "deleted": "Kunde gelöscht",
      "deleteFailed": "Kunde konnte nicht gelöscht werden",
      "tokenRegenFailed": "Token konnte nicht neu generiert werden",
      "locationRequired": "Geben Sie einen Ort, eine Postleitzahl oder eine Adresse ein",
      "locationNotFound": "Standort nicht gefunden. Versuchen Sie einen anderen Ortsnamen oder eine andere Postleitzahl.",
      "noneWithInterval": "Keine Kunden mit Stimmintervall gefunden",
      "selectAtLeastOne": "Wählen Sie mindestens einen Kunden",
      "maxInvitationsExceeded": "Maximal 20 Einladungen gleichzeitig",
      "invitationsSendFailed": "Senden der Einladungen fehlgeschlagen",
      "noAddress": "Kunde hat keine Adresse",
      "geocodeFailed": "Adresse konnte nicht geocodiert werden",
      "notesLoadFailed": "Notizen konnten nicht geladen werden",
      "noteRequired": "Notiz ist erforderlich",
      "noteSaveFailed": "Notiz konnte nicht gespeichert werden",
      "noteDeleteFailed": "Notiz konnte nicht gelöscht werden"
    },
    "pianos": {
      "notFound": "Klavier nicht gefunden",
      "loadFailed": "Klaviere konnten nicht geladen werden",
      "invitationStatusLoadFailed": "Einladungsstatus konnte nicht geladen werden",
      "servicesLoadFailed": "Services konnten nicht geladen werden",
      "brandRequired": "Marke ist erforderlich",
      "createFailed": "Klavier konnte nicht erstellt werden",
      "idsArrayRequired": "pianoIds Array ist erforderlich",
      "updatesObjectRequired": "updates Objekt ist erforderlich",
      "noValidFieldsToUpdate": "Keine gültigen Felder zum Aktualisieren",
      "updateFailed": "Klavier konnte nicht aktualisiert werden",
      "deleteFailed": "Klavier konnte nicht gelöscht werden",
      "serviceAddFailed": "Service konnte nicht hinzugefügt werden",
      "serviceRecordNotFound": "Serviceeintrag nicht gefunden",
      "serviceDeleteFailed": "Service konnte nicht gelöscht werden",
      "photoDeleted": "Foto gelöscht"
    },
    "calendar": {
      "tokenCheckFailed": "Tokens konnten nicht überprüft werden",
      "loadFailed": "Kalender konnten nicht geladen werden",
      "eventsLoadFailed": "Ereignisse konnten nicht geladen werden",
      "requiredFieldsMissing": "Titel, Start und Ende sind erforderlich",
      "eventCreateFailed": "Ereignis konnte nicht erstellt werden",
      "eventDeleteFailed": "Ereignis konnte nicht gelöscht werden",
      "syncSettingsLoadFailed": "Sync-Einstellungen konnten nicht geladen werden",
      "syncSettingsSaveFailed": "Sync-Einstellungen konnten nicht gespeichert werden",
      "disconnectFailed": "Verbindung konnte nicht getrennt werden",
      "syncStatusLoadFailed": "Sync-Status konnte nicht geladen werden",
      "syncNotEnabled": "Synchronisierung ist nicht aktiviert",
      "syncFailed": "Synchronisierung fehlgeschlagen",
      "syncDisabledByAdmin": "Kalendersynchronisierung ist vorübergehend vom Administrator deaktiviert",
      "importFailed": "Import fehlgeschlagen",
      "sessionExpired": "Google-Sitzung abgelaufen",
      "previewFailed": "Vorschau fehlgeschlagen",
      "forceSyncFailed": "Erzwungene Synchronisierung fehlgeschlagen",
      "statusLoadFailed": "Status konnte nicht geladen werden",
      "notConnected": "Kalender nicht verbunden",
      "urlRequired": "Kalender-URL ist erforderlich",
      "invalidUrl": "Ungültige Kalender-URL",
      "eventUrlRequired": "Ereignis-URL ist erforderlich",
      "noneSelected": "Kein Kalender ausgewählt",
      "invalidUrlInSettings": "Ungültige Kalender-URL in den Einstellungen",
      "syncQueueLoadFailed": "Sync-Warteschlange konnte nicht geladen werden",
      "syncVerifyFailed": "Synchronisierung konnte nicht verifiziert werden",
      "orphanedEventsFindFailed": "Verwaiste Ereignisse konnten nicht gefunden werden",
      "missingSyncsFindFailed": "Fehlende Synchronisierungen konnten nicht gefunden werden"
    },
    "settings": {
      "loadFailed": "Einstellungen konnten nicht geladen werden",
      "saveFailed": "Einstellungen konnten nicht gespeichert werden",
      "noVatNumber": "Keine USt-IdNr. angegeben",
      "vatValidationFailed": "USt-IdNr. konnte nicht validiert werden",
      "vatInfoLoadFailed": "USt.-Informationen konnten nicht geladen werden",
      "servicesLoadFailed": "Dienstleistungen konnten nicht geladen werden",
      "serviceNotFound": "Dienstleistung nicht gefunden",
      "serviceLoadFailed": "Dienstleistung konnte nicht geladen werden",
      "nameRequired": "Name ist erforderlich",
      "serviceCreateFailed": "Dienstleistung konnte nicht erstellt werden",
      "serviceUpdateFailed": "Dienstleistung konnte nicht aktualisiert werden",
      "serviceDeleteFailed": "Dienstleistung konnte nicht gelöscht werden",
      "serviceActivateFailed": "Dienstleistung konnte nicht aktiviert werden",
      "bookingSettingsLoadFailed": "Buchungseinstellungen konnten nicht geladen werden",
      "bookingSettingsSaveFailed": "Buchungseinstellungen konnten nicht gespeichert werden",
      "travelSettingsLoadFailed": "Reiseeinstellungen konnten nicht geladen werden",
      "travelSettingsSaveFailed": "Reiseeinstellungen konnten nicht gespeichert werden",
      "analysisFailed": "Kundenstamm konnte nicht analysiert werden",
      "languageNotSupported": "Sprache nicht unterstützt",
      "languageSaveFailed": "Spracheinstellung konnte nicht gespeichert werden",
      "confirmationTextIncorrect": "Bestätigungstext ist falsch",
      "resetFailed": "Daten konnten nicht zurückgesetzt werden",
      "accountDeleted": "Konto erfolgreich gelöscht",
      "accountDeleteFailed": "Konto konnte nicht gelöscht werden",
      "exportFailed": "Daten konnten nicht exportiert werden",
      "previewLoadFailed": "Vorschau konnte nicht geladen werden",
      "testSendFailed": "Test konnte nicht gesendet werden",
      "testReminderFailed": "Testerinnerung konnte nicht gesendet werden",
      "historyLoadFailed": "Verlauf konnte nicht geladen werden",
      "upcomingRemindersLoadFailed": "Bevorstehende Erinnerungen konnten nicht geladen werden"
    },
    "notification": {
      "invalidSubscription": "Ungültiges Abonnement",
      "subscriptionSaveFailed": "Abonnement konnte nicht gespeichert werden",
      "unsubscribeFailed": "Abmeldung fehlgeschlagen",
      "settingsUpdateFailed": "Einstellungen konnten nicht aktualisiert werden",
      "settingsGetFailed": "Einstellungen konnten nicht abgerufen werden",
      "testSent": "Testbenachrichtigung gesendet",
      "sendFailed": "Benachrichtigung konnte nicht gesendet werden",
      "testSendFailed": "Testbenachrichtigung konnte nicht gesendet werden",
      "testReminderSent": "Testerinnerung an Ihre eigene E-Mail-Adresse gesendet"
    },
    "mileage": {
      "vehicleLoadFailed": "Fahrzeug konnte nicht geladen werden",
      "vehicleSaveFailed": "Fahrzeug konnte nicht gespeichert werden",
      "loadFailed": "Kilometerstände konnten nicht geladen werden",
      "dateAndMileageRequired": "Datum und Kilometerstand sind erforderlich",
      "invalidMileage": "Ungültiger Kilometerstand",
      "saveFailed": "Konnte nicht gespeichert werden",
      "notFound": "Nicht gefunden",
      "deleteFailed": "Konnte nicht gelöscht werden",
      "tripsLoadFailed": "Fahrten konnten nicht geladen werden",
      "dateAndDistanceRequired": "Datum und Entfernung sind erforderlich",
      "updateFailed": "Konnte nicht aktualisiert werden",
      "noChanges": "Keine Änderungen angegeben",
      "adjustFailed": "Kilometerstand konnte nicht angepasst werden",
      "auditLogLoadFailed": "Audit-Log konnte nicht geladen werden",
      "reportGenerationFailed": "Kilometerstandbericht konnte nicht generiert werden",
      "summaryLoadFailed": "Zusammenfassung konnte nicht geladen werden",
      "travelTimeCalculationFailed": "Reisezeiten konnten nicht berechnet werden"
    },
    "booking": {
      "linkInvalid": "Ungültiger Buchungslink",
      "dataLoadFailed": "Buchungsdaten konnten nicht geladen werden",
      "serviceDateTimeRequired": "Service, Datum und Uhrzeit sind erforderlich",
      "invalidService": "Ungültiger Service",
      "invalidPianoSelection": "Ungültige Klavierauswahl",
      "syncProblem": "Termin konnte wegen Sync-Problem nicht erstellt werden. Bitte versuchen Sie es erneut.",
      "createFailed": "Termin konnte nicht erstellt werden",
      "serviceRequired": "Dienstleistung ist erforderlich",
      "suggestionGenerationFailed": "Fehler beim Generieren von Vorschlägen",
      "serviceIdRequired": "Service-ID ist erforderlich",
      "availableDaysLoadFailed": "Verfügbare Tage konnten nicht geladen werden",
      "dateServiceIdRequired": "Datum und Service-ID sind erforderlich",
      "availableTimesLoadFailed": "Verfügbare Zeiten konnten nicht geladen werden",
      "firstAvailableTimeLoadFailed": "Erste verfügbare Zeit konnte nicht geladen werden",
      "placeIdRequired": "Orts-ID ist erforderlich",
      "addressDataLoadFailed": "Adressdaten konnten nicht geladen werden",
      "unauthorized": "Nicht autorisiert",
      "leadsFetchFailed": "Leads konnten nicht abgerufen werden",
      "invalidStatus": "Ungültiger Status",
      "leadUpdateFailed": "Lead konnte nicht aktualisiert werden",
      "pageNotFound": "Buchungsseite nicht gefunden",
      "pageNotAvailable": "Buchungsseite nicht verfügbar",
      "errorOccurred": "Ein Fehler ist aufgetreten",
      "dateServiceRequired": "Datum und Dienstleistung sind erforderlich",
      "notFound": "Nicht gefunden",
      "notAvailable": "Nicht verfügbar",
      "serviceNotFound": "Dienstleistung nicht gefunden",
      "dateTooEarly": "Datum ist zu früh",
      "dateTooFar": "Datum liegt zu weit in der Zukunft",
      "closedOnThisDay": "An diesem Tag geschlossen",
      "timeSlotsLoadError": "Fehler beim Laden der Zeitfenster",
      "allFieldsRequired": "Alle Felder sind erforderlich",
      "nameRequired": "Name ist erforderlich",
      "emailRequired": "E-Mail ist erforderlich",
      "phoneRequired": "Telefon ist erforderlich",
      "noLink": "Kunde hat keinen Buchungslink. Generieren Sie zuerst einen Link.",
      "slotLockedByOther": "Dieser Zeitslot wird gerade von jemand anderem gebucht. Bitte versuchen Sie es erneut.",
      "slotTakenByAppointment": "Dieser Zeitslot ist bereits durch einen anderen Termin belegt. Bitte wählen Sie eine andere Zeit.",
      "slotTakenByCalendar": "Dieser Zeitslot ist in Ihrem externen Kalender belegt. Bitte wählen Sie eine andere Zeit.",
      "slotNoLongerAvailable": "Dieser Zeitslot ist nicht mehr verfügbar. Bitte wählen Sie eine andere Zeit.",
      "noAvailableTimesInPeriod": "Keine verfügbaren Zeiten im kommenden Zeitraum gefunden",
      "noAvailableTimesFound": "Keine verfügbaren Zeiten gefunden",
      "noAvailableTimes": "Keine verfügbaren Zeiten",
      "notAWorkday": "Kein Arbeitstag",
      "invalidRescheduleLink": "Ungültiger oder abgelaufener Umplanungslink",
      "appointmentAlreadyPassed": "Dieser Termin ist bereits vorbei und kann nicht mehr umgeplant werden",
      "rescheduleMinimum24h": "Umplanung ist nur bis 24 Stunden vor dem Termin möglich",
      "somethingWentWrong": "Etwas ist schiefgelaufen",
      "followsPreviousNearby": "Schließt an vorherigen Termin in der Nähe an",
      "firstSlotOfDay": "Erster Slot des Tages",
      "appointmentAlreadyExists": "Dieser Termin existiert bereits",
      "bookingError": "Beim Buchen ist ein Fehler aufgetreten",
      "contactForFarLocations": "Für weiter entfernte Standorte kontaktieren Sie uns bitte direkt zur Terminvereinbarung.",
      "missingFields": "Service, Datum und Uhrzeit sind erforderlich",
      "success": "Termin erfolgreich gebucht!",
      "multiPianoSuccess": "Termine erfolgreich gebucht!",
      "optimalTimesFound": "Optimale Zeiten gefunden",
      "sameLocationAsPrevious": "Gleicher Standort wie vorheriger Termin",
      "shortestTravelTime": "Kürzeste Reisezeit",
      "timesAvailable": "Zeiten verfügbar",
      "arrivalTimesNote": "Angezeigte Zeiten sind Ankunftszeiten bei Ihnen",
      "createdViaOnlineBooking": "Erstellt über Online-Buchung",
      "firstAvailable": "Erste verfügbare Zeit",
      "rescheduleSuccess": "Termin erfolgreich verschoben",
      "rescheduleError": "Beim Verschieben ist etwas schiefgelaufen",
      "dateTimeRequired": "Datum und Uhrzeit sind erforderlich",
      "appointmentNotFound": "Termin nicht gefunden"
    },
    "accounting": {
      "noInvoicesToSync": "Keine Rechnungen zum Synchronisieren",
      "jorttApiError": "Jortt API Fehler",
      "noCustomersToSync": "Keine Kunden zum Synchronisieren",
      "noOutstandingInvoices": "Keine offenen synchronisierten Rechnungen gefunden",
      "requestReceived": "Anfrage erhalten",
      "dbNameNotUrl": "Der Datenbankname darf keine URL sein. Geben Sie den Odoo-Datenbanknamen ein (z.B. \"mein-unternehmen-main-12345\"), nicht die Website-URL.",
      "eboekhoudenAuthFailed": "e-Boekhouden Authentifizierung fehlgeschlagen. Überprüfe dein API-Token.",
      "eboekhoudenConnected": "Erfolgreich mit e-Boekhouden verbunden"
    },
    "team": {
      "loadFailed": "Teams konnten nicht geladen werden",
      "nameRequired": "Teamname ist erforderlich",
      "createFailed": "Team konnte nicht erstellt werden",
      "accessDenied": "Zugriff verweigert",
      "updateFailed": "Team konnte nicht aktualisiert werden",
      "noFileUploaded": "Keine Datei hochgeladen",
      "logoUploadFailed": "Logo konnte nicht hochgeladen werden",
      "logoDeleteFailed": "Logo konnte nicht gelöscht werden",
      "bookingEnableFailed": "Team-Buchung konnte nicht aktiviert werden",
      "bookingDisableFailed": "Team-Buchung konnte nicht deaktiviert werden",
      "membersLoadFailed": "Teammitglieder konnten nicht geladen werden",
      "nameEmailRequired": "Name und E-Mail sind erforderlich",
      "memberLimitExceeded": "Teammitglieder-Limit erreicht",
      "memberAddFailed": "Teammitglied konnte nicht hinzugefügt werden",
      "memberNotFound": "Mitglied nicht gefunden",
      "memberUpdateFailed": "Teammitglied konnte nicht aktualisiert werden",
      "memberRemoveFailed": "Teammitglied konnte nicht entfernt werden",
      "paramsRequired": "Start- und Endparameter sind erforderlich",
      "calendarLoadFailed": "Teamkalender konnte nicht geladen werden",
      "appointmentAssignFailed": "Termin konnte nicht zugewiesen werden",
      "unassignedLoadFailed": "Nicht zugewiesene Termine konnten nicht geladen werden",
      "suggestionsFailed": "Vorschläge konnten nicht abgerufen werden",
      "selectAtLeastOneCustomer": "Wählen Sie mindestens einen Kunden",
      "maxInvitationsExceeded": "Maximal 50 Einladungen gleichzeitig",
      "bookingNotEnabled": "Team-Buchung ist nicht aktiviert",
      "noCustomersFound": "Keine Kunden gefunden",
      "invitationsSendFailed": "Einladungen konnten nicht gesendet werden",
      "absencesLoadFailed": "Abwesenheiten konnten nicht geladen werden",
      "datesRequired": "Start- und Enddatum sind erforderlich",
      "endAfterStart": "Enddatum muss nach dem Startdatum liegen",
      "absenceAddFailed": "Abwesenheit konnte nicht hinzugefügt werden",
      "absenceDeleteFailed": "Abwesenheit konnte nicht gelöscht werden",
      "memberNoEmail": "Dieses Teammitglied hat keine E-Mail-Adresse",
      "magicLinkSent": "Magic Link erfolgreich gesendet",
      "linkGenerationFailed": "Fehler beim Generieren des Links",
      "requiredParamsMissing": "Erforderliche Parameter fehlen",
      "smartMatchesFailed": "Smart Matches konnten nicht generiert werden",
      "notFound": "Team nicht gefunden",
      "notFoundOrDisabled": "Team nicht gefunden oder Buchung deaktiviert",
      "ownerNotFound": "Teambesitzer nicht gefunden",
      "serviceNotFound": "Dienstleistung nicht gefunden",
      "noSlotsInComingWeeks": "Keine verfügbaren Zeitfenster in den kommenden Wochen gefunden",
      "noAvailableSlotsOnDate": "Keine verfügbaren Zeitfenster an diesem Datum",
      "noAvailableMembers": "Keine Teammitglieder für diese Buchung verfügbar",
      "slotNoLongerAvailable": "Dieser Zeitslot wurde gerade gebucht. Bitte wählen Sie eine andere Zeit.",
      "appointmentAlreadyExists": "Dieser Termin existiert bereits",
      "appointmentBooked": "Termin erfolgreich gebucht",
      "memberNotFoundOrInactive": "Mitglied nicht gefunden oder inaktiv",
      "failedToLoadInfo": "Teaminformationen konnten nicht geladen werden. Bitte versuchen Sie es später erneut.",
      "failedToCreateBooking": "Buchung konnte nicht erstellt werden. Bitte versuchen Sie es später erneut.",
      "failedToGetSlots": "Verfügbare Zeitfenster konnten nicht abgerufen werden. Bitte versuchen Sie es später erneut.",
      "failedToFindSlots": "Verfügbare Slots konnten nicht gefunden werden.",
      "tooManyRequests": "Zu viele Anfragen. Bitte warten Sie einen Moment.",
      "startDateRequired": "startDate ist erforderlich",
      "bookingLinkDisabled": "Dieser Buchungslink existiert nicht oder wurde deaktiviert.",
      "notAcceptingBookings": "Dieses Team nimmt derzeit keine Buchungen an.",
      "missingRequiredFields": "Pflichtfelder fehlen",
      "bookingFieldsRequired": "Mitglied, Zeitfenster, Dienstleistung, Name und E-Mail sind erforderlich.",
      "failedToGetPianos": "Klaviere konnten nicht abgerufen werden",
      "dateServiceRequired": "Datum und Dienstleistung sind erforderlich",
      "monthServiceRequired": "Monat und Service-ID sind erforderlich",
      "serverError": "Serverfehler"
    },
    "smtp": {
      "settingsSaved": "SMTP-Einstellungen gespeichert",
      "notConfigured": "Keine SMTP-Einstellungen gefunden",
      "diagnosisFailed": "Diagnose fehlgeschlagen",
      "settingsDeleted": "SMTP-Einstellungen gelöscht",
      "connectionFailed": "Verbindung fehlgeschlagen",
      "invalidCredentials": "Ungültige Anmeldedaten. Tipps:\n• Verwenden Sie Ihre vollständige E-Mail-Adresse als Benutzername\n• Verwenden Sie ein App-Passwort (NICHT Ihr normales Passwort)\n• Kopieren Sie das App-Passwort OHNE Leerzeichen (16 Zeichen)\n• Stellen Sie sicher, dass die 2-Faktor-Authentifizierung AN ist",
      "connectionRefused": "Verbindung verweigert. Der SMTP-Port ist wahrscheinlich auf dem Server blockiert. Kontaktieren Sie den Support.",
      "sslError": "SSL/TLS-Zertifikatproblem. Versuchen Sie einen anderen Port.",
      "connectionTimeout": "Verbindungs-Timeout — der SMTP-Port ist wahrscheinlich auf dem Server blockiert. Gmail-Tipp: Wir haben automatisch Port 465 (SSL) versucht. Kontaktieren Sie den Support, wenn es nicht funktioniert.",
      "serverNotFound": "SMTP-Server nicht gefunden. Überprüfen Sie den Hostnamen.",
      "authFailed": "Authentifizierung fehlgeschlagen. Überprüfen Sie:\n• App-Passwort ohne Leerzeichen\n• 2FA muss aktiviert sein\n• Korrekte E-Mail-Adresse als Benutzername"
    },
    "inventory": {
      "pianoMarkedAsSold": "Klavier als verkauft markiert",
      "subtaskUpdated": "Unteraufgabe aktualisiert",
      "fetchShowroomPianosFailed": "Showroom-Klaviere konnten nicht abgerufen werden",
      "brandRequired": "Marke ist erforderlich",
      "addPianoFailed": "Klavier konnte nicht hinzugefügt werden",
      "customerIdRequired": "Kunden-ID ist erforderlich",
      "showroomPianoNotFound": "Showroom-Klavier nicht gefunden",
      "customerNotFound": "Kunde nicht gefunden",
      "markAsSoldFailed": "Klavier konnte nicht als verkauft markiert werden",
      "locationRequired": "Standort ist erforderlich",
      "startEndTimeRequired": "Start- und Endzeit sind erforderlich",
      "selectAtLeastOnePiano": "Wählen Sie mindestens ein Klavier",
      "batchCreated": "Batch-Termin erstellt",
      "createBatchFailed": "Batch-Termin konnte nicht erstellt werden",
      "batchNotFound": "Batch-Termin nicht gefunden",
      "fetchBatchFailed": "Batch-Termin konnte nicht abgerufen werden",
      "invalidStatus": "Ungültiger Status",
      "noUpdatesProvided": "Keine Aktualisierungen angegeben",
      "subtaskNotFound": "Unteraufgabe nicht gefunden",
      "updateSubtaskFailed": "Unteraufgabe konnte nicht aktualisiert werden",
      "noCsvFileReceived": "Keine CSV-Datei empfangen",
      "csvFileEmpty": "CSV-Datei ist leer",
      "requiredColumnMissing": "Erforderliche Spalte \"Marke\" (oder \"Brand\") fehlt in CSV-Headern",
      "importFailed": "Import fehlgeschlagen"
    },
    "upload": {
      "logoDeleted": "Logo gelöscht"
    },
    "support": {
      "requestSubmitted": "Supportanfrage eingereicht"
    },
    "onboarding": {
      "welcome": "Willkommen bei PianoPlanner!",
      "statusFailed": "Onboarding-Status konnte nicht abgerufen werden",
      "companyLoadFailed": "Firmendaten konnten nicht abgerufen werden",
      "servicesLoadFailed": "Dienste konnten nicht abgerufen werden",
      "nameAndDurationRequired": "Name und Dauer sind erforderlich",
      "serviceCreateFailed": "Dienst konnte nicht erstellt werden",
      "serviceNotFound": "Dienst nicht gefunden",
      "serviceUpdateFailed": "Dienst konnte nicht aktualisiert werden",
      "serviceDeleteFailed": "Dienst konnte nicht gelöscht werden",
      "settingsLoadFailed": "Einstellungen konnten nicht abgerufen werden",
      "settingsSaveFailed": "Einstellungen konnten nicht gespeichert werden"
    },
    "admin": {
      "noRights": "Keine Administratorrechte",
      "notConfigured": "Admin-Anmeldung ist nicht konfiguriert",
      "cannotDeleteSelf": "Administratoren können ihr eigenes Konto nicht löschen",
      "settingsLoadFailed": "Einstellungen konnten nicht geladen werden",
      "invalidSetting": "Ungültige Einstellung",
      "settingSaveFailed": "Einstellung konnte nicht gespeichert werden",
      "statsLoadFailed": "Statistiken konnten nicht geladen werden",
      "noBrokenAppointments": "Keine fehlerhaften Termine gefunden",
      "cleanupFailed": "Bereinigung fehlgeschlagen",
      "dashboardStatsLoadFailed": "Dashboard-Statistiken konnten nicht geladen werden",
      "signupTrendLoadFailed": "Anmeldetrend konnte nicht geladen werden",
      "auditLogsLoadFailed": "Audit-Logs konnten nicht geladen werden",
      "securityAlertsLoadFailed": "Sicherheitswarnungen konnten nicht geladen werden",
      "errorLogsLoadFailed": "Fehlerprotokolle konnten nicht geladen werden",
      "errorStatsLoadFailed": "Fehlerstatistiken konnten nicht geladen werden",
      "errorResolveFailed": "Fehler konnte nicht behoben werden",
      "announcementCreateFailed": "Ankündigung konnte nicht erstellt werden",
      "announcementUpdateFailed": "Ankündigung konnte nicht aktualisiert werden",
      "announcementNotFound": "Ankündigung nicht gefunden",
      "announcementToggleFailed": "Ankündigung konnte nicht umgeschaltet werden",
      "announcementDeleteFailed": "Ankündigung konnte nicht gelöscht werden",
      "defaultTemplatesLoadFailed": "Standardvorlagen konnten nicht geladen werden",
      "invalidSection": "Ungültiger Abschnitt",
      "defaultsSaveFailed": "Standardwerte konnten nicht gespeichert werden",
      "defaultsUpdateFailed": "Standardvorlagen konnten nicht aktualisiert werden",
      "defaultsResetFailed": "Standardvorlagen konnten nicht zurückgesetzt werden",
      "backupStatusFailed": "Backup-Status konnte nicht abgerufen werden",
      "backupKeyRequired": "Backup-Schlüssel ist erforderlich",
      "invalidBackupKey": "Ungültiger Backup-Schlüssel",
      "backupDownloadFailed": "Backup konnte nicht heruntergeladen werden",
      "logoLoadFailed": "Logo konnte nicht geladen werden",
      "noFileUploaded": "Keine Datei hochgeladen",
      "uploadFailed": "Upload fehlgeschlagen",
      "logoDeleted": "Plattform-Logo gelöscht",
      "logoDeleteFailed": "Logo konnte nicht gelöscht werden",
      "logoNotFound": "Logo nicht gefunden",
      "invoiceQueueLoadFailed": "Rechnungswarteschlange konnte nicht geladen werden",
      "invalidQueueStatus": "Ungültiger Status",
      "queueItemNotFound": "Warteschlangenelement nicht gefunden",
      "queueItemUpdateFailed": "Warteschlangenelement konnte nicht aktualisiert werden",
      "emailLogsLoadFailed": "E-Mail-Logs konnten nicht geladen werden",
      "emailLogNotFound": "E-Mail-Log nicht gefunden",
      "onlyFailedCanBeResent": "Nur fehlgeschlagene E-Mails können erneut gesendet werden",
      "alreadyInRetryQueue": "E-Mail ist bereits in der Wiederholungswarteschlange",
      "emailRequeued": "E-Mail erneut in die Warteschlange gestellt",
      "emailRequeueFailed": "E-Mail konnte nicht erneut in die Warteschlange gestellt werden",
      "emailLogDeleted": "E-Mail-Log gelöscht",
      "cacheCleared": "Cache geleert",
      "queueProcessed": "Warteschlange verarbeitet",
      "itemRemovedFromQueue": "Element aus der Warteschlange entfernt",
      "testReportSent": "Testbericht gesendet",
      "usersLoadFailed": "Benutzer konnten nicht geladen werden",
      "pendingUsersLoadFailed": "Wartende Benutzer konnten nicht geladen werden",
      "userApproved": "Benutzer genehmigt",
      "userApproveFailed": "Benutzer konnte nicht genehmigt werden",
      "userNotFound": "Benutzer nicht gefunden",
      "welcomeEmailSent": "Willkommens-E-Mail gesendet",
      "welcomeEmailSendFailed": "Willkommens-E-Mail konnte nicht gesendet werden",
      "userRejected": "Benutzer abgelehnt",
      "userRejectFailed": "Benutzer konnte nicht abgelehnt werden",
      "invalidTier": "Ungültige Stufe",
      "tierChangeFailed": "Stufe konnte nicht geändert werden",
      "userDeleted": "Benutzer gelöscht",
      "userDeleteFailed": "Benutzer konnte nicht gelöscht werden",
      "planRequired": "Plan ist erforderlich",
      "planSet": "Plan gesetzt",
      "planSetFailed": "Plan konnte nicht gesetzt werden",
      "emailPasswordRequired": "E-Mail und Passwort sind erforderlich",
      "userEmailExists": "Ein Benutzer mit dieser E-Mail-Adresse existiert bereits",
      "userCreated": "Benutzer erstellt",
      "userCreateFailed": "Benutzer konnte nicht erstellt werden",
      "anotherUserEmailExists": "Ein anderer Benutzer mit dieser E-Mail-Adresse existiert bereits",
      "userUpdated": "Benutzer aktualisiert",
      "userUpdateFailed": "Benutzer konnte nicht aktualisiert werden",
      "userLoadFailed": "Benutzer konnte nicht geladen werden",
      "userDetailsLoadFailed": "Benutzerdetails konnten nicht geladen werden",
      "bookingSlugRequired": "Buchungs-Slug ist erforderlich",
      "slugMinLength": "Slug muss mindestens 3 Zeichen lang sein",
      "slugInUse": "Dieser Slug wird bereits verwendet",
      "bookingSlugUpdateFailed": "Buchungs-Slug konnte nicht aktualisiert werden",
      "impersonateFailed": "Benutzer konnte nicht imitiert werden",
      "notImpersonating": "Nicht als anderer Benutzer angemeldet",
      "impersonationStopFailed": "Imitation konnte nicht gestoppt werden",
      "noUsersSpecified": "Keine Benutzer angegeben",
      "bulkDeleteFailed": "Massenentfernung fehlgeschlagen",
      "bulkPlanSetFailed": "Massenplan-Einstellung fehlgeschlagen",
      "notificationsSendFailed": "Benachrichtigungen konnten nicht gesendet werden"
    },
    "common": {
      "serverError": "Serverfehler",
      "placeIdRequired": "Orts-ID ist erforderlich",
      "failed": "Fehlgeschlagen"
    },
    "teamBooking": {
      "teamNotFound": "Team nicht gefunden",
      "teamNotFoundOrDisabled": "Team nicht gefunden oder Buchung deaktiviert",
      "bookingLinkNotFound": "Dieser Buchungslink existiert nicht oder wurde deaktiviert.",
      "placeIdRequired": "Orts-ID ist erforderlich",
      "failed": "Fehlgeschlagen",
      "serviceIdRequired": "Service-ID ist erforderlich",
      "monthServiceIdRequired": "Monat und Service-ID sind erforderlich",
      "missingFields": "Pflichtfelder fehlen",
      "dateServiceRequired": "Datum und Service sind erforderlich.",
      "bookingFieldsRequired": "Mitglied, Zeitfenster, Service, Name und E-Mail sind erforderlich.",
      "tooManyRequests": "Zu viele Anfragen. Bitte warten Sie einen Moment.",
      "startDateRequired": "Startdatum ist erforderlich",
      "outOfZone": "Diese Adresse liegt leider außerhalb unseres Einsatzgebiets."
    },
    "portal": {
      "rateLimitExceeded": "Zu viele Versuche. Bitte versuchen Sie es in einer Minute erneut.",
      "fetchScheduleFailed": "Zeitplan konnte nicht abgerufen werden.",
      "fetchWeekScheduleFailed": "Wochenplan konnte nicht abgerufen werden.",
      "invalidStatus": "Ungültiger Status.",
      "appointmentNotFound": "Termin nicht gefunden.",
      "updateStatusFailed": "Status konnte nicht aktualisiert werden.",
      "noteRequired": "Notiz ist erforderlich.",
      "saveNoteFailed": "Notiz konnte nicht gespeichert werden.",
      "fetchHistoryFailed": "Verlauf konnte nicht geladen werden.",
      "profileNotFound": "Profil nicht gefunden.",
      "fetchProfileFailed": "Profil konnte nicht abgerufen werden.",
      "completeAppointmentFailed": "Termin konnte nicht abgeschlossen werden.",
      "batchAppointmentNotFound": "Batch-Termin nicht gefunden.",
      "pianoNotFoundInBatch": "Klavier nicht in diesem Batch gefunden.",
      "fetchTasksFailed": "Aufgaben konnten nicht abgerufen werden.",
      "taskNotFound": "Aufgabe nicht gefunden.",
      "invalidHours": "Ungültige Stundenanzahl.",
      "updateHoursFailed": "Stunden konnten nicht aktualisiert werden."
    },
    "uploads": {
      "noFileUploaded": "Keine Datei hochgeladen",
      "logoUploaded": "Logo erfolgreich hochgeladen",
      "uploadFailed": "Upload fehlgeschlagen",
      "logoDeleted": "Logo gelöscht",
      "deleteFailed": "Löschen fehlgeschlagen",
      "invalidFilename": "Ungültiger Dateiname",
      "logoNotFound": "Logo nicht gefunden"
    },
    "services": {
      "loadFailed": "Dienste konnten nicht abgerufen werden",
      "notFound": "Dienst nicht gefunden",
      "loadOneFailed": "Dienst konnte nicht abgerufen werden",
      "nameAndDurationRequired": "Name und Dauer sind erforderlich",
      "createFailed": "Dienst konnte nicht erstellt werden",
      "updateFailed": "Dienst konnte nicht aktualisiert werden",
      "deleteFailed": "Dienst konnte nicht gelöscht werden"
    }
  },
  "api.teamBooking.teamNotFound": "Team nicht gefunden",
  "api.teamBooking.searchFailed": "Suche fehlgeschlagen",
  "api.teamBooking.placeIdRequired": "placeId erforderlich",
  "api.teamBooking.placeDetailsFailed": "Ortsdetails konnten nicht abgerufen werden",
  "api.teamBooking.customerNotFound": "Kunde nicht gefunden",
  "api.teamBooking.pianosFailed": "Klaviere konnten nicht abgerufen werden",
  "api.teamBooking.linkNotExist": "Dieser Buchungslink existiert nicht oder wurde deaktiviert.",
  "api.teamBooking.bookingDisabled": "Buchung deaktiviert",
  "api.teamBooking.notAcceptingBookings": "Dieses Team nimmt derzeit keine Buchungen an.",
  "api.teamBooking.ownerNotFound": "Inhaber nicht gefunden",
  "api.teamBooking.ownerAccountNotFound": "Team-Inhaberkonto nicht gefunden.",
  "api.teamBooking.loadInfoFailed": "Teaminformationen konnten nicht geladen werden. Bitte versuchen Sie es später erneut.",
  "api.teamBooking.serviceIdRequired": "serviceId ist erforderlich",
  "api.teamBooking.teamNotFoundOrDisabled": "Team nicht gefunden oder Buchung deaktiviert",
  "api.teamBooking.serviceNotFound": "Service nicht gefunden",
  "api.teamBooking.noSlotsInComingWeeks": "Keine verfügbaren Zeitfenster in den kommenden Wochen gefunden.",
  "api.teamBooking.bestMatchFailed": "Serverfehler",
  "api.teamBooking.dateRequired": "Datumsparameter ist erforderlich",
  "api.teamBooking.missingFields": "Pflichtfelder fehlen",
  "api.teamBooking.dateServiceRequired": "Datum und Service sind erforderlich.",
  "api.teamBooking.noSlotsOnDate": "Keine verfügbaren Zeitfenster an diesem Datum",
  "api.teamBooking.noAvailableMembers": "Keine verfügbaren Mitglieder",
  "api.teamBooking.noMembersAvailableMessage": "An diesem Datum sind keine Teammitglieder verfügbar. Bitte versuchen Sie ein anderes Datum.",
  "api.teamBooking.slotsFailed": "Verfügbare Zeitfenster konnten nicht abgerufen werden. Bitte versuchen Sie es erneut.",
  "api.teamBooking.slotNoLongerAvailable": "Zeitfenster nicht mehr verfügbar",
  "api.teamBooking.slotJustBooked": "Dieses Zeitfenster wurde gerade von einem anderen Kunden gebucht. Bitte wählen Sie eine andere Zeit.",
  "api.teamBooking.appointmentExists": "Dieser Termin existiert bereits.",
  "api.teamBooking.bookedSuccessfully": "Termin erfolgreich gebucht",
  "api.teamBooking.bookingFailed": "Buchung konnte nicht erstellt werden. Bitte versuchen Sie es erneut.",
  "api.teamBooking.onlineBookingSource": "Online-Buchung",
  "api.teamBooking.bookedViaTeam": "Über Teamseite gebucht",
  "api.teamBooking.tooManyRequests": "Zu viele Anfragen. Bitte warten Sie einen Moment.",
  "api.teamBooking.startDateRequired": "startDate ist erforderlich",
  "api.teamBooking.findSlotsFailed": "Verfügbare Zeitfenster konnten nicht gefunden werden.",
  "api.teamBooking.serverError": "Serverfehler",
  "api.teamBooking.memberNotFoundOrInactive": "Mitglied nicht gefunden oder inaktiv",
  "api.auth.emailPasswordRequired": "E-Mail und Passwort sind erforderlich",
  "api.auth.invalidEmailFormat": "Ungültiges E-Mail-Format",
  "api.auth.accountCreatedCanLogin": "Ihr Konto wurde erstellt! Sie können sich jetzt anmelden.",
  "api.auth.accountCreatedAwaitApproval": "Ihr Konto wurde erstellt! Sie erhalten eine Nachricht, sobald ein Administrator Ihr Konto genehmigt hat.",
  "api.auth.registrationFailed": "Registrierung fehlgeschlagen",
  "api.auth.sessionError": "Sitzungsfehler",
  "api.auth.loginSuccess": "Erfolgreich angemeldet",
  "api.auth.loginFailed": "Anmeldung fehlgeschlagen",
  "api.auth.emailRequired": "E-Mail ist erforderlich",
  "api.auth.resetLinkSentIfKnown": "Wenn diese E-Mail-Adresse bei uns bekannt ist, erhalten Sie einen Reset-Link.",
  "api.auth.errorOccurred": "Ein Fehler ist aufgetreten",
  "api.auth.tokenMissing": "Token fehlt",
  "api.auth.tokenVerifyFailed": "Token konnte nicht verifiziert werden",
  "api.auth.tokenPasswordRequired": "Token und Passwort sind erforderlich",
  "api.auth.passwordMinLength": "Passwort muss mindestens 8 Zeichen lang sein",
  "api.auth.passwordResetSuccess": "Passwort erfolgreich geändert. Sie können sich jetzt anmelden.",
  "api.auth.passwordResetFailed": "Passwort konnte nicht zurückgesetzt werden",
  "api.auth.adminNotConfigured": "Admin-Login ist nicht konfiguriert. Setzen Sie ADMIN_USERNAME und ADMIN_PASSWORD als Umgebungsvariablen.",
  "api.auth.usernamePasswordRequired": "Benutzername und Passwort sind erforderlich",
  "api.auth.loggedInAsAdmin": "Als Administrator angemeldet",
  "api.auth.invalidCredentials": "Ungültiger Benutzername oder Passwort",
  "api.auth.notLoggedIn": "Nicht angemeldet",
  "api.auth.noChangesSpecified": "Keine Änderungen angegeben",
  "api.auth.profileUpdated": "Profil aktualisiert",
  "api.auth.userNotFound": "Benutzer nicht gefunden",
  "api.auth.newPasswordRequired": "Neues Passwort ist erforderlich",
  "api.auth.passwordsDoNotMatch": "Passwörter stimmen nicht überein",
  "api.auth.passwordSetCanLogin": "Passwort gesetzt! Sie können sich jetzt auch mit E-Mail und Passwort anmelden.",
  "api.auth.currentAndNewPasswordRequired": "Aktuelles und neues Passwort sind erforderlich",
  "api.auth.newPasswordsDoNotMatch": "Neue Passwörter stimmen nicht überein",
  "api.auth.passwordChanged": "Passwort erfolgreich geändert",
  "api.subscription.notLoggedIn": "Nicht angemeldet",
  "api.subscription.noActiveSubscription": "Kein aktives Abonnement",
  "api.subscription.checkFailed": "Abonnement konnte nicht überprüft werden",
  "api.subscription.paidRequired": "Kostenpflichtiges Abonnement erforderlich",
  "api.subscription.proRequired": "Pro-Abonnement für diese Funktion erforderlich",
  "api.subscription.businessRequired": "Business-Abonnement für Werkstatt-Projektplaner erforderlich",
  "api.subscription.featureCheckFailed": "Feature konnte nicht überprüft werden",
  "api.subscription.customerLimitReached": "Kundenlimit erreicht",
  "api.subscription.customerLimitMessage": "Sie haben {current} von {limit} Kunden. Upgraden Sie auf Solo oder Pro für unbegrenzte Kunden.",
  "api.subscription.limitCheckFailed": "Limit konnte nicht überprüft werden",
  "api.subscription.appointmentLimitReached": "Terminlimit erreicht",
  "api.subscription.appointmentLimitMessage": "Sie haben {current} von {limit} Terminen in diesem Jahr. Upgraden Sie auf Solo oder Pro für unbegrenzte Termine.",
  "api.subscription.featureProOnly": "{feature} ist nur mit einem Pro-Abonnement verfügbar",
  "api.mollie.paymentsNotConfigured": "Zahlungen sind noch nicht konfiguriert",
  "api.mollie.statusFetchFailed": "Status konnte nicht abgerufen werden",
  "api.mollie.invalidPlan": "Ungültiger Plan. Wählen Sie solo, pro oder business.",
  "api.mollie.paymentStartFailed": "Zahlung konnte nicht gestartet werden",
  "api.mollie.noActiveSubscription": "Kein aktives Abonnement gefunden",
  "api.mollie.subscriptionCancelled": "Abonnement gekündigt",
  "api.mollie.cancelFailed": "Abonnement konnte nicht gekündigt werden",
  "api.mollie.invalidPlanSimple": "Ungültiger Plan",
  "api.mollie.planChanged": "Plan geändert zu {plan}",
  "api.mollie.changeFailed": "Plan konnte nicht geändert werden",
  "api.mollie.firstPaymentDesc": "Erstzahlung",
  "api.stripe.invalidPlan": "Ungültiger Plan. Wählen Sie solo, pro, teams oder business.",
  "api.stripe.createSessionFailed": "Checkout-Sitzung konnte nicht erstellt werden",
  "api.stripe.noActiveSubscription": "Kein aktives Stripe-Abonnement gefunden",
  "api.stripe.subscriptionCancelled": "Abonnement gekündigt. Zugang bis Ende des Abrechnungszeitraums.",
  "api.stripe.cancelFailed": "Abonnement konnte nicht gekündigt werden",
  "api.stripe.portalFailed": "Abrechnungsportal konnte nicht geöffnet werden",
  "api.stripe.statusFetchFailed": "Abonnementstatus konnte nicht abgerufen werden",
  "api.stripe.notConfigured": "Stripe ist nicht konfiguriert",
  "api.customers.loadFailed": "Kunden konnten nicht geladen werden",
  "api.customers.nameRequired": "Name ist erforderlich",
  "api.customers.createFailed": "Kunde konnte nicht erstellt werden",
  "api.customers.notFound": "Kunde nicht gefunden",
  "api.customers.updateFailed": "Kunde konnte nicht aktualisiert werden",
  "api.customers.deleteFailed": "Kunde konnte nicht gelöscht werden",
  "api.customers.deleted": "Kunde gelöscht",
  "api.customers.searchFailed": "Suche fehlgeschlagen",
  "api.customers.importFailed": "Import fehlgeschlagen",
  "api.customers.noFileUploaded": "Keine Datei hochgeladen",
  "api.customers.mergeFailed": "Kunden konnten nicht zusammengeführt werden",
  "api.customers.merged": "Kunden erfolgreich zusammengeführt",
  "api.pianos.loadFailed": "Klaviere konnten nicht geladen werden",
  "api.pianos.brandRequired": "Marke ist erforderlich",
  "api.pianos.createFailed": "Klavier konnte nicht erstellt werden",
  "api.pianos.notFound": "Klavier nicht gefunden",
  "api.pianos.updateFailed": "Klavier konnte nicht aktualisiert werden",
  "api.pianos.deleteFailed": "Klavier konnte nicht gelöscht werden",
  "api.pianos.deleted": "Klavier gelöscht",
  "api.common.notLoggedIn": "Nicht angemeldet",
  "api.common.userNotFound": "Benutzer nicht gefunden",
  "api.common.serverError": "Serverfehler",
  "api.common.invalidRequest": "Ungültige Anfrage",
  "api.common.accessDenied": "Zugriff verweigert",
  "api.common.notFound": "Nicht gefunden",
  "api.common.saveFailed": "Änderungen konnten nicht gespeichert werden",
  "api.common.saved": "Änderungen gespeichert",
  "api.settings.loadFailed": "Einstellungen konnten nicht geladen werden",
  "api.settings.saveFailed": "Einstellungen konnten nicht gespeichert werden",
  "api.settings.vatNoNumber": "Keine USt-IdNr. angegeben",
  "api.settings.vatValidationFailed": "USt-IdNr. konnte nicht validiert werden",
  "api.settings.vatInfoFailed": "USt-Info konnte nicht geladen werden",
  "api.settings.servicesLoadFailed": "Dienste konnten nicht geladen werden",
  "api.settings.serviceNotFound": "Dienst nicht gefunden",
  "api.settings.serviceLoadFailed": "Dienst konnte nicht geladen werden",
  "api.settings.serviceNameRequired": "Name ist erforderlich",
  "api.settings.serviceCreateFailed": "Dienst konnte nicht erstellt werden",
  "api.settings.serviceUpdateFailed": "Dienst konnte nicht aktualisiert werden",
  "api.settings.serviceDeleteFailed": "Dienst konnte nicht gelöscht werden",
  "api.settings.serviceActivateFailed": "Dienst konnte nicht aktiviert werden",
  "api.settings.bookingLoadFailed": "Buchungseinstellungen konnten nicht geladen werden",
  "api.settings.bookingSaveFailed": "Buchungseinstellungen konnten nicht gespeichert werden",
  "api.settings.travelLoadFailed": "Reiseeinstellungen konnten nicht geladen werden",
  "api.settings.travelSaveFailed": "Reiseeinstellungen konnten nicht gespeichert werden",
  "api.settings.travelAnalyzeFailed": "Kundenstamm konnte nicht analysiert werden",
  "api.settings.languageNotSupported": "Sprache nicht unterstützt",
  "api.settings.languageSaveFailed": "Spracheinstellung konnte nicht gespeichert werden",
  "api.settings.resetConfirmWrong": "Bestätigungstext ist falsch",
  "api.settings.resetSuccess": "Alle Daten wurden gelöscht. Ihre Einstellungen und Ihr Konto wurden beibehalten.",
  "api.settings.resetFailed": "Daten konnten nicht zurückgesetzt werden",
  "api.settings.deletePasswordRequired": "Passwort ist erforderlich",
  "api.settings.deleteAdminDenied": "Admins können ihr eigenes Konto nicht löschen",
  "api.settings.deleteSuccess": "Konto erfolgreich gelöscht",
  "api.settings.deleteFailed": "Konto konnte nicht gelöscht werden",
  "api.settings.syncStatusFailed": "Synchronisierungsstatus konnte nicht geladen werden",
  "api.settings.syncQueueFailed": "Synchronisierungswarteschlange konnte nicht geladen werden",
  "api.settings.syncVerifyFailed": "Synchronisierung konnte nicht verifiziert werden",
  "api.settings.syncOrphansFailed": "Verwaiste Ereignisse konnten nicht gefunden werden",
  "api.settings.syncMissingFailed": "Fehlende Synchronisierungen konnten nicht gefunden werden",
  "api.settings.exportFailed": "Daten konnten nicht exportiert werden",
  "api.settings.previewFailed": "Vorschau konnte nicht geladen werden",
  "api.settings.testReminderSuccess": "Test-Erinnerung an Ihre E-Mail-Adresse gesendet",
  "api.settings.testReminderSendFailed": "Test konnte nicht gesendet werden",
  "api.settings.testReminderError": "Test-Erinnerung konnte nicht gesendet werden",
  "api.settings.historyFailed": "Verlauf konnte nicht geladen werden",
  "api.settings.upcomingFailed": "Anstehende Erinnerungen konnten nicht geladen werden",
  "api.calendar.noGoogleConnection": "Keine Google-Verbindung",
  "api.calendar.tokenCheckFailed": "Tokens konnten nicht überprüft werden",
  "api.calendar.loginWithGoogle": "Mit Google anmelden",
  "api.calendar.calendarsLoadFailed": "Kalender konnten nicht geladen werden",
  "api.calendar.eventsLoadFailed": "Ereignisse konnten nicht geladen werden",
  "api.calendar.eventFieldsRequired": "Titel, Start und Ende sind erforderlich",
  "api.calendar.eventCreateFailed": "Ereignis konnte nicht erstellt werden",
  "api.calendar.eventDeleteFailed": "Ereignis konnte nicht gelöscht werden",
  "api.calendar.syncSettingsLoadFailed": "Sync-Einstellungen konnten nicht geladen werden",
  "api.calendar.singleProviderLimit": "Sie haben bereits eine aktive Synchronisierung mit {provider}. Trennen Sie zuerst {provider}, bevor Sie Google Calendar aktivieren.",
  "api.calendar.syncSettingsSaveFailed": "Sync-Einstellungen konnten nicht gespeichert werden",
  "api.calendar.disconnectFailed": "Verbindung konnte nicht getrennt werden",
  "api.calendar.disconnected": "Google Calendar-Verbindung getrennt",
  "api.calendar.sessionExpired": "Google-Sitzung abgelaufen",
  "api.calendar.reconnectGoogle": "Melden Sie sich erneut mit Google an, um die Verbindung wiederherzustellen",
  "api.calendar.syncStatusLoadFailed": "Sync-Status konnte nicht geladen werden",
  "api.calendar.syncDisabledByAdmin": "Kalendersynchronisierung ist vorübergehend vom Administrator deaktiviert",
  "api.calendar.contactSupport": "Kontaktieren Sie den Support, wenn dies unerwartet ist",
  "api.calendar.syncRateLimit": "Sie können höchstens einmal alle 15 Minuten synchronisieren",
  "api.calendar.syncRateLimitHint": "Versuchen Sie es in {minutes} {minuteWord} erneut",
  "api.calendar.minuteSingular": "Minute",
  "api.calendar.minutePlural": "Minuten",
  "api.calendar.syncInProgress": "Synchronisierung läuft bereits",
  "api.calendar.syncInProgressHint": "Warten Sie, bis die aktuelle Synchronisierung abgeschlossen ist",
  "api.calendar.noValidGoogleConnection": "Keine gültige Google-Verbindung",
  "api.calendar.syncNotEnabled": "Synchronisierung ist nicht aktiviert",
  "api.calendar.maxEventsReached": "Maximale Anzahl an Terminen erreicht ({max})",
  "api.calendar.maxEventsHint": "Löschen Sie alte Termine, um wieder synchronisieren zu können",
  "api.calendar.googleApiLimit": "Google API-Limit erreicht",
  "api.calendar.waitAndRetry": "Warten Sie einige Minuten und versuchen Sie es erneut",
  "api.calendar.noGoogleAccess": "Kein Zugriff auf Google Calendar",
  "api.calendar.reauthorizeGoogle": "Geben Sie PianoPlanner erneut Zugriff auf Ihren Kalender",
  "api.calendar.syncFailed": "Synchronisierung fehlgeschlagen",
  "api.calendar.importFailed": "Import fehlgeschlagen",
  "api.calendar.previewFailed": "Vorschau fehlgeschlagen",
  "api.calendar.forceSyncFailed": "Erzwungene Synchronisierung fehlgeschlagen",
  "api.calendar.allSynced": "Alle Kalender sind synchronisiert",
  "api.calendar.refreshTokenMissing": "Google Calendar: Aktualisierungstoken fehlt - melden Sie sich erneut über Einstellungen an",
  "api.calendar.googleExpired": "Google Calendar-Verbindung abgelaufen",
  "api.calendar.appleNotConnected": "Apple Calendar nicht verbunden",
  "api.calendar.syncsPending": "{count} Synchronisierung(en) ausstehend",
  "api.calendar.microsoftNotConnected": "Microsoft Calendar nicht verbunden",
  "api.calendar.syncsPermanentlyFailed": "{count} Synchronisierung(en) dauerhaft fehlgeschlagen",
  "api.customers.fetchError": "Kunden konnten nicht geladen werden",
  "api.customers.fetchNamesError": "Kundennamen konnten nicht geladen werden",
  "api.customers.fetchDuplicatesError": "Duplikate konnten nicht geladen werden",
  "api.customers.mergeIdsRequired": "Ziel- und Quell-ID sind erforderlich",
  "api.customers.mergeSuccess": "Kunden erfolgreich zusammengeführt",
  "api.customers.mergeAdvancedIdsRequired": "Ziel-ID und Quell-IDs sind erforderlich",
  "api.customers.cleanNotesFailed": "Notizen konnten nicht bereinigt werden",
  "api.customers.mapDataError": "Kartendaten konnten nicht geladen werden",
  "api.customers.allAlreadyGeocoded": "Alle Kunden haben bereits Koordinaten",
  "api.customers.geocodeBatchPartial": "{processed} Kunden verarbeitet, noch {remaining} übrig. Erneut ausführen.",
  "api.customers.geocodeBatchDone": "{processed} Kunden verarbeitet.",
  "api.customers.geocodingFailed": "Geocoding fehlgeschlagen",
  "api.customers.fetchOneError": "Kunde konnte nicht geladen werden",
  "api.customers.createError": "Kunde konnte nicht erstellt werden",
  "api.customers.updateError": "Kunde konnte nicht aktualisiert werden",
  "api.customers.deleteError": "Kunde konnte nicht gelöscht werden",
  "api.customers.tokenRegenerated": "Neuer Buchungslink generiert",
  "api.customers.tokenRegenerateError": "Token konnte nicht regeneriert werden",
  "api.customers.smartFillLocationRequired": "Geben Sie eine Stadt, Postleitzahl oder Adresse ein",
  "api.customers.smartFillLocationNotFound": "Standort nicht gefunden. Versuchen Sie einen anderen Ortsnamen oder eine andere Postleitzahl.",
  "api.customers.smartFillNoResults": "Keine Kunden mit Stimmintervall gefunden",
  "api.customers.smartFillSearchFailed": "Suche fehlgeschlagen",
  "api.customers.smartFillSelectAtLeastOne": "Wählen Sie mindestens einen Kunden",
  "api.customers.smartFillMaxInvitations": "Maximal 20 Einladungen auf einmal",
  "api.customers.smartFillCustomerNotFound": "Kunde/Klavier nicht gefunden oder keine E-Mail",
  "api.customers.smartFillNoInterval": "Stimmintervall ist 0",
  "api.customers.smartFillInviteFailed": "Einladungen senden fehlgeschlagen",
  "api.customers.noAddress": "Kunde hat keine Adresse",
  "api.customers.geocodeAddressFailed": "Adresse konnte nicht geocodiert werden",
  "api.customers.notesFetchError": "Notizen konnten nicht geladen werden",
  "api.customers.noteRequired": "Notiz ist erforderlich",
  "api.customers.noteSaveError": "Notiz konnte nicht gespeichert werden",
  "api.customers.noteDeleteError": "Notiz konnte nicht gelöscht werden",
  "api.pianos.fetchError": "Klaviere konnten nicht geladen werden",
  "api.pianos.invitationStatusError": "Einladungsstatus konnte nicht geladen werden",
  "api.pianos.servicesFetchError": "Dienstleistungen konnten nicht geladen werden",
  "api.pianos.fetchSingleError": "Klavier konnte nicht geladen werden",
  "api.pianos.created": "Klavier hinzugefügt",
  "api.pianos.createError": "Klavier konnte nicht erstellt werden",
  "api.pianos.pianoIdsRequired": "pianoIds-Array ist erforderlich",
  "api.pianos.updatesRequired": "updates-Objekt ist erforderlich",
  "api.pianos.noValidFields": "Keine gültigen Felder zum Aktualisieren",
  "api.pianos.bulkUpdated": "{count} Klaviere aktualisiert",
  "api.pianos.bulkUpdateError": "Klaviere konnten nicht aktualisiert werden",
  "api.pianos.updated": "Klavier aktualisiert",
  "api.pianos.updateError": "Klavier konnte nicht aktualisiert werden",
  "api.pianos.deleteError": "Klavier konnte nicht gelöscht werden",
  "api.pianos.serviceAdded": "Serviceeintrag hinzugefügt",
  "api.pianos.serviceAddError": "Dienstleistung konnte nicht hinzugefügt werden",
  "api.pianos.serviceNotFound": "Serviceeintrag nicht gefunden",
  "api.pianos.serviceDeleted": "Serviceeintrag gelöscht",
  "api.pianos.serviceDeleteError": "Dienstleistung konnte nicht gelöscht werden",
  "api.appointments.fetchFailed": "Termine konnten nicht geladen werden",
  "api.appointments.noneFound": "Keine Termine gefunden",
  "api.appointments.travelTimeCalcFailed": "Reisezeiten konnten nicht berechnet werden",
  "api.appointments.duplicateDetectFailed": "Duplikate konnten nicht erkannt werden",
  "api.appointments.noDuplicatesFound": "Keine Duplikate gefunden",
  "api.appointments.pendingFetchFailed": "Ausstehende Termine konnten nicht geladen werden",
  "api.appointments.pendingPaymentsFetchFailed": "Offene Zahlungen konnten nicht geladen werden",
  "api.appointments.missingAddressesFetchFailed": "Fehlende Adressen konnten nicht geladen werden",
  "api.appointments.notFound": "Termin nicht gefunden",
  "api.appointments.fetchOneFailed": "Termin konnte nicht geladen werden",
  "api.appointments.titleRequired": "Titel ist erforderlich",
  "api.appointments.startEndRequired": "Start- und Endzeit sind erforderlich",
  "api.appointments.createSyncFailed": "Termin konnte nicht erstellt werden",
  "api.appointments.createFailed": "Termin konnte nicht erstellt werden",
  "api.appointments.updateFailed": "Termin konnte nicht aktualisiert werden",
  "api.appointments.deleteFailed": "Termin konnte nicht gelöscht werden",
  "api.appointments.completeFailed": "Termin konnte nicht abgeschlossen werden",
  "api.appointments.cancelFailed": "Termin konnte nicht storniert werden",
  "api.appointments.statsFetchFailed": "Statistiken konnten nicht geladen werden",
  "api.appointments.dateRequired": "Datum ist erforderlich",
  "api.appointments.minTwoForRoute": "Mindestens 2 Termine mit Standort für Routenoptimierung erforderlich",
  "api.appointments.routeOptimizeFailed": "Route konnte nicht optimiert werden",
  "api.appointments.noScheduleProvided": "Kein Zeitplan angegeben",
  "api.appointments.routeApplyFailed": "Optimierte Route konnte nicht angewendet werden",
  "api.appointments.duplicateDeleteFailed": "Duplikate konnten nicht entfernt werden",
  "api.appointments.cleanupFailed": "Bereinigung fehlgeschlagen",
  "api.appointments.noBrokenFound": "Keine fehlerhaften Termine gefunden",
  "api.appointments.missingRequiredFields": "Pflichtfelder fehlen",
  "api.appointments.invalidDateFormat": "Ungültiges Datumsformat",
  "api.appointments.invalidTimeFormat": "Ungültiges Zeitformat",
  "api.appointments.timeSlotUnavailable": "Zeitfenster nicht verfügbar",
  "api.appointments.conflictExists": "Ein Termin ist bereits geplant: {conflictWith}",
  "api.appointments.rescheduleFailed": "Termin konnte nicht verschoben werden",
  "api.appointments.rescheduled": "Termin erfolgreich verschoben",
  "api.appointments.workshopStatsFailed": "Werkstattstatistiken konnten nicht geladen werden",
  "api.appointments.mileageSummaryFailed": "Kilometerübersicht konnte nicht geladen werden",
  "api.appointments.paymentMarkedPaid": "Zahlung als bezahlt markiert",
  "api.appointments.paymentMarkFailed": "Zahlung konnte nicht markiert werden",
  "api.appointments.markedCompleted": "Termin als abgeschlossen markiert",
  "api.appointments.taskCompleteFailed": "Aufgabe konnte nicht abgeschlossen werden",
  "api.appointments.defaultTitle": "Termin",
  "api.appointments.hintDateTimeFormat": "Geben Sie newDate (JJJJ-MM-TT) und newTime (HH:MM) an",
  "api.appointments.hintDateFormat": "Verwenden Sie das Format JJJJ-MM-TT",
  "api.appointments.hintTimeFormat": "Verwenden Sie das Format HH:MM",
  "api.appointments.rescheduleEmailTitle": "Terminzeit geändert",
  "api.appointments.customerFallback": "Kunde",
  "api.appointments.rescheduleEmailBody": "Ihr Termin wurde auf einen neuen Zeitpunkt verschoben:",
  "api.appointments.rescheduleFrom": "Von",
  "api.appointments.rescheduleTo": "Nach",
  "api.appointments.labelAppointment": "Termin",
  "api.appointments.labelLocation": "Standort",
  "api.appointments.rescheduleContactNote": "Sollte dieser neue Zeitpunkt nicht passen, kontaktieren Sie uns bitte.",
  "api.appointments.kindRegards": "Mit freundlichen Grüßen,",
  "api.appointments.rescheduleEmailSubject": "Terminänderung: {title} - {date}",
  "api.appointments.duplicatesDeleted": "{count} Duplikate entfernt",
  "api.appointments.noCompanyAddress": "Keine Firmenadresse eingestellt. Bitte legen Sie zuerst eine Firmenadresse in den Einstellungen fest.",
  "api.appointments.routeApplyMessage": "{count} Termine mit optimierten Zeiten aktualisiert",
  "api.email.quotaCheckFailed": "Kontingentprüfung fehlgeschlagen",
  "api.email.emailNotConfigured": "E-Mail nicht konfiguriert",
  "api.email.smtpEnvRequired": "SMTP_USER und SMTP_PASS Umgebungsvariablen sind erforderlich",
  "api.email.noEmailProvided": "Keine E-Mail-Adresse angegeben",
  "api.email.testEmailSent": "Test-E-Mail gesendet an {email}",
  "api.email.testEmailFailed": "Test-E-Mail konnte nicht gesendet werden",
  "api.email.settingsUpdated": "E-Mail-Einstellungen aktualisiert",
  "api.email.confirmationSent": "Bestätigungs-E-Mail gesendet",
  "api.email.appointmentNotFound": "Termin nicht gefunden",
  "api.email.customerNoEmail": "Kunde hat keine E-Mail-Adresse",
  "api.email.reminderSent": "Erinnerungs-E-Mail gesendet",
  "api.email.customerIdRequired": "customerId ist erforderlich",
  "api.email.customerNotFound": "Kunde nicht gefunden",
  "api.email.noBookingLink": "Kunde hat keinen Buchungslink. Generieren Sie zuerst einen Link.",
  "api.email.invitationSent": "Einladung gesendet",
  "api.email.invitationFailed": "Einladung konnte nicht gesendet werden",
  "api.email.customerAndPianoRequired": "customerId und pianoId sind erforderlich",
  "api.email.pianoNotFound": "Klavier nicht gefunden",
  "api.email.pianoSelfContact": "Dieses Klavier steht auf \"Kunde nimmt selbst Kontakt auf\". Ändern Sie zuerst das Stimmintervall, um Einladungen senden zu können.",
  "api.email.logLoadFailed": "E-Mail-Protokoll konnte nicht geladen werden",
  "api.email.noEmailsSelected": "Keine E-Mails ausgewählt",
  "api.email.invalidIds": "Ungültige IDs",
  "api.email.deleteEmailsFailed": "E-Mails konnten nicht gelöscht werden",
  "api.smtp.settingsSaved": "SMTP-Einstellungen gespeichert",
  "api.smtp.settingsNotFound": "E-Mail-Einstellungen nicht gefunden",
  "api.smtp.saveSettingsFirst": "Speichern Sie zuerst Ihre E-Mail-Einstellungen",
  "api.smtp.noSmtpSettings": "Keine SMTP-Einstellungen gefunden",
  "api.smtp.smtpSettingsTip": "Speichern Sie zuerst SMTP-Einstellungen über Einstellungen > E-Mail",
  "api.smtp.diagnoseFailed": "Diagnose fehlgeschlagen",
  "api.smtp.settingsDeleted": "SMTP-Einstellungen gelöscht",
  "api.notifications.invalidSubscription": "Ungültiges Abonnement",
  "api.notifications.saveSubscriptionFailed": "Abonnement konnte nicht gespeichert werden",
  "api.notifications.unsubscribeFailed": "Abmeldung fehlgeschlagen",
  "api.notifications.updateSettingsFailed": "Einstellungen konnten nicht aktualisiert werden",
  "api.notifications.getSettingsFailed": "Einstellungen konnten nicht geladen werden",
  "api.notifications.testSent": "Testbenachrichtigung gesendet",
  "api.notifications.testFailed": "Benachrichtigung konnte nicht gesendet werden",
  "api.notifications.testSendFailed": "Testbenachrichtigung konnte nicht gesendet werden",
  "api.mileage.vehicleFetchFailed": "Fahrzeug konnte nicht geladen werden",
  "api.mileage.vehicleSaveFailed": "Fahrzeug konnte nicht gespeichert werden",
  "api.mileage.readingsFetchFailed": "Kilometerstände konnten nicht geladen werden",
  "api.mileage.dateAndReadingRequired": "Datum und Kilometerstand sind erforderlich",
  "api.mileage.invalidReading": "Ungültiger Kilometerstand",
  "api.mileage.readingSaveFailed": "Kilometerstand konnte nicht gespeichert werden",
  "api.mileage.readingNotFound": "Kilometerstand nicht gefunden",
  "api.mileage.readingDeleteFailed": "Kilometerstand konnte nicht gelöscht werden",
  "api.mileage.tripsFetchFailed": "Fahrten konnten nicht geladen werden",
  "api.mileage.dateAndDistanceRequired": "Datum und Entfernung sind erforderlich",
  "api.mileage.tripSaveFailed": "Fahrt konnte nicht gespeichert werden",
  "api.mileage.tripNotFound": "Fahrt nicht gefunden",
  "api.mileage.tripUpdateFailed": "Fahrt konnte nicht aktualisiert werden",
  "api.mileage.tripDeleteFailed": "Fahrt konnte nicht gelöscht werden",
  "api.mileage.appointmentNotFound": "Termin nicht gefunden",
  "api.mileage.noChangesProvided": "Keine Änderungen angegeben",
  "api.mileage.adjustFailed": "Kilometer konnten nicht angepasst werden",
  "api.mileage.auditLogFailed": "Audit-Protokoll konnte nicht geladen werden",
  "api.mileage.reportFailed": "Kilometerbericht konnte nicht erstellt werden",
  "api.mileage.summaryFailed": "Kilometerübersicht konnte nicht geladen werden",
  "api.projects.fetchFailed": "Projekte konnten nicht geladen werden",
  "api.projects.statsFetchFailed": "Statistiken konnten nicht geladen werden",
  "api.projects.capacityFetchFailed": "Kapazität konnte nicht geladen werden",
  "api.projects.notFound": "Projekt nicht gefunden",
  "api.projects.fetchOneFailed": "Projekt konnte nicht geladen werden",
  "api.projects.titleRequired": "Titel ist erforderlich",
  "api.projects.createFailed": "Projekt konnte nicht erstellt werden",
  "api.projects.updateFailed": "Projekt konnte nicht aktualisiert werden",
  "api.projects.deleteFailed": "Projekt konnte nicht gelöscht werden",
  "api.projects.duplicateFailed": "Projekt konnte nicht dupliziert werden",
  "api.projects.appointmentsFetchFailed": "Termine konnten nicht geladen werden",
  "api.projects.tasksFetchFailed": "Aufgaben konnten nicht geladen werden",
  "api.projects.taskTitleRequired": "Aufgabentitel ist erforderlich",
  "api.projects.taskCreateFailed": "Aufgabe konnte nicht erstellt werden",
  "api.projects.taskNotFound": "Aufgabe nicht gefunden",
  "api.projects.taskUpdateFailed": "Aufgabe konnte nicht aktualisiert werden",
  "api.projects.taskDeleteFailed": "Aufgabe konnte nicht gelöscht werden",
  "api.projects.taskIdsMustBeArray": "taskIds muss ein Array sein",
  "api.projects.taskReorderFailed": "Aufgaben konnten nicht neu sortiert werden",
  "api.projects.quoteFetchFailed": "Angebot konnte nicht geladen werden",
  "api.projects.materialsFetchFailed": "Materialien konnten nicht geladen werden",
  "api.projects.categoriesFetchFailed": "Kategorien konnten nicht geladen werden",
  "api.projects.materialNotFound": "Material nicht gefunden",
  "api.projects.materialFetchFailed": "Material konnte nicht geladen werden",
  "api.projects.materialNameRequired": "Name ist erforderlich",
  "api.projects.materialCreateFailed": "Material konnte nicht erstellt werden",
  "api.projects.materialUpdateFailed": "Material konnte nicht aktualisiert werden",
  "api.projects.materialDeleteFailed": "Material konnte nicht gelöscht werden",
  "api.accounting.settingsLoadFailed": "Einstellungen konnten nicht geladen werden",
  "api.accounting.settingsSaveFailed": "Einstellungen konnten nicht gespeichert werden",
  "api.accounting.clientIdSecretRequired": "Client ID und Client Secret sind erforderlich",
  "api.accounting.connectedSuccess": "{provider} erfolgreich verbunden!",
  "api.accounting.disconnectFailed": "{provider} konnte nicht getrennt werden",
  "api.accounting.noInvoicesToSync": "Keine Rechnungen zum Synchronisieren",
  "api.accounting.customersFetchFailed": "Kunden konnten nicht geladen werden",
  "api.accounting.invoicesFetchFailed": "Rechnungen konnten nicht geladen werden",
  "api.accounting.orgFetchFailed": "Organisation konnte nicht geladen werden",
  "api.accounting.allFieldsRequired": "Alle Felder sind erforderlich: URL, Datenbank, Benutzername und API-Schlüssel",
  "api.accounting.tokenAndIdRequired": "Personal Access Token und Administrations-ID sind erforderlich",
  "api.accounting.authFailed": "{provider}-Authentifizierung fehlgeschlagen. Überprüfen Sie Ihr Token und Ihre Einstellungen.",
  "api.accounting.connectFailed": "Verbindung zu {provider} konnte nicht hergestellt werden",
  "api.accounting.loadingCustomers": "Kunden aus PianoPlanner laden...",
  "api.accounting.noCustomersFound": "Keine Kunden gefunden",
  "api.accounting.rateLimitSkipped": "Wegen Rate Limit übersprungen",
  "api.accounting.updateFailed": "Aktualisierung fehlgeschlagen",
  "api.accounting.noCustomersToSync": "Keine Kunden zum Synchronisieren",
  "api.accounting.noOpenInvoices": "Keine offenen synchronisierten Rechnungen gefunden",
  "api.accounting.accessTokenAndIdRequired": "Access Token und Company ID (Realm ID) sind erforderlich",
  "api.accounting.oauthTokenAndIdRequired": "OAuth Token und Organization ID sind erforderlich",
  "api.accounting.apiTokenAndSlugRequired": "API Token und Company Slug sind erforderlich",
  "api.accounting.syncLogFailed": "Sync-Protokoll konnte nicht geladen werden",
  "api.accounting.providerNameRequired": "Name des Buchhaltungspakets ist erforderlich",
  "api.accounting.requestReceived": "Anfrage erhalten",
  "api.accounting.requestSendFailed": "Anfrage konnte nicht gesendet werden",
  "api.team.loadFailed": "Teams konnten nicht geladen werden",
  "api.team.nameRequired": "Teamname ist erforderlich",
  "api.team.createFailed": "Team konnte nicht erstellt werden",
  "api.team.accessDenied": "Zugriff verweigert",
  "api.team.updateFailed": "Team konnte nicht aktualisiert werden",
  "api.team.noFileUploaded": "Keine Datei hochgeladen",
  "api.team.logoUploadFailed": "Logo konnte nicht hochgeladen werden",
  "api.team.logoDeleteFailed": "Logo konnte nicht gelöscht werden",
  "api.team.bookingEnableFailed": "Teambuchung konnte nicht aktiviert werden",
  "api.team.bookingDisableFailed": "Teambuchung konnte nicht deaktiviert werden",
  "api.team.memberLoadFailed": "Teammitglieder konnten nicht geladen werden",
  "api.team.nameEmailRequired": "Name und E-Mail sind erforderlich",
  "api.team.memberNotFound": "Mitglied nicht gefunden",
  "api.team.memberUpdateFailed": "Teammitglied konnte nicht aktualisiert werden",
  "api.team.memberRemoved": "Teammitglied entfernt",
  "api.team.memberRemoveFailed": "Teammitglied konnte nicht entfernt werden",
  "api.team.startEndRequired": "Start- und End-Parameter sind erforderlich",
  "api.team.calendarLoadFailed": "Teamkalender konnte nicht geladen werden",
  "api.team.appointmentNotFound": "Termin nicht gefunden",
  "api.team.teamMemberNotFound": "Teammitglied nicht gefunden",
  "api.team.assignFailed": "Zuweisung fehlgeschlagen",
  "api.team.unassignedLoadFailed": "Nicht zugewiesene Termine konnten nicht geladen werden",
  "api.team.suggestionsFailed": "Vorschläge konnten nicht geladen werden",
  "api.team.selectAtLeastOneCustomer": "Wählen Sie mindestens einen Kunden aus",
  "api.team.maxInvitations": "Maximal 50 Einladungen auf einmal",
  "api.team.bookingNotEnabled": "Teambuchung ist nicht aktiviert",
  "api.team.noCustomersFound": "Keine Kunden gefunden",
  "api.team.invitationsFailed": "Einladungen konnten nicht gesendet werden",
  "api.team.absencesLoadFailed": "Abwesenheiten konnten nicht geladen werden",
  "api.team.absenceMemberNotFound": "Mitglied nicht gefunden",
  "api.team.startEndDateRequired": "Start- und Enddatum sind erforderlich",
  "api.team.endAfterStart": "Enddatum muss nach dem Startdatum liegen",
  "api.team.absenceAddFailed": "Abwesenheit konnte nicht hinzugefügt werden",
  "api.team.absenceDeleteFailed": "Abwesenheit konnte nicht gelöscht werden",
  "api.team.memberNotFoundForLink": "Teammitglied nicht gefunden.",
  "api.team.memberNoEmail": "Dieses Teammitglied hat keine E-Mail-Adresse.",
  "api.team.magicLinkSent": "Magic Link erfolgreich gesendet.",
  "api.team.magicLinkFailed": "Beim Generieren des Links ist ein Fehler aufgetreten.",
  "api.team.teamIdStartDateRequired": "teamId und startDate sind erforderlich",
  "api.team.smartMatchFailed": "Smart Matches konnten nicht generiert werden",
  "api.team.invalidFileType": "Nur JPG, PNG, SVG oder WebP erlaubt",
  "api.team.memberLimitReached": "Sie können maximal {max} Teammitglieder in Ihrem aktuellen Abo hinzufügen",
  "api.team.memberAddFailed": "Teammitglied konnte nicht hinzugefügt werden",
  "api.team.invitationsSent": "{count} Einladung(en) gesendet",
  "api.accounting.jorttInvalidCredentials": "Ungültige Jortt-Anmeldedaten — prüfen Sie Client-ID und Client-Secret",
  "api.accounting.jorttTokenError": "Jortt-Token-Fehler: HTTP {status}",
  "api.accounting.jorttNotConnected": "Jortt nicht verbunden — richten Sie zuerst Client-ID und Client-Secret ein",
  "api.accounting.jorttApiError": "Jortt API-Fehler: HTTP {status}",
  "api.accounting.odooAuthFailed": "Authentifizierung fehlgeschlagen — überprüfen Sie URL, Datenbank, Benutzername und API-Schlüssel",
  "api.accounting.odooNotConnected": "Odoo nicht verbunden",
  "api.accounting.moneybirdNotConnected": "Moneybird nicht verbunden",
  "api.accounting.moneybirdAuthFailed": "Moneybird-Authentifizierung fehlgeschlagen. Überprüfen Sie Ihr Token und die Verwaltungs-ID.",
  "api.accounting.invalidToken": "Ungültiges Token",
  "api.accounting.quickbooksNotConnected": "QuickBooks nicht verbunden",
  "api.accounting.quickbooksAuthFailed": "QuickBooks-Authentifizierung fehlgeschlagen. Überprüfen Sie Ihr Zugriffstoken und die Firmen-ID.",
  "api.accounting.invalidOrExpiredToken": "Ungültiges oder abgelaufenes Token",
  "api.accounting.zohoNotConnected": "Zoho Books nicht verbunden",
  "api.accounting.zohoAuthFailed": "Zoho-Authentifizierung fehlgeschlagen. Überprüfen Sie Ihr OAuth-Token und die Region.",
  "api.accounting.fikenNotConnected": "Fiken nicht verbunden",
  "api.accounting.fikenAuthFailed": "Fiken-Authentifizierung fehlgeschlagen. Überprüfen Sie Ihr API-Token und den Firmen-Slug.",
  "api.accounting.invalidApiToken": "Ungültiges API-Token",
  "api.accounting.fikenCompanyNotFound": "Firmen-Slug nicht gefunden",
  "api.accounting.syncFailed": "Synchronisierung fehlgeschlagen",
  "api.accounting.invoicesSynced": "{count} Rechnung(en) synchronisiert nach {provider}",
  "api.accounting.customersSynced": "{synced} Kunde(n) synchronisiert nach {provider}",
  "api.accounting.customerSyncFailed": "Kundensynchronisierung fehlgeschlagen",
  "api.accounting.invoicesMarkedPaid": "{count} Rechnung(en) als bezahlt markiert von {provider}",
  "api.accounting.noNewPaymentsFound": "{count} Rechnungen überprüft, keine neuen Zahlungen gefunden",
  "api.accounting.paymentSyncFailed": "Zahlungssynchronisierung fehlgeschlagen",
  "api.accounting.sseCustomersFound": "{count} Kunden gefunden. Vorhandene {provider}-Kontakte abrufen...",
  "api.accounting.sseContactsFetched": "{count} {provider}-Kontakte abgerufen (Seite {page})...",
  "api.accounting.sseContactsFetchFailed": "Konnte bestehende Kontakte nicht abrufen: {error}",
  "api.accounting.sseSyncStarting": "{existing} vorhandene Kontakte. Starte Synchronisierung von {total} Kunden...",
  "api.accounting.logInvoiceSynced": "Rechnung synchronisiert nach {provider}",
  "api.accounting.logInvoicesSynced": "{count} Rechnungen synchronisiert",
  "api.accounting.logSyncPartial": "{synced} synchronisiert, {failed} fehlgeschlagen",
  "api.accounting.logCustomerSynced": "Kunde synchronisiert nach {provider}",
  "api.accounting.logCustomersSynced": "{synced} Kunden synchronisiert",
  "api.accounting.logInvoicesMarkedPaid": "{count} Rechnung(en) als bezahlt markiert",
  "api.accounting.logNoNewPayments": "Keine neuen Zahlungen gefunden",
  "api.accounting.contactUpdateFailed": "Aktualisierung fehlgeschlagen: {error}",
  "dashboard.syncConnectCalendarFirst": "Verbinden Sie zuerst einen Kalender in den Einstellungen",
  "dashboard.syncPartiallyFailed": "Sync teilweise fehlgeschlagen",
  "dashboard.syncCompleted": "Sync abgeschlossen",
  "dashboard.syncUpToDate": "Kalender sind aktuell ✓",
  "dashboard.syncNetworkError": "Sync fehlgeschlagen: Netzwerkfehler",
  "dashboard.travelTimesCalculated": "Reisezeiten für {count} Termine berechnet",
  "dashboard.travelTimeCalcFailed": "Reisezeitberechnung fehlgeschlagen",
  "dashboard.selectDate": "Wählen Sie ein Datum",
  "dashboard.endDateBeforeStart": "Enddatum darf nicht vor dem Startdatum liegen",
  "dashboard.blockedDaysFailed": "{count} Tag(e) konnten nicht blockiert werden",
  "dashboard.cannotIdentifyAppointment": "Termin kann nicht identifiziert werden",
  "dashboard.rescheduledTo": "{name} verschoben auf {time}",
  "dashboard.rescheduleFailed": "Verschiebung fehlgeschlagen",
  "dashboard.somethingWentWrong": "Etwas ist schiefgelaufen",
  "dashboard.searchingAlternatives": "Alternative Zeiten suchen...",
  "dashboard.noAlternativesFound": "Keine alternativen Zeiten für heute gefunden",
  "dashboard.couldNotLoadAlternatives": "Alternative Zeiten konnten nicht geladen werden",
  "dashboard.noAppointmentsToMove": "Keine Termine zum Verschieben",
  "dashboard.appointmentsMarkedForMove": "{count} Termine zur Verschiebung markiert. Verwenden Sie den Kalender, um die genauen Zeiten festzulegen.",
  "dashboard.confirmReschedule": "Möchten Sie \"{name}\" verschieben?\n\nVon: {from}\nNach: {to}\n\nDas gibt Ihnen mehr Zeit, um dorthin zu gelangen.",
  "dashboard.confirmMoveOptimization": "Möchten Sie {count} Termin(e) von {from} nach {to} verschieben?",
  "dashboard.notLoggedIn": "Nicht angemeldet",
  "smartReason": {
    "sameLocation": "Gleicher Ort - keine Fahrzeit",
    "afterNearby": "Direkt nach Termin in der Nähe",
    "afterPrevious": "Nach vorherigem Termin",
    "remoteAvailable": "Verfügbar für Remote-Termin",
    "adjacentWorkshop": "Angrenzend an Werkstatt",
    "beforeNearby": "Direkt vor Termin in der Nähe",
    "beforeNext": "Vor nächstem Termin",
    "beforeWorkshop": "Vor Werkstatt-Termin",
    "availableSlot": "Verfügbares Zeitfenster",
    "workshopAvailable": "Verfügbar in Werkstatt",
    "fartherAway": "(weiter entfernt)",
    "regionDay": "(Regionstag)",
    "noMembers": "Keine Teammitglieder verfügbar",
    "noSlots": "Keine verfügbaren Zeitfenster"
  },
  "customerDetail": {
    "customerDataUnavailable": "Kundendaten nicht verfügbar",
    "customerCreated": "Kunde erstellt",
    "couldNotSaveCustomer": "Kunde konnte nicht gespeichert werden",
    "confirmDeleteCustomer": "Möchten Sie diesen Kunden wirklich löschen? Dies kann nicht rückgängig gemacht werden.",
    "customerDeleted": "Kunde gelöscht",
    "couldNotDeleteCustomer": "Kunde konnte nicht gelöscht werden",
    "pianoNotFound": "Klavier nicht gefunden",
    "confirmDeletePiano": "Möchten Sie wirklich löschen ",
    "pianoDeleted": "Klavier gelöscht",
    "couldNotDeletePiano": "Klavier konnte nicht gelöscht werden",
    "linkCopied": "Link kopiert!",
    "emailStatusFailed": "Fehlgeschlagen",
    "emailStatusSent": "Gesendet",
    "emailTypeConfirmation": "Bestätigung",
    "emailTypeReminder": "Erinnerung",
    "emailTypeCancellation": "Stornierung",
    "emailTypeBooking": "Buchung",
    "emailTypeInvitation": "Stimmeinladung",
    "emailTypeWelcome": "Willkommens-E-Mail",
    "emailTypeReschedule": "Umplanung",
    "noSubject": "(kein Betreff)",
    "emailLoadError": "Fehler beim Laden des E-Mail-Protokolls",
    "projectStatusPlanning": "Planung",
    "projectStatusActive": "Aktiv",
    "projectStatusPaused": "Pausiert",
    "projectStatusCompleted": "Abgeschlossen",
    "projectStatusCancelled": "Abgesagt"
  },
  "importContactsPage": {
    "importOf": "Import von",
    "batchLoadError": "Fehler beim Laden der Import-Batches.",
    "confirmDeleteBatch": "Möchten Sie diesen Import wirklich löschen?\\n\\nDies löscht {count} Einträge dauerhaft.",
    "deleteError": "Fehler beim Löschen: ",
    "unknownError": "Unbekannter Fehler",
    "invalidFileType": "Bitte laden Sie eine .vcf oder .csv Datei hoch",
    "fileReadError": "Fehler beim Lesen der Datei: ",
    "andMore": "... und {count} weitere",
    "noContactsToImport": "Keine Kontakte zu importieren"
  },
  "inventory": {
    "loading": "Laden...",
    "errorLoadingInventory": "Fehler beim Laden des Inventars",
    "noInventoryYet": "Noch keine Klaviere im Inventar",
    "noInventoryDesc": "Importieren Sie eine CSV-Datei oder fügen Sie Klaviere hinzu",
    "selectCsvFirst": "Bitte wählen Sie zuerst eine CSV-Datei",
    "importFailed": "Batch-Erstellung fehlgeschlagen",
    "addFailed": "Hinzufügen fehlgeschlagen",
    "smartFillLocation": "Geben Sie einen Standort ein, um Vorschläge zu sehen",
    "smartError": "Vorschläge konnten nicht geladen werden",
    "noSmartSuggestions": "Keine Smart-Vorschläge verfügbar",
    "backToSmart": "Zurück zu Smart-Vorschlägen ▴",
    "enterLocation": "Geben Sie einen Standort ein",
    "selectSlotFirst": "Wählen Sie einen Vorschlag oder planen Sie manuell",
    "chooseDate": "Wählen Sie ein Datum",
    "chooseStartTime": "Wählen Sie eine Startzeit",
    "tunerLabel": "Stimmer"
  },
  "reminders": {
    "confirmNoPianos": "Es gibt derzeit <strong>keine Klaviere",
    "confirmActivateIntro": "Bei Aktivierung werden Erinnerungen geplant für",
    "confirmOf": "von",
    "confirmSkipped": "werden übersprungen (haben bereits einen Termin).",
    "confirmEmailTiming": "E-Mails werden nicht sofort gesendet, sondern zum konfigurierten Zeitpunkt",
    "andMoreOthers": "und noch",
    "previewLoadFailed": "Vorschau konnte nicht geladen werden. Bitte versuchen Sie es erneut.",
    "toastSaveError": "Fehler beim Speichern",
    "toggleDescActive": "Aktiv — Erinnerungen werden automatisch gesendet",
    "toggleDesc": "Kunden werden automatisch erinnert, wenn ihr Klavier gestimmt werden muss",
    "upcomingEmpty": "Keine Klaviere fällig",
    "sentNone": "Noch keine",
    "loadError": "Daten konnten nicht geladen werden",
    "historyEmpty": "Noch keine Erinnerungen gesendet",
    "historyLoadError": "Verlauf konnte nicht geladen werden",
    "toastSettingsSaved": "Einstellungen gespeichert",
    "toastSaveFailed": "Speichern fehlgeschlagen",
    "toastTestSent": "Testerinnerung an Ihre E-Mail gesendet",
    "toastTestFailed": "Test konnte nicht gesendet werden",
    "toastSendError": "Fehler beim Senden",
    "confirmOptedOut": "Kunde(n) haben sich abgemeldet.",
    "confirmReviewHint": "Klicken Sie auf \"Zuerst überprüfen\" um die vollständige Liste zu sehen.",
    "confirmCustomers": "Kunden",
    "bounceTitle": "E-Mail-Schutz aktiv",
    "bounce1": "Ungültige E-Mail-Adressen werden nach wiederholten Bounces automatisch übersprungen",
    "bounce2": "Wenn zu viele E-Mails fehlschlagen, stoppt der Versand automatisch zum Schutz Ihrer Absender-Reputation",
    "bounce3": "Tipp: Überprüfen Sie regelmäßig die E-Mail-Adressen Ihrer Kunden und entfernen Sie ungültige",
    "bounce4": "Versand an 100+ Kunden? Verwenden Sie Ihren eigenen SMTP-Server für bessere Zustellbarkeit",
    "bounce4Link": "Einstellungen"
  },
  "dashboard.today": "Heute",
  "dashboard.yesterday": "Gestern",
  "dashboard.payStatusInvoiced": "Rechnung gesendet",
  "time.allDay": "Ganztägig",
  "importHub": {
    "pageTitle": "Daten importieren - PianoPlanner",
    "title": "Daten importieren",
    "description": "Übertragen Sie Ihre vorhandenen Daten zu PianoPlanner. Wählen Sie die Methode, die zu Ihrem aktuellen System passt.",
    "popular": "Beliebt",
    "comingSoon": "Demnächst",
    "gazelleTitle": "Gazelle Import-Assistent",
    "gazelleDesc": "Migrieren Sie Ihre gesamte Gazelle-Historie — Kunden, Klaviere, Termine und Dienstleistungen — in wenigen Minuten.",
    "contactsTitle": "Kontakte importieren",
    "contactsDesc": "Importieren Sie Ihre Kundenliste von Ihrem Telefon, E-Mail oder einer beliebigen vCard/CSV-Datei.",
    "calendarTitle": "Kalender importieren",
    "calendarDesc": "Synchronisieren Sie Ihren Kalender mit Google Calendar, Microsoft 365 oder importieren Sie .ics-Dateien.",
    "genericTitle": "Generischer CSV-Import",
    "genericDesc": "Ordnen Sie Spalten aus beliebigen Tabellen oder Software-Exporten PianoPlanner-Feldern zu. Jobber, Housecall Pro, Excel und mehr.",
    "formatCustomers": "Kunden",
    "formatPianos": "Klaviere",
    "formatAppointments": "Termine",
    "formatServices": "Dienstleistungen",
    "openImporter": "Importer öffnen",
    "downloadTemplate": "📥 Vorlage herunterladen",
    "templatesTitle": "CSV-Vorlagen",
    "templatesDesc": "Vorlage herunterladen, in der Tabellenkalkulation ausfüllen und über den passenden Importer hochladen.",
    "templatesOther": "Kommen Sie aus einem anderen System? Exportieren Sie in CSV und benennen Sie die Spalten passend zu unseren Vorlagen um.",
    "templateCustomers": "Kunden",
    "templatePianos": "Klaviere",
    "templateAppointments": "Termine",
    "timezoneHint": "Terminzeiten ohne Zeitzone (z. B. <code>2026-05-15 10:00</code>) werden in der Zeitzone Ihres Kontos interpretiert. Verwenden Sie ISO-Format mit Offset (<code>2026-05-15T10:00:00+02:00</code>) zum Überschreiben."
  },
  "leads": {
    "pageTitle": "Leads - PianoPlanner",
    "title": "Buchungsanfragen",
    "all": "Alle",
    "new": "Neu",
    "contacted": "Kontaktiert",
    "converted": "Konvertiert",
    "dismissed": "Abgelehnt",
    "searchPlaceholder": "Name, E-Mail, Telefon suchen...",
    "noLeads": "Keine Anfragen gefunden",
    "noLeadsDesc": "Anfragen erscheinen hier, wenn Kunden eine Buchung starten aber nicht abschließen.",
    "total": "Gesamt",
    "changeStatus": "Status ändern",
    "statusUpdated": "Status aktualisiert",
    "updateError": "Anfrage konnte nicht aktualisiert werden",
    "delete": "Löschen",
    "deleteConfirmTitle": "Anfrage löschen?",
    "deleteConfirmMsg": "Dies löscht die Anfrage dauerhaft für",
    "deleted": "Anfrage gelöscht",
    "deleteError": "Anfrage konnte nicht gelöscht werden",
    "loadError": "Anfragen konnten nicht geladen werden",
    "justNow": "gerade eben",
    "sendFollowUp": "Follow-up-E-Mail senden",
    "followUpSent": "Follow-up-E-Mail gesendet",
    "followUpError": "Follow-up-E-Mail konnte nicht gesendet werden"
  },
  "smartWizard.before": "Vor",
  "smartWizard.aiAssigned": "KI zugewiesen"
}
