{ "common": { "save": "Speichern", "cancel": "Abbrechen", "delete": "Löschen", "create": "Anlegen", "edit": "Bearbeiten", "loading": "Lädt…", "logout": "Abmelden", "admin": "Administrator", "user": "Benutzer", "close": "Schließen", "retry": "Erneut versuchen", "actions": "Aktionen" }, "nav": { "overview": "Übersicht", "accounts": "Konten", "categories": "Kategorien", "transactions": "Buchungen", "budget": "Budget", "import": "Import", "system": "System", "users": "Benutzer", "settings": "Einstellungen", "todo": "Zu erledigen", "abos": "Abos" }, "login": { "subtitle": "Bitte anmelden", "username": "Benutzername", "password": "Passwort", "submit": "Anmelden", "error": "Benutzername oder Passwort falsch", "expired": "Deine Sitzung ist abgelaufen. Bitte erneut anmelden." }, "changepw": { "title": "Passwort ändern", "forcedHint": "Bitte lege ein eigenes Passwort fest, bevor du fortfährst.", "current": "Aktuelles Passwort", "new": "Neues Passwort", "repeat": "Neues Passwort wiederholen", "submit": "Passwort speichern", "mismatch": "Die neuen Passwörter stimmen nicht überein.", "saved": "Passwort geändert.", "policyHint": "Die Passwortrichtlinie wurde geändert. Dein bisheriges Passwort erfüllt sie nicht mehr – bitte lege ein neues fest." }, "users": { "title": "Benutzer", "new": "Neuer Benutzer", "username": "Benutzername", "displayName": "Anzeigename", "password": "Temporär-Passwort", "passwordHint": "Der Benutzer wird beim ersten Login zum Ändern aufgefordert.", "role": "Rolle", "status": "Status", "active": "Aktiv", "inactive": "Deaktiviert", "resetPassword": "Passwort zurücksetzen", "deleteConfirm": "Diesen Benutzer wirklich löschen?", "created": "Benutzer angelegt.", "you": "(du)", "twoFactor": "Zwei-Faktor", "resetTwoFactor": "Zwei-Faktor zurücksetzen", "resetTwoFactorConfirm": "Zwei-Faktor für „{{name}}“ abschalten? Nur nötig, wenn Gerät und Wiederherstellungscodes verloren sind.", "twoFactorReset": "Zwei-Faktor zurückgesetzt.", "generatePassword": "Passwort erzeugen" }, "account": { "title": "Mein Konto", "password": "Passwort ändern", "twoFactor": "Zwei-Faktor-Authentifizierung", "manage2fa": "2FA verwalten" }, "settings": { "title": "Einstellungen", "general": "Darstellung & Sprache", "baseCurrency": "Hauptwährung", "baseCurrencyHint": "Währung für Budget-Summen und Dashboard-Gesamtwerte.", "locale": "Sprache", "theme": "Darstellung", "themeSystem": "Automatisch (System)", "themeLight": "Hell", "themeDark": "Dunkel", "budgetStartDay": "Budget-Monat beginnt am", "budgetStartDayHint": "Tag, an dem dein Budget-Monat startet (z. B. 25.).", "dateFormat": "Datumsformat", "saved": "Gespeichert.", "languageDe": "Deutsch", "languageEn": "Englisch", "backup": "Backup & Export", "exportHint": "Zum Ansehen und Weiterverarbeiten, etwa in einer Tabellenkalkulation. Diese Dateien lassen sich nicht zurückladen.", "exportTxnCsv": "Buchungen (CSV)", "exportTxnJson": "Buchungen (JSON)", "exportAll": "Datenübersicht (JSON)", "dbBackup": "Komplettes DB-Backup herunterladen", "dbBackupHint": "Vollständige Datenbank aller Nutzer (nur Admin) – zum Wiederherstellen sichern.", "keywordReview": "Schlagwörter prüfen", "keywordReviewHint": "Diese Schlagwörter werden auffällig oft wieder wegkorrigiert – stimmen sie vielleicht nicht mehr?", "keywordCorrected": "{{overridden}} von {{applied}} Buchungen korrigiert", "keep": "Behalten", "remove": "Entfernen", "security": "Sicherheit", "securityHint": "Zwei-Faktor-Authentisierung für dein eigenes Konto.", "twoFactor": "Zwei-Faktor verwalten", "backupHint": "Das Voll-Backup enthält alle deine Daten und lässt sich unten wieder einspielen.", "exportBackup": "Voll-Backup (JSON)", "systemBackup": "Systemweites Voll-Backup (JSON)", "systemBackupWarning": "Das systemweite Backup enthält Passwort-Hashes und Zwei-Faktor-Geheimnisse aller Benutzer. Behandle die Datei wie ein Passwort.", "sections": "Abschnitte" }, "dashboard": { "title": "Übersicht", "emptyCards": "Keine Karten vorhanden – über den Anordnen-Modus hinzufügen.", "edit": "Anordnen", "done": "Fertig", "addCard": "Karte hinzufügen", "reset": "Zurücksetzen", "resetConfirm": "Dashboard auf das Standard-Layout zurücksetzen?" }, "cards": { "balances": "Kontostände", "budgetDonut": "Budget", "netWorth": "Vermögensverlauf", "budgetProgress": "Budget-Fortschritt", "incomeExpense": "Einnahmen & Ausgaben", "recent": "Letzte Buchungen", "total": "Gesamt", "planned": "geplant", "spent": "ausgegeben", "assets": "Vermögen", "income": "Einnahmen", "expense": "Ausgaben", "net": "Saldo", "noBudget": "Noch kein Budget für diesen Monat.", "breakdown": "Aufschlüsselung", "byGroup": "Gruppen", "byCategory": "Kategorien", "expenseShare": "Ausgaben-Anteile", "noExpenses": "Noch keine Ausgaben in diesem Monat.", "display": "Darstellung", "asList": "Liste", "asPie": "Kreis", "range": "Zeitraum", "days30": "30 T", "days90": "90 T", "days180": "6 M", "days365": "1 J" }, "server": { "unreachable": "Server nicht erreichbar.", "sessionKept": "Deine Anmeldung ist noch gültig – sobald der Server wieder antwortet, geht es weiter." }, "accounts": { "title": "Konten", "new": "Neues Konto", "edit": "Konto bearbeiten", "name": "Name", "type": "Typ", "currency": "Währung", "icon": "Symbol", "color": "Farbe", "openingBalance": "Anfangssaldo", "openingDate": "Stichtag", "identifiers": "Erkennungs-Nummern (IBAN etc.)", "addIdentifier": "Nummer hinzufügen", "textIdentPlaceholder": "z. B. Sparkonto, Tagesgeld", "total": "Gesamt", "empty": "Noch keine Konten. Lege dein erstes Konto an.", "deleteConfirm": "Dieses Konto und alle zugehörigen Buchungen löschen?", "openingDateHint": "Stand am Ende dieses Tages. Buchungen bis dahin zählen nicht zum Kontostand, bleiben aber in Liste und Auswertungen. Ohne Stichtag zählt alles.", "savingsCategory": "Sparen gegen Kategorie", "savingsCategoryNone": "Kein Sparziel", "savingsCategoryHint": "Überweisungen auf dieses Konto zählen im Budget als Sparen gegen diese Kategorie – auch dann, wenn sie über die Bank als zwei verknüpfte Buchungen hereinkommen. Einzelne Buchungen lassen sich davon ausnehmen.", "savingsCategoryNeutral": "Diese Kategorie ist als „Nicht in Auswertungen einrechnen“ markiert. Der Haken an der Kategorie gewinnt: Solange er sitzt, taucht das Sparen weder im Budget noch im Dashboard auf.", "shortIdentWarning": "Kurze Erkennungstexte treffen leicht Fremdes: „Euro“ steckt auch in „Europa-Park“ oder „PayPal Europe“. Solche Buchungen werden dann fälschlich zu Überträgen. Nimm lieber etwas Eindeutiges wie die IBAN oder „Revolut**5064*“.", "moveUp": "Nach oben", "moveDown": "Nach unten", "bankBalanceMatches": "Saldo stimmt mit der Bank überein", "bankBalanceDiffers": "Bank: {{bank}} · Certain weicht um {{diff}} ab", "adoptBankBalance": "Saldo der Bank übernehmen", "adoptConfirm": "Der Saldo von {{bank}} wird als richtig übernommen. Die Differenz von {{diff}} wandert in den Anfangsbestand – sie steht für Bewegungen, die Certain nie gesehen hat. Deine Buchungen bleiben unverändert.", "adopted": "Saldo übernommen.", "identShort_one": "{{count}} Kennung", "identShort_other": "{{count}} Kennungen", "bankBalanceAvailable": "Bank meldet {{bank}} als verfügbaren Saldo – der enthält Vorgemerktes und lässt sich nicht vergleichen.", "adoptConfirmAvailable": "Achtung: {{bank}} ist der VERFÜGBARE Saldo – er enthält Vorgemerktes, das später noch als Buchung kommt. Gleichst du jetzt an, ist dein Konto genau um diese Vormerkungen zu hoch, sobald sie gebucht werden. Die Differenz von {{diff}} wandert in den Anfangsbestand, deine Buchungen bleiben unverändert.", "breakdown": "Woraus setzt sich das zusammen?", "part": { "anfangsbestand": "Anfangsbestand", "einnahmen": "Einnahmen", "ausgaben": "Ausgaben", "uebertraege_raus": "Überträge raus", "uebertraege_rein": "Überträge rein", "saldo": "ergibt", "bankGebucht": "Bank (gebucht)", "bankVerfuegbar": "Bank (verfügbar)", "legs": "Die Überträge dieses Kontos", "beforeCutoff": "davor ({{n}} bis {{datum}}, schon im Anfangsbestand)" } }, "accountTypes": { "girokonto": "Girokonto", "sparkonto": "Sparkonto", "bargeld": "Bargeld", "kreditkarte": "Kreditkarte", "depot": "Depot / Investment", "sonstiges": "Sonstiges" }, "identifierKinds": { "iban": "IBAN", "account_no": "Kontonummer", "card_no": "Kartennummer", "text": "Text (Erkennung)" }, "transferRules": { "title": "Transfer-Erkennung", "hint": "Buchungen, deren Text eines dieser Wörter enthält (z. B. „Revolut“), werden als Transfer gesetzt. Das Zielkonto kannst du fest wählen – oder automatisch aus dem Buchungstext erraten lassen (über die Erkennungs-Texte je Konto: Konto bearbeiten, Art „Text“).", "wordPlaceholder": "Wort (z. B. Übertrag)", "autoTarget": "automatisch", "empty": "Noch keine Transfer-Schlagwörter." }, "categories": { "title": "Kategorien", "newGroup": "Neue Gruppe", "editGroup": "Gruppe bearbeiten", "newCategory": "Neue Kategorie", "editCategory": "Kategorie bearbeiten", "name": "Name", "kind": "Art", "income": "Einnahme", "expense": "Ausgabe", "emptyGroup": "Keine Kategorien in dieser Gruppe.", "deleteConfirm": "Diese Kategorie löschen?", "deleteGroupConfirm": "Diese Gruppe samt aller Kategorien löschen?", "keywordsBtn": "Schlagwörter", "keywordsCount_one": "{{count}} Schlagwort hinterlegt", "keywordsCount_other": "{{count}} Schlagwörter hinterlegt", "keywordsTitle": "Schlagwörter – {{name}}", "keywordsHint": "Buchungen, die eines dieser Wörter im Empfänger oder Verwendungszweck enthalten, werden bei künftigen Importen automatisch dieser Kategorie zugeordnet.", "keywordAdd": "Wort eingeben und Enter", "keywordAmount": "Betrag (optional)", "keywordEmpty": "Noch keine Schlagwörter.", "keywordAddBtn": "Hinzufügen", "keywordEditHint": "Doppelklick auf ein Schlagwort lädt es mit Betrag oben zum Bearbeiten.", "keywordEditing": "Vorhandenes Schlagwort wird bearbeitet – Escape bricht ab.", "searchPlaceholder": "Kategorie suchen …", "excludedFromStats": "Nicht in Auswertungen einrechnen", "excludedHint": "Für Umbuchungen zwischen eigenen Konten: Der Kontostand ändert sich, aber Budget, Dashboard und Statistik lassen diese Buchungen außen vor – das Geld ist ja nicht ausgegeben.", "spendingIsGood": "Diese Ausgabe ist kein Verlust", "spendingIsGoodHint": "Für Sparen, Rücklagen und Vorsorge: Der Betrag zählt weiter im Budget – das Geld ist diesen Monat gebunden –, steht aber neutral statt rot. Und mehr zurückzulegen als geplant gilt nicht als Überschreitung.", "excludedShort": "neutral", "applyRules": "Regeln nachträglich anwenden", "applyRulesHint": "Regeln greifen beim Import. Alles, was vorher hereinkam – oder bevor es die Regel gab –, liegt noch ohne Kategorie da. Hier holst du das nach.", "applyPreview": "{{kategorien}} bekämen eine Kategorie, {{uebertraege}} würden zu Überträgen. Jetzt anwenden?", "applyNothing": "Keine Buchung ohne Kategorie passt auf eine Regel.", "applyDone": "{{kategorien}} zugeordnet, {{uebertraege}} als Übertrag gebucht.", "applySkipped": "Übersprungen, weil unklar" }, "transactions": { "title": "Buchungen", "new": "Neue Buchung", "edit": "Buchung bearbeiten", "expense": "Ausgabe", "income": "Einnahme", "transfer": "Transfer", "date": "Datum", "account": "Konto", "fromAccount": "Von Konto", "toAccount": "Auf Konto", "category": "Kategorie", "amount": "Betrag", "toAmount": "Gutschrift", "payee": "Empfänger", "description": "Verwendungszweck", "uncategorized": "Ohne Kategorie", "empty": "Noch keine Buchungen.", "needAccount": "Lege zuerst ein Konto an, um Buchungen zu erfassen.", "allAccounts": "Alle Konten", "allTypes": "Alle Typen", "deleteConfirm": "Diese Buchung löschen?", "amountRequired": "Bitte einen Betrag eingeben.", "accountRequired": "Bitte ein Konto wählen.", "budgetAsSavings": "Als Sparen ins Budget zählen", "budgetCategory": "Budget-Kategorie", "subject": "Buchung", "budgetPeriod": "Budgetzeitraum", "budgetPeriodAuto": "aus dem Datum", "budgetPeriodManual": "von Hand gesetzt", "budgetPeriodReset": "wieder aus dem Datum", "budgetPeriodBack": "Ein Monat zurück", "budgetPeriodForward": "Ein Monat vor", "budgetPeriodHint": "Nur für Ausnahmefälle: eine Zahlung, die sichtbar in den einen Monat fällt und doch zum anderen gehört. Sie zählt dann nur noch dort – in ihrem eigenen Monat nicht mehr.", "budgetPeriodChange": "ändern" }, "budget": { "title": "Budget", "monthMode": "Monat", "templateMode": "Standard-Budget", "income": "Einnahmen", "expenses": "Ausgaben", "planned": "Geplant", "totalIncome": "Einnahmen gesamt", "totalExpense": "Ausgaben gesamt", "reset": "Auf Standard zurücksetzen", "resetTitle": "Monat zurücksetzen", "resetConfirm": "Diesen Monat auf das Standard-Budget zurücksetzen? Die Anpassungen dieses Monats gehen verloren.", "templateHint": "Das Standard-Budget gilt für jeden Monat, solange du ihn nicht einzeln anpasst.", "prevMonth": "Vorheriger Monat", "nextMonth": "Nächster Monat", "monthsShown": "Monate:", "setAsTemplate": "Als Standard festlegen", "setAsTemplateConfirm": "Die Soll-Werte dieses Monats als neues Standard-Budget übernehmen? Die bisherige Vorlage wird ersetzt (geplante Einnahmen bleiben).", "copyFromTemplate": "Standard übernehmen", "copyFromTemplateConfirm": "Diesen Monat mit dem Standard-Budget überschreiben? Die bisherigen Anpassungen dieses Monats gehen verloren.", "addIncome": "Geplante Einnahme", "editIncome": "Einnahme bearbeiten", "noIncome": "Noch keine geplanten Einnahmen.", "deleteIncomeConfirm": "Diese geplante Einnahme löschen?", "incomeLabel": "Bezeichnung", "incomeCategory": "Kategorie", "targetAccount": "Zielkonto" }, "abos": { "title": "Abos & Verträge", "new": "Neuer Vertrag", "edit": "Vertrag bearbeiten", "delete": "Löschen", "deleteConfirm": "„{{name}}“ wirklich löschen? Der Vertrag verschwindet samt seiner Angaben. Wenn er nur ausgelaufen ist, setz ihn lieber auf gekündigt – dann bleibt er zum Nachsehen stehen.", "monthlyTotal": "Im Monat", "yearlyTotal": "Im Jahr", "activeCount": "Laufende Verträge", "dueSoon": "Demnächst fällig", "all": "Alle Verträge", "cancelled": "Gekündigt", "cancelledHint": "Zählen nicht mehr in der Summe. Sie bleiben stehen, damit du später nachsehen kannst, was du hattest.", "empty": "Noch keine Verträge. Trag ein, was regelmässig abgeht – Streaming, Handy, Versicherung, Halbtax.", "noRate": "Für {{waehrungen}} liegt kein Kurs vor. Diese Verträge fehlen in der Summe.", "name": "Name", "amount": "Betrag je Abrechnung", "currency": "Währung", "interval": "Abgerechnet", "every": { "1": "monatlich", "2": "alle 2 Monate", "3": "vierteljährlich", "6": "halbjährlich", "12": "jährlich" }, "perMonth": "{{betrag}} im Monat", "paidFrom": "Bezahlt über", "accountNone": "Kein Konto gewählt", "category": "Kategorie", "categoryNone": "Keine Kategorie", "nextDue": "Nächste Fälligkeit", "dueIn": "in {{tage}} Tagen", "dueToday": "heute fällig", "overdue": "seit {{tage}} Tagen überfällig", "savingsAccount": "Ich lege monatlich zurück auf", "savingsNone": "Nicht ansparen", "savingsHint": "Bei diesem Intervall wären das {{betrag}} im Monat. Wähl das Konto, auf das du zurücklegst – dann sprengt die Rechnung nicht einen einzelnen Monat.", "savingInto": "spart auf {{name}}", "pattern": "Erkennungstext", "patternHint": "Woran die Abbuchung im Auszug zu erkennen ist. Auf dem Auszug steht selten der Name, unter dem du den Vertrag kennst. Wird noch nicht ausgewertet – kommt mit der automatischen Zuordnung.", "cancelledFlag": "Gekündigt", "cancelledFlagHint": "Zählt dann nicht mehr in der Monatssumme, bleibt aber in der Liste stehen.", "notes": "Notiz" }, "import": { "title": "Import", "modeCsv": "CSV", "modeDoc": "PDF · Bild", "readDoc": "Beleg auslesen", "docHint": "PDF-/Bild-Erkennung ist Best-Effort — bitte jede Zeile prüfen und ggf. korrigieren.", "extractedText": "Extrahierter Text (zur Kontrolle)", "step1": "1 · Konto & Datei", "step2": "2 · Format", "step3": "3 · Spalten zuordnen", "step4": "4 · Prüfen & buchen", "account": "Zielkonto", "file": "Datei", "preset": "Bank-Vorlage (vorgefertigt)", "template": "Eigene Vorlage", "templateAny": "Vorlage", "presetGroup": "Bank-Vorlagen", "ownGroup": "Eigene Vorlagen", "templateManual": "Manuell einstellen", "overwriteConfirm": "Vorlage „{{name}}“ mit den aktuellen Einstellungen überschreiben?", "autoPreviewNote": "Die Spaltenvorschau erscheint automatisch, sobald Datei und Format passen.", "moreColumns": "Weitere Spalten (optional)", "ibanHint": "IBAN der Gegenseite – nur nötig, wenn dein Export eine Spalte mit der IBAN des anderen Kontos enthält; dient der automatischen Transfer-Erkennung.", "belegPreview": "Beleg", "delimiter": "Trennzeichen", "decimal": "Dezimaltrenner", "dateFormat": "Datumsformat", "encoding": "Kodierung", "amountMode": "Betragsspalten", "skipRows": "Zeilen überspringen", "hasHeader": "Erste Zeile ist Kopfzeile", "modeSigned": "Ein Betrag (mit Vorzeichen)", "modeDebitCredit": "Getrennte Soll-/Haben-Spalten", "modeAbsExpense": "Ein Betrag (immer Ausgabe)", "readFile": "Datei einlesen", "makePreview": "Vorschau erstellen", "saveTemplate": "Als Vorlage speichern", "templateName": "Vorlagenname", "colDate": "Datum", "colAmount": "Betrag", "colDebit": "Soll (Ausgang)", "colCredit": "Haben (Eingang)", "colPayee": "Empfänger", "colPurpose": "Verwendungszweck", "colIban": "Gegen-IBAN", "makePreviewHint": "Ordne mindestens Datum und Betrag zu.", "rawHint": "Nur die ersten Zeilen – sie dienen nur der Spaltenzuordnung.", "makePreviewNote": "„Vorschau erstellen“ zeigt danach ALLE Buchungen zum Prüfen und Buchen.", "summary": "{{total}} Zeilen erkannt · {{n}} werden gebucht (Duplikate/ungültige ausgenommen).", "noneValid": "Keine gültige Buchung erkannt. Prüfe Datumsformat, Dezimaltrenner und Spaltenzuordnung – am einfachsten oben die passende Bank-Vorlage wählen.", "commit": "{{n}} Buchungen übernehmen", "imported": "{{n}} Buchungen importiert.", "importedCount": "{{n}} gebucht", "typeCol": "Typ", "payeeCol": "Empfänger / Zweck", "badDate": "Datum?", "duplicate": "Duplikat", "counterpart": "Gegenbuchung", "chooseAccount": "Konto wählen", "history": "Import-Verlauf", "undo": "Rückgängig", "undoConfirm": "Alle Buchungen aus {{file}} wieder entfernen?", "undone": "rückgängig gemacht", "needFile": "Bitte zuerst eine CSV-Datei wählen.", "needFileAccount": "Bitte Konto und Datei wählen.", "colFee": "Gebühr", "colCurrency": "Währung", "colState": "Status", "extraColsHint": "Gebühr wird vom Betrag abgezogen. Zeilen mit Status ungleich COMPLETED (z. B. storniert) und Zeilen in einer anderen Währung als das Zielkonto werden nicht gebucht.", "skipState": "storniert", "skipCurrency": "andere Währung", "colBalance": "Kontostand (laufend)", "reconOk": "Saldo-Abgleich stimmt: alle {{n}} Schritte passen zur Kontostand-Spalte der Datei.", "reconDiff": "Der Kontostand geht nicht auf. Die Datei endet bei {{file}}, aus den Zeilen errechnet sich aber {{app}} – es fehlen bzw. sind {{diff}} zu viel.", "reconFirst": "Ab dem {{date}} laufen beide auseinander, bei „{{payee}}“: Die Kontostand-Spalte der Datei springt um {{expected}}, die Zeile selbst weist {{actual}} aus.", "reconOpening": "Vor der ersten Zeile stand die Datei bei {{value}}. Trage das beim Konto als Anfangssaldo ein, mit einem Stichtag am Tag davor.", "needsTarget": "Gegenkonto wählen", "filterColumn": "Nur Zeilen aus Spalte", "filterValue": "mit dem Wert", "filterValuePlaceholder": "z. B. Giro", "filterNone": "— kein Filter —", "filterHint": "Revolut legt alle Produkte (Giro, Erspartes, Anlagekonto …) in EINE Datei, jedes mit eigenem Kontostand. Wähle hier eines aus und lies die übrigen mit einem eigenen Konto nochmal ein – sonst zählen die Bewegungen doppelt.", "removeEntry": "Eintrag entfernen", "removeEntryConfirm": "Den Verlaufs-Eintrag „{{file}}“ entfernen? Die Buchungen sind bereits zurückgenommen.", "reconMixedHint": "Enthält die Datei mehrere Konten oder Produkte? Revolut legt Giro, Erspartes und Anlagekonto in EINE Datei, jedes mit eigener Kontostand-Spalte. Dann greift der Abgleich erst, wenn du oben den Zeilenfilter setzt (z. B. Produkt = Giro) und die übrigen Produkte einzeln einliest.", "filterTitle": "Diese Datei enthält mehrere Konten", "filterValueOption": "{{value}} ({{count}} Zeilen)", "removeAllUndone": "Rückgängig gemachte entfernen", "removeAllUndoneConfirm": "{{n}} rückgängig gemachte Einträge aus dem Verlauf entfernen? Die Buchungen sind bereits weg, es verschwindet nur der Eintrag.", "dupInbox": "schon erfasst", "dupInboxHint": "Diese Zahlung hast du unterwegs per Kurzbefehl erfasst – Betrag gleich, Datum in der Nähe. Sie ist bereits gebucht und wird deshalb übersprungen. Falls das doch zwei verschiedene Zahlungen sind, kannst du die Zeile von Hand anhaken.", "fromPhone": "Vom Telefon empfangen", "fromPhoneHint": "Diese Dateien hast du per Kurzbefehl geschickt. Gebucht ist noch nichts – übernimm eine, dann läuft sie durch die normale Vorschau mit Saldo-Abgleich.", "usePhoneFile": "Übernehmen", "phoneFileLoaded": "„{{name}}“ geladen – jetzt Format prüfen und Vorschau erzeugen.", "discardPhoneFile": "Datei verwerfen", "discardPhoneFileConfirm": "„{{name}}“ verwerfen? Die Datei wird gelöscht, gebucht war ohnehin nichts.", "detectedBank": "Format erkannt: {{name}}", "detectedGeneric": "Format aus der Datei abgeleitet", "detectFailed": "Format nicht erkannt", "detectUncertain": "Nicht alles war eindeutig – wirf einen Blick auf die Spaltenzuordnung unten, bevor du die Vorschau erzeugst." }, "password": { "show": "Passwort anzeigen", "hide": "Passwort verbergen", "met": "(erfüllt)", "unmet": "(offen)", "ruleLength": "Mindestens {{n}} Zeichen", "ruleUpper": "Mindestens ein Grossbuchstabe", "ruleLower": "Mindestens ein Kleinbuchstabe", "ruleDigit": "Mindestens eine Ziffer", "ruleSpecial": "Mindestens ein Sonderzeichen" }, "twofactor": { "title": "Zwei-Faktor-Authentisierung", "intro": "Zusätzlich zum Passwort ein Einmalcode aus einer Authenticator-App. Wer nur dein Passwort kennt, kommt damit nicht mehr hinein.", "on": "Aktiv", "off": "Nicht eingerichtet", "start": "Einrichten", "scan": "Scanne den Code mit deiner Authenticator-App (z. B. Aegis, 1Password, Google Authenticator).", "qrAlt": "QR-Code zur Einrichtung der Authenticator-App", "manual": "Geht der Scan nicht, gib diesen Schlüssel von Hand ein:", "code": "Code aus der App", "codeHint": "Gib den sechsstelligen Code aus deiner Authenticator-App ein.", "activate": "Aktivieren", "verify": "Bestätigen", "useRecovery": "Wiederherstellungscode verwenden", "useApp": "Doch Code aus der App", "recoveryCode": "Wiederherstellungscode", "recoveryHint": "Gib einen deiner Wiederherstellungscodes ein. Jeder funktioniert nur einmal.", "codesTitle": "Wiederherstellungscodes", "codesHint": "Bewahre diese Codes sicher auf – zum Beispiel ausgedruckt. Sie sind der einzige Weg hinein, wenn dein Gerät verloren geht. Jeder Code funktioniert genau einmal, und angezeigt werden sie nur dieses eine Mal.", "codesSaved": "Habe ich gesichert", "codesLeft": "Noch {{n}} unbenutzte Wiederherstellungscodes.", "copy": "Kopieren", "copied": "In die Zwischenablage kopiert.", "download": "Als Datei sichern", "newCodes": "Neue Codes erzeugen", "newCodesTitle": "Neue Wiederherstellungscodes", "newCodesHint": "Die bisherigen Codes werden dabei ungültig. Zur Bestätigung dein Passwort eingeben.", "disable": "Zwei-Faktor abschalten", "disableTitle": "Zwei-Faktor abschalten", "disableHint": "Danach genügt wieder das Passwort allein. Zur Bestätigung dein Passwort eingeben.", "disabled": "Zwei-Faktor abgeschaltet.", "requiredHint": "Die Richtlinie verlangt Zwei-Faktor. Bis zur Einrichtung bleibt der Rest der Anwendung gesperrt." }, "policy": { "title": "Passwortrichtlinie", "hint": "Gilt für alle Benutzer dieser Instanz.", "minLength": "Mindestlänge", "require_upper": "Grossbuchstabe verlangen", "require_lower": "Kleinbuchstabe verlangen", "require_digit": "Ziffer verlangen", "require_special": "Sonderzeichen verlangen", "mfaRequired": "Zwei-Faktor für alle verpflichtend", "mfaHint": "Benutzer ohne zweiten Faktor müssen ihn beim nächsten Anmelden einrichten.", "tightenWarning": "Verschärfung: Benutzer, deren Passwort die neue Richtlinie nicht erfüllt, müssen es beim nächsten Anmelden ändern.", "mfaWarning": "Alle Benutzer ohne Zwei-Faktor werden beim nächsten Anmelden zur Einrichtung geführt – auch du." }, "restore": { "title": "Backup zurückladen", "hint": "Wähle eine Backup-Datei. Sie wird zuerst nur geprüft; eingespielt wird erst nach deiner Bestätigung.", "file": "Backup-Datei", "empty": "Die Datei enthält keine Daten.", "scopeUser": "Backup der Daten von „{{name}}“.", "scopeSystem": "Systemweites Backup mit {{n}} Benutzern.", "exportedAt": "Erstellt am {{when}}", "mode": "Vorgehen", "modeReplace": "Ersetzen", "modeMerge": "Ergänzen", "modeReplaceHint": "Vorhandene Daten werden gelöscht und durch das Backup ersetzt. Vorher legt der Server automatisch eine Sicherungskopie der Datenbank an.", "modeMergeHint": "Nichts wird gelöscht. Nur was fehlt, kommt hinzu; Budget, Regeln und Einstellungen bleiben unangetastet, wenn dazu schon etwas vorhanden ist.", "start": "Wiederherstellen", "confirmTitle": "Wirklich wiederherstellen?", "confirmReplace": "Alle deine Konten, Buchungen, Kategorien und Einstellungen werden gelöscht und durch das Backup ersetzt.", "confirmSystem": "Alle Benutzer und deren Daten werden gelöscht und durch das Backup ersetzt. Anschliessend sind alle Sitzungen beendet.", "done": "Wiederherstellung abgeschlossen.", "doneSystem": "Wiederherstellung abgeschlossen. Bitte neu anmelden." }, "open": { "title": "Buchungen ohne Kategorie", "subtitle": "{{n}} noch zuzuordnen – älteste zuerst.", "allDone": "Alles zugeordnet.", "choose": "Kategorie wählen …", "noText": "Ohne Text", "rememberKeyword": "Zweck als Schlagwort merken, damit die nächste gleiche Buchung beim Import gleich zugeordnet wird", "copy": "Text kopieren", "copied": "Kopiert", "copyFailed": "Kopieren nicht möglich – Text lässt sich jetzt aber markieren." }, "tokens": { "title": "Schnellerfassung per Kurzbefehl", "intro": "Ein Geräteschlüssel ist ein langes Passwort nur für dein Telefon – nicht dein Anmelde-Passwort. Damit darf ein iOS-Kurzbefehl Zahlungen an Certain schicken, aber sonst nichts: keine Buchungen lesen, nichts ändern, nichts exportieren. Geht das Telefon verloren, widerrufst du hier einfach den Schlüssel.", "name": "Wofür ist der Schlüssel?", "namePlaceholder": "z. B. iPhone", "defaultAccount": "Standardkonto", "create": "Schlüssel erzeugen", "onceOnly": "Das ist dein Geräteschlüssel. Er wird nur JETZT angezeigt – kopiere ihn und füge ihn in den Kurzbefehl ein. Certain speichert ihn nicht im Klartext, kann ihn dir also später nicht nochmal zeigen.", "copy": "Kopieren", "copied": "Kopiert", "copyFailed": "Kopieren nicht möglich – der Text lässt sich aber markieren.", "hide": "Fertig, ausblenden", "guideTitle": "So baust du den Kurzbefehl", "guideNoDownload": "Zum Herunterladen anbieten kann ich ihn leider nicht: Seit iOS 15 müssen Kurzbefehl-Dateien signiert sein, und signieren kann nur ein Mac mit Apple-Konto. Nachbauen dauert zwei Minuten. Tipp: Die Aktionsnamen ändern sich je nach iOS-Version – such im Aktionsfeld einfach nach dem fett gedruckten Wort, dann findest du sie sicher.", "step1": "Suche nach „Eingabe“ → Aktion „Eingabe anfordern“ (englisch: Ask for Input). Frage: Betrag, Eingabetyp Zahl", "step2": "Nochmal „Eingabe anfordern“. Frage: Wofür?", "step3": "Optional: Suche nach „Liste“ → „Aus Liste wählen“ für das Konto. Ohne diesen Schritt gilt das Standardkonto der Marke", "step4": "Suche nach „URL“ → „Inhalte von URL abrufen“. Methode POST, unter „Header“ die zweite Zeile unten eintragen (X-Certain-Token = dein Geräteschlüssel), Anfragetext JSON mit den Feldern amount (Zahl) und payee (Text):", "step5": "Suche nach „Wörterbuch“ → „Wörterbuchwert abrufen“, Schlüssel: message. Danach „Mitteilung anzeigen“ – dann steht in der Meldung „12.50 CHF auf …“ statt der rohen Antwort", "guideHomeScreen": "Danach über Teilen → „Zum Home-Bildschirm\" ablegen, dann ist es ein Tipp.", "guideAutomation": "Wenn deine Kurzbefehle die Automation „Transaktion\" anbieten, kannst du denselben Kurzbefehl daran hängen: Schritt 1 und 2 entfallen, Betrag und Händler kommen dann von dort.", "revoke": "Widerrufen", "revokeConfirm": "Geräteschlüssel „{{name}}“ widerrufen? Der Kurzbefehl auf dem Gerät funktioniert danach nicht mehr. Bereits erfasste Buchungen bleiben.", "noDefault": "kein Standardkonto", "lastUsed": "schon benutzt", "neverUsed": "noch nie benutzt", "fileGuideTitle": "Kontoauszug vom Handy einlesen", "fileGuideIntro": "Revolut und Raiffeisen lassen die CSV auch am Telefon exportieren. Ein zweiter Kurzbefehl nimmt sie aus dem Teilen-Menü entgegen. Voraussetzung: Du hast für dieses Konto schon einmal am Rechner eingelesen – Certain verwendet dann dieselbe Spaltenzuordnung.", "fileStep1": "Neuer Kurzbefehl → oben auf den Namen tippen → „Im Teilen-Menü anzeigen“ einschalten, Eingabetyp: Dateien", "fileStep2": "Kein Konto nötig: Certain erkennt es aus der Datei (Raiffeisen führt die eigene IBAN mit, Revolut die Währung). Nur wenn das nicht eindeutig ist, trägst du account_id ein – die Nummern stehen unten.", "fileStep3": "Suche nach „URL“ → „Inhalte von URL abrufen“. Methode POST, Header X-Certain-Token = dein Geräteschlüssel, Anfragetext „Formular“ mit einem einzigen Feld: file = Kurzbefehleingabe.", "fileStep4": "„Mitteilung anzeigen“ – dann siehst du „14 gebucht · 512 schon vorhanden“", "fileGuideNote": "Gebucht wird sofort, weil ein Auszug hunderte Zeilen hat. Das ist ungefährlich: Bereits vorhandene Buchungen werden erkannt und übersprungen, und der ganze Stapel lässt sich im Import-Verlauf mit einem Klick zurücknehmen.", "accountIds": "Konto-Nummern – nur nötig, wenn die Erkennung nicht eindeutig ist" }, "inbox": { "title": "Eingang", "intro": "Zahlungen, die du unterwegs erfasst hast. Sie sind bereits gebucht – hier ordnest du ihnen in Ruhe eine Kategorie zu. Die Einträge bleiben stehen, damit der spätere Kontoauszug sie wiedererkennt und nichts doppelt verbucht wird.", "empty": "Nichts erfasst. Richte unter „Mein Konto“ eine Gerätemarke ein, dann kannst du Zahlungen per Kurzbefehl vom Telefon aus erfassen.", "noText": "ohne Text", "viaShortcut": "per Kurzbefehl", "discard": "Verwerfen", "discardConfirm": "Diese Erfassung verwerfen? Die Buchung wird gelöscht. Der Eintrag bleibt als verworfen vermerkt, damit der Kontoauszug die Zahlung später trotzdem erkennt.", "book": "Buchen", "bookAll": "Alle buchen", "bookedN": "{{n}} gebucht.", "booked": "gebucht", "unclear": "unklar – bitte ansehen", "viaMail": "aus einer E-Mail", "asTransfer": "Als Übertrag buchen", "transferTitle": "Kontoübertrag", "transferIntro": "Kein Geld ausgegeben, nur verschoben. Es entsteht eine Buchung, die beide Salden bewegt und in keiner Auswertung zählt.", "transferTargetOut": "Wohin ging das Geld?", "transferTargetIn": "Woher kam das Geld?", "transferBooked": "Als Übertrag gebucht." }, "mailbox": { "title": "Mail Import", "intro": "Raiffeisen und Revolut melden Überweisungen per E-Mail. Certain holt sie ab und legt sie als Vorschlag in den Eingang – gebucht wird nur, was du abnickst. Kartenzahlungen im Laden melden die Banken nicht per Mail; dafür gibt es die Schnellerfassung per Kurzbefehl unter „Mein Konto“.", "add": "Postfach hinzufügen", "name": "Bezeichnung", "namePlaceholder": "z. B. Belege", "host": "IMAP-Server", "port": "Port", "username": "Benutzername", "password": "Passwort", "passwordKeep": "Passwort (leer lassen = unverändert)", "passwordHint": "Wird verschlüsselt gespeichert. Der Schlüssel hängt am Server-Geheimnis: Wird es getauscht, musst du das Passwort neu eintragen. Nimm nach Möglichkeit ein App-Passwort statt deines echten.", "folder": "Ordner", "folderHint": "Nach einem Verbindungstest kannst du hier aus den echten Ordnern wählen.", "doneFolder": "Nach dem Auswerten verschieben nach", "doneFolderPlaceholder": "leer = nicht verschieben", "pollMinutes": "Abrufen alle … Minuten", "test": "Verbindung testen", "testOk": "Verbindung steht – {{n}} Ordner gefunden.", "fetchNow": "Jetzt abrufen", "fetched": "{{gefunden}} Mails geprüft · {{neu}} neu · {{bekannt}} schon bekannt · {{unklar}} unklar.", "lastPoll": "zuletzt abgerufen", "neverPolled": "noch nie abgerufen", "lastError": "Fehler", "delete": "Postfach entfernen", "deleteConfirm": "Postfach „{{name}}“ entfernen? Bereits erfasste Zahlungen bleiben.", "noSenders": "Noch kein Absender zugeordnet – ohne Zuordnung wird nichts übernommen.", "noAccount": "kein Konto", "fromPlaceholder": "Erkennungstext, z. B. raiffeisen", "security": "Verschlüsselung", "secSsl": "SSL/TLS (üblich, Port 993)", "secStarttls": "STARTTLS (Port 143)", "secNone": "keine", "secNoneWarn": "Ohne Verschlüsselung gehen Benutzername und Passwort im Klartext über das Netz. Nur sinnvoll, wenn der Mailserver auf demselben Rechner läuft.", "addSender": "Absender zuordnen", "edit": "Postfach bearbeiten", "skippedTitle": "Diese Mails wurden übergangen", "skippedHint": "Für sie passt keine Absender-Zuordnung. Trag einen Teil der Adresse oder des Betreffs unten ein, dann werden sie beim nächsten Abruf übernommen.", "fetchedNone": "Keine Mails seit {{seit}} gefunden. Liegen die Mails länger zurück, nimm „Älteres nachholen“ – oder prüfe den Ordner.", "senderHint": "Gesucht wird in Absender, Betreff und im Anfang des Textes – das greift auch bei weitergeleiteten Mails. Die Währung ist optional: Revolut schickt für Euro und Franken dieselbe Mail, erst sie sagt, welches Konto gemeint ist. Zuordnungen mit Währung gehen den allgemeinen vor.", "deleteSender": "Zuordnung entfernen", "deleteSenderConfirm": "Zuordnung „{{text}}“ entfernen? Bereits erfasste Zahlungen bleiben.", "anyCurrency": "jede Währung", "fetchOlder": "Älteres nachholen", "every": "alle {{n}} Minuten", "manualOnly": "nur auf Knopfdruck", "lastPollAt": "zuletzt abgerufen: {{when}}", "unclearTitle": "Diese Mails passten, waren aber nicht ganz zu lesen", "unclearHint": "Sie liegen im Eingang und warten auf dich – dort trägst du nach, was fehlt." }, "bank": { "title": "Bankkonten Anbindung", "intro": "Seit PSD2 müssen EU-Banken eine Schnittstelle anbieten – aber nur für lizenzierte Dienste. Enable Banking hält diese Lizenz und reicht sie weiter. Damit lassen sich N26 und Revolut direkt abrufen, ohne CSV. Die Schweiz fällt nicht unter PSD2; Raiffeisen bleibt beim Datei-Import.", "setupTitle": "Einmal einrichten", "setupHint": "Du brauchst eine eigene Anwendung bei Enable Banking. Mitliefern lässt sich das nicht – der Schlüssel ist an deine Registrierung gebunden.", "setupStep1": "Auf enablebanking.com anmelden (Konto wird beim ersten Anmelden angelegt).", "setupStep2": "Eine Anwendung anlegen und dabei unbedingt PRODUCTION wählen, nicht Sandbox – die Sandbox kennt weder N26 noch Revolut. Dann die Schlüsseldatei (.pem) herunterladen.", "setupStep3": "Diese Adresse dort als Rückleitung („redirect URL“) eintragen:", "setupStart": "Zugangsdaten eintragen", "appTitle": "Zugangsdaten von Enable Banking", "appReady": "Anwendung hinterlegt", "appSaved": "Gespeichert.", "applicationId": "Application ID", "privateKey": "Privater Schlüssel – ganzer Inhalt der .pem-Datei", "privateKeyKeep": "Privater Schlüssel (leer lassen = unverändert)", "privateKeyHint": "Die Datei komplett öffnen und alles einfügen, MIT den Zeilen „-----BEGIN PRIVATE KEY-----“ und „-----END PRIVATE KEY-----“ – ohne sie ist es kein gültiges PEM. Wird verschlüsselt gespeichert und verlässt den Server nie; mit ihm wird jede Anfrage an die Bank signiert.", "baseUrl": "Öffentliche Adresse dieser Installation", "baseUrlHint": "Muss mit https:// beginnen und von aussen erreichbar sein – Banken leiten nicht auf eine unverschlüsselte Adresse zurück. Genau diese Adresse plus /bank/rueckkehr trägst du bei Enable Banking ein.", "country": "Land der Bank", "findBanks": "Banken suchen", "noBanks": "Keine Treffer. Versuch einen kürzeren Suchbegriff, oder lass das Land leer.", "pickBank": "{{n}} Treffer von {{gesamt}} geladenen Banken – wähle deine aus:", "connect": "Verbinden", "notMapped": "noch keinem Konto zugeordnet", "mapHint": "Ohne Zuordnung wird von diesem Konto nichts abgerufen.", "noAccountsFound": "Es wurden keine Konten übermittelt. Im eingeschränkten Betrieb gibt die Bank nur heraus, was du bei Enable Banking unter „Activate by linking accounts“ verknüpft hast – dort diese Bank ergänzen und hier neu verbinden.", "synced": "{{gebucht}} Buchungen übernommen (ab {{ab}}).", "noMapping": "Kein Konto zugeordnet – ordne oben zuerst zu, dann wird abgerufen.", "lastSync": "zuletzt {{when}}", "neverSynced": "noch nie abgerufen", "lastError": "Fehler", "validUntil": "Zustimmung gültig bis {{datum}}", "expiresSoon": "Zustimmung läuft am {{datum}} ab – danach musst du neu autorisieren.", "disconnect": "Verbindung trennen", "disconnectConfirm": "Verbindung zu „{{name}}“ trennen? Dabei gehen die Kontozuordnungen verloren. Zum Auffrischen musst du NICHT trennen – such die Bank einfach erneut und verbinde nochmal, die Zuordnungen bleiben dann.", "search": "Bank suchen", "searchPlaceholder": "z. B. revolut oder n26", "searchHint": "Ohne Land wird überall gesucht. Das ist meist richtig: Das Sitzland einer Bank steht nicht in der IBAN – Revolut vergibt deutsche IBANs, sitzt aber in Litauen.", "allCountries": "alle Länder", "noMatch": "{{gesamt}} Banken geladen, aber keine passt zum Suchbegriff. Versuch etwas Kürzeres – manche heissen in der Liste anders als im Alltag.", "noneLoaded": "Die Schnittstelle hat gar keine Banken geliefert. Das liegt nicht am Suchbegriff: Prüf, ob deine Anwendung bei Enable Banking schon aktiv ist – sie wird es erst, wenn du dort deine eigenen Konten verknüpft hast.", "sampleTitle": "Beispiele quer durch die geladene Liste:", "sandboxHint": "Findest du deine Bank nicht, prüf im Control Panel unter „API applications“ die Zeile „Environment“. Steht dort SANDBOX, ist das die Ursache: Die Sandbox liefert echte Banknamen wie „Aachener Bank“ oder „Nordea“, aber weder N26 noch Revolut. Dafür brauchst du eine Anwendung in PRODUCTION.", "range": "Die Liste reicht von „{{von}}“ bis „{{bis}}“.", "letters": "Vorhandene Anfangsbuchstaben", "truncatedHint": "Fehlen ganze Buchstaben, ist die Liste unvollständig. Fehlt nur deine Bank, sieh unten nach, was unter demselben Anfangsbuchstaben steht.", "sameLetter": "Alles, was in der Liste mit „{{buchstabe}}“ beginnt:", "pickBankMore": "Die besten {{n}} von {{treffer}} Treffern – such genauer, wenn deine Bank nicht dabei ist:", "noAccountForCurrency": "Kein Konto in {{currency}} vorhanden. Leg zuerst eines an, dann lässt sich dieses Bankkonto zuordnen.", "rawFields": "Was die Bank geschickt hat", "bankBalance": "Saldo laut Bank", "balanceMatches": "stimmt mit Certain überein", "balanceDiffers": "Certain weicht um {{diff}} ab", "fetchBalances": "Salden holen", "balancesFetched": "{{n}} Salden aktualisiert.", "syncedPending": "{{n}} vorgemerkt – die kommen, sobald die Bank sie bucht.", "syncedTransfers": "{{n}} als Übertrag verbunden.", "syncHint": "Umsätze angebundener Konten werden direkt gebucht – der Saldo stimmt damit von selbst. Übrig bleibt das Zuordnen der Kategorie.", "syncAll": "Alle Konten holen", "syncOne": "Umsätze holen", "poll": "Automatisch holen", "pollUnit": "Minuten", "pollHint": "Certain holt die Umsätze dann von selbst und bucht sie. 0 schaltet das ab. Mindestens 360 Minuten: Die Banken müssen nur vier unbeaufsichtigte Abrufe je Konto und Tag zulassen – häufiger lehnen sie ab. Von Hand abrufen darfst du so oft du willst.", "pollSaved": "Takt gespeichert.", "syncOlder": "Älteres nachholen", "syncedDuplicate": "{{n}} standen schon da (aus Datei oder von Hand) und wurden übersprungen.", "addTitle": "Weitere Bank verbinden", "balanceAvailable": "verfügbarer Saldo, nicht vergleichbar" }, "bankReturn": { "title": "Rückkehr von der Bank", "working": "Die Zustimmung wird abgeschlossen …", "ok": "Verbunden. {{n}} Konten gefunden.", "next": "Ordne sie jetzt in den Einstellungen deinen Konten in Certain zu – danach lassen sich die Umsätze holen.", "failed": "Das hat nicht geklappt", "failedHint": "Der Code von der Bank gilt nur einmal und nur kurz. Starte die Verbindung in den Einstellungen neu.", "missing": "Die Bank hat keinen Code zurückgegeben.", "toSettings": "Zu den Einstellungen", "noAccounts": "Verbunden, aber die Bank hat kein Konto übermittelt", "noAccountsHint": "Im eingeschränkten Betrieb gibt die Bank nur Konten heraus, die du bei Enable Banking selbst verknüpft hast. Öffne dort deine Anwendung, drück „Activate by linking accounts“ und wähle diese Bank – danach hier noch einmal verbinden.", "noAccountsDropped": "Die Bank hat {{n}} Einträge geschickt, aber ohne Kennung – damit lässt sich nichts abrufen. Das ist ein Fall für den Support von Enable Banking; schick mir die Meldung, dann formuliere ich die Anfrage.", "uebermittelt": "Die Bank hat {{n}} Konten geschickt.", "skipped": "{{n}} Konten konnte Certain nicht übernehmen", "skippedHint": "Ihnen fehlt die Kennung, mit der Salden und Umsätze geholt werden. Das steht unten so, wie es angekommen ist – schick es mir, dann sehe ich, was fehlt." }, "transfers": { "title": "Mögliche Überträge", "intro": "Ein Abgang hier, ein Zugang dort – vermutlich dasselbe Geld. Verbinden ändert keine Buchung: Beide bleiben stehen und zählen nur nicht mehr als Ausgabe und Einnahme. Lösen stellt alles wieder her.", "search": "Neu suchen", "searched": "{{verknuepft}} verbunden, {{offen}} zum Ansehen.", "connect": "Verbinden", "ignore": "Ignorieren", "hasCategory": "Eine der beiden hat eine Kategorie – sie fällt durchs Verbinden aus der Auswertung.", "linked": "Übertrag", "release": "Verknüpfung lösen", "releaseConfirm": "Die beiden Buchungen bleiben unverändert stehen und zählen danach wieder als Ausgabe und Einnahme.", "question": "Übertrag von/nach {{konto}}?" }, "todo": { "title": "Zu erledigen", "subtitle": "{{n}} offen", "allDone": "Nichts offen – alles zugeordnet und gebucht.", "from": { "bank": "Bank", "mail": "Mail", "shortcut": "Kurzbefehl", "transfer": "Übertrag", "csv": "Datei-Import", "manuell": "von Hand" } }, "dupes": { "title": "Gleich aussehende Buchungen ({{n}})", "intro": "Diese Zeilen sehen aus wie dieselbe Zahlung – gleiches Konto, gleicher Tag, gleicher Betrag, gleicher Text. Entscheiden musst du: Steht überall dieselbe Kennung der Bank, ist es sicher dieselbe Zahlung. Stehen verschiedene, hat die Bank sie als verschieden gemeldet – dann können es auch wirklich mehrere sein.", "count": "{{n}} mal", "delete": "Buchung löschen", "deleteConfirm": "Diese Buchung wird gelöscht. Kam sie von der Bank, holt kein späterer Abruf sie zurück – der Umsatz gilt dann als erledigt.", "noRef": "keine Kennung" } }