9b29d1847c
Phase 1.3 - Automatische Backups: - Cron-basierter Scheduler (Standard: täglich 2 Uhr) - Konfigurierbar über .env (Zeitplan, Verzeichnis, Anzahl) - Automatische Rotation: behält nur letzte N Backups (Standard: 7) - UI in Settings → Backup: Status-Anzeige und manueller Trigger - Tests: 7 erfolgreiche Tests für Scheduler-Funktionalität Neue Umgebungsvariablen: - BACKUP_ENABLED (Standard: true) - BACKUP_SCHEDULE (Standard: 0 2 * * *) - BACKUP_DIR (Standard: ./backups) - BACKUP_KEEP (Standard: 7) - TZ (für Zeitzone) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1225 lines
49 KiB
JSON
1225 lines
49 KiB
JSON
{
|
||
"common": {
|
||
"save": "Speichern",
|
||
"cancel": "Abbrechen",
|
||
"delete": "Löschen",
|
||
"edit": "Bearbeiten",
|
||
"close": "Schließen",
|
||
"create": "Erstellen",
|
||
"add": "Hinzufügen",
|
||
"back": "Zurück",
|
||
"next": "Weiter",
|
||
"loading": "Lade…",
|
||
"saving": "Wird gespeichert…",
|
||
"required": "Dieses Feld ist erforderlich.",
|
||
"error": "Fehler",
|
||
"allFieldsRequired": "Bitte alle Felder ausfüllen.",
|
||
"today": "Heute",
|
||
"tomorrow": "Morgen",
|
||
"skipToContent": "Zum Inhalt springen",
|
||
"reload": "Neu laden",
|
||
"errorOccurred": "Etwas ist schiefgelaufen.",
|
||
"unexpectedError": "Ein unerwarteter Fehler ist aufgetreten.",
|
||
"errorGeneric": "Ein Fehler ist aufgetreten.",
|
||
"updateAvailable": "Update verfügbar - lade neu..",
|
||
"titleRequired": "Titel ist erforderlich",
|
||
"nameRequired": "Name ist erforderlich",
|
||
"contentRequired": "Inhalt ist erforderlich",
|
||
"all": "Alle",
|
||
"unknownError": "Unbekannter Fehler",
|
||
"confirm": "Bestätigen",
|
||
"undo": "Rückgängig",
|
||
"reset": "Auf Original zurücksetzen",
|
||
"errorOffline": "Keine Internetverbindung. Bitte prüfe dein Netzwerk.",
|
||
"errorForbidden": "Zugriff verweigert. Bitte erneut anmelden.",
|
||
"errorNotFound": "Der Eintrag wurde nicht gefunden.",
|
||
"errorServer": "Serverfehler. Bitte versuche es später erneut.",
|
||
"errorTimeout": "Die Verbindung hat zu lange gedauert. Bitte erneut versuchen."
|
||
},
|
||
"nav": {
|
||
"dashboard": "Übersicht",
|
||
"tasks": "Aufgaben",
|
||
"calendar": "Kalender",
|
||
"meals": "Essen",
|
||
"shopping": "Einkauf",
|
||
"notes": "Notizen",
|
||
"contacts": "Kontakte",
|
||
"birthdays": "Geburtstage",
|
||
"budget": "Budget",
|
||
"settings": "Einstellungen",
|
||
"main": "Hauptnavigation",
|
||
"navigation": "Navigation",
|
||
"quickActions": "Schnellaktionen",
|
||
"more": "Mehr",
|
||
"recipes": "Rezepte",
|
||
"documents": "Dokumente",
|
||
"kitchen": "Küche",
|
||
"search": "Suche"
|
||
},
|
||
"search": {
|
||
"title": "Suche",
|
||
"placeholder": "Suchen…",
|
||
"noResults": "Keine Ergebnisse gefunden.",
|
||
"open": "Suche öffnen"
|
||
},
|
||
"dashboard": {
|
||
"title": "Übersicht",
|
||
"greetingMorning": "Guten Morgen, {{name}}",
|
||
"greetingDay": "Guten Tag, {{name}}",
|
||
"greetingEvening": "Guten Abend, {{name}}",
|
||
"allDone": "Alles erledigt",
|
||
"noEvents": "Keine Termine",
|
||
"noPinnedNotes": "Keine angepinnten Notizen",
|
||
"todayMeals": "Heute essen",
|
||
"allLink": "Alle",
|
||
"weekLink": "Woche",
|
||
"urgentTasksChip": "{{count}} bald fällige Aufgabe",
|
||
"urgentTasksChipPlural": "{{count}} bald fällige Aufgaben",
|
||
"eventsChip": "{{count}} Termin heute",
|
||
"eventsChipPlural": "{{count}} Termine heute",
|
||
"todayMealChip": "Heute: {{title}}",
|
||
"loadError": "Dashboard konnte nicht vollständig geladen werden.",
|
||
"weatherRefresh": "Wetter aktualisieren",
|
||
"weatherRefreshTitle": "Aktualisieren",
|
||
"weatherUpdated": "Wetter aktualisiert",
|
||
"weatherFeelsLike": "Gefühlt {{temp}}° · {{humidity}}% · Wind {{wind}} {{windUnit}}",
|
||
"fabTaskLabel": "Aufgabe hinzufügen",
|
||
"fabCalendarLabel": "Termin hinzufügen",
|
||
"fabShoppingLabel": "Einkauf hinzufügen",
|
||
"fabNoteLabel": "Notiz hinzufügen",
|
||
"fabTask": "Aufgabe",
|
||
"fabCalendar": "Termin",
|
||
"fabShopping": "Einkauf",
|
||
"fabNote": "Notiz",
|
||
"overdue": "Überfällig",
|
||
"dueSoon": "Bald fällig",
|
||
"dueToday": "Heute fällig",
|
||
"dueTomorrow": "Morgen fällig",
|
||
"allDay": "Ganztägig",
|
||
"shoppingMore": "+{{count}} weitere",
|
||
"weather": "Wetter",
|
||
"familyMembers": "Familienmitglieder",
|
||
"participantsAdded": "Teilnehmer hinzugefügt",
|
||
"upcomingBirthdays": "Nächste Geburtstage",
|
||
"noBirthdays": "Noch keine Geburtstage",
|
||
"daysLeft": "{{count}} Tage",
|
||
"budgetOverview": "Budgetübersicht",
|
||
"monthlyIncome": "Einnahmen",
|
||
"monthlyExpenses": "Ausgaben",
|
||
"monthlyBalance": "Saldo",
|
||
"savingsRate": "Sparquote",
|
||
"topExpense": "Größte Ausgabe",
|
||
"budgetEntries": "Einträge",
|
||
"noBudgetData": "Keine Budgetdaten in diesem Monat.",
|
||
"customize": "Anpassen",
|
||
"customizeTitle": "Widgets anpassen",
|
||
"customizeReset": "Standard",
|
||
"customizeSaved": "Dashboard gespeichert",
|
||
"customizeMoveUp": "Nach oben",
|
||
"customizeMoveDown": "Nach unten",
|
||
"overdueTasksChip": "{{count}} überfällige Aufgabe",
|
||
"overdueTasksChipPlural": "{{count}} überfällige Aufgaben",
|
||
"customizeManage": "Widgets",
|
||
"customizeExit": "Anpassung beenden",
|
||
"customizeDrag": "Widget ziehen",
|
||
"customizeSize": "Größe",
|
||
"customizeSizeFor": "Größe für {{widget}}",
|
||
"customizeHide": "{{widget}} ausblenden",
|
||
"widgetSizeTiny": "Klein (1×1)",
|
||
"widgetSizeNarrow": "Schmal (2×1)",
|
||
"widgetSizeStandard": "Standard (2×2)",
|
||
"widgetSizeLarge": "Groß (3×2)",
|
||
"widgetSizeFull": "Voll (4×2)"
|
||
},
|
||
"tasks": {
|
||
"title": "Aufgaben",
|
||
"newTask": "Neue Aufgabe",
|
||
"editTask": "Aufgabe bearbeiten",
|
||
"emptyTitle": "Keine Aufgaben - alles erledigt?",
|
||
"emptyDescription": "Neue Aufgaben über den + Button erstellen.",
|
||
"emptyAction": "Aufgabe erstellen",
|
||
"titleLabel": "Titel *",
|
||
"titlePlaceholder": "Was muss erledigt werden?",
|
||
"descriptionLabel": "Notiz",
|
||
"descriptionPlaceholder": "Optionale Details…",
|
||
"priorityLabel": "Priorität",
|
||
"categoryLabel": "Kategorie",
|
||
"dueDateLabel": "Fälligkeit",
|
||
"dueTimeLabel": "Uhrzeit",
|
||
"assignedLabel": "Zugewiesen an",
|
||
"assignedNobody": "- Niemand -",
|
||
"statusLabel": "Status",
|
||
"priorityUrgent": "Dringend",
|
||
"priorityHigh": "Hoch",
|
||
"priorityMedium": "Mittel",
|
||
"priorityLow": "Niedrig",
|
||
"priorityNone": "Keine",
|
||
"statusOpen": "Offen",
|
||
"statusInProgress": "In Bearbeitung",
|
||
"statusDone": "Erledigt",
|
||
"categoryHousehold": "Haushalt",
|
||
"categorySchool": "Schule",
|
||
"categoryShopping": "Einkauf",
|
||
"categoryRepair": "Reparatur",
|
||
"categoryHealth": "Gesundheit",
|
||
"categoryFinance": "Finanzen",
|
||
"categoryLeisure": "Freizeit",
|
||
"categoryMisc": "Sonstiges",
|
||
"overdue": "Überfällig",
|
||
"overdueDay": "{{count}}d überfällig",
|
||
"dueToday": "Heute fällig",
|
||
"dueTomorrow": "Morgen fällig",
|
||
"groupOverdue": "Überfällig",
|
||
"groupToday": "Heute",
|
||
"groupThisWeek": "Diese Woche",
|
||
"groupNextWeek": "Nächste Woche",
|
||
"groupLater": "Später",
|
||
"groupNoDate": "Kein Datum",
|
||
"markDone": "{{title}} als erledigt markieren",
|
||
"markOpen": "{{title}} als offen markieren",
|
||
"editButton": "Aufgabe bearbeiten",
|
||
"swipeOpen": "Öffnen",
|
||
"swipeDone": "Erledigt",
|
||
"swipeEdit": "Bearbeiten",
|
||
"subtaskAdd": "+ Teilaufgabe hinzufügen",
|
||
"subtaskToggle": "Teilaufgaben anzeigen",
|
||
"subtaskMarkDone": "{{title}} als erledigt markieren",
|
||
"deleteConfirm": "Aufgabe und alle Teilaufgaben löschen?",
|
||
"savedToast": "Aufgabe gespeichert.",
|
||
"createdToast": "Aufgabe erstellt.",
|
||
"deletedToast": "Aufgabe gelöscht.",
|
||
"loadError": "Aufgabe konnte nicht geladen werden.",
|
||
"subtaskPrompt": "Teilaufgabe:",
|
||
"kanbanOpen": "Offen",
|
||
"kanbanInProgress": "In Bearbeitung",
|
||
"kanbanDone": "Erledigt",
|
||
"kanbanMoveToInProgress": "In Bearbeitung setzen",
|
||
"kanbanMoveToDone": "Als erledigt markieren",
|
||
"kanbanMoveToOpen": "Erneut öffnen",
|
||
"recurring": "Wiederkehrend",
|
||
"listView": "Listenansicht",
|
||
"kanbanView": "Kanban-Ansicht",
|
||
"swipedDoneToast": "Als erledigt markiert.",
|
||
"swipedOpenToast": "Als offen markiert.",
|
||
"filterBtn": "Filter",
|
||
"filterGroupStatus": "Status",
|
||
"filterGroupPriority": "Priorität",
|
||
"filterGroupPerson": "Person",
|
||
"filterClearAll": "Alle Filter zurücksetzen",
|
||
"navLabelOverdue": "Aufgaben, {{count}} überfällig",
|
||
"statusArchived": "Archiviert",
|
||
"archiveButton": "Aufgabe archivieren",
|
||
"archivedToast": "Aufgabe archiviert.",
|
||
"bulkSelect": "Mehrfachauswahl",
|
||
"selectTask": "Aufgabe auswählen",
|
||
"bulkSelectedCount": "{{count}} ausgewählt",
|
||
"bulkMarkDone": "Erledigt",
|
||
"bulkMarkOpen": "Offen",
|
||
"bulkArchive": "Archivieren",
|
||
"bulkDelete": "Löschen",
|
||
"bulkDeleteConfirm": "{{count}} Aufgaben unwiderruflich löschen?",
|
||
"bulkStatusChanged": "Status geändert.",
|
||
"bulkArchived": "Aufgaben archiviert.",
|
||
"bulkDeleted": "Aufgaben gelöscht.",
|
||
"kanbanArchived": "Archiviert",
|
||
"reminderNeedsDueDate": "Lege ein Fälligkeitsdatum fest, um Aufgabenerinnerungen zu aktivieren."
|
||
},
|
||
"shopping": {
|
||
"title": "Einkauf",
|
||
"noLists": "Keine Listen",
|
||
"noListsDescription": "Erstelle eine Liste mit dem + Button.",
|
||
"emptyList": "Die Liste ist leer",
|
||
"emptyListDescription": "Artikel über das Eingabefeld oben hinzufügen.",
|
||
"emptyAction": "Artikel hinzufügen",
|
||
"newListPrompt": "Name der neuen Liste:",
|
||
"newListButton": "Neue Liste erstellen",
|
||
"renameListPrompt": "Neuer Listen-Name:",
|
||
"deleteListConfirm": "Liste \"{{name}}\" und alle Artikel löschen?",
|
||
"deletedListToast": "Liste gelöscht.",
|
||
"itemDeletedToast": "\"{{name}}\" entfernt.",
|
||
"itemsRemovedToast": "{{count}} Artikel entfernt.",
|
||
"clearChecked": "Abgehakt löschen ({{count}})",
|
||
"itemNamePlaceholder": "Artikel hinzufügen…",
|
||
"itemQtyPlaceholder": "Menge",
|
||
"itemNameLabel": "Artikelname",
|
||
"itemQtyLabel": "Menge",
|
||
"categoryLabel": "Kategorie",
|
||
"addItemLabel": "Artikel hinzufügen",
|
||
"renameListLabel": "Liste umbenennen",
|
||
"deleteListLabel": "Liste löschen",
|
||
"swipeBack": "Zurück",
|
||
"swipeCheck": "Abhaken",
|
||
"swipeDelete": "Löschen",
|
||
"markDoneLabel": "{{name}} abhaken",
|
||
"markUndoneLabel": "{{name}} als nicht erledigt markieren",
|
||
"deleteItemLabel": "{{name}} löschen",
|
||
"listsLoadError": "Listen konnten nicht geladen werden.",
|
||
"itemsLoadError": "Artikel konnten nicht geladen werden.",
|
||
"catFruitVeg": "Obst & Gemüse",
|
||
"catBakery": "Backwaren",
|
||
"catDairy": "Milchprodukte",
|
||
"catMeatFish": "Fleisch & Fisch",
|
||
"catFrozen": "Tiefkühl",
|
||
"catDrinks": "Getränke",
|
||
"catHousehold": "Haushalt",
|
||
"catDrugstore": "Drogerie",
|
||
"catMisc": "Sonstiges"
|
||
},
|
||
"meals": {
|
||
"title": "Essensplan",
|
||
"noMealPlanned": "Kein Essen geplant",
|
||
"addMeal": "{{type}} hinzufügen",
|
||
"editMeal": "Mahlzeit bearbeiten",
|
||
"addMealTitle": "Mahlzeit hinzufügen",
|
||
"deleteMeal": "Mahlzeit löschen",
|
||
"transferToShoppingList": "Zutaten auf Einkaufsliste",
|
||
"today": "Heute",
|
||
"prevWeek": "Vorherige Woche",
|
||
"nextWeek": "Nächste Woche",
|
||
"loadError": "Essensplan konnte nicht geladen werden.",
|
||
"typeBreakfast": "Frühstück",
|
||
"typeLunch": "Mittagessen",
|
||
"typeDinner": "Abendessen",
|
||
"typeSnack": "Snack",
|
||
"dayMo": "Mo",
|
||
"dayDi": "Di",
|
||
"dayMi": "Mi",
|
||
"dayDo": "Do",
|
||
"dayFr": "Fr",
|
||
"daySa": "Sa",
|
||
"daySo": "So",
|
||
"dateLabel": "Datum",
|
||
"mealTypeLabel": "Mahlzeit",
|
||
"titleLabel": "Titel *",
|
||
"titlePlaceholder": "z.B. Spaghetti Bolognese",
|
||
"notesLabel": "Notizen",
|
||
"notesPlaceholder": "Optional…",
|
||
"ingredientsLabel": "Zutaten",
|
||
"addIngredient": "Zutat hinzufügen",
|
||
"ingredientNamePlaceholder": "Zutat",
|
||
"ingredientQtyPlaceholder": "Menge",
|
||
"ingredientCategoryLabel": "Kategorie",
|
||
"ingredientCategoryDefault": "Sonstiges",
|
||
"removeIngredient": "Zutat entfernen",
|
||
"transferLabel": "Zutaten auf Einkaufsliste übertragen",
|
||
"transferNow": "Jetzt übertragen",
|
||
"noShoppingLists": "Keine Einkaufslisten vorhanden",
|
||
"transferSuccess": "{{count}} Zutat übertragen",
|
||
"transferSuccessPlural": "{{count}} Zutaten übertragen",
|
||
"transferAlreadyDone": "Alle Zutaten bereits übertragen",
|
||
"ingredientCount": "{{count}} Zutat",
|
||
"ingredientCountPlural": "{{count}} Zutaten",
|
||
"titleRequired": "Titel ist erforderlich",
|
||
"loadingIndicator": "Lade…",
|
||
"recipeUrlLabel": "Rezept-Link (optional)",
|
||
"recipeUrlPlaceholder": "https://…",
|
||
"openRecipe": "Rezept öffnen",
|
||
"savedRecipeLabel": "Gespeichertes Rezept",
|
||
"savedRecipePlaceholder": "Rezept auswählen",
|
||
"saveAsRecipe": "Als Rezept speichern",
|
||
"recipeScaleLabel": "Zutaten skalieren",
|
||
"deletedToast": "Mahlzeit gelöscht"
|
||
},
|
||
"calendar": {
|
||
"title": "Kalender",
|
||
"newEvent": "Neuer Termin",
|
||
"editEvent": "Termin bearbeiten",
|
||
"addEvent": "Termin hinzufügen",
|
||
"deleteEvent": "Termin löschen",
|
||
"noEvents": "Keine Termine im gewählten Zeitraum.",
|
||
"today": "Heute",
|
||
"back": "Zurück",
|
||
"forward": "Weiter",
|
||
"viewMonth": "Monat",
|
||
"viewWeek": "Woche",
|
||
"viewDay": "Tag",
|
||
"viewAgenda": "Agenda",
|
||
"allDay": "Ganztägig",
|
||
"allDayShort": "ganztg.",
|
||
"moreEvents": "+{{count}} weitere",
|
||
"weekNumberLabel": "KW {{week}} · {{month}} {{year}}",
|
||
"agendaFrom": "Ab {{date}}",
|
||
"titleLabel": "Titel *",
|
||
"titlePlaceholder": "z.B. Zahnarzt",
|
||
"allDayToggle": "Ganztägig",
|
||
"startDateLabel": "Startdatum",
|
||
"startTimeLabel": "Startzeit",
|
||
"endDateLabel": "Enddatum",
|
||
"endTimeLabel": "Endzeit",
|
||
"fromLabel": "Von",
|
||
"toLabel": "Bis",
|
||
"locationLabel": "Ort",
|
||
"locationPlaceholder": "Optional",
|
||
"assignedLabel": "Zugewiesen an",
|
||
"assignedNobody": "- Niemand -",
|
||
"colorLabel": "Farbe",
|
||
"colorBlue": "Blau",
|
||
"colorGreen": "Grün",
|
||
"colorOrange": "Orange",
|
||
"colorRed": "Rot",
|
||
"colorPurple": "Lila",
|
||
"colorCoral": "Korall",
|
||
"colorSkyBlue": "Hellblau",
|
||
"colorYellow": "Gelb",
|
||
"colorGray": "Grau",
|
||
"colorCyan": "Cyan",
|
||
"descriptionLabel": "Beschreibung",
|
||
"descriptionPlaceholder": "Optional…",
|
||
"popupEdit": "Bearbeiten",
|
||
"deleteConfirm": "\"{{title}}\" wirklich löschen?",
|
||
"createdToast": "Termin erstellt",
|
||
"savedToast": "Termin gespeichert",
|
||
"deletedToast": "Termin gelöscht",
|
||
"loadError": "Termine konnten nicht geladen werden.",
|
||
"saveError": "Fehler beim Speichern",
|
||
"deleteError": "Fehler beim Löschen",
|
||
"titleRequired": "Titel ist erforderlich",
|
||
"monthJanuary": "Januar",
|
||
"monthFebruary": "Februar",
|
||
"monthMarch": "März",
|
||
"monthApril": "April",
|
||
"monthMay": "Mai",
|
||
"monthJune": "Juni",
|
||
"monthJuly": "Juli",
|
||
"monthAugust": "August",
|
||
"monthSeptember": "September",
|
||
"monthOctober": "Oktober",
|
||
"monthNovember": "November",
|
||
"monthDecember": "Dezember",
|
||
"dayShortSunday": "So",
|
||
"dayShortMonday": "Mo",
|
||
"dayShortTuesday": "Di",
|
||
"dayShortWednesday": "Mi",
|
||
"dayShortThursday": "Do",
|
||
"dayShortFriday": "Fr",
|
||
"dayShortSaturday": "Sa",
|
||
"dayLongSunday": "Sonntag",
|
||
"dayLongMonday": "Montag",
|
||
"dayLongTuesday": "Dienstag",
|
||
"dayLongWednesday": "Mittwoch",
|
||
"dayLongThursday": "Donnerstag",
|
||
"dayLongFriday": "Freitag",
|
||
"dayLongSaturday": "Samstag",
|
||
"timeSuffix": "Uhr",
|
||
"ics": {
|
||
"reset": "Auf Original zurücksetzen",
|
||
"resetToast": "Änderungen zurückgesetzt."
|
||
},
|
||
"iconLabel": "Icon",
|
||
"iconSearchPlaceholder": "Icon suchen...",
|
||
"iconSearchEmpty": "Kein Icon gefunden.",
|
||
"iconCategoryGeneral": "Allgemein",
|
||
"iconCategoryHealth": "Gesundheit & Sport",
|
||
"iconCategoryTransport": "Mobilität & Reise",
|
||
"iconCategoryWork": "Arbeit & Bildung",
|
||
"iconCategoryFood": "Essen & Trinken",
|
||
"iconCategoryShopping": "Einkaufen & Finanzen",
|
||
"iconCategoryLeisure": "Freizeit & Unterhaltung",
|
||
"iconCategoryFamily": "Familie & Haustiere",
|
||
"iconCategoryHome": "Zuhause & Haushalt",
|
||
"iconCategoryNature": "Natur & Sonstiges",
|
||
"iconCalendar": "Kalender",
|
||
"iconAlarm": "Alarm",
|
||
"iconClock": "Uhr",
|
||
"iconBell": "Erinnerung",
|
||
"iconLocation": "Ort",
|
||
"iconStar": "Favorit",
|
||
"iconFlag": "Flagge",
|
||
"iconTarget": "Ziel",
|
||
"iconFlame": "Wichtig",
|
||
"iconTooth": "Zahnarzt",
|
||
"iconHospital": "Krankenhaus",
|
||
"iconDoctor": "Arzt",
|
||
"iconVaccine": "Impfung",
|
||
"iconMedicine": "Medikament",
|
||
"iconBandage": "Verband",
|
||
"iconHealth": "Gesundheit",
|
||
"iconActivity": "Aktivität",
|
||
"iconHaircut": "Friseur",
|
||
"iconSports": "Sport",
|
||
"iconTrophy": "Wettbewerb",
|
||
"iconCar": "Auto",
|
||
"iconBus": "Bus",
|
||
"iconTrain": "Zug",
|
||
"iconPlane": "Reise",
|
||
"iconFlight": "Flug",
|
||
"iconFuel": "Tanken",
|
||
"iconNavigation": "Navigation",
|
||
"iconWork": "Arbeit",
|
||
"iconLaptop": "Laptop",
|
||
"iconPresentation": "Präsentation",
|
||
"iconSchool": "Schule",
|
||
"iconEducation": "Bildung",
|
||
"iconReading": "Lesen",
|
||
"iconStudy": "Lernen",
|
||
"iconCalculator": "Rechner",
|
||
"iconMeal": "Mahlzeit",
|
||
"iconCooking": "Kochen",
|
||
"iconCoffee": "Kaffee",
|
||
"iconCake": "Geburtstag",
|
||
"iconPizza": "Pizza",
|
||
"iconWine": "Wein",
|
||
"iconBeer": "Bar",
|
||
"iconShopping": "Einkaufen",
|
||
"iconGroceries": "Lebensmittel",
|
||
"iconGift": "Geschenk",
|
||
"iconCard": "Karte",
|
||
"iconWallet": "Geldbörse",
|
||
"iconSavings": "Sparen",
|
||
"iconBank": "Bank",
|
||
"iconMusic": "Musik",
|
||
"iconMovie": "Film",
|
||
"iconTicket": "Ticket",
|
||
"iconGame": "Spiel",
|
||
"iconPhoto": "Foto",
|
||
"iconParty": "Party",
|
||
"iconFamily": "Familie",
|
||
"iconBaby": "Baby",
|
||
"iconDog": "Hund",
|
||
"iconCat": "Katze",
|
||
"iconPet": "Haustier",
|
||
"iconHome": "Zuhause",
|
||
"iconBuilding": "Gebäude",
|
||
"iconRepair": "Reparatur",
|
||
"iconMaintenance": "Wartung",
|
||
"iconDecoration": "Dekoration",
|
||
"iconFurniture": "Möbel",
|
||
"iconLaundry": "Wäsche",
|
||
"iconLeaf": "Natur",
|
||
"iconTree": "Baum",
|
||
"iconFlower": "Blume",
|
||
"iconSun": "Tag",
|
||
"iconMoon": "Nacht",
|
||
"iconWeather": "Wetter",
|
||
"invalidDate": "Bitte ein gültiges Datum im ausgewählten Format verwenden.",
|
||
"attachmentLabel": "Anhang",
|
||
"attachmentHint": "Lokales Bild, PDF oder Dokument anhängen. Bilder werden im Ereignis-Popup angezeigt.",
|
||
"attachmentFallback": "Anhang",
|
||
"attachmentReadError": "Der Anhang konnte nicht gelesen werden.",
|
||
"attachmentTooLarge": "Der Anhang darf höchstens 5 MB groß sein."
|
||
},
|
||
"notes": {
|
||
"title": "Notizen",
|
||
"newNote": "Neue Notiz",
|
||
"editNote": "Notiz bearbeiten",
|
||
"addNoteLabel": "Neue Notiz",
|
||
"searchPlaceholder": "Notizen durchsuchen…",
|
||
"emptyTitle": "Noch keine Notizen",
|
||
"emptyDescription": "Neue Notiz über den + Button erstellen.",
|
||
"emptyAction": "Notiz erstellen",
|
||
"noResultsTitle": "Keine Treffer",
|
||
"noResultsDescription": "Keine Notiz enthält \"{{query}}\".",
|
||
"titleLabel": "Titel (optional)",
|
||
"titlePlaceholder": "Kein Titel",
|
||
"contentLabel": "Inhalt",
|
||
"contentMarkdownHint": "(Markdown-Formatierung möglich)",
|
||
"contentPlaceholder": "Notiz eingeben…",
|
||
"colorLabel": "Farbe",
|
||
"pinnedLabel": "Anpinnen (erscheint auf Dashboard)",
|
||
"pinAction": "Anpinnen",
|
||
"unpinAction": "Anpinnen aufheben",
|
||
"deleteLabel": "Notiz löschen",
|
||
"deleteConfirm": "Notiz wirklich löschen?",
|
||
"createdToast": "Notiz erstellt",
|
||
"savedToast": "Notiz gespeichert",
|
||
"deletedToast": "Notiz gelöscht",
|
||
"loadError": "Notizen konnten nicht geladen werden.",
|
||
"formatBold": "Fett (Strg+B)",
|
||
"formatItalic": "Kursiv (Strg+I)",
|
||
"formatUnderline": "Unterstrichen (Strg+U)",
|
||
"formatStrikethrough": "Durchgestrichen",
|
||
"formatHeading": "Überschrift",
|
||
"formatList": "Aufzählung",
|
||
"formatOrderedList": "Nummerierte Liste",
|
||
"formatChecklist": "Checkliste",
|
||
"formatLink": "Link",
|
||
"formatCode": "Code",
|
||
"formatQuote": "Zitat",
|
||
"formatDivider": "Trennlinie",
|
||
"colorYellow": "Gelb",
|
||
"colorAmber": "Hellgelb",
|
||
"colorGreen": "Grün",
|
||
"colorTeal": "Türkis",
|
||
"colorBlue": "Blau",
|
||
"colorPurple": "Lila",
|
||
"colorOrange": "Orange",
|
||
"colorWhite": "Weiß"
|
||
},
|
||
"contacts": {
|
||
"title": "Kontakte",
|
||
"newContact": "Neuer Kontakt",
|
||
"editContact": "Kontakt bearbeiten",
|
||
"addButton": "Neu",
|
||
"newContactLabel": "Neuer Kontakt",
|
||
"searchPlaceholder": "Name, Telefon oder E-Mail suchen…",
|
||
"importButton": "Import",
|
||
"importLabel": "Kontakt aus vCard importieren",
|
||
"importTooltip": "vCard importieren",
|
||
"emptyTitle": "Noch keine Kontakte",
|
||
"emptyDescription": "Neue Kontakte über den + Button hinzufügen.",
|
||
"emptyAction": "Kontakt hinzufügen",
|
||
"filterAll": "Alle",
|
||
"nameLabel": "Name *",
|
||
"namePlaceholder": "Vollständiger Name",
|
||
"categoryLabel": "Kategorie",
|
||
"phoneLabel": "Telefon",
|
||
"phonePlaceholder": "+49 …",
|
||
"emailLabel": "E-Mail",
|
||
"emailPlaceholder": "name@beispiel.de",
|
||
"addressLabel": "Adresse",
|
||
"addressPlaceholder": "Straße, PLZ Ort",
|
||
"notesLabel": "Notizen",
|
||
"notesPlaceholder": "Optional…",
|
||
"callLabel": "Anrufen",
|
||
"emailActionLabel": "E-Mail",
|
||
"mapsLabel": "In Maps öffnen",
|
||
"exportLabel": "Als vCard exportieren",
|
||
"exportTooltip": "vCard exportieren",
|
||
"deleteLabel": "Kontakt löschen",
|
||
"deleteConfirm": "Kontakt wirklich löschen?",
|
||
"deletePersonConfirm": "\"{{name}}\" wirklich löschen?",
|
||
"savedToast": "Kontakt gespeichert",
|
||
"updatedToast": "Kontakt aktualisiert",
|
||
"deletedToast": "Kontakt gelöscht",
|
||
"importedToast": "{{name}} importiert.",
|
||
"importError": "Import fehlgeschlagen: {{error}}",
|
||
"vcardNoName": "vCard enthält keinen Namen.",
|
||
"catDoctor": "Arzt",
|
||
"catSchool": "Schule/Kita",
|
||
"catAuthority": "Behörde",
|
||
"catInsurance": "Versicherung",
|
||
"catCraftsman": "Handwerker",
|
||
"catEmergency": "Notfall",
|
||
"catMisc": "Sonstiges",
|
||
"categoryDoctor": "Arzt",
|
||
"categorySchool": "Schule/Kita",
|
||
"categoryAuthority": "Behörde",
|
||
"categoryInsurance": "Versicherung",
|
||
"categoryCraftsman": "Handwerker",
|
||
"categoryEmergency": "Notfall",
|
||
"categoryOther": "Sonstiges"
|
||
},
|
||
"budget": {
|
||
"title": "Budget",
|
||
"newEntry": "Neuer Eintrag",
|
||
"editEntry": "Eintrag bearbeiten",
|
||
"addEntryLabel": "Eintrag hinzufügen",
|
||
"newEntryFabLabel": "Neuer Eintrag",
|
||
"currentMonth": "Aktuell",
|
||
"prevMonth": "Vorheriger Monat",
|
||
"nextMonth": "Nächster Monat",
|
||
"income": "Einnahmen",
|
||
"expenses": "Ausgaben",
|
||
"balance": "Saldo",
|
||
"byCategory": "Nach Kategorie",
|
||
"transactions": "Transaktionen",
|
||
"emptyTitle": "Keine Einträge diesen Monat",
|
||
"emptyDescription": "Budget-Einträge über den + Button hinzufügen.",
|
||
"emptyAction": "Eintrag erstellen",
|
||
"csvExport": "CSV",
|
||
"typeExpense": "Ausgabe",
|
||
"typeIncome": "Einnahme",
|
||
"titleLabel": "Titel *",
|
||
"titlePlaceholder": "z.B. REWE Einkauf",
|
||
"amountLabel": "Betrag *",
|
||
"amountPlaceholder": "0,00",
|
||
"categoryLabel": "Kategorie",
|
||
"dateLabel": "Datum *",
|
||
"recurringLabel": "Wiederkehrend",
|
||
"deleteLabel": "Eintrag löschen",
|
||
"deleteConfirm": "Eintrag wirklich löschen?",
|
||
"deletePersonConfirm": "\"{{title}}\" wirklich löschen?",
|
||
"addedToast": "Eintrag hinzugefügt",
|
||
"savedToast": "Eintrag gespeichert",
|
||
"deletedToast": "Eintrag gelöscht",
|
||
"loadError": "Budget konnte nicht geladen werden.",
|
||
"trendNeutral": "- wie {{month}}",
|
||
"validAmountRequired": "Gültigen Betrag eingeben",
|
||
"dateRequired": "Datum ist erforderlich",
|
||
"catFood": "Ernährung",
|
||
"catRent": "Miete",
|
||
"catInsurance": "Versicherung",
|
||
"catMobility": "Mobilität",
|
||
"catLeisure": "Freizeit und Unterhaltung",
|
||
"catClothing": "Kleidung",
|
||
"catHealth": "Gesundheit",
|
||
"catEducation": "Bildung",
|
||
"catMisc": "Sonstiges",
|
||
"catEarnedIncome": "Erwerbseinkommen",
|
||
"catInvestmentIncome": "Kapitalerträge",
|
||
"catTransferGiftIncome": "Geschenke & Transfers",
|
||
"catGovernmentBenefits": "Sozialleistungen",
|
||
"catOtherIncome": "Sonstiges Einkommen",
|
||
"loadingIndicator": "Lade…",
|
||
"subcategoryLabel": "Unterkategorie",
|
||
"catHousing": "Wohnen / Zuhause",
|
||
"catTransport": "Transport",
|
||
"catPersonalHealth": "Körperpflege / Gesundheit",
|
||
"catShoppingClothing": "Einkäufe und Kleidung",
|
||
"catFinancialOther": "Finanzdienstleistungen und Sonstiges",
|
||
"subcatRentMortgage": "Miete / Kreditrate",
|
||
"subcatCondominium": "Hausgeld",
|
||
"subcatUtilities": "Strom / Wasser / Gas",
|
||
"subcatInternetTvPhone": "Internet / TV / Telefon",
|
||
"subcatRenovationMaintenance": "Renovierung / Instandhaltung",
|
||
"subcatCleaning": "Reinigung",
|
||
"subcatGroceries": "Supermarkt",
|
||
"subcatRestaurantsBars": "Restaurants / Bars",
|
||
"subcatSnacksFastFood": "Snacks / Fast Food",
|
||
"subcatBakery": "Bäckerei",
|
||
"subcatFuel": "Kraftstoff",
|
||
"subcatParkingTolls": "Parken / Maut",
|
||
"subcatPublicTransport": "Öffentliche Verkehrsmittel",
|
||
"subcatAppsTaxi": "Apps / Taxi",
|
||
"subcatMaintenanceInsurance": "Wartung / Versicherung",
|
||
"subcatPharmacy": "Apotheke",
|
||
"subcatHealthInsurance": "Krankenversicherung",
|
||
"subcatGymSports": "Fitnessstudio / Sport",
|
||
"subcatBeautyCosmetics": "Schönheit / Kosmetik",
|
||
"subcatTravel": "Reisen",
|
||
"subcatStreaming": "Streaming",
|
||
"subcatEvents": "Veranstaltungen",
|
||
"subcatHobbies": "Hobbys",
|
||
"subcatClothesShoes": "Kleidung / Schuhe",
|
||
"subcatElectronics": "Elektronik",
|
||
"subcatGifts": "Geschenke",
|
||
"subcatCoursesCollege": "Kurse / Hochschule",
|
||
"subcatSchoolSupplies": "Schulmaterial",
|
||
"subcatLanguages": "Sprachen",
|
||
"subcatLoansInterest": "Kredite / Zinsen",
|
||
"subcatBankFees": "Bankgebühren",
|
||
"subcatInsuranceOther": "Versicherungen",
|
||
"subcatInvestments": "Investitionen",
|
||
"subcatTaxes": "Steuern",
|
||
"metaLoadError": "Budget-Kategorien konnten nicht geladen werden.",
|
||
"addCategory": "+ Kategorie",
|
||
"addSubcategory": "+ Unterkategorie",
|
||
"newCategoryPrompt": "Name der neuen Kategorie:",
|
||
"newSubcategoryPrompt": "Name der neuen Unterkategorie:",
|
||
"categoryAddedToast": "Kategorie hinzugefügt.",
|
||
"subcategoryAddedToast": "Unterkategorie hinzugefügt.",
|
||
"loansTitle": "Darlehen",
|
||
"loansSummary": "{{count}} aktiv · {{amount}} offen",
|
||
"newLoan": "Neues Darlehen",
|
||
"createLoan": "Darlehen erstellen",
|
||
"editLoan": "Darlehen bearbeiten",
|
||
"deleteLoan": "Darlehen löschen",
|
||
"deleteLoanConfirm": "Darlehen \"{{title}}\" löschen? Bereits im Budget verbuchte Zahlungen werden ebenfalls entfernt.",
|
||
"deleteLoanPaymentConfirm": "Diese Darlehenszahlung löschen?",
|
||
"loanRemainingAmount": "Offen",
|
||
"loanRemainingInstallments": "Raten offen",
|
||
"loanPaidAmount": "Bezahlt",
|
||
"loansEmpty": "Keine aktiven Darlehen.",
|
||
"loanInstallmentMeta": "{{paid}} von {{total}} Raten bezahlt",
|
||
"loanRemainingOf": "von {{total}}",
|
||
"loanNextDue": "Nächste: {{month}}",
|
||
"loanPaidStatus": "Bezahlt",
|
||
"markLoanPaid": "Als bezahlt markieren",
|
||
"loanBorrowerLabel": "Person *",
|
||
"loanBorrowerPlaceholder": "z. B. Lais",
|
||
"loanTitleLabel": "Darlehenstitel",
|
||
"loanTitlePlaceholder": "z. B. Persönliches Darlehen",
|
||
"loanAmountLabel": "Gesamtbetrag *",
|
||
"loanInstallmentsLabel": "Raten *",
|
||
"loanStartMonthLabel": "Erster Fälligkeitsmonat *",
|
||
"loanNotesLabel": "Notizen",
|
||
"loanBorrowerRequired": "Person ist erforderlich",
|
||
"loanInstallmentsRequired": "Anzahl der Raten eingeben",
|
||
"loanStartMonthRequired": "Ersten Fälligkeitsmonat eingeben",
|
||
"loanAddedToast": "Darlehen hinzugefügt",
|
||
"loanSavedToast": "Darlehen gespeichert",
|
||
"loanDeletedToast": "Darlehen gelöscht",
|
||
"loanPaymentAddedToast": "Zahlung erfasst",
|
||
"loanPaymentTitle": "Darlehensrückzahlung: {{borrower}}",
|
||
"typeLoan": "Darlehen",
|
||
"tabsLabel": "Budgetbereiche",
|
||
"budgetTab": "Budget",
|
||
"loansTab": "Darlehen",
|
||
"filteredTransactions": "Gefilterte Transaktionen",
|
||
"clearLoanFilter": "Filter löschen",
|
||
"loanFilterActive": "Darlehen: {{title}}",
|
||
"filterLoanTransactions": "Transaktionen dieses Darlehens anzeigen",
|
||
"loansEmptyDescription": "Erstelle ein Darlehen über die +-Schaltfläche und wähle Darlehen.",
|
||
"newCategoryTitle": "Neue Kategorie",
|
||
"newCategoryPlaceholder": "Kategoriename",
|
||
"newSubcategoryTitle": "Neue Unterkategorie",
|
||
"newSubcategoryPlaceholder": "Name der Unterkategorie",
|
||
"loanStatusFilterLabel": "Darlehensstatus filtern",
|
||
"loanStatusActive": "Aktiv",
|
||
"loanStatusPaid": "Bezahlt",
|
||
"loanStatusAll": "Alle",
|
||
"loanTransactions": "Darlehenstransaktionen",
|
||
"loanInstallmentNumber": "Rate {{number}} von {{total}}",
|
||
"loanReportTitle": "Darlehensbericht",
|
||
"loanNoTransactions": "Noch keine Zahlungen erfasst."
|
||
},
|
||
"settings": {
|
||
"title": "Einstellungen",
|
||
"tabGeneral": "Allgemein",
|
||
"tabMeals": "Mahlzeiten",
|
||
"tabBudget": "Budget",
|
||
"tabShopping": "Einkauf",
|
||
"tabCalendar": "Kalender",
|
||
"tabFamily": "Familienverwaltung",
|
||
"tabApiTokens": "API-Tokens",
|
||
"tabAccount": "Konto",
|
||
"tabsAriaLabel": "Einstellungsbereiche",
|
||
"sectionDesign": "Design",
|
||
"sectionAppName": "Anwendungsname",
|
||
"sectionModules": "Module",
|
||
"modulesTitle": "Aktive Module",
|
||
"modulesHint": "Deaktivierte Module verschwinden aus der Navigation. Daten bleiben erhalten und können nach Reaktivierung wieder genutzt werden.",
|
||
"modulesSaved": "Modul-Sichtbarkeit gespeichert.",
|
||
"sectionShopping": "Einkauf",
|
||
"shoppingCategoriesLabel": "Einkaufskategorien",
|
||
"shoppingCategoriesHint": "Kategorien hinzufügen, umbenennen, löschen oder sortieren.",
|
||
"shoppingCategoryPlaceholder": "Neue Kategorie…",
|
||
"shoppingCategoryRenameHint": "Klicken zum Umbenennen",
|
||
"shoppingCategoryRenamePrompt": "Neuer Kategoriename:",
|
||
"shoppingCategoryMoveUp": "Kategorie nach oben",
|
||
"shoppingCategoryMoveDown": "Kategorie nach unten",
|
||
"shoppingCategoryDelete": "Kategorie löschen",
|
||
"shoppingCategoryDeleteConfirm": "Kategorie \"{{name}}\" löschen? Vorhandene Artikel werden der nächsten Kategorie zugeordnet.",
|
||
"shoppingCategoryAdded": "Kategorie hinzugefügt.",
|
||
"shoppingCategoryRenamed": "Kategorie umbenannt.",
|
||
"shoppingCategoryDeleted": "Kategorie gelöscht.",
|
||
"sectionAccount": "Mein Konto",
|
||
"sectionCalendarSync": "Kalender-Synchronisation",
|
||
"sectionFamily": "Familienmitglieder",
|
||
"cardAppearance": "Darstellung",
|
||
"appNameTitle": "App-Name",
|
||
"appNameLabel": "Anwendungsname",
|
||
"appNameHint": "Dieser Name erscheint in der Seitenleiste, im Browser-Titel und auf dem Login-Bildschirm.",
|
||
"appNamePlaceholder": "Oikos",
|
||
"appNameSavedToast": "Anwendungsname gespeichert.",
|
||
"sectionDate": "Datum",
|
||
"dateFormatTitle": "Datumsformat",
|
||
"dateFormatLabel": "Bevorzugtes Datumsformat",
|
||
"dateFormatHint": "Wähle, wie Daten in der App angezeigt werden.",
|
||
"dateFormatSavedToast": "Datumsformat gespeichert.",
|
||
"timeFormatLabel": "Zeitformat",
|
||
"timeFormatHours": "Stunden",
|
||
"timeFormatSavedToast": "Zeitformat gespeichert.",
|
||
"themeSystem": "System",
|
||
"themeSysLabel": "System-Einstellung verwenden",
|
||
"themeLight": "Hell",
|
||
"themeLightLabel": "Helles Design",
|
||
"themeDark": "Dunkel",
|
||
"themeDarkLabel": "Dunkles Design",
|
||
"changePassword": "Passwort ändern",
|
||
"currentPasswordLabel": "Aktuelles Passwort",
|
||
"newPasswordLabel": "Neues Passwort",
|
||
"confirmPasswordLabel": "Neues Passwort bestätigen",
|
||
"savePassword": "Passwort speichern",
|
||
"passwordMismatch": "Passwörter stimmen nicht überein.",
|
||
"passwordSavedToast": "Passwort erfolgreich geändert.",
|
||
"googleCalendar": "Google Calendar",
|
||
"appleCalendar": "Apple Calendar (iCloud)",
|
||
"syncNow": "Jetzt synchronisieren",
|
||
"disconnect": "Verbindung trennen",
|
||
"connectGoogle": "Mit Google verbinden",
|
||
"connected": "Verbunden",
|
||
"connectedLastSync": "Verbunden · Zuletzt: {{date}}",
|
||
"notConnected": "Nicht verbunden",
|
||
"notConfigured": "Nicht konfiguriert (fehlende .env-Variablen)",
|
||
"configured": "Konfiguriert (via .env)",
|
||
"configuredLastSync": "Konfiguriert (via .env) · Zuletzt: {{date}}",
|
||
"syncSuccess": "{{provider}} synchronisiert.",
|
||
"disconnectedToast": "{{provider}} getrennt.",
|
||
"googleOnlyAdmin": "Nur Admin kann Google Calendar verbinden.",
|
||
"appleOnlyAdmin": "Nur Admin kann Apple Calendar verbinden.",
|
||
"caldavUrlLabel": "CalDAV-Server-URL",
|
||
"caldavUrlPlaceholder": "https://caldav.icloud.com",
|
||
"appleIdLabel": "Apple-ID (E-Mail)",
|
||
"applePasswordLabel": "App-spezifisches Passwort",
|
||
"applePasswordHint": "Passwort unter <strong>appleid.apple.com → Sicherheit</strong> erstellen.",
|
||
"appleConnectBtn": "Verbinden & testen",
|
||
"appleConnecting": "Verbinde…",
|
||
"appleConnectedToast": "Apple Calendar verbunden.",
|
||
"syncSuccessGoogle": "Kalender-Sync mit Google erfolgreich verbunden.",
|
||
"syncSuccessApple": "Kalender-Sync mit Apple erfolgreich verbunden.",
|
||
"syncErrorGoogle": "Verbindung mit Google fehlgeschlagen. Bitte erneut versuchen.",
|
||
"syncErrorApple": "Verbindung mit Apple fehlgeschlagen. Bitte erneut versuchen.",
|
||
"addMember": "+ Mitglied hinzufügen",
|
||
"newMemberTitle": "Neues Familienmitglied",
|
||
"usernameLabel": "Benutzername",
|
||
"displayNameLabel": "Anzeigename",
|
||
"memberPasswordLabel": "Passwort",
|
||
"colorLabel": "Farbe",
|
||
"profilePictureTitle": "Profilbild",
|
||
"profilePictureLabel": "Bild hochladen",
|
||
"profilePictureHint": "PNG, JPEG oder WebP. Große Bilder werden vor dem Hochladen verkleinert.",
|
||
"profilePictureRemove": "Bild entfernen",
|
||
"profilePictureTypeError": "Bitte ein PNG-, JPEG- oder WebP-Bild verwenden.",
|
||
"profilePictureFileTooLarge": "Die Bilddatei ist zu groß.",
|
||
"profilePictureTooLarge": "Das Profilbild ist nach dem Verkleinern noch zu groß.",
|
||
"profilePictureReadError": "Das ausgewählte Bild konnte nicht gelesen werden.",
|
||
"profileSavedToast": "Profil aktualisiert.",
|
||
"editMemberLabel": "Bearbeiten",
|
||
"editMemberTitle": "Familienmitglied bearbeiten",
|
||
"saveMember": "Mitglied speichern",
|
||
"memberUpdatedToast": "{{name}} aktualisiert.",
|
||
"familyRoleLabel": "Familienrolle",
|
||
"familyRoleDad": "Vater",
|
||
"familyRoleMom": "Mutter",
|
||
"familyRoleParent": "Elternteil",
|
||
"familyRoleChild": "Kind",
|
||
"familyRoleGrandparent": "Großelternteil",
|
||
"familyRoleRelative": "Verwandte/r",
|
||
"familyRoleOther": "Familienmitglied",
|
||
"systemAdminLabel": "Systemadministrator",
|
||
"systemAdminHint": "Systemadministratoren können App-Einstellungen, Integrationen, API-Tokens und Familienkonten verwalten.",
|
||
"systemAdminBadge": "Systemadministrator",
|
||
"roleLabel": "Rolle",
|
||
"roleMember": "Mitglied",
|
||
"roleAdmin": "Admin",
|
||
"createMember": "Erstellen",
|
||
"cancelAddMember": "Abbrechen",
|
||
"memberAddedToast": "{{name}} hinzugefügt.",
|
||
"deleteMemberConfirm": "{{name}} wirklich löschen?",
|
||
"memberDeletedToast": "{{name}} gelöscht.",
|
||
"deleteMemberLabel": "Löschen",
|
||
"logout": "Abmelden",
|
||
"synchronizing": "Synchronisiere…",
|
||
"googleDisconnectConfirm": "Google Calendar-Verbindung trennen?",
|
||
"appleDisconnectConfirm": "Apple Calendar-Verbindung trennen?",
|
||
"localeSystem": "System",
|
||
"localeLabel": "Sprache",
|
||
"languageTitle": "Sprache",
|
||
"sectionMeals": "Essensplan",
|
||
"mealTypesLabel": "Sichtbare Mahlzeiten",
|
||
"mealTypesHint": "Nur ausgewaehlte Mahlzeit-Typen werden im Essensplan angezeigt.",
|
||
"mealTypesSaved": "Essensplan-Einstellungen gespeichert.",
|
||
"mealTypesMinOne": "Mindestens ein Mahlzeit-Typ muss aktiv sein.",
|
||
"sectionBudget": "Budget",
|
||
"currencyLabel": "Währung",
|
||
"currencyHint": "Legt die Währung für den gesamten Budget-Bereich fest.",
|
||
"currencySaved": "Währung gespeichert.",
|
||
"apiTokensTitle": "API-Tokens",
|
||
"apiTokensCardTitle": "Zugriffstoken",
|
||
"apiTokensHint": "Erstelle API-Tokens für externe Integrationen. Der vollständige Token wird nach der Erstellung nur einmal angezeigt.",
|
||
"apiTokenNameLabel": "Tokenname",
|
||
"apiTokenExpiresLabel": "Ablaufdatum",
|
||
"apiTokenExpiresHint": "Leer lassen, um einen Token ohne Ablaufdatum zu erstellen.",
|
||
"apiTokenCreatedLabel": "Neuer API-Token",
|
||
"apiTokenCreatedHint": "Speichere diesen Token sicher. Er kann nicht erneut angezeigt werden.",
|
||
"apiTokenCreate": "Token erstellen",
|
||
"apiTokenInvalidExpiration": "Bitte gib ein gültiges Ablaufdatum ein.",
|
||
"apiTokenCreatedToast": "API-Token erstellt.",
|
||
"apiTokenRevokedToast": "API-Token widerrufen.",
|
||
"apiTokenRevokeConfirm": "API-Token \"{{name}}\" widerrufen?",
|
||
"apiTokenRevoke": "Token widerrufen",
|
||
"apiTokenRevoked": "Widerrufen",
|
||
"apiTokenExpired": "Abgelaufen",
|
||
"apiTokenActive": "Aktiv",
|
||
"apiTokenPrefix": "Präfix",
|
||
"apiTokenExpires": "Läuft ab",
|
||
"apiTokenNeverExpires": "Kein Ablaufdatum",
|
||
"apiTokenLastUsed": "Zuletzt verwendet",
|
||
"apiTokenNeverUsed": "Nie verwendet",
|
||
"ics": {
|
||
"title": "ICS-Abonnements",
|
||
"add": "Abonnement hinzufügen",
|
||
"form": {
|
||
"url": "ICS-URL",
|
||
"name": "Name",
|
||
"color": "Farbe",
|
||
"shared": "Für alle sichtbar"
|
||
},
|
||
"actions": {
|
||
"sync": "Jetzt synchronisieren",
|
||
"edit": "Bearbeiten",
|
||
"delete": "Löschen",
|
||
"save": "Speichern",
|
||
"cancel": "Abbrechen",
|
||
"submit": "Hinzufügen"
|
||
},
|
||
"status": {
|
||
"lastSync": "Zuletzt synchronisiert:",
|
||
"never": "Noch nicht synchronisiert",
|
||
"syncing": "Synchronisiert...",
|
||
"syncError": "Synchronisierungsfehler"
|
||
},
|
||
"confirm_delete": "Möchtest du dieses Abonnement wirklich löschen? Alle zugehörigen Termine werden ebenfalls gelöscht.",
|
||
"badges": {
|
||
"private": "Privat",
|
||
"shared": "Geteilt"
|
||
},
|
||
"empty": "Noch keine Abonnements.",
|
||
"addedToast": "Abonnement hinzugefügt.",
|
||
"syncedToast": "Abonnement synchronisiert.",
|
||
"deletedToast": "Abonnement gelöscht.",
|
||
"updatedToast": "Abonnement aktualisiert."
|
||
},
|
||
"memberPhoneLabel": "Telefonnummer (optional)",
|
||
"memberEmailLabel": "E-Mail (optional)",
|
||
"memberBirthDateLabel": "Geburtstag (optional)",
|
||
"memberContactBirthdayHint": "Dieses Mitglied wird automatisch mit Kontakten und Geburtstagen synchronisiert.",
|
||
"memberBirthDateInvalid": "Bitte ein gültiges Geburtstagsdatum im ausgewählten Format verwenden.",
|
||
"memberPhoneMeta": "Telefon: {{value}}",
|
||
"memberBirthdayMeta": "Geburtstag: {{date}}",
|
||
"tabBackup": "Backup-Verwaltung",
|
||
"sectionBackup": "Backup-Verwaltung",
|
||
"backupDownloadTitle": "Datenbank-Backup herunterladen",
|
||
"backupDownloadHint": "Erstellt ein konsistentes SQLite-Backup aller Anwendungsdaten.",
|
||
"backupDownloadButton": "Backup herunterladen",
|
||
"backupRestoreTitle": "Datenbank-Backup wiederherstellen",
|
||
"backupRestoreHint": "Die Wiederherstellung ersetzt die aktuelle Datenbank. Lade vorher ein frisches Backup herunter.",
|
||
"backupDropzoneTitle": "Backup-Datei hier ablegen oder zum Auswählen klicken",
|
||
"backupDropzoneHint": "SQLite-Backup-Dateien: .db, .sqlite oder .sqlite3",
|
||
"backupRestoreButton": "Backup wiederherstellen",
|
||
"backupRestoreConfirm": "Dieses Backup ersetzt die aktuelle Datenbank für alle Benutzer. Fortfahren?",
|
||
"backupRestoring": "Wird wiederhergestellt...",
|
||
"backupRestoredToast": "Datenbank wiederhergestellt. Seite wird neu geladen...",
|
||
"backupCliTitle": "CLI / Docker-Compose-Wiederherstellung",
|
||
"backupCliHint": "Für operative Wiederherstellungen die App stoppen, das Backup in einen temporären Container einbinden und die Datenbankdatei ersetzen.",
|
||
"backupCliBackupHint": "Du kannst auch direkt über Docker Compose ein Backup erstellen:",
|
||
"backupSchedulerTitle": "Automatische Backups",
|
||
"backupSchedulerHint": "Geplante Backups werden automatisch erstellt und alte Backups rotiert.",
|
||
"backupSchedulerStatus": "Status",
|
||
"backupSchedulerEnabled": "Aktiv",
|
||
"backupSchedulerDisabled": "Deaktiviert",
|
||
"backupSchedulerSchedule": "Zeitplan",
|
||
"backupSchedulerKeep": "Aufbewahrung",
|
||
"backupSchedulerKeepCount": "{{count}} Backups",
|
||
"backupSchedulerLastBackup": "Letztes Backup",
|
||
"backupSchedulerLastSuccess": "{{date}} (erfolgreich)",
|
||
"backupSchedulerLastFail": "{{date}} (fehlgeschlagen)",
|
||
"backupSchedulerNever": "Noch kein Backup erstellt",
|
||
"backupSchedulerTrigger": "Jetzt Backup erstellen",
|
||
"backupSchedulerTriggering": "Backup wird erstellt...",
|
||
"backupSchedulerTriggeredToast": "Backup erfolgreich erstellt."
|
||
},
|
||
"login": {
|
||
"tagline": "Familienplanung. Sicher. Datenschutzfreundlich. Open Source.",
|
||
"usernameLabel": "Benutzername",
|
||
"usernamePlaceholder": "benutzername",
|
||
"passwordLabel": "Passwort",
|
||
"passwordPlaceholder": "••••••••",
|
||
"loginButton": "Anmelden",
|
||
"loggingIn": "Wird angemeldet …",
|
||
"tooManyAttempts": "Zu viele Versuche. Bitte warte kurz.",
|
||
"invalidCredentials": "Ungültige Anmeldedaten.",
|
||
"version": "v{{version}}"
|
||
},
|
||
"install": {
|
||
"title": "Oikos installieren",
|
||
"subtitle": "Zur App hinzufügen",
|
||
"iosTip1": "Tippe auf ",
|
||
"iosTip2": " → \"Zum Home-Bildschirm\"",
|
||
"installButton": "Installieren",
|
||
"dismissLabel": "Schließen"
|
||
},
|
||
"modal": {
|
||
"closeLabel": "Schließen",
|
||
"overlayLabel": "Modaler Dialog-Hintergrund",
|
||
"unsavedChanges": "Änderungen verwerfen?",
|
||
"discardChanges": "Verwerfen"
|
||
},
|
||
"rrule": {
|
||
"freqNone": "Keine Wiederholung",
|
||
"freqDaily": "Täglich",
|
||
"freqWeekly": "Wöchentlich",
|
||
"freqMonthly": "Monatlich",
|
||
"dayMo": "Mo",
|
||
"dayTu": "Di",
|
||
"dayWe": "Mi",
|
||
"dayTh": "Do",
|
||
"dayFr": "Fr",
|
||
"daySa": "Sa",
|
||
"daySu": "So",
|
||
"labelRepeat": "Wiederholung",
|
||
"labelEvery": "Alle",
|
||
"labelOnDays": "An diesen Tagen",
|
||
"labelUntil": "Endet am (optional)",
|
||
"unitDay": "Tag",
|
||
"unitDays": "Tage",
|
||
"unitWeek": "Woche",
|
||
"unitWeeks": "Wochen",
|
||
"unitMonth": "Monat",
|
||
"unitMonths": "Monate"
|
||
},
|
||
"reminders": {
|
||
"sectionTitle": "Erinnerung",
|
||
"enableLabel": "Erinnerung setzen",
|
||
"dateLabel": "Datum",
|
||
"timeLabel": "Uhrzeit",
|
||
"offsetLabel": "Erinnern",
|
||
"offsetNone": "Keine",
|
||
"offset15min": "15 Minuten vorher",
|
||
"offset1hour": "1 Stunde vorher",
|
||
"offset1day": "1 Tag vorher",
|
||
"offsetAtTime": "Zum Startzeitpunkt",
|
||
"toastTitle": "Erinnerung",
|
||
"dismiss": "Verwerfen",
|
||
"notificationPermission": "Browser-Benachrichtigungen",
|
||
"notificationEnable": "Benachrichtigungen aktivieren",
|
||
"notificationEnabled": "Benachrichtigungen aktiv",
|
||
"notificationDenied": "Benachrichtigungen blockiert",
|
||
"notificationHint": "Erhalte Benachrichtigungen auch wenn die App geöffnet ist.",
|
||
"pendingBadgeTitle": "{{count}} fällige Erinnerung",
|
||
"pendingBadgeTitlePlural": "{{count}} fällige Erinnerungen",
|
||
"offset2days": "2 Tage vorher",
|
||
"offset1week": "1 Woche vorher",
|
||
"offset2weeks": "2 Wochen vorher",
|
||
"offsetCustom": "Benutzerdefiniert...",
|
||
"customAmountLabel": "Anzahl",
|
||
"customUnitLabel": "Einheit",
|
||
"customMinutes": "Minuten",
|
||
"customHours": "Stunden",
|
||
"customDays": "Tage",
|
||
"customWeeks": "Wochen"
|
||
},
|
||
"birthdays": {
|
||
"title": "Geburtstage",
|
||
"addButton": "Geburtstag hinzufügen",
|
||
"searchPlaceholder": "Geburtstage suchen…",
|
||
"upcomingTitle": "Nächste Geburtstage",
|
||
"upcomingHint": "Die nächsten Feiern, bereits mit Kalender und Erinnerungen verknüpft.",
|
||
"peopleTitle": "Personen",
|
||
"peopleHint": "Alle gespeicherten Geburtstage durchsuchen, prüfen und bearbeiten.",
|
||
"emptyTitle": "Noch keine Geburtstage",
|
||
"emptyDescription": "Füge einen Geburtstag hinzu, damit er im Kalender und bei Erinnerungen erscheint.",
|
||
"newTitle": "Neuer Geburtstag",
|
||
"editTitle": "Geburtstag bearbeiten",
|
||
"nameLabel": "Name",
|
||
"birthDateLabel": "Geburtsdatum",
|
||
"photoLabel": "Profilbild",
|
||
"photoOptional": "Optional: Du kannst auch ohne Profilbild speichern.",
|
||
"removePhoto": "Bild entfernen",
|
||
"notesLabel": "Notizen",
|
||
"notesPlaceholder": "Geschenkideen, Lieblingskuchen, Familiennotizen…",
|
||
"calendarHint": "Jeder Geburtstag wird automatisch zum Kalender und Erinnerungssystem hinzugefügt.",
|
||
"requiredFields": "Name und Geburtsdatum sind erforderlich.",
|
||
"createdToast": "Geburtstag gespeichert.",
|
||
"updatedToast": "Geburtstag aktualisiert.",
|
||
"deletedToast": "Geburtstag gelöscht.",
|
||
"deleteConfirm": "Geburtstag von \"{{name}}\" löschen?",
|
||
"ageNoteToday": "Wird heute {{age}} Jahre alt.",
|
||
"ageNoteTomorrow": "Wird morgen {{age}} Jahre alt.",
|
||
"ageNoteDays": "Wird in {{days}} Tagen {{age}} Jahre alt."
|
||
},
|
||
"recipes": {
|
||
"title": "Rezepte",
|
||
"addRecipe": "Rezept hinzufügen",
|
||
"editRecipe": "Rezept bearbeiten",
|
||
"emptyTitle": "Noch keine Rezepte",
|
||
"emptyDescription": "Speichere deine Lieblingsrezepte und nutze sie für die Essensplanung.",
|
||
"emptyAction": "Rezept erstellen",
|
||
"titleLabel": "Titel *",
|
||
"titlePlaceholder": "z. B. Pasta Carbonara",
|
||
"notesLabel": "Notizen",
|
||
"notesPlaceholder": "Optional…",
|
||
"urlLabel": "Rezept-Link",
|
||
"urlPlaceholder": "https://…",
|
||
"ingredientsLabel": "Zutaten",
|
||
"addToMeals": "In Essensplan übernehmen",
|
||
"openLink": "Rezept-Link öffnen",
|
||
"deleteConfirm": "Rezept \"{{title}}\" löschen?",
|
||
"created": "Rezept gespeichert.",
|
||
"updated": "Rezept aktualisiert.",
|
||
"deleted": "Rezept gelöscht.",
|
||
"titleRequired": "Titel ist erforderlich.",
|
||
"duplicate": "Duplizieren",
|
||
"duplicated": "Rezept dupliziert.",
|
||
"copySuffix": "Kopie"
|
||
},
|
||
"onboarding": {
|
||
"step1Title": "Willkommen bei Oikos",
|
||
"step1Body": "Dein persönlicher Familienplaner. Aufgaben, Kalender, Einkauf und mehr – alles an einem Ort.",
|
||
"step2Title": "Navigation & Module",
|
||
"step2Body": "Unten erreichst du Dashboard und Kalender direkt. Mit dem ···-Button öffnest du weitere Module wie Küche, Notizen und Kontakte.",
|
||
"step3Title": "Schnell loslegen",
|
||
"step3Body": "Mit dem + FAB-Button erstellst du überall neue Einträge. Wische Listeneinträge nach links oder rechts für Schnellaktionen.",
|
||
"next": "Weiter",
|
||
"done": "Loslegen",
|
||
"skip": "Überspringen"
|
||
},
|
||
"offline": {
|
||
"banner": "Offline – Verbindung wird wiederhergestellt…"
|
||
},
|
||
"emptyHint": {
|
||
"tasks": "Tippe auf + um deine erste Aufgabe zu erstellen. Wische eine Karte nach links zum Löschen.",
|
||
"calendar": "Verbinde Google Kalender unter Einstellungen → Integrationen für automatische Synchronisation.",
|
||
"shopping": "Füge Artikel hinzu und wische zum Abhaken oder Löschen.",
|
||
"notes": "Tippe auf + für eine neue Notiz. Notizen werden im Volltext durchsucht.",
|
||
"contacts": "Lege wichtige Kontakte an — Arzt, Schule, Notfall — für Schnellzugriff.",
|
||
"budget": "Erstelle Kategorien und trage Einnahmen und Ausgaben ein.",
|
||
"meals": "Plane Mahlzeiten für die Woche und verknüpfe Rezepte.",
|
||
"birthdays": "Trage Geburtstage ein — du erhältst eine Erinnerung rechtzeitig.",
|
||
"recipes": "Lege Rezepte an und verknüpfe sie mit deiner Mahlzeitenplanung."
|
||
},
|
||
"shortcuts": {
|
||
"search": "Suche öffnen",
|
||
"new": "Neuen Eintrag erstellen",
|
||
"help": "Tastenkombinationen",
|
||
"goDash": "Dashboard",
|
||
"goTasks": "Aufgaben",
|
||
"goCal": "Kalender",
|
||
"goShop": "Einkaufsliste",
|
||
"goNotes": "Notizen",
|
||
"goKitchen": "Küche"
|
||
},
|
||
"documents": {
|
||
"title": "Dokumente",
|
||
"addButton": "Dokument hinzufügen",
|
||
"searchPlaceholder": "Dokumente suchen...",
|
||
"gridView": "Rasteransicht",
|
||
"listView": "Listenansicht",
|
||
"viewToggle": "Dokumentansicht",
|
||
"allCategories": "Alle Kategorien",
|
||
"emptyTitle": "Noch keine Dokumente",
|
||
"emptyDescription": "Lade Familiendokumente hoch und steuere, wer jede Datei sehen darf.",
|
||
"newTitle": "Neues Dokument",
|
||
"editTitle": "Dokumenteinstellungen",
|
||
"nameLabel": "Name",
|
||
"descriptionLabel": "Beschreibung",
|
||
"categoryLabel": "Kategorie",
|
||
"fileLabel": "Datei",
|
||
"fileHint": "PDF, Bilder, Text und Office-Dateien bis zu 5 MB.",
|
||
"visibilityLabel": "Sichtbarkeit",
|
||
"statusLabel": "Status",
|
||
"allowedMembersLabel": "Erlaubte Mitglieder",
|
||
"uploadAction": "Hochladen",
|
||
"downloadAction": "Herunterladen",
|
||
"editAction": "Einstellungen",
|
||
"archiveAction": "Archivieren",
|
||
"restoreAction": "Wiederherstellen",
|
||
"savedToast": "Dokument gespeichert.",
|
||
"uploadedToast": "Dokument hochgeladen.",
|
||
"archivedToast": "Dokument archiviert.",
|
||
"restoredToast": "Dokument wiederhergestellt.",
|
||
"deletedToast": "Dokument gelöscht.",
|
||
"deleteConfirm": "Dokument \"{{name}}\" löschen?",
|
||
"fileRequired": "Bitte wähle eine Datei aus.",
|
||
"fileTooLarge": "Die Datei darf höchstens 5 MB groß sein.",
|
||
"fileReadError": "Die Datei konnte nicht gelesen werden.",
|
||
"statusActive": "Aktiv",
|
||
"statusArchived": "Archiviert",
|
||
"visibility": {
|
||
"family": "Ganze Familie",
|
||
"restricted": "Ausgewählte Mitglieder",
|
||
"private": "Nur ich"
|
||
},
|
||
"category": {
|
||
"medical": "Medizin",
|
||
"school": "Schule",
|
||
"identity": "Identität",
|
||
"insurance": "Versicherung",
|
||
"finance": "Finanzen",
|
||
"home": "Zuhause",
|
||
"vehicle": "Fahrzeug",
|
||
"legal": "Rechtliches",
|
||
"travel": "Reisen",
|
||
"pets": "Haustiere",
|
||
"warranty": "Garantie",
|
||
"taxes": "Steuern",
|
||
"work": "Arbeit",
|
||
"other": "Sonstiges"
|
||
},
|
||
"dropzoneTitle": "Datei hier ablegen oder klicken",
|
||
"dropzoneHint": "Ziehe eine Datei in diesen Bereich oder nutze die Dateiauswahl.",
|
||
"selectedFileLabel": "Ausgewählt: {{name}}"
|
||
}
|
||
}
|