diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json
index 496b1242..723c678f 100644
--- a/public/locales/ar/common.json
+++ b/public/locales/ar/common.json
@@ -56,7 +56,7 @@
"activities": "الأنشطة",
"points": "النقاط",
"settings": "الإعدادات",
- "reportBug": ""
+ "reportBug": "Report a Bug"
},
"search": {
"title": "بحث",
diff --git a/public/locales/de/auth.json b/public/locales/de/auth.json
index a23fbbdf..8cdc6ca7 100644
--- a/public/locales/de/auth.json
+++ b/public/locales/de/auth.json
@@ -1,150 +1,150 @@
{
- "validationError": "",
- "primaryUsernameRequired": "",
- "subNameRequired": "",
- "usernameRequired": "",
- "passwordRequired": "",
- "loginFailed": "",
- "genericError": "",
- "providerLoginFailed": "",
- "providerLoginFailedMsg": "",
- "providerLoginError": "",
- "networkError": "",
- "mfaFailed": "",
- "oauthError": "",
- "oauthBrowserFailed": "",
- "primaryAccount": "",
- "subAccount": "",
- "username": "",
- "primaryUsernamePlaceholder": "",
- "subNamePlaceholder": "",
- "forgotPassword": "",
- "or": "",
- "email": "",
- "displayNamePlaceholder": "",
- "signupFailed": "",
- "signupDisabled": "",
- "almostThere": "",
- "signupGenericError": "",
- "signupSubtitleDefault": "",
- "signupSubtitlePendingInvite": "",
- "signupTermsNotice": "",
- "usernameCharsInvalid": "",
- "alreadyHaveAccount": "",
- "usernameMinLength": "",
- "invalidEmail": "",
- "passwordLength": "",
- "displayNameRequired": "",
- "displayNameChars": "",
- "resetEmailSent": "",
- "resetEmailSentMsg": "",
- "resetFailed": "",
- "resetFailedMsg": "",
- "emailPlaceholder": "",
- "passwordUpdated": "",
- "passwordUpdatedMsg": "",
- "passwordUpdateFailed": "",
- "passwordUpdateFailedMsg": "",
- "savePassword": "",
+ "validationError": "Validierungsfehler",
+ "primaryUsernameRequired": "Der Benutzername des Hauptkontos ist für die Anmeldung am Unterkonto erforderlich",
+ "subNameRequired": "Der Name des Unterkontos ist für die Anmeldung am Unterkonto erforderlich",
+ "usernameRequired": "Benutzername ist erforderlich",
+ "passwordRequired": "Passwort ist erforderlich",
+ "loginFailed": "Anmeldung fehlgeschlagen",
+ "genericError": "Ein Fehler ist aufgetreten. Bitte versuche es erneut",
+ "providerLoginFailed": "Anmeldung mit {{provider}} fehlgeschlagen",
+ "providerLoginFailedMsg": "Anmeldung mit {{provider}} nicht möglich. Bitte versuche es erneut",
+ "providerLoginError": "Fehler bei der Anmeldung mit {{provider}}",
+ "networkError": "Ein Netzwerkfehler ist aufgetreten. Bitte versuche es erneut",
+ "mfaFailed": "Zwei-Faktor-Authentifizierung fehlgeschlagen",
+ "oauthError": "OAuth-Fehler",
+ "oauthBrowserFailed": "Authentifizierungsbrowser konnte nicht geöffnet werden",
+ "primaryAccount": "Hauptkonto",
+ "subAccount": "Unterkonto",
+ "username": "Benutzername",
+ "primaryUsernamePlaceholder": "Benutzername des Hauptkontos eingeben",
+ "subNamePlaceholder": "Name des Unterkontos eingeben",
+ "forgotPassword": "Passwort vergessen?",
+ "or": "oder",
+ "email": "E-Mail",
+ "displayNamePlaceholder": "So sehen andere deinen Namen",
+ "signupFailed": "Registrierung fehlgeschlagen",
+ "signupDisabled": "Registrierung ist deaktiviert. Bitte wende dich an den Administrator",
+ "almostThere": "Fast geschafft",
+ "signupGenericError": "Bei der Registrierung ist ein Fehler aufgetreten",
+ "signupSubtitleDefault": "Verwalte Aufgaben und Erledigungen gemeinsam an einem Ort.",
+ "signupSubtitlePendingInvite": "Erstelle ein Konto und wir senden direkt danach deine Beitrittsanfrage zum Kreis.",
+ "signupTermsNotice": "Mit der Erstellung eines Kontos stimmst du unseren Nutzungsbedingungen und Datenschutzbestimmungen zu.",
+ "usernameCharsInvalid": "Der Benutzername darf nur Kleinbuchstaben, Zahlen, Punkt und Bindestrich enthalten",
+ "alreadyHaveAccount": "Du hast bereits ein Konto?",
+ "usernameMinLength": "Der Benutzername muss mindestens 4 Zeichen lang sein",
+ "invalidEmail": "Ungültige E-Mail-Adresse",
+ "passwordLength": "Das Passwort muss zwischen 8 und 64 Zeichen lang sein",
+ "displayNameRequired": "Anzeigename ist erforderlich",
+ "displayNameChars": "Der Anzeigename darf nur Buchstaben und Zahlen enthalten",
+ "resetEmailSent": "E-Mail zum Zurücksetzen gesendet",
+ "resetEmailSentMsg": "Prüfe deine E-Mails auf Anweisungen zum Zurücksetzen des Passworts",
+ "resetFailed": "Zurücksetzen fehlgeschlagen",
+ "resetFailedMsg": "E-Mail zum Zurücksetzen konnte nicht gesendet werden. Bitte versuche es später erneut",
+ "emailPlaceholder": "du@beispiel.de",
+ "passwordUpdated": "Passwort aktualisiert",
+ "passwordUpdatedMsg": "Dein Passwort wurde erfolgreich aktualisiert. Du wirst zur Anmeldung weitergeleitet...",
+ "passwordUpdateFailed": "Passwortaktualisierung fehlgeschlagen",
+ "passwordUpdateFailedMsg": "Passwort konnte nicht aktualisiert werden. Bitte versuche es später erneut",
+ "savePassword": "Passwort speichern",
"server": {
- "url": "",
- "dnsFailed": "",
- "unreachable": "",
- "invalidUrl": "",
- "settingsSubtitle": "",
- "unavailable503": "",
- "errorStatus": "",
- "timeout": "",
- "corsBlocked": "",
- "connectionRefused": "",
- "urlPlaceholder": "",
- "urlHelper": "",
- "testingConnection": "",
- "testingConnectionButton": "",
- "saveAndConnect": "",
- "resetToDefault": ""
+ "url": "Server-URL",
+ "dnsFailed": "Der Hostname konnte nicht aufgelöst werden. Prüfe die URL auf Tippfehler oder die DNS-Konfiguration.",
+ "unreachable": "Der Server ist nicht erreichbar. Prüfe URL, Port und Netzwerkverbindung.",
+ "invalidUrl": "Ungültiges URL-Format. Gib das Protokoll (http:// oder https://) und bei Bedarf den Port an.",
+ "settingsSubtitle": "Verbinde die App mit deinem eigenen selbst gehosteten Donetick-Server.",
+ "unavailable503": "Der Server startet gerade oder ist vorübergehend nicht verfügbar (503). Versuche es gleich noch einmal.",
+ "errorStatus": "Der Server hat mit Fehler {{status}} geantwortet. Bitte überprüfe deinen Donetick-Server.",
+ "timeout": "Zeitüberschreitung nach {{seconds}} s. Der Host ist möglicherweise nicht erreichbar oder durch eine Firewall blockiert – prüfe IP/Hostname und Netzwerk.",
+ "corsBlocked": "Der Server ist erreichbar, hat die Anfrage aber blockiert (CORS). Stelle sicher, dass dein Donetick-Server Anfragen von diesem Ursprung zulässt, oder überprüfe die CORS-Konfiguration des Servers.",
+ "connectionRefused": "Verbindung abgelehnt. Der Port ist möglicherweise falsch oder es lauscht nichts – überprüfe URL und Port (Standard-Donetick-Port ist 2021).",
+ "urlPlaceholder": "https://dein-server:2021",
+ "urlHelper": "Gib das Protokoll (http:// oder https://) und bei Bedarf den Port an. Donetick verwendet standardmäßig Port 2021.",
+ "testingConnection": "Verbindung zum Server wird getestet...",
+ "testingConnectionButton": "Verbindung wird getestet",
+ "saveAndConnect": "Speichern & verbinden",
+ "resetToDefault": "Auf Standardserver zurücksetzen"
},
"mfaModal": {
- "title": "",
- "codeRequired": "",
- "verifyFailed": "",
- "backupHint": "",
- "codeHint": "",
- "verify": "",
- "backupLabel": "",
- "codeLabel": "",
- "backupPlaceholder": "",
- "useAuthenticator": "",
- "useBackup": "",
- "backupOnce": "",
- "invalidCode": ""
+ "title": "Zwei-Faktor-Authentifizierung",
+ "codeRequired": "Bitte gib einen Bestätigungscode ein",
+ "verifyFailed": "Code konnte nicht bestätigt werden. Bitte versuche es erneut.",
+ "backupHint": "Gib einen der Sicherungscodes ein, die du beim Einrichten der Zwei-Faktor-Authentifizierung gespeichert hast.",
+ "codeHint": "Gib den 6-stelligen Code aus deiner Authenticator-App ein.",
+ "verify": "Bestätigen und anmelden",
+ "backupLabel": "Sicherungscode",
+ "codeLabel": "Bestätigungscode",
+ "backupPlaceholder": "Sicherungscode eingeben",
+ "useAuthenticator": "Stattdessen Authenticator-App verwenden",
+ "useBackup": "Stattdessen einen Sicherungscode verwenden",
+ "backupOnce": "Jeder Sicherungscode kann nur einmal verwendet werden.",
+ "invalidCode": "Ungültiger Bestätigungscode. Bitte versuche es erneut."
},
- "appleLoginFailed": "",
- "googleLoginFailed": "",
- "createOne": "",
- "primaryAccountUsernameLabel": "",
- "subAccountNameLabel": "",
- "serverSettings": "",
- "useDifferentAccount": "",
- "yourUsername": "",
- "backToSignIn": "",
- "confirmNewPassword": "",
- "newPassword": "",
- "reenterPassword": "",
- "requestNewLink": "",
- "setNewPassword": "",
- "linkInvalid": "",
- "createAccountButton": "",
- "createYourAccount": "",
- "displayNameLabel": "",
- "usernameHint": "",
- "termsShort": "",
- "checkYourEmail": "",
- "resetYourPassword": "",
- "passwordsNoMatch": "",
- "linkInvalidSubtitle": "",
- "chooseNewPasswordSubtitle": "",
- "welcomeBack": "",
- "signIn": "",
- "signInAsSubAccount": "",
- "pendingInviteSubtitle": "",
- "pickUpWhereLeftOff": "",
- "signInToContinueSubtitle": "",
- "continueAs": "",
- "dontHaveAccount": "",
- "privacyPolicy": "",
- "termsOfUse": "",
- "emailRequired": "",
- "validEmailRequired": "",
- "emailAddressLabel": "",
- "sendResetLink": "",
- "rememberedIt": "",
- "resetInstructionsSent": "",
- "enterEmailForReset": "",
- "serverChangeWarning": "",
- "serverConnected": "",
- "passwordLabel": "",
- "showPassword": "",
- "hidePassword": "",
- "loginPasswordPlaceholder": "",
- "signupPasswordPlaceholder": "",
- "signupPasswordHelper": "",
- "orContinueWith": "",
- "signupSignInFailed": "",
+ "appleLoginFailed": "Apple-Anmeldung fehlgeschlagen",
+ "googleLoginFailed": "Google-Anmeldung fehlgeschlagen",
+ "createOne": "Konto erstellen",
+ "primaryAccountUsernameLabel": "Benutzername des Hauptkontos",
+ "subAccountNameLabel": "Name des Unterkontos",
+ "serverSettings": "Servereinstellungen",
+ "useDifferentAccount": "Anderes Konto verwenden",
+ "yourUsername": "Dein Benutzername",
+ "backToSignIn": "Zurück zur Anmeldung",
+ "confirmNewPassword": "Neues Passwort bestätigen",
+ "newPassword": "Neues Passwort",
+ "reenterPassword": "Passwort erneut eingeben",
+ "requestNewLink": "Neuen Link anfordern",
+ "setNewPassword": "Neues Passwort festlegen",
+ "linkInvalid": "Dieser Link ist ungültig",
+ "createAccountButton": "Konto erstellen",
+ "createYourAccount": "Erstelle dein Konto",
+ "displayNameLabel": "Anzeigename",
+ "usernameHint": "Kleinbuchstaben, Zahlen, Punkt und Bindestrich",
+ "termsShort": "Mit der Erstellung eines Kontos stimmst du unseren Nutzungsbedingungen und Datenschutzbestimmungen zu",
+ "checkYourEmail": "Prüfe deine E-Mails",
+ "resetYourPassword": "Passwort zurücksetzen",
+ "passwordsNoMatch": "Die Passwörter stimmen nicht überein",
+ "linkInvalidSubtitle": "Der Link zum Zurücksetzen des Passworts ist unvollständig oder wurde bereits verwendet. Fordere einen neuen an, um fortzufahren.",
+ "chooseNewPasswordSubtitle": "Wähle ein Passwort, das du bei diesem Konto noch nicht verwendet hast.",
+ "welcomeBack": "Willkommen zurück",
+ "signIn": "Anmelden",
+ "signInAsSubAccount": "Als Unterkonto anmelden",
+ "pendingInviteSubtitle": "Melde dich an und wir senden direkt danach deine Beitrittsanfrage zum Kreis.",
+ "pickUpWhereLeftOff": "Mach genau dort weiter, wo du aufgehört hast.",
+ "signInToContinueSubtitle": "Melde dich bei deinem Konto an, um fortzufahren.",
+ "continueAs": "Weiter als {{name}}",
+ "dontHaveAccount": "Du hast noch kein Konto?",
+ "privacyPolicy": "Datenschutzbestimmungen",
+ "termsOfUse": "Nutzungsbedingungen",
+ "emailRequired": "E-Mail-Adresse ist erforderlich",
+ "validEmailRequired": "Bitte gib eine gültige E-Mail-Adresse ein",
+ "emailAddressLabel": "E-Mail-Adresse",
+ "sendResetLink": "Link zum Zurücksetzen senden",
+ "rememberedIt": "Wieder eingefallen?",
+ "resetInstructionsSent": "Falls ein Konto für {{email}} existiert, haben wir Anweisungen zum Zurücksetzen deines Passworts gesendet.",
+ "enterEmailForReset": "Gib deine E-Mail-Adresse ein und wir senden dir einen Link, um wieder Zugriff auf dein Konto zu erhalten.",
+ "serverChangeWarning": "Beim Wechsel des Servers werden lokal zwischengespeicherte Daten auf diesem Gerät gelöscht.",
+ "serverConnected": "Verbunden. Du wirst zur Anmeldung weitergeleitet...",
+ "passwordLabel": "Passwort",
+ "showPassword": "Passwort anzeigen",
+ "hidePassword": "Passwort ausblenden",
+ "loginPasswordPlaceholder": "Passwort eingeben",
+ "signupPasswordPlaceholder": "Mindestens 8 Zeichen",
+ "signupPasswordHelper": "Verwende 8 bis 64 Zeichen.",
+ "orContinueWith": "oder fortfahren mit",
+ "signupSignInFailed": "Dein Konto wurde erstellt, die Anmeldung ist jedoch fehlgeschlagen. Bitte melde dich an.",
"authenticating": {
- "signingIn": "",
- "signingInSub": "",
- "unknownProvider": "",
- "contactSupport": "",
- "signInFailed": "",
- "mfaCancelled": "",
- "requestNotVerified": "",
- "tryAgain": "",
- "mfaSessionMissing": "",
- "twoFactor": "",
- "verifyToContinue": "",
- "noToken": "",
- "backToSignIn": "",
- "mfaFailed": ""
+ "signingIn": "Anmeldung läuft",
+ "signingInSub": "Das dauert nur einen Moment.",
+ "unknownProvider": "Unbekannter Anmeldeanbieter",
+ "contactSupport": "Bitte wende dich an den Support.",
+ "signInFailed": "Anmeldung fehlgeschlagen",
+ "mfaCancelled": "Die Zwei-Faktor-Authentifizierung wurde abgebrochen.",
+ "requestNotVerified": "Die Anmeldeanforderung konnte nicht verifiziert werden.",
+ "tryAgain": "Bitte versuche es erneut.",
+ "mfaSessionMissing": "Die MFA-Sitzung fehlt. Bitte versuche es erneut.",
+ "twoFactor": "Zwei-Faktor-Authentifizierung",
+ "verifyToContinue": "Bestätige deine Anmeldung, um fortzufahren.",
+ "noToken": "Es wurde kein gültiges Authentifizierungstoken zurückgegeben.",
+ "backToSignIn": "Zurück zur Anmeldung",
+ "mfaFailed": "Zwei-Faktor-Authentifizierung fehlgeschlagen. Bitte versuche es erneut."
}
}
diff --git a/public/locales/de/chores.json b/public/locales/de/chores.json
index 5987a873..7a1afb27 100644
--- a/public/locales/de/chores.json
+++ b/public/locales/de/chores.json
@@ -63,8 +63,8 @@
"skip": "Überspringen",
"cancel": "Abbrechen",
"noPriority": "Keine Priorität",
- "more": "",
- "changeDueDate": "",
+ "more": "Mehr",
+ "changeDueDate": "Fälligkeitsdatum ändern",
"subtasks": "Unteraufgaben",
"noDescription": "Keine Beschreibung verfügbar",
"timer": {
@@ -73,948 +73,948 @@
"reset": "Timer zurücksetzen",
"delete": "Sitzung löschen"
},
- "unableUndo": "",
- "offlineComplete": "",
- "unableComplete": "",
- "offlineSkip": "",
- "unableSkip": "",
- "offlineStart": "",
- "unableStart": "",
- "offlinePause": "",
- "unablePause": "",
- "offlineRestore": "",
- "restoreFailed": "",
- "unableRestore": "",
- "deadline": "",
- "attachment_one": "",
- "attachment_other": "",
- "failedArchive": "",
- "unableArchiveTask": "",
- "deleteTaskTitle": "",
- "deleteTaskMessage": "",
- "taskDeletedTitle": "",
- "taskDeletedMessage": "",
- "failedDelete": "",
- "unableDeleteTask": "",
- "failedReschedule": "",
- "unableChangeDueDate": "",
- "taskMovedTitle": "",
- "taskMovedMessage": "",
- "failedMoveTask": "",
- "unableMoveTaskToProject": "",
- "failedSendNudgeError": "",
- "nudgeSentTitle": "",
- "nudgeSentMessage": "",
- "failedSendNudgeTitle": "",
- "unableSendNudge": "",
- "failedDelegate": "",
- "unableChangeAssignee": "",
- "availableToCompleteStarting": "",
- "delegateToSomeoneElse": "",
- "selectAPerformer": ""
+ "unableUndo": "Rückgängig machen fehlgeschlagen",
+ "offlineComplete": "Du bist offline — der Abschluss wird synchronisiert, sobald du wieder online bist",
+ "unableComplete": "Aufgabe konnte nicht abgeschlossen werden",
+ "offlineSkip": "Du bist offline — das Überspringen wird synchronisiert, sobald du wieder online bist",
+ "unableSkip": "Aufgabe konnte nicht übersprungen werden",
+ "offlineStart": "Du bist offline — der Start wird synchronisiert, sobald du wieder online bist",
+ "unableStart": "Aufgabe konnte nicht gestartet werden",
+ "offlinePause": "Du bist offline — das Pausieren wird synchronisiert, sobald du wieder online bist",
+ "unablePause": "Aufgabe konnte nicht pausiert werden",
+ "offlineRestore": "Du bist offline — die Wiederherstellung wird synchronisiert, sobald du wieder online bist",
+ "restoreFailed": "Wiederherstellung fehlgeschlagen",
+ "unableRestore": "Aufgabe konnte nicht wiederhergestellt werden",
+ "deadline": "Frist: {{date}}",
+ "attachment_one": "{{count}} Anhang",
+ "attachment_other": "{{count}} Anhänge",
+ "failedArchive": "Archivieren fehlgeschlagen",
+ "unableArchiveTask": "Aufgabe konnte nicht archiviert werden",
+ "deleteTaskTitle": "Aufgabe löschen",
+ "deleteTaskMessage": "Möchtest du diese Aufgabe wirklich löschen?",
+ "taskDeletedTitle": "Aufgabe gelöscht",
+ "taskDeletedMessage": "Die Aufgabe wurde erfolgreich gelöscht.",
+ "failedDelete": "Löschen fehlgeschlagen",
+ "unableDeleteTask": "Aufgabe konnte nicht gelöscht werden",
+ "failedReschedule": "Verschieben fehlgeschlagen",
+ "unableChangeDueDate": "Fälligkeitsdatum konnte nicht geändert werden",
+ "taskMovedTitle": "Aufgabe verschoben",
+ "taskMovedMessage": "Aufgabe nach {{project}} verschoben.",
+ "failedMoveTask": "Aufgabe konnte nicht verschoben werden",
+ "unableMoveTaskToProject": "Aufgabe konnte nicht in das Projekt verschoben werden",
+ "failedSendNudgeError": "Erinnerung konnte nicht gesendet werden",
+ "nudgeSentTitle": "Erinnerung gesendet!",
+ "nudgeSentMessage": "Erinnerung erfolgreich gesendet",
+ "failedSendNudgeTitle": "Erinnerung konnte nicht gesendet werden",
+ "unableSendNudge": "Erinnerung kann derzeit nicht gesendet werden",
+ "failedDelegate": "Übertragung fehlgeschlagen",
+ "unableChangeAssignee": "Zuständige Person konnte nicht geändert werden",
+ "availableToCompleteStarting": "Ab {{date}} erledigbar",
+ "delegateToSomeoneElse": "An jemand anderen übertragen",
+ "selectAPerformer": "Wähle eine ausführende Person"
},
"toolbar": {
- "defaultProject": "",
- "everyone": "",
- "mine": "",
- "availableToMe": "",
- "others": "",
- "cards": "",
- "compact": "",
- "calendar": "",
- "filters": "",
- "viewGroup": "",
- "filterNamePlaceholder": "",
- "clearAll": "",
- "saveFilter": "",
- "saveAsNew": "",
- "groupBy": "",
- "showTasksFor": "",
+ "defaultProject": "Standardprojekt",
+ "everyone": "Alle",
+ "mine": "Meine",
+ "availableToMe": "Für mich verfügbar",
+ "others": "Andere",
+ "cards": "Karten",
+ "compact": "Kompakt",
+ "calendar": "Kalender",
+ "filters": "Filter",
+ "viewGroup": "Ansicht & Gruppierung",
+ "filterNamePlaceholder": "Filtername…",
+ "clearAll": "Alle löschen",
+ "saveFilter": "Filter speichern",
+ "saveAsNew": "Als neuen Filter speichern",
+ "groupBy": "Gruppieren nach",
+ "showTasksFor": "Aufgaben anzeigen für",
"type": {
- "assignee": ""
+ "assignee": "Zugewiesene Person"
},
- "display": "",
- "displayOptions": ""
+ "display": "Anzeige",
+ "displayOptions": "Anzeigeoptionen"
},
"sort": {
- "assignedToMe": "",
- "smart": "",
- "createdDate": "",
- "updatedDate": "",
- "sortAndGroup": "",
- "groupBy": "",
- "quickFilters": "",
- "assignedTo": "",
- "availableForMe": "",
- "assignedToOthers": "",
- "createFilter": "",
- "createFilterHint": ""
+ "assignedToMe": "Mir zugewiesen",
+ "smart": "Intelligent",
+ "createdDate": "Erstellungsdatum",
+ "updatedDate": "Änderungsdatum",
+ "sortAndGroup": "Sortieren und gruppieren (Strg+G)",
+ "groupBy": "Gruppieren nach",
+ "quickFilters": "Schnellfilter",
+ "assignedTo": "Zugewiesen an:",
+ "availableForMe": "Für mich verfügbar",
+ "assignedToOthers": "Anderen zugewiesen",
+ "createFilter": "Filter erstellen",
+ "createFilterHint": "Erweiterte Filterregeln erstellen"
},
"thing": {
- "triggerHint": "",
- "selectThing": "",
- "enterText": "",
- "noThingsMessage": "",
- "goToThings": "",
- "noThingsSuffix": "",
- "conditionHint": "",
- "stateChangeHint": "",
- "boolTrue": "",
- "boolFalse": "",
- "stateIs": "",
- "typeChip": "",
- "stateChip": "",
+ "triggerHint": "Eine Aufgabe auslösen, wenn sich der Zustand eines Dings auf den gewünschten Zustand ändert",
+ "selectThing": "Ding auswählen",
+ "enterText": "Text eingeben, der die Aufgabe auslösen soll",
+ "noThingsMessage": "Es sieht so aus, als hättest du noch keine Dinge angelegt. Erstelle ein Ding, um eine Aufgabe auszulösen, wenn sich der Zustand ändert.",
+ "goToThings": "Zu den Dingen",
+ "noThingsSuffix": "um ein Ding zu erstellen",
+ "conditionHint": "Erstelle eine Bedingung, um eine Aufgabe auszulösen, wenn der Zustand des Dings dem gewünschten Zustand entspricht",
+ "stateChangeHint": "Wenn sich der Zustand von {{name}} wie unten angegeben ändert, wird die Aufgabe fällig.",
+ "boolTrue": "Wahr",
+ "boolFalse": "Falsch",
+ "stateIs": "Zustand ist",
+ "typeChip": "Typ: {{type}}",
+ "stateChip": "Zustand: {{state}}",
"conditions": {
- "eq": "",
- "neq": "",
- "gt": "",
- "gte": "",
- "lt": "",
- "lte": ""
+ "eq": "Gleich",
+ "neq": "Ungleich",
+ "gt": "Größer als",
+ "gte": "Größer als oder gleich",
+ "lt": "Kleiner als",
+ "lte": "Kleiner als oder gleich"
}
},
"activity": {
- "showMore": "",
- "title": "",
- "loading": "",
+ "showMore": "Mehr anzeigen",
+ "title": "Letzte Aktivitäten",
+ "loading": "Aktivitäten werden geladen...",
"status": {
- "done": ""
+ "done": "Erledigt"
}
},
"group": {
- "overdue": "",
- "dueToday": "",
- "pendingApproval": "",
- "dueThisWeek": "",
- "noDueDate": "",
- "dueDate": "",
- "dueLater": ""
+ "overdue": "Überfällig",
+ "dueToday": "Heute fällig",
+ "pendingApproval": "Genehmigung ausstehend",
+ "dueThisWeek": "Diese Woche fällig",
+ "noDueDate": "Kein Fälligkeitsdatum",
+ "dueDate": "Fälligkeitsdatum",
+ "dueLater": "Später fällig"
},
"insights": {
- "highPriority": "",
- "title": "",
- "active": "",
- "clickToClear": "",
- "quickActions": "",
- "overdueDesc_one": "",
- "overdueDesc_other": "",
- "dueTodayDesc_one": "",
- "dueTodayDesc_other": "",
- "pendingApprovalDesc_one": "",
- "pendingApprovalDesc_other": "",
- "dueThisWeekDesc_one": "",
- "dueThisWeekDesc_other": "",
- "highPriorityDesc_one": "",
- "highPriorityDesc_other": "",
- "noDueDateDesc_one": "",
- "noDueDateDesc_other": ""
+ "highPriority": "Hohe Priorität",
+ "title": "Intelligente Einblicke",
+ "active": "Aktiv",
+ "clickToClear": "Aktiven Filter anklicken, um ihn zu entfernen",
+ "quickActions": "Schnellaktionen basierend auf deinen Aufgaben",
+ "overdueDesc_one": "{{count}} Aufgabe ist überfällig",
+ "overdueDesc_other": "{{count}} Aufgaben sind überfällig",
+ "dueTodayDesc_one": "{{count}} Aufgabe ist bis Ende des Tages fällig",
+ "dueTodayDesc_other": "{{count}} Aufgaben sind bis Ende des Tages fällig",
+ "pendingApprovalDesc_one": "{{count}} Aufgabe wartet auf Genehmigung",
+ "pendingApprovalDesc_other": "{{count}} Aufgaben warten auf Genehmigung",
+ "dueThisWeekDesc_one": "{{count}} Aufgabe ist in den nächsten 7 Tagen fällig",
+ "dueThisWeekDesc_other": "{{count}} Aufgaben sind in den nächsten 7 Tagen fällig",
+ "highPriorityDesc_one": "{{count}} Aufgabe erfordert sofortige Aufmerksamkeit",
+ "highPriorityDesc_other": "{{count}} Aufgaben erfordern sofortige Aufmerksamkeit",
+ "noDueDateDesc_one": "{{count}} Aufgabe benötigt eine Frist",
+ "noDueDateDesc_other": "{{count}} Aufgaben benötigen eine Frist"
},
"labels": {
- "label": ""
+ "label": "Beschriftungen"
},
"actionMenu": {
- "view": "",
- "archive": "",
- "writeNFC": "",
- "completeWithNote": "",
- "completeInPast": "",
- "skipToNext": "",
- "sendNudge": "",
- "history": "",
- "clone": "",
- "moveToProject": "",
- "removeDueDate": "",
- "unarchive": "",
- "noPriority": "",
- "defaultProject": ""
+ "view": "Anzeigen",
+ "archive": "Archivieren",
+ "writeNFC": "Auf NFC schreiben",
+ "completeWithNote": "Mit Notiz abschließen",
+ "completeInPast": "In der Vergangenheit abschließen",
+ "skipToNext": "Zum nächsten Fälligkeitsdatum springen",
+ "sendNudge": "Erinnerung senden",
+ "history": "Verlauf",
+ "clone": "Duplizieren",
+ "moveToProject": "In Projekt verschieben",
+ "removeDueDate": "Fälligkeitsdatum entfernen",
+ "unarchive": "Aus Archiv wiederherstellen",
+ "noPriority": "Keine",
+ "defaultProject": "Standardprojekt"
},
"actions": {
- "rescheduledTitle": "",
- "rescheduledMessage": "",
- "unplannedTitle": "",
- "unplannedMessage": "",
- "archivedTitle": "",
- "startedTitle": "",
- "startedMessage": "",
- "pausedTitle": "",
- "pausedMessage": "",
- "deletedMessage": "",
+ "rescheduledTitle": "Aufgabe neu geplant",
+ "rescheduledMessage": "Das Fälligkeitsdatum der Aufgabe wurde erfolgreich aktualisiert.",
+ "unplannedTitle": "Planung der Aufgabe aufgehoben",
+ "unplannedMessage": "Die Aufgabe ist jetzt ungeplant und hat kein Fälligkeitsdatum.",
+ "archivedTitle": "Aufgabe archiviert",
+ "startedTitle": "Aufgabe gestartet",
+ "startedMessage": "Die Aufgabe wurde als gestartet markiert.",
+ "pausedTitle": "Aufgabe pausiert",
+ "pausedMessage": "Die Aufgabe wurde pausiert.",
+ "deletedMessage": "Die Aufgabe wurde gelöscht.",
"undoable": {
- "completed": ""
+ "completed": "Aufgabe abgeschlossen"
},
- "completionPending": "",
- "failCompleteTitle": "",
- "failStartTitle": "",
- "failPauseTitle": "",
- "failApproveTitle": "",
- "failRejectTitle": "",
- "deletedMessageLong": "",
- "failDeleteTitle": "",
- "failArchiveTitle": "",
- "failSkipTitle": "",
- "movedTitle": "",
- "failMoveTitle": "",
- "failRescheduleTitle": "",
- "nudgeSentTitle": "",
- "nudgeFailed": "",
- "failNudgeTitle": "",
+ "completionPending": "Aufgabenabschluss ausstehend",
+ "failCompleteTitle": "Abschluss fehlgeschlagen",
+ "failStartTitle": "Start fehlgeschlagen",
+ "failPauseTitle": "Pausieren fehlgeschlagen",
+ "failApproveTitle": "Genehmigung fehlgeschlagen",
+ "failRejectTitle": "Ablehnung fehlgeschlagen",
+ "deletedMessageLong": "Die Aufgabe wurde erfolgreich gelöscht.",
+ "failDeleteTitle": "Löschen fehlgeschlagen",
+ "failArchiveTitle": "Archivieren fehlgeschlagen",
+ "failSkipTitle": "Überspringen fehlgeschlagen",
+ "movedTitle": "Aufgabe verschoben",
+ "failMoveTitle": "Aufgabe konnte nicht verschoben werden",
+ "failRescheduleTitle": "Neuplanung fehlgeschlagen",
+ "nudgeSentTitle": "Erinnerung gesendet!",
+ "nudgeFailed": "Erinnerung konnte nicht gesendet werden",
+ "failNudgeTitle": "Erinnerung konnte nicht gesendet werden",
"bulk": {
- "completeTitle": "",
- "completedTitle": "",
- "completeFailedTitle": "",
- "archiveTitle": "",
- "archivedTitle": "",
- "archiveFailedTitle": "",
- "deleteTitle": "",
- "skipTitle": "",
- "skippedTitle": "",
- "skipFailedTitle": ""
+ "completeTitle": "Aufgaben abschließen",
+ "completedTitle": "✅ Aufgaben abgeschlossen",
+ "completeFailedTitle": "Massenabschluss fehlgeschlagen",
+ "archiveTitle": "Aufgaben archivieren",
+ "archivedTitle": "📦 Aufgaben archiviert",
+ "archiveFailedTitle": "Massenarchivierung fehlgeschlagen",
+ "deleteTitle": "Aufgaben löschen",
+ "skipTitle": "Aufgaben überspringen",
+ "skippedTitle": "⏭️ Aufgaben übersprungen",
+ "skipFailedTitle": "Massenüberspringen fehlgeschlagen"
}
},
"archived": {
- "restoredTitle": "",
- "restoredMsg": "",
- "deletedTitle": "",
- "delete": "",
- "someFailedTitle": "",
- "unexpectedError": "",
- "deletedBulkTitle": "",
- "bulkDeleteFailTitle": "",
- "archivedDate": "",
- "loadFailTitle": "",
- "loadFailMsg": "",
- "deletedMsg": "",
- "restoreTasksTitle": "",
- "restore": "",
- "restoreConfirm_one": "",
- "restoreConfirm_other": "",
- "restoredBulkTitle": "",
- "restoredCount_one": "",
- "restoredCount_other": "",
- "restoreFailCount_one": "",
- "restoreFailCount_other": "",
- "bulkRestoreFailTitle": "",
- "deleteTasksTitle": "",
- "deleteConfirm_one": "",
- "deleteConfirm_other": "",
- "deletedCount_one": "",
- "deletedCount_other": "",
- "deleteFailCount_one": "",
- "deleteFailCount_other": "",
- "title": "",
- "subtitle": "",
- "heading": "",
- "searchPlaceholder": "",
- "switchToCompact": "",
- "switchToCard": "",
- "exitMultiSelect": "",
- "enableMultiSelect": "",
- "selected_one": "",
- "selected_other": "",
- "selectAllTitle": "",
- "all": "",
- "closeMultiSelect": "",
- "clearMultiSelect": "",
- "close": "",
- "clear": "",
- "restoreSelectedTitle": "",
- "deleteSelectedTitle": "",
- "clearSearch": "",
- "clearFilters": "",
- "count_one": "",
- "count_other": "",
- "matching": "",
- "filtersTitle": "",
- "sortArchivedDate": "",
+ "restoredTitle": "Aufgabe wiederhergestellt",
+ "restoredMsg": "Die Aufgabe wurde wiederhergestellt und ist jetzt aktiv.",
+ "deletedTitle": "Aufgabe gelöscht",
+ "delete": "Löschen",
+ "someFailedTitle": "Einige Aufgaben sind fehlgeschlagen",
+ "unexpectedError": "Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es erneut.",
+ "deletedBulkTitle": "🗑️ Aufgaben gelöscht",
+ "bulkDeleteFailTitle": "Massenlöschung fehlgeschlagen",
+ "archivedDate": "Archivierungsdatum",
+ "loadFailTitle": "Archivierte Aufgaben konnten nicht geladen werden",
+ "loadFailMsg": "Bitte versuche es später erneut.",
+ "deletedMsg": "Die archivierte Aufgabe wurde dauerhaft gelöscht.",
+ "restoreTasksTitle": "Aufgaben wiederherstellen",
+ "restore": "Wiederherstellen",
+ "restoreConfirm_one": "{{count}} Aufgabe in die aktive Liste wiederherstellen?",
+ "restoreConfirm_other": "{{count}} Aufgaben in die aktive Liste wiederherstellen?",
+ "restoredBulkTitle": "📤 Aufgaben wiederhergestellt",
+ "restoredCount_one": "{{count}} Aufgabe wiederhergestellt{{offline}}.",
+ "restoredCount_other": "{{count}} Aufgaben wiederhergestellt{{offline}}.",
+ "restoreFailCount_one": "{{count}} Aufgabe konnte nicht wiederhergestellt werden.",
+ "restoreFailCount_other": "{{count}} Aufgaben konnten nicht wiederhergestellt werden.",
+ "bulkRestoreFailTitle": "Massenwiederherstellung fehlgeschlagen",
+ "deleteTasksTitle": "Archivierte Aufgaben löschen",
+ "deleteConfirm_one": "{{count}} archivierte Aufgabe dauerhaft löschen?\n\nDiese Aktion kann nicht rückgängig gemacht werden.",
+ "deleteConfirm_other": "{{count}} archivierte Aufgaben dauerhaft löschen?\n\nDiese Aktion kann nicht rückgängig gemacht werden.",
+ "deletedCount_one": "{{count}} Aufgabe erfolgreich gelöscht.",
+ "deletedCount_other": "{{count}} Aufgaben erfolgreich gelöscht.",
+ "deleteFailCount_one": "{{count}} Aufgabe konnte nicht gelöscht werden.",
+ "deleteFailCount_other": "{{count}} Aufgaben konnten nicht gelöscht werden.",
+ "title": "Archivierte Aufgaben",
+ "subtitle": "Archivierte oder abgeschlossene Aufgaben anzeigen und verwalten.",
+ "heading": "Archivierte Aufgaben",
+ "searchPlaceholder": "Archivierte Aufgaben durchsuchen",
+ "switchToCompact": "Zur kompakten Ansicht wechseln",
+ "switchToCard": "Zur Kartenansicht wechseln",
+ "exitMultiSelect": "Mehrfachauswahl beenden (Strg+S)",
+ "enableMultiSelect": "Mehrfachauswahl aktivieren (Strg+S)",
+ "selected_one": "{{count}} Aufgabe ausgewählt",
+ "selected_other": "{{count}} Aufgaben ausgewählt",
+ "selectAllTitle": "Alle sichtbaren Aufgaben auswählen (Strg+A)",
+ "all": "Alle",
+ "closeMultiSelect": "Mehrfachauswahl schließen (Esc)",
+ "clearMultiSelect": "Mehrfachauswahl leeren (Esc)",
+ "close": "Schließen",
+ "clear": "Leeren",
+ "restoreSelectedTitle": "Ausgewählte Aufgaben wiederherstellen (R)",
+ "deleteSelectedTitle": "Ausgewählte Aufgaben löschen (E)",
+ "clearSearch": "Suche löschen",
+ "clearFilters": "Filter löschen",
+ "count_one": "{{count}} archivierte Aufgabe",
+ "count_other": "{{count}} archivierte Aufgaben",
+ "matching": " passend zu „{{term}}“",
+ "filtersTitle": "Filter",
+ "sortArchivedDate": "Archivierungsdatum",
"sortName": "",
- "sortPriority": "",
- "sortDueDate": "",
- "noMatchTitle": "",
- "noMatchSearch": "",
- "noMatchFilters": "",
- "emptyTitle": "",
- "emptyDescription": "",
- "backToTasks": ""
+ "sortPriority": "Priorität",
+ "sortDueDate": "Fälligkeitsdatum",
+ "noMatchTitle": "Keine passenden archivierten Aufgaben",
+ "noMatchSearch": "Im Archiv gibt es keine Treffer für „{{term}}“.",
+ "noMatchFilters": "Es gibt archivierte Aufgaben, aber keine entspricht den aktuellen Filtern.",
+ "emptyTitle": "Keine archivierten Aufgaben",
+ "emptyDescription": "Durch Archivieren wird eine Aufgabe ausgeblendet, ohne sie zu löschen. Alles, was du aus deiner Aufgabenliste archivierst, erscheint hier und kann jederzeit wiederhergestellt werden.",
+ "backToTasks": "Zurück zu den Aufgaben"
},
"edit": {
- "deleteConfirm": ""
+ "deleteConfirm": "Möchtest du diese Aufgabe wirklich löschen?"
},
"list": {
- "complete": "",
- "filterSaved": "",
- "filterSavedMsg": "",
- "nothingScheduled": "",
- "createChore": "",
- "filterUpdated": "",
- "filterUpdatedMsg": "",
- "advancedFilterCreated": "",
- "advancedFilterCreatedMsg": "",
- "reject": "",
- "pending": "",
- "schedule": "",
- "nudge": ""
+ "complete": "Abschließen",
+ "filterSaved": "Filter gespeichert",
+ "filterSavedMsg": "„{{name}}“ wurde gespeichert",
+ "nothingScheduled": "Nichts geplant",
+ "createChore": "Neue Aufgabe erstellen (Cmd+C)",
+ "filterUpdated": "Filter aktualisiert",
+ "filterUpdatedMsg": "„{{name}}“ wurde erfolgreich aktualisiert",
+ "advancedFilterCreated": "Erweiterter Filter erstellt",
+ "advancedFilterCreatedMsg": "„{{name}}“ wurde erfolgreich erstellt",
+ "reject": "Ablehnen",
+ "pending": "Ausstehend",
+ "schedule": "Zeitplan",
+ "nudge": "Erinnerung"
},
"multiToolbar": {
- "skip": "",
- "completeTitle": "",
- "complete": "",
- "skipTitle": "",
- "archiveTitle": "",
- "archive": "",
- "deleteTitle": "",
- "mixed": "",
- "due": "",
- "dueTitleSet": "",
- "dueTitleEmpty": "",
- "presetToday": "",
- "presetTomorrow": "",
- "presetNextWeek": "",
- "pickDate": "",
- "noDueDate": "",
- "moveTitle": "",
- "move": "",
- "defaultProject": "",
- "moreTitle": "",
- "more": "",
- "priority": "",
- "assignee": "",
- "labels": "",
- "labelsHint": "",
- "done": "",
- "noPriority": ""
+ "skip": "Überspringen",
+ "completeTitle": "Ausgewählte Aufgaben abschließen (Eingabetaste)",
+ "complete": "Abschließen",
+ "skipTitle": "Ausgewählte Aufgaben überspringen (/)",
+ "archiveTitle": "Ausgewählte Aufgaben archivieren (X)",
+ "archive": "Archivieren",
+ "deleteTitle": "Ausgewählte Aufgaben löschen (Umschalt+X)",
+ "mixed": "Gemischt",
+ "due": "Fällig",
+ "dueTitleSet": "Fälligkeitsdatum der ausgewählten Aufgaben: {{value}}",
+ "dueTitleEmpty": "Fälligkeitsdatum für ausgewählte Aufgaben festlegen",
+ "presetToday": "Heute",
+ "presetTomorrow": "Morgen",
+ "presetNextWeek": "Nächste Woche",
+ "pickDate": "Datum auswählen…",
+ "noDueDate": "Kein Fälligkeitsdatum",
+ "moveTitle": "Ausgewählte Aufgaben in ein Projekt verschieben",
+ "move": "Verschieben",
+ "defaultProject": "Standardprojekt",
+ "moreTitle": "Priorität, Zuweisung oder Beschriftungen festlegen",
+ "more": "Mehr",
+ "priority": "Priorität",
+ "assignee": "Zugewiesene Person",
+ "labels": "Beschriftungen",
+ "labelsHint": "Tippen zum Hinzufügen · erneut tippen zum Entfernen",
+ "done": "Fertig",
+ "noPriority": "Keine"
},
"remind": {
- "title": "",
- "remind": "",
- "onDueDate": "",
- "unitMin": "",
- "unitHr": "",
- "unitDay": "",
+ "title": "Erinnerungen",
+ "remind": "Erinnern",
+ "onDueDate": "Am Fälligkeitsdatum",
+ "unitMin": "Min",
+ "unitHr": "Std",
+ "unitDay": "Tag",
"duration_one": "",
- "duration_other": "",
- "before": "",
- "after": "",
- "reminder_one": "",
- "reminder_other": "",
- "removeAria": ""
+ "duration_other": "{{count}} {{unit}}",
+ "before": "vorher",
+ "after": "danach",
+ "reminder_one": "{{count}} Erinnerung",
+ "reminder_other": "{{count}} Erinnerungen",
+ "removeAria": "Erinnerungen entfernen"
},
"assignee": {
- "anyone": ""
+ "anyone": "Jeder"
},
"filterChip": {
- "cancelAll": "",
- "unpin": "",
- "pin": "",
- "edit": "",
- "delete": ""
+ "cancelAll": "Alle Filter aufheben",
+ "unpin": "Filter lösen",
+ "pin": "Filter anheften",
+ "edit": "Filter bearbeiten",
+ "delete": "Filter löschen"
},
"multiSelect": {
- "showShortcuts": "",
- "title": "",
- "selection": "",
- "selectAll": "",
- "clearOrExit": "",
- "actions": "",
- "markCompleted": "",
- "deleteSelected": "",
- "interface": "",
- "quickAdd": "",
- "helpDescription": "",
- "gotIt": ""
+ "showShortcuts": "Tastenkürzel anzeigen",
+ "title": "Mehrfachauswahl",
+ "selection": "Auswahl",
+ "selectAll": "Alle sichtbaren Aufgaben auswählen",
+ "clearOrExit": "Auswahl leeren oder Mehrfachauswahl beenden",
+ "actions": "Aktionen",
+ "markCompleted": "Ausgewählte Aufgaben als abgeschlossen markieren",
+ "deleteSelected": "Ausgewählte Aufgaben löschen",
+ "interface": "Oberfläche",
+ "quickAdd": "Neue Aufgabe schnell hinzufügen",
+ "helpDescription": "Nutze diese Tastenkombinationen, um effizienter zu arbeiten.",
+ "gotIt": "Verstanden"
},
"notifications": {
- "needTitle": "",
- "needBody": "",
- "keepDisabled": ""
+ "needTitle": "Benachrichtigungen aktivieren?",
+ "needBody": "Du musst die Berechtigung für Benachrichtigungen aktivieren. Möchtest du sie jetzt aktivieren?",
+ "keepDisabled": "Nein, deaktiviert lassen"
},
"assigneeCard": {
- "loading": "",
- "title": "",
- "scheduled": "",
- "pendingReview": "",
- "emptyTitle": "",
- "emptyDescription": ""
+ "loading": "Aufgaben nach zugewiesener Person werden geladen...",
+ "title": "Aufgaben nach zugewiesener Person",
+ "scheduled": "Geplant",
+ "pendingReview": "Prüfung ausstehend",
+ "emptyTitle": "Noch niemand hat Aufgaben",
+ "emptyDescription": "Weise jemandem in deinem Kreis eine Aufgabe zu, und die Auslastung erscheint hier."
},
"filter": {
"status": {
- "inProgress": ""
+ "inProgress": "In Bearbeitung"
}
},
"impersonate": {
- "viewAs": "",
- "switchTitle": "",
- "switchHint": "",
- "chooseUser": "",
- "changeUser": ""
+ "viewAs": "Aufgaben anzeigen als",
+ "switchTitle": "Zur Benutzeransicht wechseln",
+ "switchHint": "Die Aufgaben werden gefiltert und zeigen nur Zuweisungen für den ausgewählten Benutzer",
+ "chooseUser": "Benutzer auswählen",
+ "changeUser": "Benutzer wechseln"
},
"modals": {
- "changeDueDate": "",
- "completePast": "",
- "delegate": "",
- "selectPerformer": "",
- "addNote": "",
- "complete": ""
+ "changeDueDate": "Fälligkeitsdatum ändern",
+ "completePast": "Aufgabe speichern, die du in der Vergangenheit abgeschlossen hast",
+ "delegate": "An jemand anderen delegieren",
+ "selectPerformer": "Ausführende Person auswählen",
+ "addNote": "Notiz zu diesem Abschluss hinzufügen:",
+ "complete": "Abschließen"
},
"shortcuts": {
- "allSelectedTitle": "",
- "someSelectedTitle": "",
- "allSelectedAltTitle": ""
+ "allSelectedTitle": "✅ Alle Aufgaben ausgewählt",
+ "someSelectedTitle": "🎯 Aufgaben ausgewählt",
+ "allSelectedAltTitle": "🎯 Alle Aufgaben ausgewählt"
},
"overview": {
- "title": "",
- "search": "",
- "newChore": "",
- "unassigned": "",
- "changeDueDate": "",
- "colDue": "",
- "colChore": "",
- "colAssignee": "",
- "colAction": ""
+ "title": "Aufgabenübersicht",
+ "search": "Suchen",
+ "newChore": "Neue Aufgabe",
+ "unassigned": "Nicht zugewiesen",
+ "changeDueDate": "Fälligkeitsdatum ändern",
+ "colDue": "Fällig",
+ "colChore": "Aufgabe",
+ "colAssignee": "Zugewiesene Person",
+ "colAction": "Aktion"
},
"dataError": {
- "attachmentsFailed": ""
+ "attachmentsFailed": "Anhänge konnten nicht abgerufen werden"
},
"nudge": {
- "title": "",
- "description": "",
- "customMessage": "",
- "messagePlaceholder": "",
- "notifyAll": "",
- "notifyAllHint": "",
- "selfHostedHeading": "",
- "selfHostedNotice": "",
- "selfHostedFollowUp": ""
+ "title": "Erinnerung senden",
+ "description": "Sende eine sanfte Erinnerung an die Personen, denen diese Aufgabe zugewiesen ist.",
+ "customMessage": "Eigene Nachricht (optional)",
+ "messagePlaceholder": "Füge der Erinnerung eine persönliche Nachricht hinzu...",
+ "notifyAll": "Alle zugewiesenen Personen benachrichtigen",
+ "notifyAllHint": "Wenn aktiviert, werden alle Mitglieder benachrichtigt, die diese Aufgabe sehen können. Andernfalls erhält nur die zugewiesene Person die Erinnerung.",
+ "selfHostedHeading": "Achtung!",
+ "selfHostedNotice": "Diese Funktion ist in Donetick Cloud verfügbar! Da du eine selbst gehostete Instanz verwendest, benötigst du für Erinnerungen ein Google-Cloud-Konto sowie Firebase Cloud Messaging (FCM) und musst die Android- oder iOS-App selbst erstellen.",
+ "selfHostedFollowUp": "Wir aktualisieren dies, sobald wir einen einfacheren Weg für Selbst-Hoster finden, dies einzurichten."
},
"nfc": {
- "errWrite": "",
- "errUnsupported": "",
- "titleSuccess": "",
- "titleError": "",
- "titleWaiting": "",
- "subSuccess": "",
- "subWaiting": "",
- "subIdle": "",
- "tagUrl": "",
- "copyUrl": "",
- "autoComplete": "",
- "autoCompleteHint": "",
- "startingLabel": "",
- "writeTagButton": ""
+ "errWrite": "Fehler beim Schreiben auf den NFC-Tag. Bitte versuche es erneut.",
+ "errUnsupported": "NFC wird von diesem Browser nicht unterstützt. Kopiere die URL und schreibe sie mit einem kompatiblen Gerät auf einen NFC-Tag.",
+ "titleSuccess": "Tag beschrieben!",
+ "titleError": "Etwas ist schiefgelaufen",
+ "titleWaiting": "An NFC-Tag halten",
+ "subSuccess": "Dein NFC-Tag ist einsatzbereit.",
+ "subWaiting": "Halte dein Gerät in der Nähe des Tags, bis der Vorgang abgeschlossen ist.",
+ "subIdle": "Speichere den Link zu dieser Aufgabe auf einem beliebigen NFC-Tag.",
+ "tagUrl": "Tag-URL",
+ "copyUrl": "URL kopieren",
+ "autoComplete": "Beim Scannen automatisch abschließen",
+ "autoCompleteHint": "Aufgabe als erledigt markieren, wenn der Tag berührt wird",
+ "startingLabel": "Wird gestartet…",
+ "writeTagButton": "Tag beschreiben"
},
"duePicker": {
- "today": "",
- "tomorrow": "",
- "weekend": "",
- "nextWeek": "",
- "title": "",
- "apply": "",
- "remove": "",
- "quickDate": "",
- "quickTime": "",
- "nextMonth": "",
- "morning": "",
- "noon": "",
- "afternoon": "",
- "evening": "",
- "night": "",
- "customTime": "",
- "anytime": "",
- "specificTime": "",
- "due": "",
- "clearAria": ""
+ "today": "Heute",
+ "tomorrow": "Morgen",
+ "weekend": "Wochenende",
+ "nextWeek": "Nächste Woche",
+ "title": "Fälligkeitsdatum",
+ "apply": "Übernehmen",
+ "remove": "Entfernen",
+ "quickDate": "Schnellauswahl Datum",
+ "quickTime": "Schnellauswahl Uhrzeit",
+ "nextMonth": "Nächster Monat",
+ "morning": "Morgens",
+ "noon": "Mittags",
+ "afternoon": "Nachmittags",
+ "evening": "Abends",
+ "night": "Nachts",
+ "customTime": "Benutzerdefinierte Uhrzeit",
+ "anytime": "Beliebige Uhrzeit",
+ "specificTime": "Bestimmte Uhrzeit",
+ "due": "Fällig",
+ "clearAria": "Fälligkeitsdatum entfernen"
},
"attachmentPicker": {
- "attachments": "",
- "file_one": "",
- "file_other": "",
- "uploading": "",
- "scan": "",
- "photo": "",
- "image": "",
- "fileButton": "",
- "scanFailedTitle": "",
- "couldNotScanDocument": "",
- "couldNotReadScannedImage": ""
+ "attachments": "Anhänge",
+ "file_one": "{{count}} Datei",
+ "file_other": "{{count}} Dateien",
+ "uploading": "Wird hochgeladen…",
+ "scan": "Scannen",
+ "photo": "Foto",
+ "image": "Bild",
+ "fileButton": "Datei",
+ "scanFailedTitle": "Scan fehlgeschlagen",
+ "couldNotScanDocument": "Das Dokument konnte nicht gescannt werden.",
+ "couldNotReadScannedImage": "Das gescannte Bild konnte nicht gelesen werden."
},
"searchBar": {
- "placeholder": "",
- "clearAria": ""
+ "placeholder": "Donetick durchsuchen",
+ "clearAria": "Aufgabensuche zurücksetzen"
},
"subTask": {
- "namePlaceholder": "",
- "deleteShortcut": "",
- "addPlaceholder": ""
+ "namePlaceholder": "Aufgabenname...",
+ "deleteShortcut": "Löschen (Umschalt+Rücktaste)",
+ "addPlaceholder": "Neue Aufgabe hinzufügen... (Eingabetaste zum Hinzufügen)"
},
"voiceToTask": {
- "title": "",
- "onDevice": "",
- "micDeniedMessage": "",
- "tryAgain": "",
- "captionListeningLocked": "",
- "captionReleaseToFinish": "",
- "captionHoldToAddAnother": "",
- "captionHoldToSpeak": "",
- "listening": "",
- "stopListening": "",
- "startVoiceCapture": "",
- "hint": "",
- "anyone": "",
- "reminder_one": "",
- "reminder_other": "",
- "points": "",
+ "title": "Sprich deine Aufgaben",
+ "onDevice": "Auf dem Gerät",
+ "micDeniedMessage": "Für die Sprachaufnahme wird Mikrofonzugriff benötigt. Aktiviere ihn in deinen Geräteeinstellungen und versuche es erneut.",
+ "tryAgain": "Erneut versuchen",
+ "captionListeningLocked": "Wird aufgenommen — tippen zum Stoppen",
+ "captionReleaseToFinish": "Loslassen zum Beenden · kurzes Tippen sperrt Freisprechmodus",
+ "captionHoldToAddAnother": "Gedrückt halten, um eine weitere Aufgabe hinzuzufügen",
+ "captionHoldToSpeak": "Gedrückt halten zum Sprechen · kurzes Tippen für Freisprechmodus",
+ "listening": "Wird aufgenommen…",
+ "stopListening": "Aufnahme stoppen",
+ "startVoiceCapture": "Sprachaufnahme starten",
+ "hint": "Pausiere zwischen den Aufgaben · sag „das war falsch“, um die letzte zu entfernen",
+ "anyone": "Jeder",
+ "reminder_one": "{{count}} Erinnerung",
+ "reminder_other": "{{count}} Erinnerungen",
+ "points": "{{count}} Pkt.",
"frequency": {
- "everyN": "",
- "everyUnit": "",
- "daily": "",
- "weekly": "",
- "monthly": "",
- "yearly": "",
- "customDays": "",
- "repeats": ""
+ "everyN": "Alle {{count}} {{unit}}",
+ "everyUnit": "Jede(n) {{unit}}",
+ "daily": "Täglich",
+ "weekly": "Wöchentlich",
+ "monthly": "Monatlich",
+ "yearly": "Jährlich",
+ "customDays": "Benutzerdefinierte Tage",
+ "repeats": "Wiederholt sich"
}
},
"smartInput": {
- "selectPhoto": "",
- "scanToCreateTask": "",
- "speakToCreateTasks": ""
+ "selectPhoto": "Foto auswählen",
+ "scanToCreateTask": "Scannen, um Aufgabe zu erstellen",
+ "speakToCreateTasks": "Sprechen, um Aufgaben zu erstellen"
},
"photoTask": {
- "title": "",
- "cameraUnavailable": "",
- "uploadPhoto": "",
- "scanDocument": "",
- "capture": "",
- "processNatively": "",
- "processImage": "",
- "createTask": "",
- "failedScan": "",
- "retake": "",
- "upload": "",
- "keepAsAttachment": "",
- "altCaptured": "",
- "altProcessing": "",
- "taskIdentified": ""
- },
- "descriptionPlaceholder": "",
+ "title": "Foto scannen, um eine Aufgabe zu erstellen",
+ "cameraUnavailable": "Kamera nicht verfügbar",
+ "uploadPhoto": "Foto hochladen",
+ "scanDocument": "Dokument scannen",
+ "capture": "Aufnehmen",
+ "processNatively": "Auf dem Gerät verarbeiten",
+ "processImage": "Bild verarbeiten",
+ "createTask": "Aufgabe erstellen",
+ "failedScan": "Scan fehlgeschlagen",
+ "retake": "Erneut aufnehmen",
+ "upload": "Hochladen",
+ "keepAsAttachment": "Foto als Anhang behalten",
+ "altCaptured": "Erfasstes Dokument",
+ "altProcessing": "Verarbeitung läuft",
+ "taskIdentified": "Aufgabe erkannt"
+ },
+ "descriptionPlaceholder": "Beschreibung eingeben...",
"notificationTemplate": {
- "onDueDate": "",
+ "onDueDate": "Am Fälligkeitsdatum",
"timing": {
- "before": "",
- "ondue": "",
- "after": ""
+ "before": "Vorher",
+ "ondue": "Bei Fälligkeit",
+ "after": "Danach"
},
"unitName": {
- "m": "",
- "h": "",
- "d": ""
+ "m": "Minuten",
+ "h": "Stunden",
+ "d": "Tage"
},
"unitShort": {
- "m": "",
- "h": "",
- "d": ""
+ "m": "Min.",
+ "h": "Std.",
+ "d": "Tage"
},
- "beforeDue": "",
- "afterDue": "",
- "errDuplicate": "",
- "errOneDue": "",
- "errAllConfigured": "",
- "reminder": "",
- "dueAlert": "",
- "followUp": "",
- "rememberFuture": ""
+ "beforeDue": "{{count}} {{unit}} vor Fälligkeit",
+ "afterDue": "{{count}} {{unit}} nach Fälligkeit",
+ "errDuplicate": "Diese Benachrichtigungseinstellung ist bereits vorhanden. Bitte wähle einen anderen Zeitpunkt.",
+ "errOneDue": "Es ist nur eine Benachrichtigung „Bei Fälligkeit“ zulässig.",
+ "errAllConfigured": "Alle üblichen Zeitpunkte für {{type}} sind bereits konfiguriert.",
+ "reminder": "Erinnerung",
+ "dueAlert": "Fälligkeitshinweis",
+ "followUp": "Nachfassung",
+ "rememberFuture": "Für zukünftige Aufgaben merken"
},
"choreEdit": {
- "errNameRequired": "",
- "errFrequencyInvalid": "",
- "errSelectDayOfWeek": "",
- "errSelectDayOccurrence": "",
- "errSelectMonth": "",
- "errStartDateRequired": "",
- "errDueDateRequired": "",
- "errThingTrigger": "",
- "errTitle": "",
- "savedOfflineTitle": "",
- "savedOfflineMessage": "",
- "savedTitle": "",
- "savedMessage": "",
- "saveFailedTitle": "",
- "saveFailedMessage": "",
- "uploadFailedTitle": "",
- "uploadFailedMessage": "",
- "scanFailedTitle": "",
- "scanFailedMessage": "",
- "scanReadFailedMessage": "",
- "deleteFailedTitle": "",
- "deleteAttachmentFailed": "",
- "deleteChoreFailed": "",
- "deleteChoreTitle": "",
+ "errNameRequired": "Name ist erforderlich",
+ "errFrequencyInvalid": "Ungültige Häufigkeit: {{unit}} muss größer als 0 sein",
+ "errSelectDayOfWeek": "Bitte wähle mindestens einen Wochentag aus",
+ "errSelectDayOccurrence": "Bitte wähle mindestens ein Tagesvorkommen für den Monat aus",
+ "errSelectMonth": "Bitte wähle mindestens einen Monat aus",
+ "errStartDateRequired": "Startdatum ist erforderlich",
+ "errDueDateRequired": "Fälligkeitsdatum ist erforderlich",
+ "errThingTrigger": "Ding-Auslöser ist ungültig",
+ "errTitle": "Bitte behebe die folgenden Fehler:",
+ "savedOfflineTitle": "Offline gespeichert",
+ "savedOfflineMessage": "Deine Änderungen werden synchronisiert, sobald du wieder online bist.",
+ "savedTitle": "Aufgabe gespeichert",
+ "savedMessage": "Deine Aufgabe wurde erfolgreich gespeichert!",
+ "saveFailedTitle": "Speichern fehlgeschlagen",
+ "saveFailedMessage": "Aufgabe konnte nicht gespeichert werden. Bitte versuche es erneut.",
+ "uploadFailedTitle": "Hochladen fehlgeschlagen",
+ "uploadFailedMessage": "Anhang konnte nicht hochgeladen werden.",
+ "scanFailedTitle": "Scannen fehlgeschlagen",
+ "scanFailedMessage": "Das Dokument konnte nicht gescannt werden.",
+ "scanReadFailedMessage": "Das gescannte Bild konnte nicht gelesen werden.",
+ "deleteFailedTitle": "Löschen fehlgeschlagen",
+ "deleteAttachmentFailed": "Anhang konnte nicht gelöscht werden.",
+ "deleteChoreFailed": "Aufgabe konnte nicht gelöscht werden: {{error}}",
+ "deleteChoreTitle": "Aufgabe löschen",
"name": "",
- "nameDesc": "",
- "description": "",
- "descriptionDesc": "",
- "priority": "",
- "priorityDesc": "",
- "noPriority": "",
- "project": "",
- "projectDesc": "",
- "defaultProject": "",
- "labels": "",
- "labelsDesc": "",
- "addNewLabel": "",
- "subTasks": "",
- "attachments": "",
- "attachmentsDesc": "",
- "uploadFile": "",
- "scan": "",
- "assignees": "",
- "assigneesDesc": "",
- "anyone": "",
- "rememberFuture": "",
- "currentlyAssigned": "",
- "currentlyAssignedDesc": "",
- "noAssigneesPlaceholder": "",
- "selectAssigneePlaceholder": "",
- "assignStrategy": "",
- "assignStrategyDesc": "",
+ "nameDesc": "Wie heißt diese Aufgabe?",
+ "description": "Beschreibung",
+ "descriptionDesc": "Worum geht es bei dieser Aufgabe?",
+ "priority": "Priorität",
+ "priorityDesc": "Wie wichtig ist diese Aufgabe?",
+ "noPriority": "Keine Priorität",
+ "project": "Projekt",
+ "projectDesc": "Zu welchem Projekt gehört diese Aufgabe?",
+ "defaultProject": "Standardprojekt",
+ "labels": "Beschriftungen",
+ "labelsDesc": "Hinweise zu dieser Aufgabe oder Schlagwörter zur Kennzeichnung",
+ "addNewLabel": "Neue Beschriftung hinzufügen",
+ "subTasks": "Unteraufgaben",
+ "attachments": "Anhänge",
+ "attachmentsDesc": "An diese Aufgabe angehängte Dateien",
+ "uploadFile": "Datei hochladen",
+ "scan": "Scannen",
+ "assignees": "Zugewiesene Personen",
+ "assigneesDesc": "Wer kann diese Aufgabe erledigen?",
+ "anyone": "Jeder",
+ "rememberFuture": "Für zukünftige Aufgaben merken",
+ "currentlyAssigned": "Aktuell zugewiesen an",
+ "currentlyAssignedDesc": "Wer ist für die nächste Fälligkeit zuständig?",
+ "noAssigneesPlaceholder": "Noch keine Personen können diese Aufgabe ausführen",
+ "selectAssigneePlaceholder": "Person für diese Aufgabe auswählen",
+ "assignStrategy": "Zuweisungsstrategie",
+ "assignStrategyDesc": "Wie soll die nächste zuständige Person für diese Aufgabe ausgewählt werden?",
"strategy": {
- "random": "",
- "least_assigned": "",
- "least_completed": "",
- "keep_last_assigned": "",
- "random_except_last_assigned": "",
- "round_robin": "",
- "no_assignee": ""
+ "random": "Zufällig",
+ "least_assigned": "Am seltensten zugewiesen",
+ "least_completed": "Am wenigsten abgeschlossen",
+ "keep_last_assigned": "Letzte Zuweisung beibehalten",
+ "random_except_last_assigned": "Zufällig, außer zuletzt zugewiesen",
+ "round_robin": "Reihum",
+ "no_assignee": "Keine Zuweisung"
},
- "startDate": "",
- "dueDate": "",
- "triggerDueHint": "",
- "giveDueDate": "",
- "giveDueDateHelp": "",
- "startWhen": "",
- "dueWhen": "",
- "setSpecificTime": "",
- "dueAtSpecifiedTime": "",
- "dueEndOfDay": "",
- "timeLabel": "",
- "taskWindow": "",
- "taskWindowDesc": "",
- "earliestCompletion": "",
- "earliestCompletionHelp": "",
- "hoursLabel": "",
- "hoursPlaceholder": "",
- "afterDueDate": "",
- "schedulingPrefs": "",
- "schedulingPrefsDesc": "",
- "rescheduleFromDue": "",
- "rescheduleFromDueHelp": "",
- "rescheduleFromCompletion": "",
- "rescheduleFromCompletionHelp": "",
- "notifications": "",
- "notificationsPlanWarning": "",
- "notifyForTask": "",
- "notifyForTaskHelp": "",
- "notificationSchedule": "",
- "whoToNotify": "",
- "allAssignees": "",
- "allAssigneesHelp": "",
- "specificGroup": "",
- "specificGroupHelp": "",
- "telegramGroupIdLabel": "",
- "telegramGroupIdPlaceholder": "",
- "taskSettings": "",
- "pointsSystem": "",
- "assignPoints": "",
- "assignPointsHelp": "",
- "pointsLabel": "",
- "pointsPlaceholder": "",
- "approvalRequirement": "",
- "requireApproval": "",
- "requireApprovalHelp": "",
- "privacySettings": "",
- "privacyDesc": "",
- "public": "",
- "publicHelp": "",
- "limited": "",
- "limitedHelp": "",
- "limitedDisabledHint": "",
- "createdBy": "",
- "updatedBy": "",
- "archive": "",
- "unarchive": "",
- "create": ""
+ "startDate": "Startdatum",
+ "dueDate": "Fälligkeitsdatum",
+ "triggerDueHint": "Das Fälligkeitsdatum wird gesetzt, sobald der Auslöser des Dings erfüllt ist",
+ "giveDueDate": "Fälligkeitsdatum für diese Aufgabe festlegen",
+ "giveDueDateHelp": "Die Aufgabe muss bis zu einem bestimmten Zeitpunkt abgeschlossen sein",
+ "startWhen": "Wann beginnt diese Aufgabe?",
+ "dueWhen": "Wann ist diese Aufgabe das erste Mal fällig?",
+ "setSpecificTime": "Bestimmte Uhrzeit festlegen",
+ "dueAtSpecifiedTime": "Die Aufgabe ist zur angegebenen Uhrzeit fällig",
+ "dueEndOfDay": "Die Aufgabe ist am Ende des Tages fällig (23:59 Uhr)",
+ "timeLabel": "Uhrzeit:",
+ "taskWindow": "Aufgabenzeitfenster",
+ "taskWindowDesc": "Lege fest, wann diese Aufgabe erledigt werden kann und wann sie verfällt",
+ "earliestCompletion": "Frühesten Abschlusszeitpunkt festlegen",
+ "earliestCompletionHelp": "Die Aufgabe kann X Stunden vor dem Fälligkeitsdatum erledigt werden",
+ "hoursLabel": "Stunden:",
+ "hoursPlaceholder": "Stunden",
+ "afterDueDate": "nach dem Fälligkeitsdatum",
+ "schedulingPrefs": "Planungseinstellungen",
+ "schedulingPrefsDesc": "Wie soll das nächste Fälligkeitsdatum berechnet werden?",
+ "rescheduleFromDue": "Vom Fälligkeitsdatum aus neu planen",
+ "rescheduleFromDueHelp": "Die nächste Aufgabe wird vom ursprünglichen Fälligkeitsdatum aus geplant, auch wenn die vorherige Aufgabe verspätet abgeschlossen wurde",
+ "rescheduleFromCompletion": "Vom Abschlussdatum aus neu planen",
+ "rescheduleFromCompletionHelp": "Die nächste Aufgabe wird vom tatsächlichen Abschlussdatum der vorherigen Aufgabe aus geplant",
+ "notifications": "Benachrichtigungen",
+ "notificationsPlanWarning": "Aufgabenbenachrichtigungen sind im Basic-Tarif nicht verfügbar. Wechsle zu Plus, um Erinnerungen zu erhalten, wenn Aufgaben fällig oder abgeschlossen sind.",
+ "notifyForTask": "Für diese Aufgabe benachrichtigen",
+ "notifyForTaskHelp": "Wann sollen Benachrichtigungen für diese Aufgabe gesendet werden?",
+ "notificationSchedule": "Benachrichtigungszeitplan",
+ "whoToNotify": "Wer soll benachrichtigt werden?",
+ "allAssignees": "Alle zugewiesenen Personen",
+ "allAssigneesHelp": "Alle zugewiesenen Personen benachrichtigen",
+ "specificGroup": "Bestimmte Gruppe",
+ "specificGroupHelp": "Eine bestimmte Gruppe benachrichtigen",
+ "telegramGroupIdLabel": "Telegram-Gruppen-ID:",
+ "telegramGroupIdPlaceholder": "Telegram-Gruppen-ID",
+ "taskSettings": "Aufgabeneinstellungen:",
+ "pointsSystem": "Punktesystem",
+ "assignPoints": "Punkte für den Abschluss vergeben",
+ "assignPointsHelp": "Vergib Punkte für diese Aufgabe. Benutzer erhalten die Punkte, wenn sie die Aufgabe abschließen",
+ "pointsLabel": "Punkte:",
+ "pointsPlaceholder": "Punkte",
+ "approvalRequirement": "Genehmigung erforderlich",
+ "requireApproval": "Genehmigung durch Administrator erforderlich",
+ "requireApprovalHelp": "Diese Aufgabe muss von einem Administrator genehmigt werden, bevor sie als abgeschlossen gilt",
+ "privacySettings": "Sichtbarkeitseinstellungen",
+ "privacyDesc": "Wer kann diese Aufgabe sehen?",
+ "public": "Öffentlich",
+ "publicHelp": "Alle in deinem Kreis",
+ "limited": "Eingeschränkt",
+ "limitedHelp": "Du und andere Personen, denen die Aufgabe zugewiesen ist",
+ "limitedDisabledHint": " (Keine Personen ausgewählt; die Option „Eingeschränkt“ ist deaktiviert)",
+ "createdBy": "Erstellt von",
+ "updatedBy": "Aktualisiert von",
+ "archive": "Archivieren",
+ "unarchive": "Archivierung aufheben",
+ "create": "Erstellen"
},
"addTask": {
- "title": "",
- "defaultProject": "",
- "anyone": "",
- "taskPlaceholder": "",
- "descriptionChip": "",
- "subtasksChip": "",
- "creating": "",
- "createCount": "",
- "useTask": "",
- "processing": "",
- "create": ""
+ "title": "Neue Aufgabe erstellen",
+ "defaultProject": "Standardprojekt",
+ "anyone": "Jeder",
+ "taskPlaceholder": "Aufgabe eingeben...",
+ "descriptionChip": "Beschreibung",
+ "subtasksChip": "Unteraufgaben",
+ "creating": "Wird erstellt…",
+ "createCount": "{{count}} Aufgaben erstellen",
+ "useTask": "Aufgabe übernehmen",
+ "processing": "Verarbeitung läuft",
+ "create": "Erstellen"
},
"repeat": {
"days": {
- "monday": "",
- "tuesday": "",
- "wednesday": "",
- "thursday": "",
- "friday": "",
- "saturday": "",
- "sunday": ""
+ "monday": "Montag",
+ "tuesday": "Dienstag",
+ "wednesday": "Mittwoch",
+ "thursday": "Donnerstag",
+ "friday": "Freitag",
+ "saturday": "Samstag",
+ "sunday": "Sonntag"
},
"months": {
- "january": "",
- "february": "",
- "march": "",
+ "january": "Januar",
+ "february": "Februar",
+ "march": "März",
"april": "",
- "may": "",
- "june": "",
- "july": "",
+ "may": "Mai",
+ "june": "Juni",
+ "july": "Juli",
"august": "",
"september": "",
- "october": "",
+ "october": "Oktober",
"november": "",
- "december": ""
+ "december": "Dezember"
},
"freqType": {
- "daily": "",
- "weekly": "",
- "monthly": "",
- "yearly": "",
- "adaptive": "",
- "custom": ""
+ "daily": "Täglich",
+ "weekly": "Wöchentlich",
+ "monthly": "Monatlich",
+ "yearly": "Jährlich",
+ "adaptive": "Adaptiv",
+ "custom": "Benutzerdefiniert"
},
"freqMessage": {
- "adaptive": "",
- "custom": ""
+ "adaptive": "Diese Aufgabe wird dynamisch anhand vorheriger Abschlussdaten geplant.",
+ "custom": "Diese Aufgabe wird anhand einer benutzerdefinierten Häufigkeit geplant."
},
"weekPattern": {
- "every_week": "",
- "week_of_month": ""
+ "every_week": "Jede Woche",
+ "week_of_month": "Bestimmte Vorkommen im Monat"
},
"weekPatternHelp": {
- "every_week": "",
- "week_of_month": ""
+ "every_week": "Die Aufgabe wiederholt sich jede Woche an den ausgewählten Tagen",
+ "week_of_month": "Die Aufgabe wiederholt sich an bestimmten Wochentagsvorkommen jedes Monats (z. B. 1. Montag, 3. Freitag)"
},
"occurrence": {
- "1": "",
- "2": "",
- "3": "",
- "4": "",
- "last": ""
+ "1": "1. Vorkommen",
+ "2": "2. Vorkommen",
+ "3": "3. Vorkommen",
+ "4": "4. Vorkommen",
+ "last": "Letztes Vorkommen"
},
"ordinal": {
- "1": "",
- "2": "",
- "3": "",
- "4": "",
- "last": ""
+ "1": "1.",
+ "2": "2.",
+ "3": "3.",
+ "4": "4.",
+ "last": "letzter"
},
"unit": {
- "hours": "",
- "days": "",
- "weeks": "",
- "months": "",
- "years": ""
+ "hours": "Stunden",
+ "days": "Tage",
+ "weeks": "Wochen",
+ "months": "Monate",
+ "years": "Jahre"
},
"repeatOnType": {
- "interval": "",
- "days_of_the_week": "",
- "day_of_the_month": ""
+ "interval": "Intervall",
+ "days_of_the_week": "Wochentage",
+ "day_of_the_month": "Tag des Monats"
},
- "timeOfDay": "",
- "every": "",
- "unitPlaceholder": "",
- "selectAll": "",
- "unselectAll": "",
- "selectOccurrences": "",
- "occurrenceExample": "",
- "onThe": "",
- "ofAboveMonths": "",
- "title": "",
- "repeatThisTask": "",
- "repeatThisTaskHelp": "",
- "howOften": "",
- "repeatOn": "",
- "triggerLabel": "",
- "triggerHelp": "",
- "triggerPlanWarning": "",
- "previewEvery": "",
- "previewOccurrence": "",
- "defaultTime": "",
+ "timeOfDay": "Tageszeit: ",
+ "every": "Alle: ",
+ "unitPlaceholder": "Einheit",
+ "selectAll": "Alle auswählen",
+ "unselectAll": "Auswahl aufheben",
+ "selectOccurrences": "Wähle die Vorkommen der ausgewählten Tage aus:",
+ "occurrenceExample": "Beispiel: „1. Montag“ bedeutet den ersten Montag jedes Monats",
+ "onThe": "am ",
+ "ofAboveMonths": "der oben ausgewählten Monate",
+ "title": "Wiederholen:",
+ "repeatThisTask": "Diese Aufgabe wiederholen",
+ "repeatThisTaskHelp": "Muss diese Aufgabe regelmäßig erledigt werden?",
+ "howOften": "Wie oft soll sie wiederholt werden?",
+ "repeatOn": "Wiederholen an:",
+ "triggerLabel": "Diese Aufgabe anhand des Zustands eines Dings auslösen",
+ "triggerHelp": "Soll diese Aufgabe ausgeführt werden, wenn sich der Zustand eines Dings ändert?",
+ "triggerPlanWarning": "Auf Dingen basierende Auslöser sind im Basic-Tarif nicht verfügbar. Wechsle zu Plus, um Aufgaben automatisch auszulösen, wenn sich Gerätezustände ändern.",
+ "previewEvery": "Jeden {{days}} um {{time}}",
+ "previewOccurrence": "Jeden {{occurrences}} {{days}} des Monats um {{time}}",
+ "defaultTime": "18:00",
"daysShort": {
- "monday": "",
- "tuesday": "",
- "wednesday": "",
- "thursday": "",
- "friday": "",
- "saturday": "",
- "sunday": ""
+ "monday": "Mo",
+ "tuesday": "Di",
+ "wednesday": "Mi",
+ "thursday": "Do",
+ "friday": "Fr",
+ "saturday": "Sa",
+ "sunday": "So"
},
"monthsShort": {
"january": "",
"february": "",
- "march": "",
+ "march": "Mär",
"april": "",
- "may": "",
+ "may": "Mai",
"june": "",
"july": "",
"august": "",
"september": "",
- "october": "",
+ "october": "Okt",
"november": "",
- "december": ""
+ "december": "Dez"
},
"occurrenceShort": {
- "1": "",
- "2": "",
- "3": "",
- "4": "",
- "last": ""
+ "1": "1.",
+ "2": "2.",
+ "3": "3.",
+ "4": "4.",
+ "last": "Letztes"
},
"picker": {
- "modalTitle": "",
- "trigger": "",
- "clearAria": "",
- "remove": "",
- "apply": "",
- "frequency": "",
- "scheduleType": "",
- "timeOfDay": "",
- "repeatEvery": "",
- "days": "",
- "pattern": "",
- "everyWeek": "",
- "specificWeeks": "",
- "occurrences": "",
- "months": "",
- "dayOfMonth": ""
+ "modalTitle": "Wiederholungsplan",
+ "trigger": "Wiederholen",
+ "clearAria": "Wiederholungsplan löschen",
+ "remove": "Entfernen",
+ "apply": "Übernehmen",
+ "frequency": "Häufigkeit",
+ "scheduleType": "Planungstyp",
+ "timeOfDay": "Tageszeit",
+ "repeatEvery": "Wiederholen alle",
+ "days": "Tage",
+ "pattern": "Muster",
+ "everyWeek": "Jede Woche",
+ "specificWeeks": "Bestimmte Wochen",
+ "occurrences": "Vorkommen",
+ "months": "Monate",
+ "dayOfMonth": "Tag des Monats"
}
},
"advancedOptions": {
- "points": "",
- "pointsDescription": "",
- "requireApproval": "",
- "requireApprovalDescription": "",
- "limitedVisibility": "",
- "limitedVisibilityDisabled": "",
- "limitedVisibilityDescription": "",
- "assignStrategy": "",
- "assignStrategyDescription": "",
- "availableFrom": "",
- "availableFromDescription": "",
+ "points": "Punkte",
+ "pointsDescription": "Punkte für den Abschluss dieser Aufgabe vergeben",
+ "requireApproval": "Genehmigung erforderlich",
+ "requireApprovalDescription": "Die Aufgabe muss von einem Administrator bestätigt werden, bevor sie abgeschlossen werden kann",
+ "limitedVisibility": "Eingeschränkte Sichtbarkeit",
+ "limitedVisibilityDisabled": "Weise jemanden zu, um die eingeschränkte Sichtbarkeit zu aktivieren",
+ "limitedVisibilityDescription": "Nur du und zugewiesene Personen können diese Aufgabe sehen",
+ "assignStrategy": "Zuweisungsstrategie",
+ "assignStrategyDescription": "Wie bei jeder Wiederholung die nächste zuständige Person ausgewählt wird",
+ "availableFrom": "Verfügbar ab",
+ "availableFromDescription": "Stunden vor dem Fälligkeitsdatum, ab denen die Aufgabe verfügbar ist",
"strategy": {
- "keep_last_assigned": "",
- "random": "",
- "least_completed": "",
- "round_robin": ""
+ "keep_last_assigned": "Gleiche Zuweisung beibehalten",
+ "random": "Zufällig",
+ "least_completed": "Am wenigsten abgeschlossen",
+ "round_robin": "Reihum"
},
- "hrs": "",
- "setDueDateHint": "",
- "more": ""
+ "hrs": "Std.",
+ "setDueDateHint": "Lege ein Fälligkeitsdatum fest, um das Abschlusszeitfenster zu konfigurieren",
+ "more": "Mehr"
},
"filterBuilder": {
"dueDateOption": {
- "isOverdue": "",
- "isDueToday": "",
- "isDueTomorrow": "",
- "isDueThisWeek": "",
- "isDueThisMonth": "",
- "hasNoDueDate": "",
- "hasDueDate": ""
+ "isOverdue": "Überfällig",
+ "isDueToday": "Heute",
+ "isDueTomorrow": "Morgen",
+ "isDueThisWeek": "Diese Woche",
+ "isDueThisMonth": "Diesen Monat",
+ "hasNoDueDate": "Kein Fälligkeitsdatum",
+ "hasDueDate": "Mit Fälligkeitsdatum"
},
"status": {
- "0": "",
- "1": "",
- "2": "",
- "3": ""
+ "0": "Aktiv",
+ "1": "Gestartet",
+ "2": "In Bearbeitung",
+ "3": "Genehmigung ausstehend"
},
- "include": "",
- "exclude": "",
- "has": "",
- "doesntHave": "",
- "assignee": "",
- "createdBy": "",
+ "include": "Einschließen",
+ "exclude": "Ausschließen",
+ "has": "Hat",
+ "doesntHave": "Hat nicht",
+ "assignee": "Zugewiesene Person",
+ "createdBy": "Erstellt von",
"statusHeading": "",
- "priority": "",
- "dueDate": "",
- "labels": "",
- "projects": "",
- "defaultProject": "",
- "points": "",
- "project": "",
+ "priority": "Priorität",
+ "dueDate": "Fälligkeitsdatum",
+ "labels": "Beschriftungen",
+ "projects": "Projekte",
+ "defaultProject": "Standardprojekt",
+ "points": "Punkte",
+ "project": "Projekt",
"filterFallback": "",
- "notPrefix": "",
- "customDueDate": "",
- "clear": ""
+ "notPrefix": "Nicht ",
+ "customDueDate": "Benutzerdefiniert",
+ "clear": "Leeren"
},
"empty": {
- "errorTitle": "",
- "errorDescription": "",
- "errorAction": "",
- "noTasksTitle": "",
- "noTasksDescription": "",
- "createTask": "",
- "moreOptions": "",
- "noMatchTitle": "",
- "noMatchSearch": "",
- "noMatchFilters": "",
- "clearSearch": "",
- "showEveryone": "",
- "clearFilters": "",
- "projectTitle": "",
- "projectDescription": "",
- "addTaskHere": "",
- "seeOutsideProjects": "",
- "noProjectTitle": "",
- "noProjectDescription": "",
- "dayFreeDescription": "",
- "addTask": "",
+ "errorTitle": "Donetick ist nicht erreichbar",
+ "errorDescription": "Deine Aufgaben sind sicher. Sie konnten gerade nur nicht geladen werden. Prüfe deine Verbindung und versuche es erneut.",
+ "errorAction": "Erneut versuchen",
+ "noTasksTitle": "Noch keine Aufgaben",
+ "noTasksDescription": "Erstelle deine erste Aufgabe. Donetick behält im Blick, wann sie fällig ist, wer an der Reihe ist und was als Nächstes kommt.",
+ "createTask": "Aufgabe erstellen",
+ "moreOptions": "Weitere Optionen",
+ "noMatchTitle": "Keine Aufgaben passen zu dieser Ansicht",
+ "noMatchSearch": "Keine Treffer für „{{term}}“. Versuche eine andere Suche oder entferne Einschränkungen der Liste.",
+ "noMatchFilters": "Du hast Aufgaben, aber keine davon entspricht den aktuell gesetzten Filtern.",
+ "clearSearch": "Suche löschen",
+ "showEveryone": "Aufgaben aller anzeigen",
+ "clearFilters": "Filter löschen",
+ "projectTitle": "Noch nichts in {{name}}",
+ "projectDescription": "Aufgaben, die du diesem Projekt hinzufügst, erscheinen hier. Deine anderen Aufgaben bleiben dort, wo sie sind.",
+ "addTaskHere": "Hier eine Aufgabe hinzufügen",
+ "seeOutsideProjects": "Aufgaben außerhalb von Projekten anzeigen",
+ "noProjectTitle": "Hier sind noch keine Aufgaben",
+ "noProjectDescription": "Aufgaben, die zu keinem Projekt gehören, erscheinen hier. Füge eine hinzu oder wechsle das Projekt, um dessen Aufgaben zu sehen.",
+ "dayFreeDescription": "Dieser Tag ist frei. Füge eine Aufgabe hinzu, wenn du hier etwas einplanen möchtest.",
+ "addTask": "Aufgabe hinzufügen",
"assignee": {
- "assigned_to_me": "",
- "available_for_me": "",
- "assigned_to_others": "",
- "assigned_to_me_tasks": "",
- "created_by_me": ""
+ "assigned_to_me": "Hier gibt es Aufgaben, aber keine davon ist dir zugewiesen. Wechsle zurück zu „Alle“, um die übrigen zu sehen.",
+ "available_for_me": "Hier gibt es Aufgaben, aber keine davon steht dir zur Übernahme zur Verfügung. Wechsle zurück zu „Alle“, um die übrigen zu sehen.",
+ "assigned_to_others": "Hier gibt es Aufgaben, aber keine davon ist jemand anderem zugewiesen. Wechsle zurück zu „Alle“, um die übrigen zu sehen.",
+ "assigned_to_me_tasks": "Hier gibt es Aufgaben, aber keine davon ist dir zugewiesen. Wechsle zurück zu „Alle“, um die übrigen zu sehen.",
+ "created_by_me": "Hier gibt es Aufgaben, aber keine davon wurde von dir erstellt. Wechsle zurück zu „Alle“, um die übrigen zu sehen."
}
},
"choreCard": {
- "anyone": ""
+ "anyone": "Jeder"
},
"calendarCard": {
- "title": "",
- "highPriority": "",
- "mediumPriority": "",
- "lowPriority": "",
- "lowestPriority": "",
- "noPriority": "",
- "assignedToOther": "",
- "tasksCount": ""
+ "title": "Kalenderübersicht",
+ "highPriority": "Hohe Priorität",
+ "mediumPriority": "Mittlere Priorität",
+ "lowPriority": "Niedrige Priorität",
+ "lowestPriority": "Niedrigste Priorität",
+ "noPriority": "Keine Priorität",
+ "assignedToOther": "Anderer Person zugewiesen",
+ "tasksCount": "{{count}} Aufgaben"
},
"activitiesCard": {
- "justNow": "",
- "hoursAgo": "",
- "daysAgo": "",
- "statusStarted": "",
- "statusDone": "",
- "statusLate": "",
- "statusSkipped": "",
- "statusPendingApproval": "",
- "statusRejected": "",
- "statusMissed": "",
- "statusRescheduled": "",
- "statusCompleted": "",
- "byUser": "",
- "unknownUser": "",
- "unknownChore": "",
- "pointsShort": "",
- "noRecentActivities": "",
- "today": "",
- "yesterday": "",
- "noteTitle": ""
+ "justNow": "Gerade eben",
+ "hoursAgo": "vor {{count}} Std.",
+ "daysAgo": "vor {{count}} T.",
+ "statusStarted": "Gestartet",
+ "statusDone": "Erledigt",
+ "statusLate": "Verspätet",
+ "statusSkipped": "Übersprungen",
+ "statusPendingApproval": "Genehmigung ausstehend",
+ "statusRejected": "Abgelehnt",
+ "statusMissed": "Verpasst",
+ "statusRescheduled": "Verschoben",
+ "statusCompleted": "Abgeschlossen",
+ "byUser": "von {{name}}",
+ "unknownUser": "Unbekannt",
+ "unknownChore": "Unbekannte Aufgabe",
+ "pointsShort": "{{count}} Pkt.",
+ "noRecentActivities": "Keine aktuellen Aktivitäten",
+ "today": "Heute",
+ "yesterday": "Gestern",
+ "noteTitle": "Notiz - {{choreName}}"
}
}
diff --git a/public/locales/de/common.json b/public/locales/de/common.json
index aeee72b0..58ae5420 100644
--- a/public/locales/de/common.json
+++ b/public/locales/de/common.json
@@ -10,29 +10,29 @@
"success": "Erfolg",
"warning": "Warnung",
"colors": {
- "Salmon": "",
- "Teal": "",
- "Sky Blue": "",
- "Grape": "",
- "Sunshine": "",
- "Coral": "",
- "Lavender": "",
- "Rose": "",
- "Charcoal": "",
- "Sienna": "",
+ "Salmon": "Lachs",
+ "Teal": "Blaugrün",
+ "Sky Blue": "Himmelblau",
+ "Grape": "Traube",
+ "Sunshine": "Sonnengelb",
+ "Coral": "Koralle",
+ "Lavender": "Lavendel",
+ "Rose": "Rosa",
+ "Charcoal": "Anthrazit",
+ "Sienna": "Siena",
"Mint": "",
- "Amber": "",
- "Cobalt": "",
- "Emerald": "",
- "Peach": "",
- "Ocean": "",
- "Mustard": "",
- "Ruby": "",
- "Periwinkle": "",
- "Turquoise": "",
- "Lime": "",
- "Blush": "",
- "Ash": "",
+ "Amber": "Bernstein",
+ "Cobalt": "Kobalt",
+ "Emerald": "Smaragd",
+ "Peach": "Pfirsich",
+ "Ocean": "Ozean",
+ "Mustard": "Senf",
+ "Ruby": "Rubin",
+ "Periwinkle": "Immergrün",
+ "Turquoise": "Türkis",
+ "Lime": "Limette",
+ "Blush": "Rosé",
+ "Ash": "Asche",
"Sand": ""
},
"refresh": "Aktualisieren",
@@ -56,7 +56,7 @@
"activities": "Aktivitäten",
"points": "Punkte",
"settings": "Einstellungen",
- "reportBug": ""
+ "reportBug": "Fehler melden"
},
"search": {
"title": "Suche",
@@ -68,7 +68,7 @@
"empty": {
"title": "Keine direkten Treffer",
"subtitle": "Du kannst die Aufgabenliste trotzdem mit dieser Suche filtern.",
- "actionsSubtitle": ""
+ "actionsSubtitle": "Keine Ansicht oder Aktion passt. Drücke die Rücktaste, um wieder alles zu durchsuchen."
},
"groups": {
"tasks": "Aufgaben",
@@ -83,17 +83,17 @@
"quickAction": "Schnellaktion",
"navigation": "",
"createTask": "Aufgabe erstellen",
- "createLabel": "",
- "createProject": "",
- "createFilter": "",
+ "createLabel": "Beschriftung erstellen",
+ "createProject": "Projekt erstellen",
+ "createFilter": "Filter erstellen",
"viewAllTasks": "Alle Aufgaben anzeigen",
"viewArchivedTasks": "Archivierte Aufgaben anzeigen",
- "viewThings": "",
- "viewLabels": "",
- "viewProjects": "",
- "viewFilters": "",
- "viewActivities": "",
- "viewPoints": "",
+ "viewThings": "Dinge anzeigen",
+ "viewLabels": "Beschriftungen anzeigen",
+ "viewProjects": "Projekte anzeigen",
+ "viewFilters": "Filter anzeigen",
+ "viewActivities": "Aktivitäten anzeigen",
+ "viewPoints": "Punkte anzeigen",
"openSettings": "Einstellungen öffnen",
"filterTasks": "Aufgaben anzeigen, die zu „{{query}}“ passen",
"filterTasksSubtitle": "Aufgabenliste filtern"
@@ -104,27 +104,27 @@
"results_one": "{{count}} Ergebnis",
"results_other": "{{count}} Ergebnisse",
"typeToSearch": "Zum Suchen tippen",
- "slashHint": ""
+ "slashHint": "/ um zu einer Ansicht zu springen"
},
"modes": {
"actions": {
- "label": "",
- "placeholder": ""
+ "label": "Gehe zu",
+ "placeholder": "Zu einer Ansicht oder Aktion springen"
}
}
},
"policyUpdate": {
- "title": "",
- "subtitle": "",
- "readPrivacy": "",
- "readTerms": "",
- "acknowledge": ""
+ "title": "Wir haben unsere Datenschutzrichtlinie und Nutzungsbedingungen aktualisiert",
+ "subtitle": "Bitte nimm dir einen Moment Zeit, sie zu prüfen. Wenn du Donetick weiter verwendest, akzeptierst du die aktualisierten Dokumente.",
+ "readPrivacy": "Datenschutzrichtlinie",
+ "readTerms": "Nutzungsbedingungen",
+ "acknowledge": "Verstanden"
},
"feedback": {
"later": "Vielleicht später",
"sentiment": {
"title": "Was hältst du von Donetick?",
- "subtitle": "Ihre Antwort hilft uns zu entscheiden, was wir als Nächstes entwickeln sollen.",
+ "subtitle": "Deine Antwort hilft uns zu entscheiden, was wir als Nächstes entwickeln sollen.",
"options": {
"love": "Ich liebe es",
"okay": "Es ist in Ordnung",
@@ -146,434 +146,434 @@
"messagePlaceholder": "Was ist passiert oder was können wir verbessern?",
"contextNote": "Wir werden folgende Diagnosedaten einschließen, um Probleme reproduzieren zu können: App-Version, Gerätebeschreibung und Betriebssystem.",
"submit": "Feedback senden",
- "contextNoteSelfHosted": "Du befindest dich auf einem selbst-gehosteten Instanz, daher wird keine Meldung von deinem Server erstellt. Wir eröffnen ein Github-Problem welches vorausgefüllt ist. Du selbst kannst es prüfen und bearbeiten bevor es erstellt wird.",
+ "contextNoteSelfHosted": "Du verwendest eine selbst gehostete Instanz. Daher wird keine Meldung direkt von deinem Server erstellt. Stattdessen öffnen wir einen vorausgefüllten GitHub-Issue, den du vor dem Absenden prüfen und bearbeiten kannst.",
"submitSelfHosted": "Weiter zu GitHub"
},
"review": {
- "title": "Schön, dass es Ihnen gefällt!",
- "subtitle": "Eine Bewertung oder ein Stern hilft anderen Menschen Donetich zu finden.",
- "github": "Als GitHub Favorit setzen",
+ "title": "Schön, dass es dir gefällt!",
+ "subtitle": "Eine Bewertung oder ein Stern hilft anderen Menschen, Donetick zu finden.",
+ "github": "Donetick auf GitHub einen Stern geben",
"appStore": "Im App Store bewerten",
"playStore": "Auf Google Play bewerten"
},
"thanks": {
- "title": "Vielen Dank für Ihr Feedback!",
- "subtitle": "Wir lesen jede Antwort und diese entscheiden was wir als Nächstes tun."
+ "title": "Vielen Dank für dein Feedback!",
+ "subtitle": "Wir lesen jede Antwort und berücksichtigen sie bei der Entscheidung, was wir als Nächstes entwickeln."
},
"github": {
- "title": "Melde es auf GitHub,",
- "subtitle": "Wir haben ein Problem mit Ihren Notizen und Versionsdetails vorausgefüllt. Es wurde noch nichts verschickt – überprüfe es und poste, sobald du bereit bist.",
- "open": "Eröffne das Problem"
+ "title": "Auf GitHub melden",
+ "subtitle": "Wir haben einen Issue mit deinen Notizen und Versionsdetails vorausgefüllt. Es wurde noch nichts gesendet – prüfe ihn und veröffentliche ihn, wenn alles passt.",
+ "open": "Issue öffnen"
}
},
- "done": "",
- "clearAll": "",
+ "done": "Erledigt",
+ "clearAll": "Alle löschen",
"upload": {
- "quotaTitle": "",
- "quotaMessage": "",
- "tooLargeTitle": "",
- "tooLargeMessage": "",
- "deniedTitle": "",
- "deniedMessage": "",
- "plusFeatureTitle": "",
- "plusFeatureMessage": "",
- "upgradeTitle": "",
- "upgradeMessage": "",
- "failedTitle": "",
- "failedMessage": "",
- "processingMessage": ""
+ "quotaTitle": "Speicherkontingent überschritten",
+ "quotaMessage": "Du hast dein Kontingent für Datei-Uploads überschritten.",
+ "tooLargeTitle": "Datei zu groß",
+ "tooLargeMessage": "Die Datei, die du hochladen möchtest, ist zu groß.",
+ "deniedTitle": "Berechtigung verweigert",
+ "deniedMessage": "Du hast keine Berechtigung, Dateien hochzuladen.",
+ "plusFeatureTitle": "Plus-Funktion",
+ "plusFeatureMessage": "Bild-Uploads sind im Basic-Tarif nicht verfügbar. Wechsle zu Plus, um deinen Inhalten Bilder hinzuzufügen.",
+ "upgradeTitle": "Upgrade erforderlich",
+ "upgradeMessage": "Bild-Uploads sind nur für Plus-Konten verfügbar.",
+ "failedTitle": "Hochladen fehlgeschlagen",
+ "failedMessage": "Bild konnte nicht hochgeladen werden.",
+ "processingMessage": "Beim Verarbeiten des Bildes ist ein Fehler aufgetreten."
},
- "getStarted": "",
- "imageLoadFailed": "",
- "typeHere": "",
- "summaryOfChores": "",
- "loadingOffline": "",
- "loadingOfflineSub": "",
- "loadingSlow": "",
- "navigateBack": "",
- "bottomNav": "",
- "profile": "",
- "autocompletePlaceholder": "",
+ "getStarted": "Los geht's!",
+ "imageLoadFailed": "Bild konnte nicht geladen werden.",
+ "typeHere": "Hier eingeben…",
+ "summaryOfChores": "Dies ist eine Zusammenfassung deiner Aufgaben",
+ "loadingOffline": "Du bist offline",
+ "loadingOfflineSub": "Diese Funktion ist offline nicht verfügbar. Prüfe deine Internetverbindung und versuche es erneut.",
+ "loadingSlow": "Das dauert länger als gewöhnlich. Möglicherweise liegt ein Problem vor.",
+ "navigateBack": "Zurück navigieren",
+ "bottomNav": "Untere Navigation",
+ "profile": "Profil",
+ "autocompletePlaceholder": "Hier eingeben...",
"errorScreen": {
- "title": "",
- "fallback": "",
- "tryAgain": "",
- "home": "",
- "login": "",
- "hideDetails": "",
- "showDetails": "",
- "copyToClipboard": "",
- "copied": "",
- "reportProblem": "",
- "reportHint": "",
- "collectingDetails": ""
+ "title": "Etwas ist schiefgelaufen",
+ "fallback": "Ein unerwarteter Fehler ist aufgetreten. Versuche, die Seite neu zu laden — meistens behebt das das Problem.",
+ "tryAgain": "Erneut versuchen",
+ "home": "Startseite",
+ "login": "Anmelden",
+ "hideDetails": "Fehlerdetails ausblenden",
+ "showDetails": "Fehlerdetails anzeigen",
+ "copyToClipboard": "In die Zwischenablage kopieren",
+ "copied": "Fehlerdetails in die Zwischenablage kopiert",
+ "reportProblem": "Dieses Problem melden",
+ "reportHint": "Wenn das öfter passiert, sende uns bitte einen Bericht, damit wir es uns ansehen können.",
+ "collectingDetails": "Fehlerdetails werden gesammelt…"
},
"userMenu": {
- "actAsAnother": "",
- "stopImpersonating": "",
- "returnToAccount": "",
- "accountPrefs": "",
- "invitePeople": "",
- "addMembers": "",
- "sidePanelSettings": "",
- "planFree": "",
+ "actAsAnother": "Als anderer Benutzer agieren",
+ "stopImpersonating": "Benutzerübernahme beenden",
+ "returnToAccount": "Zu deinem Konto zurückkehren",
+ "accountPrefs": "Konto & Einstellungen",
+ "invitePeople": "Personen einladen",
+ "addMembers": "Mitglieder zu deinem Kreis hinzufügen",
+ "sidePanelSettings": "Seitenleisteneinstellungen",
+ "planFree": "Kostenlos",
"planPlus": "",
- "planPlusExpiring": "",
- "switchUser": "",
- "impersonateUser": "",
- "switchToLight": "",
- "switchToDark": "",
- "unlockPremium": "",
- "impersonating": "",
- "toggleThemeAppearance": "",
- "upgradeToPlus": ""
+ "planPlusExpiring": "Plus (läuft bald ab)",
+ "switchUser": "Benutzer wechseln",
+ "impersonateUser": "Benutzer übernehmen",
+ "switchToLight": "Zum hellen Design wechseln",
+ "switchToDark": "Zum dunklen Design wechseln",
+ "unlockPremium": "Premium-Funktionen freischalten",
+ "impersonating": "Benutzerübernahme aktiv",
+ "toggleThemeAppearance": "Darstellung wechseln",
+ "upgradeToPlus": "Auf Plus upgraden"
},
"realtime": {
- "newTaskTitle": "",
- "connected": "",
- "errorTitle": "",
- "parseTitle": "",
- "parseMessage": "",
- "disabledTitle": "",
- "failedTitle": "",
- "stateConnectionError": "",
- "stateAuthExpired": "",
- "stateTokenRefreshed": "",
- "stateRefreshInProgress": "",
- "stateSessionExpired": "",
- "stateAuthFailed": "",
- "stateAuthError": "",
- "stateTimeout": "",
- "connectErrorTitle": "",
- "connectErrorMessage": ""
+ "newTaskTitle": "Neue Aufgabe erstellt",
+ "connected": "Du erhältst Aktualisierungen jetzt in Echtzeit.",
+ "errorTitle": "Echtzeitfehler",
+ "parseTitle": "Nachrichtenfehler",
+ "parseMessage": "Servernachricht konnte nicht verarbeitet werden",
+ "disabledTitle": "Verbindung vorübergehend deaktiviert",
+ "failedTitle": "Verbindung fehlgeschlagen",
+ "stateConnectionError": "Verbindungsfehler aufgetreten",
+ "stateAuthExpired": "Authentifizierung abgelaufen – Token wird aktualisiert...",
+ "stateTokenRefreshed": "Token aktualisiert – Verbindung wird wiederhergestellt...",
+ "stateRefreshInProgress": "Token-Aktualisierung läuft – Verbindung wird in Kürze wiederhergestellt...",
+ "stateSessionExpired": "Sitzung abgelaufen – bitte melde dich erneut an",
+ "stateAuthFailed": "Authentifizierung fehlgeschlagen – bitte melde dich erneut an",
+ "stateAuthError": "Authentifizierungsfehler – bitte melde dich erneut an",
+ "stateTimeout": "Zeitüberschreitung der Verbindung – Verbindung wird wiederhergestellt...",
+ "connectErrorTitle": "Verbindungsfehler",
+ "connectErrorMessage": "Echtzeitverbindung konnte nicht hergestellt werden. Bitte versuche es erneut."
},
- "removeAll": "",
- "apply": "",
- "cancelAll": "",
- "backFromSearch": "",
- "newVersionAvailable": "",
+ "removeAll": "Alle entfernen",
+ "apply": "Übernehmen",
+ "cancelAll": "Alle abbrechen",
+ "backFromSearch": "Zurück aus der Suche",
+ "newVersionAvailable": "Eine neue Version ist jetzt verfügbar. Klicke auf die Aktualisieren-Schaltfläche, um zu aktualisieren.",
"notFound": {
- "title": "",
- "description": "",
- "goToMyTasks": "",
- "logIn": ""
+ "title": "Seite nicht gefunden",
+ "description": "Dieser Link führt ins Leere. Möglicherweise wurde er verschoben oder die Adresse enthält einen Tippfehler.",
+ "goToMyTasks": "Zu meinen Aufgaben",
+ "logIn": "Anmelden"
},
"pendingBadge": {
- "completePending": "",
- "skipPending": "",
- "updatePending": "",
- "createPending": "",
- "deletePending": "",
- "editHistoryPending": "",
- "deleteHistoryPending": "",
- "reschedulePending": "",
- "archivePending": "",
- "restorePending": "",
- "startPending": "",
- "pausePending": ""
+ "completePending": "Abschließen ausstehend",
+ "skipPending": "Überspringen ausstehend",
+ "updatePending": "Aktualisierung ausstehend",
+ "createPending": "Erstellung ausstehend",
+ "deletePending": "Löschung ausstehend",
+ "editHistoryPending": "Verlaufsänderung ausstehend",
+ "deleteHistoryPending": "Verlaufslöschung ausstehend",
+ "reschedulePending": "Verschiebung ausstehend",
+ "archivePending": "Archivierung ausstehend",
+ "restorePending": "Wiederherstellung ausstehend",
+ "startPending": "Start ausstehend",
+ "pausePending": "Pause ausstehend"
},
"sortAndFilter": {
- "sortBy": "",
- "ariaLabel": "",
- "title": "",
- "ascending": "",
- "descending": "",
+ "sortBy": "Sortieren nach",
+ "ariaLabel": "Sortier- und Filteroptionen",
+ "title": "Sortieren & Filtern",
+ "ascending": "Aufsteigend",
+ "descending": "Absteigend",
"filter": ""
},
"versionInfo": "",
- "apiVersionUnavailable": "",
+ "apiVersionUnavailable": "nicht verfügbar",
"sync": {
- "aria": "",
- "allSynced": "",
- "willSync": "",
- "cancelAll": "",
+ "aria": "Synchronisierungs- und Netzwerkstatus öffnen",
+ "allSynced": "Alle Änderungen synchronisiert",
+ "willSync": "Wird synchronisiert, sobald du wieder online bist",
+ "cancelAll": "Alle abbrechen",
"commandLabels": {
- "createChore": "",
- "updateChore": "",
- "updateChoreHistory": "",
- "completeChore": "",
- "skipChore": "",
- "startChore": "",
- "pauseChore": "",
- "deleteChore": "",
- "deleteChoreHistory": "",
- "rescheduleChore": "",
- "archiveChore": "",
- "unarchiveChore": "",
- "pendingAction": ""
+ "createChore": "Aufgabe erstellen",
+ "updateChore": "Aufgabe aktualisieren",
+ "updateChoreHistory": "Verlauf bearbeiten",
+ "completeChore": "Aufgabe abschließen",
+ "skipChore": "Aufgabe überspringen",
+ "startChore": "Aufgabe starten",
+ "pauseChore": "Aufgabe pausieren",
+ "deleteChore": "Aufgabe löschen",
+ "deleteChoreHistory": "Verlauf löschen",
+ "rescheduleChore": "Aufgabe verschieben",
+ "archiveChore": "Aufgabe archivieren",
+ "unarchiveChore": "Aufgabe wiederherstellen",
+ "pendingAction": "Ausstehende Aktion"
},
- "never": "",
- "justNow": "",
- "secondsAgo": "",
- "minutesAgo": "",
- "hoursAgo": "",
+ "never": "Nie",
+ "justNow": "Gerade eben",
+ "secondsAgo": "vor {{count}} s",
+ "minutesAgo": "vor {{count}} Min.",
+ "hoursAgo": "vor {{count}} Std.",
"online": "",
"offline": "",
- "syncing": "",
- "lastSync": "",
- "offlineSince": "",
- "errorPrefix": "",
- "pending": "",
- "failed": "",
- "dismiss": "",
- "nextAutoSync": "",
- "checkingServer": "",
- "retryingIn": "",
- "syncNow": "",
- "pendingSyncLabel_one": "",
- "pendingSyncLabel_other": "",
- "pendingActionsTitle": "",
- "actionsWaitingToSync_one": "",
- "actionsWaitingToSync_other": "",
- "cancelActionAria": ""
+ "syncing": "Wird synchronisiert...",
+ "lastSync": "Letzte Synchronisierung: {{time}}",
+ "offlineSince": "Offline seit {{duration}}",
+ "errorPrefix": "Fehler: {{message}}",
+ "pending": "Ausstehend ({{count}})",
+ "failed": "Fehlgeschlagen ({{count}})",
+ "dismiss": "Verwerfen",
+ "nextAutoSync": "Nächste automatische Synchronisierung in {{seconds}} s",
+ "checkingServer": "Server wird überprüft...",
+ "retryingIn": "Erneuter Versuch in {{seconds}} s",
+ "syncNow": "Jetzt synchronisieren",
+ "pendingSyncLabel_one": "{{count}} ausstehende Aktion zu synchronisieren",
+ "pendingSyncLabel_other": "{{count}} ausstehende Aktionen zu synchronisieren",
+ "pendingActionsTitle": "Ausstehende Aktionen",
+ "actionsWaitingToSync_one": "{{count}} Aktion wartet auf Synchronisierung.",
+ "actionsWaitingToSync_other": "{{count}} Aktionen warten auf Synchronisierung.",
+ "cancelActionAria": "{{label}} abbrechen"
},
- "attachments": "",
- "fileNumbered": "",
- "noAttachmentsTitle": "",
- "noAttachmentsDescription": "",
+ "attachments": "Anhänge",
+ "fileNumbered": "Datei {{index}}",
+ "noAttachmentsTitle": "Keine Anhänge",
+ "noAttachmentsDescription": "Fotos und Dateien, die dieser Aufgabe hinzugefügt werden, erscheinen hier.",
"kbSize": "",
"onboarding": {
"sources": {
- "speak": "",
- "snap": "",
- "type": ""
+ "speak": "Sprechen",
+ "snap": "Foto",
+ "type": "Tippen"
},
"capture": {
- "voiceCaption": "",
- "deviceCaption": "",
- "typeCaption": "",
- "trashTitle": "",
- "trashDue": "",
- "trashRepeat": "",
- "homeLabel": "",
- "vehicleTitle": "",
- "vehicleDue": "",
- "acTitle": "",
- "acDue": "",
- "acRepeat": ""
+ "voiceCaption": "Datumsangaben, Beschriftungen und Punkte aus deinen Worten",
+ "deviceCaption": "Auf deinem Gerät auslesen",
+ "typeCaption": "#Beschriftungen @Personen *Punkte beim Tippen",
+ "trashTitle": "♻️ Müll rausbringen",
+ "trashDue": "Morgen fällig",
+ "trashRepeat": "Jeden Montag",
+ "homeLabel": "Zuhause",
+ "vehicleTitle": "🚗 Fahrzeugzulassung erneuern",
+ "vehicleDue": "Fällig am 3. Aug.",
+ "acTitle": "💨 Klimaanlagenfilter wechseln",
+ "acDue": "Freitag fällig",
+ "acRepeat": "Alle 3 Monate"
},
"schedule": {
- "fromDueDate": "",
- "fromCompletionDate": "",
- "due": "",
- "done": "",
- "next": ""
+ "fromDueDate": "Vom Fälligkeitsdatum aus neu planen",
+ "fromCompletionDate": "Vom Abschlussdatum aus neu planen",
+ "due": "Fällig",
+ "done": "Erledigt",
+ "next": "Nächste"
},
"nfc": {
- "tagOnWasher": "",
- "tapToOpen": "",
- "swapFilter": "",
- "done": "",
- "skip": "",
- "startTimer": "",
- "waitingApproval": "",
- "approve": "",
- "reject": "",
- "completed": "",
- "note": "",
- "metaJustNow": "",
- "metaLastWeek": ""
+ "tagOnWasher": "Tag an der Waschmaschine",
+ "tapToOpen": "Antippen zum Öffnen",
+ "swapFilter": "Waschmaschinenfilter wechseln",
+ "done": "Erledigt",
+ "skip": "Überspringen",
+ "startTimer": "Timer starten",
+ "waitingApproval": "{{name}} hat die Aufgabe als erledigt markiert · wartet auf deine Genehmigung",
+ "approve": "Genehmigen",
+ "reject": "Ablehnen",
+ "completed": "Abgeschlossen",
+ "note": "Schonwaschgang verwendet — der Filter muss beim nächsten Mal gereinigt werden.",
+ "metaJustNow": "Gerade eben · ★ 5 Punkte",
+ "metaLastWeek": "Letzte Woche · ★ 5 Punkte"
},
"circle": {
- "kitchenTitle": "",
- "kitchenDue": "",
- "kitchenRepeat": "",
- "takesTurns": ""
+ "kitchenTitle": "Küche gründlich reinigen",
+ "kitchenDue": "Samstag fällig",
+ "kitchenRepeat": "Jede Woche",
+ "takesTurns": "Wechselt euch ab"
},
"turns": {
- "binsTitle": "",
- "binsDue": "",
- "binsRepeat": "",
- "completed": "",
- "metaJustNow": ""
+ "binsTitle": "🗑️ Mülltonnen an die Straße stellen",
+ "binsDue": "Morgen fällig",
+ "binsRepeat": "Jede Woche",
+ "completed": "Abgeschlossen",
+ "metaJustNow": "Gerade eben · ★ 5 Punkte"
},
"widget": {
- "schoolForms": "",
- "takeOutTrash": "",
- "waterPlants": "",
- "today": "",
- "left": ""
+ "schoolForms": "Schulformulare",
+ "takeOutTrash": "Müll rausbringen",
+ "waterPlants": "Pflanzen gießen",
+ "today": "Heute",
+ "left": "Noch {{count}}"
},
"reminders": {
- "trashTitle": "",
- "trashBody": "",
- "finishedTitle": "",
- "finishedBody": ""
+ "trashTitle": "Müll rausbringen",
+ "trashBody": "In 30 Minuten fällig · Mülltonnenabend",
+ "finishedTitle": "Amalie hat „Küche gründlich reinigen“ abgeschlossen",
+ "finishedBody": "Du bist nächsten Samstag an der Reihe"
},
"things": {
- "waterBill": "",
- "acFilter": "",
- "trashDay": "",
- "dogMedicine": "",
- "whoseTurn": "",
- "monthly": "",
- "everyThreeMonths": "",
- "everyMonday": "",
- "daily": "",
- "weekly": "",
- "tagBills": "",
- "tagHome": "",
- "tagPets": "",
- "tagCooking": ""
+ "waterBill": "Wasserrechnung",
+ "acFilter": "Klimaanlagenfilter",
+ "trashDay": "Müllabfuhrtag",
+ "dogMedicine": "Medikament für den Hund",
+ "whoseTurn": "Wer mit Kochen dran ist",
+ "monthly": "Monatlich",
+ "everyThreeMonths": "Alle 3 Monate",
+ "everyMonday": "Jeden Montag",
+ "daily": "Täglich",
+ "weekly": "Wöchentlich",
+ "tagBills": "Rechnungen",
+ "tagHome": "Zuhause",
+ "tagPets": "Haustiere",
+ "tagCooking": "Kochen"
},
"slides": {
- "problemTitle": "",
- "problemBody": "",
- "captureTitle": "",
- "captureBody": "",
- "scheduleTitle": "",
- "scheduleBody": "",
- "circleTitle": "",
- "circleBody": "",
- "remindersTitle": "",
- "remindersBody": ""
+ "problemTitle": "Vergiss die kleinen Dinge nicht mehr",
+ "problemBody": "Donetick merkt sich, wann etwas zuletzt erledigt wurde und wann es wieder fällig ist. So muss es sich niemand sonst merken.",
+ "captureTitle": "Trag es ein, bevor du es vergisst",
+ "captureBody": "Tippe es ein, sprich es aus oder mach ein Foto. Donetick ergänzt Fälligkeitsdatum, Priorität, Beschriftungen und Zuständigkeit.",
+ "scheduleTitle": "Es kommt genau dann wieder, wenn es soll",
+ "scheduleBody": "Jede Woche, alle 3 Monate oder einen Monat nachdem du es tatsächlich erledigt hast. Ein verspäteter Abschluss verschiebt nicht gleich den Rest des Jahres.",
+ "circleTitle": "Jeder kommt dran – Schluss mit Diskussionen",
+ "circleBody": "Wechselt euch in der von dir gewählten Reihenfolge oder zufällig ab. Donetick merkt sich, wer zuletzt dran war, damit es fair bleibt.",
+ "remindersTitle": "Eine Erinnerung genau dann, wenn sie zählt – plus Widgets!",
+ "remindersBody": "Erhalte eine Erinnerung, bevor etwas fällig ist, oder schicke einen Hinweis, wenn jemand seine Aufgabe vergisst. Die heutige Liste kann außerdem auf deinem Startbildschirm angezeigt werden."
},
"carousel": {
- "skip": "",
- "ariaLabel": "",
- "goToStep": "",
- "slidePosition": "",
- "turnOnReminders": "",
- "notNow": "",
- "next": ""
+ "skip": "Überspringen",
+ "ariaLabel": "Was du mit Donetick machen kannst",
+ "goToStep": "Zu Schritt {{number}}",
+ "slidePosition": "{{index}} von {{total}}",
+ "turnOnReminders": "Erinnerungen aktivieren",
+ "notNow": "Nicht jetzt",
+ "next": "Weiter"
},
"getStarted": {
- "subtitleSignupEnabled": "",
- "subtitleSignupDisabled": "",
- "createAccount": "",
- "alreadyHaveAccount": "",
- "signIn": "",
- "connectSelfHosted": ""
+ "subtitleSignupEnabled": "Erstelle ein Konto, um überall zu synchronisieren, oder melde dich an und mach dort weiter, wo du aufgehört hast.",
+ "subtitleSignupDisabled": "Melde dich bei deinem Konto an, um dort weiterzumachen, wo du aufgehört hast.",
+ "createAccount": "Konto erstellen",
+ "alreadyHaveAccount": "Ich habe bereits ein Konto",
+ "signIn": "Anmelden",
+ "connectSelfHosted": "Mit selbst gehostetem Server verbinden"
},
"heardAbout": {
- "title": "",
- "subtitle": "",
- "detailPlaceholder": "",
- "continue": "",
- "skip": "",
+ "title": "Wie hast du von Donetick erfahren?",
+ "subtitle": "Hilft uns zu verstehen, was funktioniert. Völlig optional.",
+ "detailPlaceholder": "Sag uns, wo",
+ "continue": "Weiter",
+ "skip": "Überspringen",
"sources": {
"appStore": "",
- "reddit": "",
- "friend": "",
- "video": "",
- "search": "",
- "other": ""
+ "reddit": "Reddit oder ein Forum",
+ "friend": "Freunde oder Familie",
+ "video": "YouTube oder TikTok",
+ "search": "Suchmaschine",
+ "other": "Etwas anderes"
}
},
"privacy": {
- "title": "",
- "subtitle": "",
- "crashReportsLabel": "",
- "crashReportsDescription": "",
- "analyticsLabel": "",
- "analyticsDescription": ""
+ "title": "Hilf uns, Donetick zu verbessern",
+ "subtitle": "Dein Server, deine Daten. Beide Optionen bleiben ab jetzt deaktiviert, sofern du sie nicht selbst einschaltest.",
+ "crashReportsLabel": "Absturzberichte teilen",
+ "crashReportsDescription": "Wenn Donetick abstürzt, kannst du uns den Fehler und den Ablauf davor senden (Gerät, App-Version, geöffneter Bildschirm) – ohne Aufgabeninhalte. So finden wir Fehler, die in unseren eigenen Tests nicht auftreten, und können sie schneller beheben.",
+ "analyticsLabel": "Anonyme Nutzungsstatistiken teilen",
+ "analyticsDescription": "Sende anonyme Nutzungsereignisse darüber, welche Funktionen verwendet oder ignoriert werden. So wissen wir, was wir als Nächstes entwickeln sollten, statt zu raten. Keine Aufgabeninhalte, keine personenbezogenen Daten und nichts, das dir zugeordnet werden kann."
}
},
"errorReport": {
- "titleBug": "",
- "titleCrash": "",
- "subtitleBug": "",
- "subtitleCrash": "",
- "labelBug": "",
- "labelCrash": "",
- "placeholderBug": "",
- "placeholderCrash": "",
- "email": "",
- "emailOptional": "",
- "emailPlaceholder": "",
- "showWhatGetsSent": "",
- "hideWhatGetsSent": "",
- "copyDiagnostics": "",
- "collecting": "",
- "privacyNote": "",
- "send": "",
- "cancel": "",
- "notNow": "",
- "sentTitle": "",
- "sentBody": "",
- "reference": "",
- "copyReference": "",
- "done": "",
- "githubTitle": "",
- "githubBody": "",
- "openIssue": "",
- "copied": "",
- "copyInstead": "",
- "close": ""
+ "titleBug": "Problem melden",
+ "titleCrash": "Dieses Problem melden",
+ "subtitleBug": "Beschreibe kurz, was schiefgelaufen ist. Die technischen Details fügen wir automatisch hinzu.",
+ "subtitleCrash": "Ein Satz dazu, was du gerade gemacht hast, hilft uns, das Problem tatsächlich zu beheben.",
+ "labelBug": "Was ist schiefgelaufen?",
+ "labelCrash": "Was hast du gerade gemacht?",
+ "placeholderBug": "z. B. Beim Abschließen einer Aufgabe in der Liste wird das Fälligkeitsdatum nicht aktualisiert",
+ "placeholderCrash": "z. B. Ich habe unter „Meine Aufgaben“ auf eine Aufgabe getippt und der Bildschirm wurde leer",
+ "email": "E-Mail",
+ "emailOptional": "(optional – nur wenn du eine Antwort möchtest)",
+ "emailPlaceholder": "du@beispiel.de",
+ "showWhatGetsSent": "Anzeigen, was gesendet wird",
+ "hideWhatGetsSent": "Ausblenden, was gesendet wird",
+ "copyDiagnostics": "Diagnosedaten kopieren",
+ "collecting": "Diagnosedaten werden gesammelt…",
+ "privacyNote": "Aufgabennamen, Notizen und Anhänge werden nicht übermittelt.",
+ "send": "Bericht senden",
+ "cancel": "Abbrechen",
+ "notNow": "Nicht jetzt",
+ "sentTitle": "Bericht gesendet",
+ "sentBody": "Danke! Der Bericht geht direkt an die Personen, die das Problem beheben können.",
+ "reference": "Referenz",
+ "copyReference": "Referenz kopieren",
+ "done": "Fertig",
+ "githubTitle": "Auf GitHub abschließen",
+ "githubBody": "Es wurde noch nichts gesendet. Wir haben einen Issue-Entwurf mit deinen Angaben und den Diagnosedaten vorbereitet – prüfe ihn und veröffentliche ihn, wenn alles passt.",
+ "openIssue": "Vorbereiteten Issue öffnen",
+ "copied": "Kopiert",
+ "copyInstead": "Stattdessen Details kopieren",
+ "close": "Schließen"
},
"circleSetup": {
- "inviteTitle": "",
- "inviteSubtitle": "",
- "joinTitle": "",
- "joinSubtitle": "",
- "loadingCode": "",
- "copyCodeAria": "",
- "copyLinkInstead": "",
- "continue": "",
- "joinInstead": "",
- "codePlaceholder": "",
- "joinButton": "",
- "back": "",
- "codeCopied": "",
- "linkCopied": "",
- "requestSentTitle": "",
- "requestSentBody": "",
- "alreadyMember": "",
- "joinFailed": ""
+ "inviteTitle": "Hol dein Team dazu",
+ "inviteSubtitle": "Alle, die deinem Kreis beitreten, sehen dieselben Aufgaben, übernehmen ihren eigenen Anteil und bleiben automatisch synchron.",
+ "joinTitle": "Einem Kreis beitreten",
+ "joinSubtitle": "Gib den erhaltenen Code ein. Wir senden eine Beitrittsanfrage, die nur noch vom Besitzer des Kreises genehmigt werden muss.",
+ "loadingCode": "Wird geladen…",
+ "copyCodeAria": "Kreiscode kopieren",
+ "copyLinkInstead": "Stattdessen Einladungslink kopieren",
+ "continue": "Weiter",
+ "joinInstead": "Stattdessen einem bestehenden Kreis beitreten",
+ "codePlaceholder": "Code eingeben",
+ "joinButton": "Kreis beitreten",
+ "back": "Zurück",
+ "codeCopied": "Code in die Zwischenablage kopiert",
+ "linkCopied": "Link in die Zwischenablage kopiert",
+ "requestSentTitle": "Anfrage gesendet",
+ "requestSentBody": "Deine Beitrittsanfrage wurde gesendet! Der Besitzer des Kreises muss sie genehmigen, bevor du dessen Aufgaben sehen kannst. Du erhältst eine Benachrichtigung, sobald du aufgenommen wurdest.",
+ "alreadyMember": "Du bist bereits Mitglied dieses Kreises",
+ "joinFailed": "Beitritt zum Kreis fehlgeschlagen"
},
"joinCircle": {
- "title": "",
- "incompleteTitle": "",
- "incompleteSubtitle": "",
- "goToDonetick": "",
- "signedOutSubtitle": "",
- "signIn": "",
- "createAccount": "",
- "sendingTitle": "",
- "sendingSubtitle": "",
- "greetingSubtitle": "",
- "adminReviewNote": "",
- "sendRequest": "",
- "requestSentTitle": "",
- "requestSentBody": "",
- "gotIt": "",
- "alreadyMember": "",
- "joinFailed": "",
- "requestError": ""
+ "title": "Du wurdest zu einem Kreis eingeladen",
+ "incompleteTitle": "Einladungslink ist unvollständig",
+ "incompleteSubtitle": "In diesem Einladungslink fehlt ein Code. Bitte die einladende Person um einen neuen Link.",
+ "goToDonetick": "Zu Donetick",
+ "signedOutSubtitle": "Melde dich an oder erstelle ein Donetick-Konto, um fortzufahren. Deine Beitrittsanfrage wird gesendet, sobald du angemeldet bist.",
+ "signIn": "Anmelden",
+ "createAccount": "Konto erstellen",
+ "sendingTitle": "Anfrage wird gesendet",
+ "sendingSubtitle": "Deine Anfrage wird gesendet…",
+ "greetingSubtitle": "Hallo {{name}}. Sende eine Anfrage, um die Aufgaben dieses Kreises mit seinen Mitgliedern zu teilen.",
+ "adminReviewNote": "Ein Administrator des Kreises prüft deine Anfrage, bevor du Zugriff erhältst.",
+ "sendRequest": "Beitrittsanfrage senden",
+ "requestSentTitle": "Anfrage gesendet",
+ "requestSentBody": "Deine Anfrage wurde gesendet. Ein Administrator des Kreises muss sie genehmigen, bevor du auf den Kreis und seine Aufgaben zugreifen kannst. Wir benachrichtigen dich, sobald sie genehmigt wurde.",
+ "gotIt": "Verstanden",
+ "alreadyMember": "Du bist bereits Mitglied dieses Kreises",
+ "joinFailed": "Beitritt zum Kreis fehlgeschlagen",
+ "requestError": "Deine Beitrittsanfrage konnte nicht gesendet werden. Bitte versuche es erneut."
},
- "selectUser": "",
- "closeDialog": "",
+ "selectUser": "Benutzer auswählen",
+ "closeDialog": "Dialog schließen",
"activeFilterChips": {
- "removeFilterAria": "",
- "addFilterCondition": "",
- "moreCount": ""
+ "removeFilterAria": "Filter {{label}} entfernen",
+ "addFilterCondition": "Filterbedingung hinzufügen",
+ "moreCount": "+{{count}} weitere"
},
"filterBar": {
- "filtersButton": "",
- "clearAllButton": "",
- "doneButton": "",
- "showResults_one": "",
- "showResults_other": "",
- "selectedCount": "",
- "dateRangeFallback": "",
- "fromDate": "",
- "untilDate": "",
- "presetToday": "",
- "presetYesterday": "",
- "presetThisWeek": "",
- "presetLast7Days": "",
- "presetThisMonth": "",
- "presetLast30Days": "",
- "presetLast3Months": ""
+ "filtersButton": "Filter",
+ "clearAllButton": "Alle löschen",
+ "doneButton": "Fertig",
+ "showResults_one": "{{count}} Ergebnis anzeigen",
+ "showResults_other": "{{count}} Ergebnisse anzeigen",
+ "selectedCount": "{{count}} ausgewählt",
+ "dateRangeFallback": "Zeitraum",
+ "fromDate": "Von {{date}}",
+ "untilDate": "Bis {{date}}",
+ "presetToday": "Heute",
+ "presetYesterday": "Gestern",
+ "presetThisWeek": "Diese Woche",
+ "presetLast7Days": "Letzte 7 Tage",
+ "presetThisMonth": "Dieser Monat",
+ "presetLast30Days": "Letzte 30 Tage",
+ "presetLast3Months": "Letzte 3 Monate"
},
"workspaceReady": {
- "allSetNamed": "",
- "allSet": "",
- "subtitle": "",
- "continue": "",
- "readyShared": "",
- "readyRecurring": "",
- "readyCapture": "",
- "readyReminders": ""
+ "allSetNamed": "Alles bereit, {{name}}",
+ "allSet": "Alles bereit",
+ "subtitle": "Dein Arbeitsbereich ist bereit. Das erwartet dich hier.",
+ "continue": "Weiter",
+ "readyShared": "Gemeinsame Aufgaben für den ganzen Haushalt",
+ "readyRecurring": "Wiederkehrende Zeitpläne, die den Alltag überstehen",
+ "readyCapture": "Erfassung per Sprache, Foto oder Text",
+ "readyReminders": "Erinnerungen und Homescreen-Widgets"
}
}
diff --git a/public/locales/de/filters.json b/public/locales/de/filters.json
index 6dcbb2a8..7e14d33c 100644
--- a/public/locales/de/filters.json
+++ b/public/locales/de/filters.json
@@ -1,55 +1,55 @@
{
"builder": {
- "errorName": "",
- "errorConditions": "",
- "editTitle": "",
- "newTitle": "",
- "addConditions": "",
- "save": "",
- "name": "",
- "namePlaceholder": "",
- "color": ""
+ "errorName": "Bitte gib einen Filternamen ein",
+ "errorConditions": "Bitte konfiguriere mindestens eine Filterbedingung",
+ "editTitle": "Filter bearbeiten",
+ "newTitle": "Neuer Filter",
+ "addConditions": "Bedingungen hinzufügen, um Vorschau anzuzeigen",
+ "save": "Filter speichern",
+ "name": "Filtername",
+ "namePlaceholder": "z. B. Überfällige Aufgaben für Alice",
+ "color": "Farbe"
},
- "nameExists": "",
- "tasks_one": "",
- "tasks_other": "",
- "overdue": "",
- "noConditions": "",
- "condition_one": "",
- "condition_other": "",
- "usedCount": "",
+ "nameExists": "Ein Filter mit diesem Namen ist bereits vorhanden",
+ "tasks_one": "{{count}} Aufgabe",
+ "tasks_other": "{{count}} Aufgaben",
+ "overdue": "{{count}} überfällig",
+ "noConditions": "Keine Bedingungen",
+ "condition_one": "{{count}} Bedingung",
+ "condition_other": "{{count}} Bedingungen",
+ "usedCount": "{{count}}x verwendet",
"delete": {
- "title": "",
- "message": ""
+ "title": "Filter löschen",
+ "message": "Möchtest du \"{{name}}\" wirklich löschen? Dies kann nicht rückgängig gemacht werden."
},
"empty": {
- "title": "",
- "description": "",
- "createFilter": "",
- "noResultsTitle": "",
- "noResultsWithSearch": "",
- "noResultsDefault": "",
- "clearSearch": "",
- "showAllFilters": ""
+ "title": "Noch keine gespeicherten Filter",
+ "description": "Speichere einmal eine Reihe von Bedingungen, z. B. „überfällig und mir zugewiesen“, und springe von überall direkt dorthin zurück.",
+ "createFilter": "Filter erstellen",
+ "noResultsTitle": "Keine passenden Filter",
+ "noResultsWithSearch": "Kein gespeicherter Filter passt zu \"{{search}}\".",
+ "noResultsDefault": "Kein gespeicherter Filter passt zum aktuellen Filter.",
+ "clearSearch": "Suche zurücksetzen",
+ "showAllFilters": "Alle Filter anzeigen"
},
"header": {
- "title": "",
- "subtitle": ""
+ "title": "Filter",
+ "subtitle": "Speichere deine bevorzugten Filterkombinationen für schnellen Zugriff. Erstelle individuelle Ansichten, um Aufgaben schneller zu organisieren und zu finden."
},
- "searchPlaceholder": "",
+ "searchPlaceholder": "Filter durchsuchen",
"sort": {
- "smart": "",
+ "smart": "Intelligent",
"name": "",
- "usage": "",
- "lastUsed": "",
- "created": ""
+ "usage": "Nutzungsanzahl",
+ "lastUsed": "Zuletzt verwendet",
+ "created": "Erstellungsdatum"
},
"show": {
- "title": "",
- "all": "",
- "pinned": "",
- "unpinned": ""
+ "title": "Anzeigen",
+ "all": "Alle Filter",
+ "pinned": "Angeheftet",
+ "unpinned": "Nicht angeheftet"
},
- "pin": "",
- "unpin": ""
+ "pin": "Anheften",
+ "unpin": "Lösen"
}
diff --git a/public/locales/de/history.json b/public/locales/de/history.json
index ab174e66..39b48079 100644
--- a/public/locales/de/history.json
+++ b/public/locales/de/history.json
@@ -1,163 +1,163 @@
{
"edit": {
- "title": "",
- "completedDate": "",
- "note": "",
- "additionalNotes": "",
- "deleteTitle": "",
- "deleteMessage": ""
+ "title": "Verlauf bearbeiten",
+ "completedDate": "Abschlussdatum",
+ "note": "Notiz",
+ "additionalNotes": "Zusätzliche Notizen",
+ "deleteTitle": "Verlauf löschen",
+ "deleteMessage": "Möchtest du diesen Verlauf wirklich löschen?"
},
"status": {
- "inProgress": "",
- "completed": "",
- "skipped": "",
- "pendingApproval": "",
- "rejected": "",
- "missed": "",
- "rescheduled": "",
- "scheduled": ""
+ "inProgress": "In Bearbeitung",
+ "completed": "Abgeschlossen",
+ "skipped": "Übersprungen",
+ "pendingApproval": "Genehmigung ausstehend",
+ "rejected": "Abgelehnt",
+ "missed": "Verpasst",
+ "rescheduled": "Neu geplant",
+ "scheduled": "Geplant"
},
"badge": {
- "onTime": "",
- "onTimeLabel": ""
+ "onTime": "Pünktlich",
+ "onTimeLabel": "Pünktlich"
},
"card": {
- "wasDue": "",
- "daysBeforeDue_one": "",
- "daysBeforeDue_other": "",
- "daysAfterDue_one": "",
- "daysAfterDue_other": "",
- "hoursBeforeDue_one": "",
- "hoursBeforeDue_other": "",
- "hoursAfterDue_one": "",
- "hoursAfterDue_other": "",
- "assignedTo": "",
- "points_one": "",
- "points_other": ""
+ "wasDue": "War am {{date}} fällig",
+ "daysBeforeDue_one": "{{count}} T. vor Fälligkeit",
+ "daysBeforeDue_other": "{{count}} T. vor Fälligkeit",
+ "daysAfterDue_one": "{{count}} T. nach Fälligkeit",
+ "daysAfterDue_other": "{{count}} T. nach Fälligkeit",
+ "hoursBeforeDue_one": "{{count}} Std. vor Fälligkeit",
+ "hoursBeforeDue_other": "{{count}} Std. vor Fälligkeit",
+ "hoursAfterDue_one": "{{count}} Std. nach Fälligkeit",
+ "hoursAfterDue_other": "{{count}} Std. nach Fälligkeit",
+ "assignedTo": "Zugewiesen an {{name}}",
+ "points_one": "★ {{count}} Punkt",
+ "points_other": "★ {{count}} Punkte"
},
"detail": {
- "title": "",
- "openTask": "",
- "editEntry": "",
- "performedBy": "",
- "assignedTo": "",
- "lastUpdated": "",
- "duration": "",
- "pointsEarned": "",
- "points_one": "",
- "points_other": "",
- "note": ""
+ "title": "Aktivitätsdetails",
+ "openTask": "Aufgabe öffnen",
+ "editEntry": "Eintrag bearbeiten",
+ "performedBy": "Ausgeführt von",
+ "assignedTo": "Zugewiesen an",
+ "lastUpdated": "Zuletzt aktualisiert",
+ "duration": "Dauer",
+ "pointsEarned": "Verdiente Punkte",
+ "points_one": "{{count}} Punkt",
+ "points_other": "{{count}} Punkte",
+ "note": "Notiz"
},
"charts": {
- "noData": "",
- "noLabels": "",
- "unassigned": "",
- "unknownTask": "",
- "late": "",
+ "noData": "Keine Daten verfügbar",
+ "noLabels": "Keine Beschriftungen",
+ "unassigned": "Nicht zugewiesen",
+ "unknownTask": "Unbekannte Aufgabe",
+ "late": "Verspätet",
"status": {
"title": "",
- "description": ""
+ "description": "Status abgeschlossener Aufgaben"
},
"due": {
- "title": "",
- "description": ""
+ "title": "Fälligkeitsdatum",
+ "description": "Fälligkeitsdatum aktueller Aufgaben"
},
"priority": {
- "title": "",
- "description": ""
+ "title": "Priorität",
+ "description": "Aufgaben nach Priorität"
},
"labels": {
- "title": "",
- "description": ""
+ "title": "Beschriftungen",
+ "description": "Aufgaben nach Beschriftungen"
},
"labelsDuration": {
- "title": "",
- "description": ""
+ "title": "Beschriftungen (Zeit)",
+ "description": "Aufgewendete Zeit nach Beschriftungen (Stunden)"
},
"tasksTime": {
- "title": "",
- "description": ""
+ "title": "Aufgaben (Zeit)",
+ "description": "Aufgewendete Zeit je Aufgabe (Stunden)"
},
"assigneeBreakdown": {
- "title": "",
- "description": ""
+ "title": "nach Zuweisung",
+ "description": "Aufgaben nach zugewiesener Person gruppiert"
}
},
"filter": {
"status": "",
- "pending": "",
- "labels": "",
- "hasNotes": "",
- "hasPoints": "",
- "timePeriod": "",
- "user": "",
- "completedBy": "",
- "completedAt": ""
+ "pending": "Ausstehend",
+ "labels": "Beschriftungen",
+ "hasNotes": "Mit Notizen",
+ "hasPoints": "Mit Punkten",
+ "timePeriod": "Zeitraum",
+ "user": "Benutzer",
+ "completedBy": "Abgeschlossen von",
+ "completedAt": "Abgeschlossen am"
},
"period": {
- "days_one": "",
- "days_other": "",
- "allTime": ""
+ "days_one": "{{count}} Tag",
+ "days_other": "{{count}} Tage",
+ "allTime": "Gesamter Zeitraum"
},
"activities": {
- "title": "",
- "emptyTitle": "",
- "emptyDescriptionEveryone": "",
- "emptyDescriptionMember": "",
- "periodSoFar": "",
- "periodLastDays": "",
- "unknownMember": ""
+ "title": "Aktivitäten",
+ "emptyTitle": "Keine Aktivität in diesem Zeitraum",
+ "emptyDescriptionEveryone": "In deinem Kreis wurde {{period}} von niemandem etwas erledigt. Versuche einen größeren Zeitraum oder ein anderes Mitglied.",
+ "emptyDescriptionMember": "{{name}} hat {{period}} nichts erledigt. Versuche einen größeren Zeitraum oder ein anderes Mitglied.",
+ "periodSoFar": "bisher",
+ "periodLastDays": "in den letzten {{count}} Tagen",
+ "unknownMember": "diesem Mitglied"
},
"title": {
- "summary": "",
- "activity": ""
+ "summary": "Aufgabenzusammenfassung",
+ "activity": "Aufgabenaktivität"
},
"noResults": {
- "clear": ""
+ "clear": "Filter löschen"
},
"toast": {
"updateQueued": {
- "title": "",
- "message": ""
+ "title": "Verlaufsaktualisierung eingereiht",
+ "message": "Du bist offline. Die Verlaufsaktualisierung wird synchronisiert, sobald die Verbindung wiederhergestellt ist."
},
"updated": {
- "title": "",
- "message": ""
+ "title": "Verlauf aktualisiert",
+ "message": "Der Verlaufseintrag wurde erfolgreich aktualisiert."
},
"deleteQueued": {
- "title": "",
- "message": ""
+ "title": "Löschen des Verlaufs eingereiht",
+ "message": "Du bist offline. Das Löschen des Verlaufs wird synchronisiert, sobald die Verbindung wiederhergestellt ist."
},
"deleted": {
- "title": "",
- "message": ""
+ "title": "Verlauf gelöscht",
+ "message": "Der Verlaufseintrag wurde erfolgreich gelöscht."
}
},
"delete": {
- "title": "",
- "message": ""
+ "title": "Verlaufseintrag löschen",
+ "message": "Möchtest du diesen Verlaufseintrag wirklich löschen?"
},
"empty": {
- "title": "",
- "description": "",
- "backToTasks": "",
- "noResultsTitle": "",
- "noResultsDescription": ""
+ "title": "Noch kein Verlauf",
+ "description": "Jedes Mal, wenn diese Aufgabe erledigt oder übersprungen wird, landet sie hier mit Angabe von wem und wann. Bisher ist noch nichts passiert.",
+ "backToTasks": "Zurück zu den Aufgaben",
+ "noResultsTitle": "Kein Verlauf passt zu diesen Filtern",
+ "noResultsDescription": "Hier gibt es Verlaufseinträge, aber keiner davon passt zu den aktuell aktiven Filtern."
},
"info": {
- "allCompleted": "",
- "timesSuffix": "",
- "averageTiming": "",
- "onTime": "",
- "longestDelay": "",
- "neverLate": "",
- "completedMost": "",
- "unknown": "",
- "membersInvolved": "",
- "membersSuffix": "",
- "lastCompleted": ""
+ "allCompleted": "Alle abgeschlossen",
+ "timesSuffix": "{{count}} Mal",
+ "averageTiming": "Durchschnittliche Zeit",
+ "onTime": "Pünktlich",
+ "longestDelay": "Längste Verzögerung",
+ "neverLate": "Nie verspätet",
+ "completedMost": "Am häufigsten abgeschlossen",
+ "unknown": "Unbekannt",
+ "membersInvolved": "Beteiligte Mitglieder",
+ "membersSuffix": "{{count}} Mitglieder",
+ "lastCompleted": "Zuletzt abgeschlossen"
},
"noteViewer": {
- "updatedAt": ""
+ "updatedAt": "Aktualisiert am {{date}}"
}
}
diff --git a/public/locales/de/labels.json b/public/locales/de/labels.json
index 1b9aa5e7..fdb2b3cb 100644
--- a/public/locales/de/labels.json
+++ b/public/locales/de/labels.json
@@ -1,71 +1,71 @@
{
- "shared": "",
+ "shared": "Geteilt",
"delete": {
- "title": "",
- "message": ""
+ "title": "Beschriftung löschen",
+ "message": "Möchtest du diese Beschriftung wirklich löschen? Sie wird von allen Aufgaben entfernt."
},
- "loadError": "",
+ "loadError": "Beschriftungen konnten nicht geladen werden. Bitte versuche es erneut.",
"search": {
- "placeholder": "",
- "noResultsTitle": "",
- "noResultsDescription": "",
- "noFilterResultsDescription": "",
- "clear": "",
- "showAll": ""
+ "placeholder": "Beschriftungen durchsuchen",
+ "noResultsTitle": "Keine passenden Beschriftungen",
+ "noResultsDescription": "Keine Beschriftung passt zu „{{searchTerm}}“.",
+ "noFilterResultsDescription": "Keine Beschriftung entspricht dem aktuellen Filter.",
+ "clear": "Suche löschen",
+ "showAll": "Alle Beschriftungen anzeigen"
},
"detail": {
- "taskCount_one": "",
- "taskCount_other": "",
- "labelActions": "",
+ "taskCount_one": "{{count}} Aufgabe",
+ "taskCount_other": "{{count}} Aufgaben",
+ "labelActions": "Beschriftungsaktionen",
"filters": {
- "all": "",
- "overdue": "",
- "today": "",
- "undated": ""
+ "all": "Alle",
+ "overdue": "Überfällig",
+ "today": "Heute",
+ "undated": "Kein Datum"
},
- "noMatchingStatus": "",
- "clearFilters": "",
- "searchPlaceholder": "",
- "emptyTitle": "",
- "emptyDescription": "",
- "browseTasks": "",
- "noResultsTitle": "",
- "noResultsDescription": "",
- "notFoundTitle": "",
- "notFoundDescription": "",
- "backToLabels": ""
+ "noMatchingStatus": "Keine Aufgabe mit dieser Beschriftung hat derzeit diesen Status.",
+ "clearFilters": "Alle Aufgaben anzeigen",
+ "searchPlaceholder": "Aufgaben mit dieser Beschriftung durchsuchen",
+ "emptyTitle": "Keine Aufgaben mit dieser Beschriftung",
+ "emptyDescription": "Noch ist nichts mit „{{label}}“ gekennzeichnet. Füge die Beschriftung einer Aufgabe hinzu, dann erscheint sie hier.",
+ "browseTasks": "Aufgaben durchsuchen",
+ "noResultsTitle": "Keine passenden Aufgaben",
+ "noResultsDescription": "Keine Aufgabe mit dieser Beschriftung passt zu „{{searchTerm}}“.",
+ "notFoundTitle": "Beschriftung nicht gefunden",
+ "notFoundDescription": "Diese Beschriftung wurde möglicherweise gelöscht oder wird nicht mehr mit dir geteilt.",
+ "backToLabels": "Zurück zu den Beschriftungen"
},
- "blurb": "",
+ "blurb": "Verwalte deine Beschriftungen und organisiere deine Aufgaben übersichtlich. Beschriftungen werden automatisch mit deinem Kreis geteilt, wenn sie für eine geteilte Aufgabe verwendet werden.",
"modal": {
- "errorEmptyName": "",
- "errorDuplicate": "",
- "errorNoColor": "",
- "saveFailedTitle": "",
- "saveFailedMessage": "",
+ "errorEmptyName": "Name darf nicht leer sein",
+ "errorDuplicate": "Eine Beschriftung mit diesem Namen ist bereits vorhanden",
+ "errorNoColor": "Bitte wähle eine Farbe aus",
+ "saveFailedTitle": "Beschriftung konnte nicht gespeichert werden",
+ "saveFailedMessage": "Beschriftung konnte nicht gespeichert werden. Bitte versuche es erneut.",
"name": "",
- "editTitle": "",
- "addTitle": "",
- "color": "",
- "saveChanges": "",
- "addLabel": "",
- "colorAriaSelect": ""
+ "editTitle": "Label bearbeiten",
+ "addTitle": "Label hinzufügen",
+ "color": "Farbe",
+ "saveChanges": "Änderungen speichern",
+ "addLabel": "Label hinzufügen",
+ "colorAriaSelect": "{{color}} auswählen"
},
"picker": {
"label": "",
- "createLabel": "",
- "labelsCount_one": "",
- "labelsCount_other": ""
+ "createLabel": "Label erstellen",
+ "labelsCount_one": "{{count}} Label",
+ "labelsCount_other": "{{count}} Labels"
},
"view": {
- "emptyTitle": "",
- "emptyDescription": "",
- "createLabel": "",
- "filterTitle": "",
+ "emptyTitle": "Noch keine Labels",
+ "emptyDescription": "Labels gruppieren Aufgaben in deinem Kreis, z. B. „Küche“ oder „Rechnungen“, sodass du mit einem Tipp danach filtern kannst.",
+ "createLabel": "Label erstellen",
+ "filterTitle": "Anzeigen",
"sortName": "",
- "sortColor": "",
- "sortRecent": "",
- "filterAll": "",
- "filterMine": "",
- "filterShared": ""
+ "sortColor": "Farbe",
+ "sortRecent": "Zuletzt erstellt",
+ "filterAll": "Alle Labels",
+ "filterMine": "Von mir erstellt",
+ "filterShared": "Mit mir geteilt"
}
}
diff --git a/public/locales/de/points.json b/public/locales/de/points.json
index 772bb27e..ac300237 100644
--- a/public/locales/de/points.json
+++ b/public/locales/de/points.json
@@ -1,74 +1,74 @@
{
- "redeem": "",
+ "redeem": "Punkte einlösen",
"redeemModal": {
- "redeemButton": "",
- "pointsAvailable": "",
- "pointsToRedeem": "",
- "placeholder": "",
- "cannotExceed": "",
- "quickAdd": "",
- "aboutToRedeem": "",
- "amount": "",
- "remaining": ""
+ "redeemButton": "Einlösen",
+ "pointsAvailable": "{{count}} Punkte verfügbar",
+ "pointsToRedeem": "Einzulösende Punkte",
+ "placeholder": "Punkte eingeben...",
+ "cannotExceed": "Darf die verfügbaren Punkte nicht überschreiten",
+ "quickAdd": "Schnellauswahl:",
+ "aboutToRedeem": "Du bist dabei, Punkte einzulösen:",
+ "amount": "{{count}} Punkte",
+ "remaining": "Verbleibend: {{count}} Punkte"
},
"leaderboard": {
- "titlePoints": "",
- "titleTasks": "",
- "subtitlePoints": "",
- "subtitleTasks": "",
- "modePoints": "",
- "modeTasks": "",
- "you": "",
- "tasksAndAvg": "",
- "available": "",
- "points_one": "",
- "points_other": ""
+ "titlePoints": "Punkte-Rangliste",
+ "titleTasks": "Aufgaben-Rangliste",
+ "subtitlePoints": "Rangliste nach den im ausgewählten Zeitraum verdienten Punkten",
+ "subtitleTasks": "Rangliste nach den im ausgewählten Zeitraum abgeschlossenen Aufgaben",
+ "modePoints": "Punkte",
+ "modeTasks": "Aufgaben",
+ "you": "Du",
+ "tasksAndAvg": "{{tasks}} Aufgaben • Ø {{avg}} pro Aufgabe",
+ "available": "{{count}} verfügbar",
+ "points_one": "{{count}} Punkt",
+ "points_other": "{{count}} Punkte"
},
"tabs": {
- "short7d": "",
- "short6m": "",
- "shortAll": "",
- "days7": "",
- "months6": "",
- "allTime": ""
+ "short7d": "7 T.",
+ "short6m": "6 Mon.",
+ "shortAll": "Alle",
+ "days7": "7 Tage",
+ "months6": "6 Monate",
+ "allTime": "Gesamter Zeitraum"
},
"filter": {
- "analysisTitle": "",
- "title": "",
- "showFor": "",
- "timePeriod": ""
+ "analysisTitle": "Filter & Analyse",
+ "title": "Punkte filtern",
+ "showFor": "Punkte anzeigen für:",
+ "timePeriod": "Zeitraum:"
},
"cards": {
"available": {
- "title": "",
- "subtext": ""
+ "title": "Verfügbar",
+ "subtext": "Zum Einlösen bereit"
},
"redeemed": {
- "title": "",
- "subtext": ""
+ "title": "Eingelöst",
+ "subtext": "Bereits verwendet"
},
"total": {
- "title": "",
- "subtext": ""
+ "title": "Gesamt",
+ "subtext": "Insgesamt verdient"
},
"period": {
- "title": "",
- "allTime": "",
- "last6Months": "",
- "lastDays_one": "",
- "lastDays_other": ""
+ "title": "Punkte im Zeitraum",
+ "allTime": "Gesamter Zeitraum",
+ "last6Months": "Letzte 6 Monate",
+ "lastDays_one": "Letzter {{count}} Tag",
+ "lastDays_other": "Letzte {{count}} Tage"
}
},
"summary": {
- "showingFor": "",
- "unknownUser": "",
- "overThe": "",
- "allTime": "",
- "last6Months": "",
- "lastDays_one": "",
- "lastDays_other": ""
+ "showingFor": "Punkte werden angezeigt für",
+ "unknownUser": "Unbekannter Benutzer",
+ "overThe": "im Zeitraum",
+ "allTime": "Gesamter Zeitraum",
+ "last6Months": "Letzte 6 Monate",
+ "lastDays_one": "Letzter {{count}} Tag",
+ "lastDays_other": "Letzte {{count}} Tage"
},
"trend": {
- "title": ""
+ "title": "Punkteverlauf"
}
}
diff --git a/public/locales/de/projects.json b/public/locales/de/projects.json
index 0dbad4fb..ab538ebe 100644
--- a/public/locales/de/projects.json
+++ b/public/locales/de/projects.json
@@ -1,72 +1,72 @@
{
"iconPicker": {
- "chooseIcon": "",
- "availableIcons": ""
+ "chooseIcon": "Projektsymbol auswählen",
+ "availableIcons": "Verfügbare Symbole"
},
"icons": {
- "FolderOpen": "",
- "Work": "",
- "Home": "",
- "School": "",
- "BusinessCenter": "",
+ "FolderOpen": "Ordner",
+ "Work": "Arbeit",
+ "Home": "Zuhause",
+ "School": "Schule",
+ "BusinessCenter": "Geschäftlich",
"Code": "",
- "Build": "",
+ "Build": "Werkzeug",
"Palette": "",
- "SportsSoccer": "",
+ "SportsSoccer": "Sport",
"FitnessCenter": "",
- "ShoppingCart": "",
- "Restaurant": "",
- "Flight": "",
- "Book": "",
- "MusicNote": "",
- "PhotoCamera": "",
- "Games": "",
- "Science": "",
- "AccountBalance": "",
- "LocalHospital": "",
+ "ShoppingCart": "Einkaufen",
+ "Restaurant": "Essen",
+ "Flight": "Reisen",
+ "Book": "Lernen",
+ "MusicNote": "Musik",
+ "PhotoCamera": "Foto",
+ "Games": "Spiele",
+ "Science": "Wissenschaft",
+ "AccountBalance": "Finanzen",
+ "LocalHospital": "Gesundheit",
"DirectionsCar": "",
- "Pets": "",
- "Garden": "",
- "Computer": ""
+ "Pets": "Haustiere",
+ "Garden": "Garten",
+ "Computer": "Technik"
},
- "defaultChip": "",
- "tasks_one": "",
- "tasks_other": "",
- "shared": "",
+ "defaultChip": "Standard",
+ "tasks_one": "{{count}} Aufgabe",
+ "tasks_other": "{{count}} Aufgaben",
+ "shared": "Geteilt",
"delete": {
- "title": "",
- "message": ""
+ "title": "Projekt löschen",
+ "message": "Möchtest du „{{name}}“ wirklich löschen? Das Projekt wird entfernt, die Aufgaben bleiben erhalten und werden in das Standardprojekt verschoben."
},
- "loadError": "",
+ "loadError": "Projekte konnten nicht geladen werden. Bitte versuche es erneut.",
"search": {
- "placeholder": "",
- "noResultsTitle": "",
- "noResultsDescription": "",
- "noFilterResultsDescription": "",
- "clear": "",
- "showAll": ""
+ "placeholder": "Projekte durchsuchen",
+ "noResultsTitle": "Keine passenden Projekte",
+ "noResultsDescription": "Kein Projekt passt zu „{{searchTerm}}“.",
+ "noFilterResultsDescription": "Kein Projekt entspricht dem aktuellen Filter.",
+ "clear": "Suche löschen",
+ "showAll": "Alle Projekte anzeigen"
},
- "blurb": "",
- "defaultDescription": "",
+ "blurb": "Organisiere deine Aufgaben in Projekten. Erstelle eigene Arbeitsbereiche, damit deine Aufgaben übersichtlich und leicht zugänglich bleiben.",
+ "defaultDescription": "Alle Aufgaben ohne bestimmtes Projekt",
"selector": {
- "title": "",
- "createNew": "",
- "createNewDescription": "",
- "manage": "",
- "manageDescription": "",
- "currentProjectTitle": "",
- "builtInWorkspace": ""
+ "title": "Projekte",
+ "createNew": "Neues Projekt erstellen",
+ "createNewDescription": "Eigenen Projektarbeitsbereich hinzufügen",
+ "manage": "Projekte verwalten",
+ "manageDescription": "Alle Projekte anzeigen, bearbeiten und organisieren",
+ "currentProjectTitle": "Aktuelles Projekt: {{project}} (Strg+E)",
+ "builtInWorkspace": "Integrierter Projekt-Arbeitsbereich"
},
"modal": {
- "errorNameRequired": "",
- "errorUpdate": "",
- "errorCreate": "",
- "namePlaceholder": "",
- "descriptionPlaceholder": "",
- "nameLabel": "",
- "descriptionLabel": "",
- "iconLabel": "",
- "selectIcon": "",
- "colorLabel": ""
+ "errorNameRequired": "Projektname ist erforderlich",
+ "errorUpdate": "Projekt konnte nicht aktualisiert werden",
+ "errorCreate": "Projekt konnte nicht erstellt werden",
+ "namePlaceholder": "Projektname eingeben...",
+ "descriptionPlaceholder": "Optionale Projektbeschreibung...",
+ "nameLabel": "Projektname",
+ "descriptionLabel": "Beschreibung",
+ "iconLabel": "Projektsymbol",
+ "selectIcon": "Symbol auswählen",
+ "colorLabel": "Projektfarbe"
}
}
diff --git a/public/locales/de/settings.json b/public/locales/de/settings.json
index 6b263d8c..1f5ef19f 100644
--- a/public/locales/de/settings.json
+++ b/public/locales/de/settings.json
@@ -13,7 +13,7 @@
"error": "Fehler",
"success": "Erfolg",
"plusFeature": "Plus-Funktion",
- "earlyAccess": ""
+ "earlyAccess": "Frühzugang"
},
"overview": {
"title": "Einstellungen",
@@ -79,8 +79,8 @@
"description": "Konfiguriere Webhooks, Echtzeit-Updates und weitere erweiterte Funktionen."
},
"privacy": {
- "title": "",
- "description": ""
+ "title": "Datenschutz & Analysen",
+ "description": "Anonyme Nutzungsanalysen und Absturzberichte verwalten."
},
"developer": {
"title": "Entwicklereinstellungen",
@@ -101,7 +101,7 @@
"description": "Aktualisiere deinen Anzeigenamen und dein Profilfoto.",
"photoUpdated": "Foto aktualisiert",
"photoUpdatedMessage": "Dein Profilfoto wurde erfolgreich aktualisiert!",
- "uploadFailed": "Upload fehlgeschlagen",
+ "uploadFailed": "Hochladen fehlgeschlagen",
"uploadFailedMessage": "Dein Foto konnte nicht hochgeladen werden. Bitte versuche es erneut.",
"profileUpdated": "Profil aktualisiert",
"profileUpdatedMessage": "Deine Profildaten wurden erfolgreich gespeichert!",
@@ -118,58 +118,58 @@
},
"circleSettings": {
"title": "Circle-Einstellungen",
- "description": "Dein Konto wird automatisch mit einem Circle verbunden, wenn du einen erstellst oder beitrittst. Lade Freunde ein, indem du den unten stehenden Circle-Code oder Link teilst. Du erhältst unten eine Benachrichtigung, wenn jemand deinem Circle beitreten möchte.",
+ "description": "Dein Konto wird automatisch mit einem Kreis verbunden, wenn du einen erstellst oder beitrittst. Lade Freunde ein, indem du den unten stehenden Kreiscode oder Link teilst. Du erhältst unten eine Benachrichtigung, wenn jemand deinem Kreis beitreten möchte.",
"memberOf": "Du bist Teil von {{name}}",
- "yourCircleCode": "Dein Circle-Code lautet:",
+ "yourCircleCode": "Dein Kreiscode lautet:",
"copyCode": "Code kopieren",
"shareInvite": "Einladung teilen",
"codeCopied": "Code in die Zwischenablage kopiert",
"linkCopied": "Einladungslink in die Zwischenablage kopiert",
- "myCircle": "meinem Circle",
+ "myCircle": "meinem Kreis",
"shareTitle": "Tritt {{name}} auf Donetick bei",
"shareText": "Ich möchte dich einladen, {{name}} auf Donetick beizutreten.",
- "shareDialogTitle": "Circle-Einladung teilen",
+ "shareDialogTitle": "Kreiseinladung teilen",
"leave": "Circle verlassen",
"leaveConfirmTitle": "Circle verlassen",
- "leaveConfirmMessage": "Möchtest du deinen Circle wirklich verlassen?",
+ "leaveConfirmMessage": "Möchtest du deinen Kreis wirklich verlassen?",
"leaveConfirmButton": "Verlassen",
- "leftCircle": "Circle erfolgreich verlassen",
- "leaveFailed": "Circle konnte nicht verlassen werden",
- "circleMembers": "Circle-Mitglieder",
+ "leftCircle": "Kreis erfolgreich verlassen",
+ "leaveFailed": "Kreis konnte nicht verlassen werden",
+ "circleMembers": "Kreismitglieder",
"you": "(Du)",
"pendingApproval": "Warten auf Freigabe",
"joinedOn": "Beigetreten am {{date}}",
"requestedToJoin": "Beitrittsanfrage {{date}}",
"roles": {
"member": "Mitglied",
- "memberDescription": "Ein normales Mitglied des Circles",
+ "memberDescription": "Ein normales Mitglied des Kreise",
"manager": "",
"managerDescription": "Kann sich als Nutzer ausgeben und in deren Namen handeln",
- "admin": "",
- "adminDescription": "Voller Zugriff auf den Circle"
+ "admin": "Administrator",
+ "adminDescription": "Voller Zugriff auf den Kreis"
},
"roleUpdateFailed": "Rolle konnte nicht aktualisiert werden",
"removeMemberTitle": "Mitglied entfernen",
- "removeMemberMessage": "Möchtest du {{name}} wirklich aus deinem Circle entfernen?",
+ "removeMemberMessage": "Möchtest du {{name}} wirklich aus deinem Kreis entfernen?",
"memberRemoved": "Mitglied erfolgreich entfernt",
"circleMemberRequests": "Beitrittsanfragen",
"lastUpdated": "Zuletzt aktualisiert: {{time}}",
"refreshing": "Wird aktualisiert …",
"refreshFailed": "Beitrittsanfragen konnten nicht aktualisiert werden",
- "wantsToJoin": "{{name}} möchte deinem Circle beitreten.",
+ "wantsToJoin": "{{name}} möchte deinem Kreis beitreten.",
"accept": "Annehmen",
"acceptRequestTitle": "Beitrittsanfrage annehmen",
- "acceptRequestMessage": "Möchtest du {{name}} (Benutzername: {{username}}) wirklich in deinen Circle aufnehmen?",
+ "acceptRequestMessage": "Möchtest du {{name}} (Benutzername: {{username}}) wirklich in deinen Kreis aufnehmen?",
"requestAccepted": "Anfrage erfolgreich angenommen",
"or": "oder",
- "joinOtherDescription": "Möchtest du dem Circle einer anderen Person beitreten? Frage nach dem Circle-Code oder Beitrittslink. Gib den Code unten ein, um beizutreten.",
- "enterCircleCode": "Circle-Code eingeben:",
+ "joinOtherDescription": "Möchtest du dem Kreis einer anderen Person beitreten? Frage nach dem Kreiscode oder Beitrittslink. Gib den Code unten ein, um beizutreten.",
+ "enterCircleCode": "Kreiscode eingeben:",
"enterCodePlaceholder": "Code eingeben",
- "joinCircle": "Circle beitreten",
- "joinedPending": "Circle erfolgreich beigetreten, warte auf die Bestätigung durch die Circle-Inhaberin oder den Circle-Inhaber.",
- "alreadyMember": "Du bist bereits Mitglied dieses Circles",
- "joinFailed": "Beitritt zum Circle fehlgeschlagen",
- "copyLink": ""
+ "joinCircle": "Kreis beitreten",
+ "joinedPending": "Kreis erfolgreich beigetreten, warte auf die Bestätigung durch die Kreisbesitzerin oder den Kreisbesitzer.",
+ "alreadyMember": "Du bist bereits Mitglied dieses Kreise",
+ "joinFailed": "Beitritt zum Kreis fehlgeschlagen",
+ "copyLink": "Link kopieren"
},
"accountSettings": {
"title": "Kontoeinstellungen",
@@ -238,7 +238,7 @@
"howItWorks1": "Verwaltete Konten werden vom Hauptkonto erstellt – für Personen, deren Konto du löschen und deren Passwort du zurücksetzen können möchtest.",
"howItWorks2": "Unterkonten können sich mit eigenem Benutzernamen und Passwort anmelden.",
"howItWorks3": "Verwaltete Konten können Aufgaben erledigen, haben aber eingeschränkte Verwaltungsrechte",
- "howItWorks4": "Verwaltete Konten werden automatisch deinem Circle hinzugefügt"
+ "howItWorks4": "Verwaltete Konten werden automatisch deinem Kreis hinzugefügt"
},
"notifications": {
"title": "Benachrichtigungseinstellungen",
@@ -331,7 +331,7 @@
"addedAccount": "Ich habe das Konto hinzugefügt",
"back": "Zurück",
"verifyAndEnable": "Prüfen & aktivieren",
- "savedBackupCodes": "Ich habe meine Backup-Codes gespeichert",
+ "savedBackupCodes": "Ich habe meine Sicherungscodes gespeichert",
"step1Label": "Schritt 1:",
"step1": "Scanne den QR-Code unten mit deiner Authenticator-App (Google Authenticator, Authy usw.)",
"qrAlt": "MFA-QR-Code",
@@ -341,7 +341,7 @@
"step2": "Gib den 6-stelligen Bestätigungscode aus deiner Authenticator-App ein",
"codePlaceholder": "6-stelligen Code eingeben",
"successTitle": "MFA erfolgreich aktiviert!",
- "backupCodesTitle": "Bewahre diese Backup-Codes an einem sicheren Ort auf",
+ "backupCodesTitle": "Bewahre diese Sicherungscodes an einem sicheren Ort auf",
"backupCodesDescription": "Mit diesen Codes kannst du auf dein Konto zugreifen, falls du dein Authenticator-Gerät verlierst. Jeder Code kann nur einmal verwendet werden."
},
"disableModal": {
@@ -351,10 +351,10 @@
"confirm": "MFA deaktivieren"
},
"backupCodesModal": {
- "title": "Neue Backup-Codes",
- "warning": "Deine bisherigen Backup-Codes sind jetzt ungültig. Bewahre diese neuen Codes an einem sicheren Ort auf. Jeder Code kann nur einmal verwendet werden."
+ "title": "Neue Sicherungscodes",
+ "warning": "Deine bisherigen Sicherungscodes sind jetzt ungültig. Bewahre diese neuen Codes an einem sicheren Ort auf. Jeder Code kann nur einmal verwendet werden."
},
- "generateCodes": ""
+ "generateCodes": "Neue Codes erzeugen"
},
"apiTokens": {
"title": "API-Token",
@@ -425,7 +425,7 @@
"description": "Zeigt den Wochenfortschritt und die Erledigungsstatistik der Familie"
}
},
- "detailedDescription": ""
+ "detailedDescription": "Passe Anordnung und Sichtbarkeit der Karten in der Seitenleiste an. Dieser Bereich ist nur auf Geräten mit großem Bildschirm wie Tablets und Desktop-Computern verfügbar."
},
"theme": {
"title": "Design-Einstellungen",
@@ -460,7 +460,7 @@
"long": "Langes Format (z. B. 1. Januar 2024)",
"short": "Kurzes Format (z. B. 1. Jan. 2024)"
},
- "descriptionLong": ""
+ "descriptionLong": "Passe Sprache, Datumsformat und regionale Einstellungen für dein Konto an. Diese Einstellungen gelten in der gesamten Anwendung."
},
"advanced": {
"title": "Erweiterte Einstellungen",
@@ -476,7 +476,7 @@
"offlineDisableMessage": "Beim Deaktivieren des Offline-Modus werden nicht synchronisierte Offline-Änderungen und gespeicherte Offline-Daten auf diesem Gerät/Browser entfernt. Möchtest du fortfahren?",
"offlineDisableConfirm": "Deaktivieren & Daten löschen",
"webhookTitle": "Webhook-Integration",
- "webhookDescription": "Mit Webhooks kannst du Echtzeit-Benachrichtigungen an andere Dienste senden, wenn in deinem Circle etwas passiert. Konfiguriere eine Webhook-URL, um Echtzeit-Updates zu erhalten.",
+ "webhookDescription": "Mit Webhooks kannst du Echtzeit-Benachrichtigungen an andere Dienste senden, wenn in deinem Kreis etwas passiert. Konfiguriere eine Webhook-URL, um Echtzeit-Updates zu erhalten.",
"webhookPlusNotice": "Webhook-Benachrichtigungen sind im Basis-Tarif nicht verfügbar. Wechsle zu Plus, um Echtzeit-Updates per Webhook zu erhalten.",
"webhookToggle": "Webhook aktivieren",
"webhookHelper": "Webhook-Benachrichtigungen für Aufgaben- und Dinge-Updates aktivieren.",
@@ -484,167 +484,167 @@
"webhookUpdated": "Webhook-URL erfolgreich aktualisiert",
"webhookUpdateFailed": "Webhook-URL konnte nicht aktualisiert werden",
"realtimeTitle": "Echtzeit-Updates",
- "realtimeDescription": "Lege fest, wie du Live-Updates erhältst, wenn sich Aufgaben und Aktivitäten in deinem Circle ändern.",
+ "realtimeDescription": "Lege fest, wie du Live-Updates erhältst, wenn sich Aufgaben und Aktivitäten in deinem Kreis ändern.",
"realtime": {
"toggleLabel": "Echtzeit-Updates aktivieren",
"title": "Echtzeit-Updates",
"subtitle": "Erhalte sofort Benachrichtigungen, wenn Aufgaben aktualisiert werden",
"statusLabel": "",
"basicPlan": "Echtzeit-Updates sind im Basis-Tarif nicht verfügbar. Wechsle zu Plus, um sofort benachrichtigt zu werden, wenn Aufgaben aktualisiert werden.",
- "disabled": "Echtzeit-Updates sind deaktiviert. Aktiviere sie, um Live-Änderungen zu sehen, wenn du oder andere Circle-Mitglieder Aufgaben erledigen, überspringen oder ändern.",
- "connected": "Echtzeit-Updates funktionieren. Du siehst Live-Änderungen, wenn du oder andere Circle-Mitglieder Aufgaben erledigen, überspringen oder ändern.",
+ "disabled": "Echtzeit-Updates sind deaktiviert. Aktiviere sie, um Live-Änderungen zu sehen, wenn du oder andere Kreismitglieder Aufgaben erledigen, überspringen oder ändern.",
+ "connected": "Echtzeit-Updates funktionieren. Du siehst Live-Änderungen, wenn du oder andere Kreismitglieder Aufgaben erledigen, überspringen oder ändern.",
"connecting": "Verbindung zu Echtzeit-Updates wird hergestellt …",
"errored": "Echtzeit-Updates sind aktiviert, funktionieren aber nicht: {{error}}",
"notConnected": "Echtzeit-Updates sind aktiviert, aber derzeit nicht verbunden.",
- "basicPlanNotice": "Echtzeit-Updates sind im Basis-Tarif nicht verfügbar. Wechsle zu Plus, um sofort benachrichtigt zu werden, wenn du oder andere Circle-Mitglieder Aufgaben erledigen, überspringen oder ändern."
+ "basicPlanNotice": "Echtzeit-Updates sind im Basis-Tarif nicht verfügbar. Wechsle zu Plus, um sofort benachrichtigt zu werden, wenn du oder andere Kreismitglieder Aufgaben erledigen, überspringen oder ändern."
}
},
"privacyAnalytics": {
- "title": "",
- "description": "",
- "analyticsToggle": "",
- "analyticsHelper": "",
- "crashToggle": "",
- "crashHelper": "",
- "footnote": ""
+ "title": "Datenschutz & Analysen",
+ "description": "Donetick sendet niemals Aufgabennamen, Beschreibungen, Notizen oder andere Aufgabeninhalte. Sitzungsaufzeichnungen werden niemals aktiviert.",
+ "analyticsToggle": "Anonyme Analysen",
+ "analyticsHelper": "Hilf Donetick zu verbessern, indem du anonyme Nutzungsstatistiken teilst.",
+ "crashToggle": "Absturzberichte",
+ "crashHelper": "Sende uns bei einem Absturz den Fehler und den Ablauf davor – ohne Aufgabeninhalte.",
+ "footnote": "Du kannst diese Auswahl jederzeit ändern."
},
"subscription": {
- "sessionFailed": "",
- "errorTitle": "",
- "errorMessage": "",
- "subscribe": "",
- "cancelAnytime": "",
- "description": "",
- "whatsIncluded": "",
- "mostPopular": "",
- "featureNotifications": "",
- "featureRichText": "",
- "featureThingTriggers": "",
- "featureApiTokens": "",
- "featureImageUploads": "",
- "featureAutomation": "",
- "planYearly": ""
+ "sessionFailed": "Abonnementsitzung konnte nicht erstellt werden",
+ "errorTitle": "Abonnementfehler",
+ "errorMessage": "Abonnementvorgang konnte nicht gestartet werden. Bitte versuche es erneut.",
+ "subscribe": "Abonnieren",
+ "cancelAnytime": "Jederzeit kündbar. Keine versteckten Gebühren. Sichere Zahlung über Stripe.",
+ "description": "Schalte Erinnerungen, ausführliche Aufgabendetails und erweiterte Automatisierung frei.",
+ "whatsIncluded": "Das ist enthalten:",
+ "mostPopular": "Am beliebtesten",
+ "featureNotifications": "Aufgabenbenachrichtigungen und Erinnerungen",
+ "featureRichText": "Formatierte Beschreibungen mit Bild-Uploads",
+ "featureThingTriggers": "Aufgabenauslöser basierend auf Dingen",
+ "featureApiTokens": "API-Tokens für Integrationen",
+ "featureImageUploads": "Bild-Uploads in Beschreibungen",
+ "featureAutomation": "Erweiterte Aufgabenautomatisierung",
+ "planYearly": "Jährlich"
},
"childUsers": {
- "errNameRequired": "",
- "errNameMin": "",
- "errNameMax": "",
- "errNameChars": "",
- "errPasswordRequired": "",
- "errPasswordLength": "",
- "errPasswordMatch": "",
- "errDisplayNameMax": "",
- "createTitle": "",
- "createDescription": "",
- "createButton": "",
- "nameLabel": "",
- "namePlaceholder": "",
- "displayNameLabel": "",
- "displayNamePlaceholder": "",
- "passwordLabel": "",
- "passwordPlaceholder": "",
- "confirmPasswordLabel": "",
- "confirmPasswordPlaceholder": ""
+ "errNameRequired": "Name des Unterkontos ist erforderlich",
+ "errNameMin": "Der Name des Unterkontos muss mindestens 2 Zeichen lang sein",
+ "errNameMax": "Der Name des Unterkontos muss kürzer als 20 Zeichen sein",
+ "errNameChars": "Der Name des Unterkontos darf nur Kleinbuchstaben, Punkt und Bindestrich enthalten",
+ "errPasswordRequired": "Passwort ist erforderlich",
+ "errPasswordLength": "Das Passwort muss zwischen 8 und 64 Zeichen lang sein",
+ "errPasswordMatch": "Die Passwörter stimmen nicht überein",
+ "errDisplayNameMax": "Der Anzeigename muss kürzer als 50 Zeichen sein",
+ "createTitle": "Unterkonto erstellen",
+ "createDescription": "Erstelle einen Zugang, mit dem diesem Konto zugewiesene Aufgaben erledigt werden können.",
+ "createButton": "Konto erstellen",
+ "nameLabel": "Name des Unterkontos *",
+ "namePlaceholder": "Name des Unterkontos eingeben (z. B. sarah)",
+ "displayNameLabel": "Anzeigename",
+ "displayNamePlaceholder": "Anzeigename (optional; standardmäßig der Name des Unterkontos)",
+ "passwordLabel": "Passwort *",
+ "passwordPlaceholder": "Passwort eingeben (8–64 Zeichen)",
+ "confirmPasswordLabel": "Passwort bestätigen *",
+ "confirmPasswordPlaceholder": "Passwort bestätigen"
},
"passwordChange": {
- "minLength": "",
- "maxLength": "",
- "description": "",
- "mismatch": "",
- "newPassword": "",
- "newPasswordPlaceholder": "",
- "confirmPassword": "",
- "confirmPasswordPlaceholder": ""
+ "minLength": "Das Passwort muss mindestens 8 Zeichen lang sein",
+ "maxLength": "Das Passwort muss kürzer als 64 Zeichen sein",
+ "description": "Wähle ein Passwort mit 8 bis 64 Zeichen.",
+ "mismatch": "Die Passwörter stimmen nicht überein",
+ "newPassword": "Neues Passwort",
+ "newPasswordPlaceholder": "Passwort eingeben",
+ "confirmPassword": "Passwort bestätigen",
+ "confirmPasswordPlaceholder": "Passwort wiederholen"
},
"payment": {
- "cancelledTitle": "",
- "cancelledRedirect": "",
- "successTitle": "",
- "successRedirect": ""
+ "cancelledTitle": "Zahlung wurde abgebrochen",
+ "cancelledRedirect": "Du wirst in Kürze zur Hauptseite weitergeleitet.",
+ "successTitle": "Zahlung erfolgreich!",
+ "successRedirect": "Du wirst in Kürze zur Einstellungsseite weitergeleitet."
},
"developer": {
- "tokenRefreshed": "",
- "endpointCalled": "",
- "clearDbCleared": "",
- "clearDbDone": "",
- "intro": "",
- "refreshCookieNote": "",
- "noReconnectInfo": "",
- "noTimeoutInfo": "",
- "noDebugInfo": ""
+ "tokenRefreshed": "Token erfolgreich aktualisiert",
+ "endpointCalled": "Endpunkt zum Aktualisieren des Tokens erfolgreich aufgerufen",
+ "clearDbCleared": "Lokale Offline-Datenbank gelöscht. Vollständige Synchronisierung wird gestartet...",
+ "clearDbDone": "Vollständige Synchronisierung von Anfang an abgeschlossen",
+ "intro": "Technische Informationen zu deinen Authentifizierungstokens und deiner Sitzung anzeigen",
+ "refreshCookieNote": "Aktualisierungstokens werden auf der Webplattform über HTTP-only-Cookies verwaltet",
+ "noReconnectInfo": "Keine Informationen zur Wiederverbindung verfügbar",
+ "noTimeoutInfo": "Keine Informationen zur Zeitüberschreitung verfügbar",
+ "noDebugInfo": "Keine Debug-Informationen verfügbar"
},
"backup": {
- "keyRequired": "",
- "created": "",
- "createFailed": "",
- "selectFile": "",
- "restored": "",
- "restoreFailed": "",
- "readFailed": "",
- "createIntro": "",
- "keyPlaceholder": "",
- "includeAssets": "",
- "warningLabel": "",
- "restoreWarning": "",
- "restoreKeyPlaceholder": "",
- "title": "",
- "createTab": "",
- "restoreTab": "",
- "creating": "",
- "restoring": ""
+ "keyRequired": "Verschlüsselungsschlüssel ist erforderlich",
+ "created": "Sicherung erfolgreich erstellt und heruntergeladen",
+ "createFailed": "Sicherung konnte nicht erstellt werden",
+ "selectFile": "Bitte wähle eine Sicherungsdatei aus",
+ "restored": "Sicherung erfolgreich wiederhergestellt. Bitte lade die Seite neu.",
+ "restoreFailed": "Sicherung konnte nicht wiederhergestellt werden",
+ "readFailed": "Sicherungsdatei konnte nicht gelesen werden",
+ "createIntro": "Erstelle eine verschlüsselte Sicherung deiner Daten. Sie enthält alle Aufgaben, den Verlauf, Einstellungen und optional deine hochgeladenen Dateien.",
+ "keyPlaceholder": "Starken Verschlüsselungsschlüssel eingeben",
+ "includeAssets": "Hochgeladene Dateien und Assets einschließen",
+ "warningLabel": "Warnung:",
+ "restoreWarning": "Beim Wiederherstellen einer Sicherung werden alle aktuellen Daten ersetzt. Diese Aktion kann nicht rückgängig gemacht werden.",
+ "restoreKeyPlaceholder": "Den für diese Sicherung verwendeten Verschlüsselungsschlüssel eingeben",
+ "title": "Sichern & Wiederherstellen",
+ "createTab": "Sicherung erstellen",
+ "restoreTab": "Sicherung wiederherstellen",
+ "creating": "Sicherung wird erstellt...",
+ "restoring": "Sicherung wird wiederhergestellt..."
},
"deletion": {
- "passwordRequired": "",
- "passwordAndDelete": "",
- "failed": "",
- "passwordPlaceholder": "",
- "transferIntro": "",
- "selectOwner": "",
- "confirmPrompt": "",
+ "passwordRequired": "Bitte gib dein Passwort ein, um fortzufahren",
+ "passwordAndDelete": "Bitte gib dein Passwort ein und tippe DELETE zur Bestätigung",
+ "failed": "Konto konnte nicht gelöscht werden",
+ "passwordPlaceholder": "Passwort eingeben",
+ "transferIntro": "Du besitzt Kreise, deren Eigentümerschaft vor dem Löschen übertragen werden muss. Bitte wähle neue Besitzer aus:",
+ "selectOwner": "Neuen Besitzer auswählen",
+ "confirmPrompt": "Bitte gib dein Passwort ein und tippe DELETE zur Bestätigung",
"typeDelete": "",
- "warningLead": "",
- "warningIntro": "",
- "removesProfile": "",
- "removesChores": "",
- "removesTokens": "",
- "removesStorage": "",
- "removesPoints": "",
- "removesCircles": "",
- "passwordToContinue": "",
- "circleLabel": "",
- "newOwner": "",
- "logoutNotice": "",
- "passwordLabel": "",
- "typeToConfirm": ""
+ "warningLead": "Diese Aktion kann nicht rückgängig gemacht werden.",
+ "warningIntro": "Beim Löschen deines Kontos werden dauerhaft entfernt:",
+ "removesProfile": "Dein Benutzerprofil und deine Authentifizierungsdaten",
+ "removesChores": "Alle deine Aufgaben, der Aufgabenverlauf und Zeiterfassungssitzungen",
+ "removesTokens": "API-Tokens, MFA-Sitzungen und Tokens zum Zurücksetzen des Passworts",
+ "removesStorage": "Gespeicherte Dateien und Nutzungsdaten",
+ "removesPoints": "Punkteverlauf und Benachrichtigungen",
+ "removesCircles": "Kreismitgliedschaften und Beziehungen",
+ "passwordToContinue": "Gib dein Passwort ein, um fortzufahren",
+ "circleLabel": "Kreis: {{name}}",
+ "newOwner": "Neuer Besitzer",
+ "logoutNotice": "Nach erfolgreicher Löschung wirst du abgemeldet und zur Anmeldeseite weitergeleitet.",
+ "passwordLabel": "Passwort",
+ "typeToConfirm": "Tippe „{{word}}“ zur Bestätigung"
},
"realtime": {
- "titleSse": "",
- "subtitleSse": ""
+ "titleSse": "Echtzeit-Aktualisierungen (SSE)",
+ "subtitleSse": "Sofortige Benachrichtigungen über Server-Sent Events erhalten"
},
"nativeCancel": {
- "title": "",
- "dismiss": "",
- "cancelViaStore": "",
- "cancelDesktop": "",
- "intro": "",
- "iosHeading": "",
- "iosStep1": "",
- "iosStep2": "",
- "iosStep3": "",
- "iosStep4": "",
- "iosStep5": "",
- "iosNote": "",
- "androidHeading": "",
- "androidStep1": "",
- "androidStep2": "",
- "androidStep3": "",
- "androidStep4": "",
- "androidStep5": "",
- "androidStep6": "",
- "androidNote": "",
- "webHeading": "",
- "webBody": "",
- "webNote": "",
- "footer": ""
+ "title": "Abonnement kündigen",
+ "dismiss": "Schließen",
+ "cancelViaStore": "Ich kündige über meinen App-Store",
+ "cancelDesktop": "Desktop-Abonnement kündigen",
+ "intro": "Um dein Abonnement zu kündigen, folge bitte den Anweisungen für deine Plattform. Du solltest über dieselbe Plattform kündigen, über die du das Abonnement abgeschlossen hast.",
+ "iosHeading": "Für iOS (iPhone/iPad):",
+ "iosStep1": "1. Öffne die App Einstellungen auf deinem Gerät",
+ "iosStep2": "2. Tippe oben auf deinen Namen",
+ "iosStep3": "3. Tippe auf Abonnements",
+ "iosStep4": "4. Suche Donetick und tippe darauf",
+ "iosStep5": "5. Tippe auf Abonnement kündigen",
+ "iosNote": "Hinweis: Wenn du das Abonnement über iOS abgeschlossen hast und die Web-/Desktop-Version verwendest, musst du es wie oben beschrieben in den iOS-Einstellungen kündigen.",
+ "androidHeading": "Für Android:",
+ "androidStep1": "1. Öffne die App Google Play Store",
+ "androidStep2": "2. Tippe oben rechts auf das Profilsymbol",
+ "androidStep3": "3. Tippe auf Zahlungen & Abos",
+ "androidStep4": "4. Tippe auf Abos",
+ "androidStep5": "5. Suche Donetick und tippe darauf",
+ "androidStep6": "6. Tippe auf Abo kündigen",
+ "androidNote": "Hinweis: Wenn du das Abonnement über Google Play abgeschlossen hast und die Web-/Desktop-Version verwendest, musst du es wie oben beschrieben über Google Play kündigen.",
+ "webHeading": "Für Web-/Desktop-Abonnements:",
+ "webBody": "Wenn du dein Abonnement ursprünglich über unsere Website oder Desktop-App abgeschlossen hast, kannst du es im Bereich „Kontoeinstellungen“ auf unserer Website über einen Webbrowser kündigen.",
+ "webNote": "Wichtig: Du musst dein Abonnement über dieselbe Plattform kündigen, über die du es ursprünglich abgeschlossen hast. Wenn du über den iOS App Store oder Google Play Store abonniert hast – auch wenn du inzwischen die Web-/Desktop-Version nutzt – musst du über diese ursprüngliche Plattform gemäß den obigen Anweisungen kündigen.",
+ "footer": "Dein Abonnement bleibt bis zum Ende des aktuellen Abrechnungszeitraums aktiv."
}
}
diff --git a/public/locales/de/things.json b/public/locales/de/things.json
index 425efe00..70d9d626 100644
--- a/public/locales/de/things.json
+++ b/public/locales/de/things.json
@@ -1,66 +1,66 @@
{
- "errName": "",
- "errStateNumber": "",
- "errStateBool": "",
- "errStateRequired": "",
+ "errName": "Name ist erforderlich",
+ "errStateNumber": "Zustand muss eine Zahl sein",
+ "errStateBool": "Zustand muss wahr oder falsch sein",
+ "errStateRequired": "Zustand ist erforderlich",
"name": "",
- "namePlaceholder": "",
- "value": "",
- "valuePlaceholder": "",
- "updateState": "",
- "update": "",
- "create": "",
- "editThingTitle": "",
- "createThingTitle": "",
- "type": "",
- "boolTrue": "",
- "boolFalse": "",
+ "namePlaceholder": "Name des Dings",
+ "value": "Wert",
+ "valuePlaceholder": "Wert des Dings",
+ "updateState": "Zustand aktualisieren",
+ "update": "Aktualisieren",
+ "create": "Erstellen",
+ "editThingTitle": "Ding bearbeiten",
+ "createThingTitle": "Ding erstellen",
+ "type": "Typ",
+ "boolTrue": "Wahr",
+ "boolFalse": "Falsch",
"history": {
- "overview": "",
- "visualization": "",
- "changeHistory": "",
- "updated": ""
+ "overview": "Übersicht der Dinge",
+ "visualization": "Datenvisualisierung",
+ "changeHistory": "Änderungsverlauf",
+ "updated": "Aktualisiert"
},
"view": {
- "title": "",
- "description": "",
- "searchPlaceholder": "",
+ "title": "Dinge",
+ "description": "Dinge sind benutzerdefinierte Werte, die mit Aufgaben verknüpft werden können, um zusätzliche Informationen zu erfassen. Sie können Text, Zahl oder Wahrheitswert sein. Du kannst Dinge mit Aufgaben verknüpfen und eine Aufgabe fällig werden lassen, sobald eine Bedingung erfüllt ist.",
+ "searchPlaceholder": "Dinge durchsuchen",
"sortName": "",
- "sortType": "",
- "sortState": "",
- "sortUpdated": "",
- "filterTitle": "",
- "filterAll": "",
- "emptyTitle": "",
- "emptyDescription": "",
- "emptyAction": "",
- "noResultsTitle": "",
- "noResultsSearch": "",
- "noResultsFilter": "",
- "clearSearch": "",
- "showAll": "",
- "toggle": ""
+ "sortType": "Typ",
+ "sortState": "Zustand",
+ "sortUpdated": "Zuletzt aktualisiert",
+ "filterTitle": "Typ",
+ "filterAll": "Alle Typen",
+ "emptyTitle": "Noch keine Dinge",
+ "emptyDescription": "Ein Ding verfolgt einen Wert, etwa einen Zähler oder Schalter, auf den andere Aufgaben reagieren können. Erstelle eines, um Aufgaben automatisch auszulösen.",
+ "emptyAction": "Ding erstellen",
+ "noResultsTitle": "Keine passenden Dinge",
+ "noResultsSearch": "Kein Ding passt zu „{{term}}“.",
+ "noResultsFilter": "Kein Ding entspricht dem aktuellen Filter.",
+ "clearSearch": "Suche löschen",
+ "showAll": "Alle Dinge anzeigen",
+ "toggle": "Umschalten"
},
"types": {
"text": "",
- "number": "",
- "boolean": ""
+ "number": "Zahl",
+ "boolean": "Wahrheitswert"
},
"notify": {
- "savedTitle": "",
- "savedMessage": "",
- "saveFailTitle": "",
- "queuedMessage": "",
- "saveFailMessage": "",
- "deleteTitle": "",
- "deleteMessage": "",
- "deleteBlockedTitle": "",
- "deleteBlockedMessage": "",
- "deleteFailTitle": "",
- "deleteFailMessage": "",
- "updatedTitle": "",
- "updatedMessage": "",
- "updateFailTitle": "",
- "updateFailMessage": ""
+ "savedTitle": "Gespeichert",
+ "savedMessage": "Ding erfolgreich gespeichert",
+ "saveFailTitle": "Ding konnte nicht gespeichert werden",
+ "queuedMessage": "Du bist offline; die Anfrage wurde in die Warteschlange gestellt",
+ "saveFailMessage": "Beim Speichern des Dings ist ein Fehler aufgetreten",
+ "deleteTitle": "Ding löschen",
+ "deleteMessage": "Möchtest du dieses Ding wirklich löschen?",
+ "deleteBlockedTitle": "Ding kann nicht gelöscht werden",
+ "deleteBlockedMessage": "Ein Ding mit verknüpften Aufgaben kann nicht gelöscht werden",
+ "deleteFailTitle": "Ding konnte nicht gelöscht werden",
+ "deleteFailMessage": "Beim Löschen des Dings ist ein Fehler aufgetreten",
+ "updatedTitle": "Aktualisiert",
+ "updatedMessage": "Zustand des Dings erfolgreich aktualisiert",
+ "updateFailTitle": "Zustand des Dings konnte nicht aktualisiert werden",
+ "updateFailMessage": "Beim Aktualisieren des Zustands ist ein Fehler aufgetreten"
}
}
diff --git a/public/locales/de/timer.json b/public/locales/de/timer.json
index aa95ae6d..91a8b112 100644
--- a/public/locales/de/timer.json
+++ b/public/locales/de/timer.json
@@ -1,53 +1,53 @@
{
"toast": {
- "sessionUpdatedTitle": "",
- "sessionUpdatedMessage": "",
- "sessionUpdateFailTitle": "",
- "tryAgain": "",
- "sessionUpdateErrorTitle": "",
- "sessionDeletedTitle": "",
- "sessionDeletedMessage": "",
- "sessionDeleteErrorTitle": "",
- "deleteConfirmTitle": "",
- "deleteConfirmMessage": "",
- "startedTitle": "",
- "startedMessage": "",
- "startQueuedTitle": "",
- "startFailTitle": "",
- "pausedTitle": "",
- "pausedMessage": "",
- "pauseQueuedTitle": "",
- "pauseFailTitle": "",
- "deleteSessionTitle": ""
+ "sessionUpdatedTitle": "Sitzung aktualisiert",
+ "sessionUpdatedMessage": "Timer-Sitzung wurde erfolgreich aktualisiert.",
+ "sessionUpdateFailTitle": "Sitzung konnte nicht aktualisiert werden",
+ "tryAgain": "Bitte versuche es erneut.",
+ "sessionUpdateErrorTitle": "Fehler beim Aktualisieren der Sitzung",
+ "sessionDeletedTitle": "Sitzung gelöscht",
+ "sessionDeletedMessage": "Timer-Sitzung wurde erfolgreich gelöscht.",
+ "sessionDeleteErrorTitle": "Fehler beim Löschen der Sitzung",
+ "deleteConfirmTitle": "Timer-Sitzung löschen",
+ "deleteConfirmMessage": "Möchtest du diese Timer-Sitzung wirklich löschen?",
+ "startedTitle": "Timer gestartet",
+ "startedMessage": "Arbeitssitzung wurde erfolgreich gestartet.",
+ "startQueuedTitle": "Start eingereiht",
+ "startFailTitle": "Timer konnte nicht gestartet werden",
+ "pausedTitle": "Timer pausiert",
+ "pausedMessage": "Arbeitssitzung wurde pausiert.",
+ "pauseQueuedTitle": "Pausieren eingereiht",
+ "pauseFailTitle": "Timer konnte nicht pausiert werden",
+ "deleteSessionTitle": "Sitzung löschen"
},
- "loading": "",
- "noData": "",
- "activeWork": "",
- "breakTime": "",
- "workSessions": "",
- "totalTime": "",
- "distribution": "",
- "noActiveTime": "",
- "sessionBreakdown": "",
- "sessions": "",
- "addSession": "",
- "startTime": "",
- "endTime": "",
- "leaveEmpty": "",
- "noSessionForChore": "",
- "saveChanges": "",
- "emptySessionsTitle": "",
- "emptySessionsDescription": "",
- "percentActive": "",
- "activityTimeline": "",
- "liveSession": "",
+ "loading": "Timer-Daten werden geladen...",
+ "noData": "Für diese Aufgabe wurden keine Timer-Daten gefunden.",
+ "activeWork": "Aktive Arbeitszeit",
+ "breakTime": "Pausenzeit",
+ "workSessions": "Arbeitssitzungen",
+ "totalTime": "Gesamtzeit",
+ "distribution": "Verteilung Arbeit und Pause",
+ "noActiveTime": "Noch keine aktive Zeit",
+ "sessionBreakdown": "Sitzungsübersicht",
+ "sessions": "Sitzungen",
+ "addSession": "Sitzung hinzufügen",
+ "startTime": "Startzeit",
+ "endTime": "Endzeit",
+ "leaveEmpty": "Leer lassen, wenn die Sitzung noch läuft",
+ "noSessionForChore": "Für diese Aufgabe wurde keine Timer-Sitzung gefunden.",
+ "saveChanges": "Änderungen speichern",
+ "emptySessionsTitle": "Noch keine Arbeitssitzungen",
+ "emptySessionsDescription": "Starte den Timer für diese Aufgabe. Jede Sitzung wird anschließend hier angezeigt.",
+ "percentActive": "{{percent}} % aktiv",
+ "activityTimeline": "Aktivitätsverlauf",
+ "liveSession": "Laufende Sitzung",
"live": "",
- "title": "",
- "sessionNumber": "",
- "sessionNumberShort": "",
- "ongoingArrow": "",
- "durationAutoCalculated": "",
+ "title": "Timer-Details",
+ "sessionNumber": "Sitzung #{{number}} • {{date}}",
+ "sessionNumberShort": "Sitzung #{{number}}",
+ "ongoingArrow": "→ laufend",
+ "durationAutoCalculated": "Dauer (automatisch berechnet)",
"pause": "",
- "resume": "",
- "clearAndReset": ""
+ "resume": "Fortsetzen",
+ "clearAndReset": "Löschen & zurücksetzen"
}
diff --git a/public/locales/es/common.json b/public/locales/es/common.json
index 4d00df30..a632bc05 100644
--- a/public/locales/es/common.json
+++ b/public/locales/es/common.json
@@ -56,7 +56,7 @@
"activities": "Actividades",
"points": "Puntos",
"settings": "Configuración",
- "reportBug": ""
+ "reportBug": "Report a Bug"
},
"search": {
"title": "Buscar",
diff --git a/public/locales/ja/common.json b/public/locales/ja/common.json
index aa2dd0ef..39766b6a 100644
--- a/public/locales/ja/common.json
+++ b/public/locales/ja/common.json
@@ -56,7 +56,7 @@
"activities": "アクティビティ",
"points": "ポイント",
"settings": "設定",
- "reportBug": ""
+ "reportBug": "Report a Bug"
},
"search": {
"title": "検索",
diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json
index bbb36b9a..5a3578d7 100644
--- a/public/locales/nl/common.json
+++ b/public/locales/nl/common.json
@@ -56,7 +56,7 @@
"activities": "Activiteiten",
"points": "Punten",
"settings": "Instellingen",
- "reportBug": ""
+ "reportBug": "Report a Bug"
},
"search": {
"title": "Zoeken",
diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json
index fe42def0..5b2cf80a 100644
--- a/public/locales/pt/common.json
+++ b/public/locales/pt/common.json
@@ -56,7 +56,7 @@
"activities": "Atividades",
"points": "Pontos",
"settings": "Configurações",
- "reportBug": ""
+ "reportBug": "Report a Bug"
},
"search": {
"title": "Pesquisar",
diff --git a/public/locales/zh/common.json b/public/locales/zh/common.json
index a5d24e80..90d82e6f 100644
--- a/public/locales/zh/common.json
+++ b/public/locales/zh/common.json
@@ -56,7 +56,7 @@
"activities": "",
"points": "",
"settings": "",
- "reportBug": ""
+ "reportBug": "Report a Bug"
},
"search": {
"title": "搜索",