Bei einer von Hand weitergeleiteten Bank-Mail steht die eigene Adresse im
From; "Raiffeisen" findet sich nur noch im Betreff ("WG: Raiffeisen …")
und im zitierten Kopf. Das Feld hiess "Absender enthaelt" und prueft nur die
Absender-Koepfe – die Mail wurde also uebergangen, obwohl das Suchwort
sichtbar darin stand. Eine Falle, kein Bedienfehler.
Gesucht wird jetzt in Absender-Koepfen, Betreff und den ersten 2000 Zeichen
des Textes; die Beschriftung heisst entsprechend "Erkennungstext". Ein Test
mit einer nachgebauten Weiterleitung haelt fest, dass sowohl die Zuordnung
greift als auch Betrag und Empfaenger daraus lesbar bleiben.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
539 lines
27 KiB
JSON
539 lines
27 KiB
JSON
{
|
||
"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",
|
||
"open": "Offene Buchungen",
|
||
"inbox": "Eingang"
|
||
},
|
||
"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."
|
||
},
|
||
"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",
|
||
"identShort": "Nr.",
|
||
"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.",
|
||
"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"
|
||
},
|
||
"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.",
|
||
"excludedShort": "neutral"
|
||
},
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"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."
|
||
},
|
||
"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": "Eine Gerätemarke erlaubt einem iOS-Kurzbefehl, Zahlungen an Certain zu schicken – damit du im Laden gleich erfassen kannst, wofür du bezahlt hast. Die Marke darf ausschliesslich erfassen: keine Buchungen lesen, nichts ändern, nichts exportieren.",
|
||
"name": "Name des Geräts",
|
||
"namePlaceholder": "z. B. iPhone",
|
||
"defaultAccount": "Standardkonto",
|
||
"create": "Marke anlegen",
|
||
"onceOnly": "Diese Marke ist nur jetzt zu sehen. Kopiere sie, bevor du weitergehst.",
|
||
"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 Zeile unten eintragen, 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": "Marke „{{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"
|
||
},
|
||
"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."
|
||
},
|
||
"mailbox": {
|
||
"title": "Postfach für Zahlungs-Mails",
|
||
"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 · {{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 im gewählten Ordner gefunden. Stimmt der Ordner? Beim ersten Abruf werden die letzten 14 Tage durchsucht.",
|
||
"senderHint": "Gesucht wird in Absender, Betreff und im Anfang des Textes. Damit greift es auch bei weitergeleiteten Mails, wo im Absender deine eigene Adresse steht."
|
||
}
|
||
}
|