Verschluesselung: Bisher gab es nur den Schalter use_ssl – also implizites TLS auf 993 oder gar nichts. STARTTLS auf 143 fehlte ganz, und das bieten viele Anbieter an. Jetzt ein Feld mit drei Werten, der Port zieht bei der Auswahl mit, und "keine" warnt, dass Zugangsdaten im Klartext gehen. Layout: Die Postfach-Karte steht in einer schmalen Spalte; der waagerechte Aufbau brach dort auf ein Wort je Zeile um und die Knoepfe lagen ueber dem Titel. Jetzt gestapelt. Die Einstellungsseite nutzte ein Raster, das die Karten zeilenweise ausrichtet – die zweite Reihe begann erst unter der hoechsten Karte der ersten, weshalb "Backup zurueckladen" allein weit unten stand. Jetzt fliessen die Karten spaltenweise, und die Spalten sind breiter: vier schmale Karten nebeneinander waren auf dem Notebook nicht lesbar. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
534 lines
27 KiB
JSON
534 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": "{{neu}} neu, davon {{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": "Absender enthält, z. B. raiffeisen.ch",
|
||
"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"
|
||
}
|
||
}
|