diff --git a/worklenz-frontend/public/locales/de/404-page.json b/worklenz-frontend/public/locales/de/404-page.json new file mode 100644 index 00000000..641a1847 --- /dev/null +++ b/worklenz-frontend/public/locales/de/404-page.json @@ -0,0 +1,4 @@ +{ + "doesNotExistText": "Entschuldigung, die von Ihnen besuchte Seite existiert nicht.", + "backHomeButton": "Zurück zur Startseite" +} diff --git a/worklenz-frontend/public/locales/de/account-setup.json b/worklenz-frontend/public/locales/de/account-setup.json new file mode 100644 index 00000000..ddfb7b80 --- /dev/null +++ b/worklenz-frontend/public/locales/de/account-setup.json @@ -0,0 +1,31 @@ +{ + "continue": "Weiter", + + "setupYourAccount": "Richten Sie Ihr Worklenz-Konto ein.", + "organizationStepTitle": "Organisation benennen", + "organizationStepLabel": "Wählen Sie einen Namen für Ihr Worklenz-Konto.", + + "projectStepTitle": "Erstellen Sie Ihr erstes Projekt", + "projectStepLabel": "An welchem Projekt arbeiten Sie gerade?", + "projectStepPlaceholder": "z.B. Marketingplan", + + "tasksStepTitle": "Erstellen Sie Ihre ersten Aufgaben", + "tasksStepLabel": "Geben Sie einige Aufgaben ein, die Sie in", + "tasksStepAddAnother": "Weitere hinzufügen", + + "emailPlaceholder": "E-Mail-Adresse", + "invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein", + "or": "oder", + "templateButton": "Aus Vorlage importieren", + "goBack": "Zurück", + "cancel": "Abbrechen", + "create": "Erstellen", + "templateDrawerTitle": "Aus Vorlagen auswählen", + "step3InputLabel": "Per E-Mail einladen", + "addAnother": "Weitere hinzufügen", + "skipForNow": "Jetzt überspringen", + "formTitle": "Erstellen Sie Ihre erste Aufgabe.", + "step3Title": "Laden Sie Ihr Team zur Zusammenarbeit ein", + "maxMembers": " (Sie können bis zu 5 Mitglieder einladen)", + "maxTasks": " (Sie können bis zu 5 Aufgaben erstellen)" +} diff --git a/worklenz-frontend/public/locales/de/admin-center/current-bill.json b/worklenz-frontend/public/locales/de/admin-center/current-bill.json new file mode 100644 index 00000000..fcf2c636 --- /dev/null +++ b/worklenz-frontend/public/locales/de/admin-center/current-bill.json @@ -0,0 +1,113 @@ +{ + "title": "Abrechnungen", + "currentBill": "Aktuelle Rechnung", + "configuration": "Konfiguration", + "currentPlanDetails": "Aktuelle Plan Details", + "upgradePlan": "Plan upgraden", + "cardBodyText01": "Kostenlose Testversion", + "cardBodyText02": "(Ihr Testplan läuft in 1 Monat 19 Tagen ab)", + "redeemCode": "Gutscheincode einlösen", + "accountStorage": "Kontospeicher", + "used": "Verwendet:", + "remaining": "Verbleibend:", + "charges": "Gebühren", + "tooltip": "Gebühren für den aktuellen Abrechnungszeitraum", + "description": "Beschreibung", + "billingPeriod": "Abrechnungszeitraum", + "billStatus": "Rechnungsstatus", + "perUserValue": "Pro Benutzer Wert", + "users": "Benutzer", + + "amount": "Betrag", + "invoices": "Rechnungen", + "transactionId": "Transaktions-ID", + "transactionDate": "Transaktionsdatum", + "paymentMethod": "Zahlungsmethode", + "status": "Status", + "ltdUsers": "Sie können bis zu {{ltd_users}} Benutzer hinzufügen.", + + "totalSeats": "Gesamte Plätze", + "availableSeats": "Verfügbare Plätze", + "addMoreSeats": "Weitere Plätze hinzufügen", + + "drawerTitle": "Gutscheincode einlösen", + "label": "Gutscheincode", + "drawerPlaceholder": "Geben Sie Ihren Gutscheincode ein", + "redeemSubmit": "Einreichen", + + "modalTitle": "Wählen Sie den besten Plan für Ihr Team", + "seatLabel": "Anzahl der Plätze", + "freePlan": "Kostenloser Plan", + "startup": "Startup", + "business": "Business", + "tag": "Am beliebtesten", + "enterprise": "Enterprise", + + "freeSubtitle": "kostenlos für immer", + "freeUsers": "Ideal für die persönliche Nutzung", + "freeText01": "100MB Speicher", + "freeText02": "3 Projekte", + "freeText03": "5 Teammitglieder", + + "startupSubtitle": "PAUSCHALPREIS / Monat", + "startupUsers": "Bis zu 15 Benutzer", + "startupText01": "25GB Speicher", + "startupText02": "Unbegrenzte aktive Projekte", + "startupText03": "Zeitplan", + "startupText04": "Berichterstattung", + "startupText05": "Projekte abonnieren", + + "businessSubtitle": "Benutzer / Monat", + "businessUsers": "16 - 200 Benutzer", + + "enterpriseUsers": "200 - 500+ Benutzer", + + "footerTitle": "Bitte geben Sie uns eine Kontaktnummer, unter der wir Sie erreichen können.", + "footerLabel": "Kontaktnummer", + "footerButton": "Kontaktieren Sie uns", + + "redeemCodePlaceHolder": "Geben Sie Ihren Gutscheincode ein", + "submit": "Einreichen", + + "trialPlan": "Kostenlose Testversion", + "trialExpireDate": "Gültig bis {{trial_expire_date}}", + "trialExpired": "Ihre kostenlose Testversion ist {{trial_expire_string}} abgelaufen", + "trialInProgress": "Ihre kostenlose Testversion läuft {{trial_expire_string}} ab", + + "required": "Dieses Feld ist erforderlich", + "invalidCode": "Ungültiger Code", + + "selectPlan": "Wählen Sie den besten Plan für Ihr Team", + "changeSubscriptionPlan": "Ändern Sie Ihren Abonnementplan", + "noOfSeats": "Anzahl der Plätze", + "annualPlan": "Pro - Jährlich", + "monthlyPlan": "Pro - Monatlich", + "freeForever": "Kostenlos für immer", + "bestForPersonalUse": "Ideal für die persönliche Nutzung", + "storage": "Speicher", + "projects": "Projekte", + "teamMembers": "Teammitglieder", + "unlimitedTeamMembers": "Unbegrenzte Teammitglieder", + "unlimitedActiveProjects": "Unbegrenzte aktive Projekte", + "schedule": "Zeitplan", + "reporting": "Berichterstattung", + "subscribeToProjects": "Projekte abonnieren", + "billedAnnually": "Jährlich abgerechnet", + "billedMonthly": "Monatlich abgerechnet", + + "pausePlan": "Plan pausieren", + "resumePlan": "Plan fortsetzen", + "changePlan": "Plan ändern", + "cancelPlan": "Plan kündigen", + + "perMonthPerUser": "pro Benutzer/Monat", + "viewInvoice": "Rechnung anzeigen", + "switchToFreePlan": "Wechsel zum kostenlosen Plan", + + "expirestoday": "heute", + "expirestomorrow": "morgen", + "expiredDaysAgo": "vor {{days}} Tagen", + + "continueWith": "Fortfahren mit {{plan}}", + "changeToPlan": "Wechseln zu {{plan}}" +} diff --git a/worklenz-frontend/public/locales/de/admin-center/overview.json b/worklenz-frontend/public/locales/de/admin-center/overview.json new file mode 100644 index 00000000..0330d788 --- /dev/null +++ b/worklenz-frontend/public/locales/de/admin-center/overview.json @@ -0,0 +1,8 @@ +{ + "overview": "Übersicht", + "name": "Organisationsname", + "owner": "Organisationsinhaber", + "admins": "Organisationsadministratoren", + "contactNumber": "Kontaktnummer hinzufügen", + "edit": "Bearbeiten" +} diff --git a/worklenz-frontend/public/locales/de/admin-center/projects.json b/worklenz-frontend/public/locales/de/admin-center/projects.json new file mode 100644 index 00000000..2d4f3534 --- /dev/null +++ b/worklenz-frontend/public/locales/de/admin-center/projects.json @@ -0,0 +1,12 @@ +{ + "membersCount": "Mitgliederanzahl", + "createdAt": "Erstellt am", + "projectName": "Projektname", + "teamName": "Teamname", + "refreshProjects": "Projekte aktualisieren", + "searchPlaceholder": "Nach Projektname suchen", + "deleteProject": "Sind Sie sicher, dass Sie dieses Projekt löschen möchten?", + "confirm": "Bestätigen", + "cancel": "Abbrechen", + "delete": "Projekt löschen" +} diff --git a/worklenz-frontend/public/locales/de/admin-center/sidebar.json b/worklenz-frontend/public/locales/de/admin-center/sidebar.json new file mode 100644 index 00000000..670595a3 --- /dev/null +++ b/worklenz-frontend/public/locales/de/admin-center/sidebar.json @@ -0,0 +1,8 @@ +{ + "overview": "Übersicht", + "users": "Benutzer", + "teams": "Teams", + "billing": "Abrechnung", + "projects": "Projekte", + "adminCenter": "Admin-Center" +} diff --git a/worklenz-frontend/public/locales/de/admin-center/teams.json b/worklenz-frontend/public/locales/de/admin-center/teams.json new file mode 100644 index 00000000..7ab2831f --- /dev/null +++ b/worklenz-frontend/public/locales/de/admin-center/teams.json @@ -0,0 +1,33 @@ +{ + "title": "Teams", + "subtitle": "Teams", + "tooltip": "Teams aktualisieren", + "placeholder": "Nach Namen suchen", + "addTeam": "Team hinzufügen", + "team": "Team", + "membersCount": "Mitgliederanzahl", + "members": "Mitglieder", + "drawerTitle": "Neues Team erstellen", + "label": "Teamname", + "drawerPlaceholder": "Name", + "create": "Erstellen", + "delete": "Löschen", + "settings": "Einstellungen", + "popTitle": "Sind Sie sicher?", + "message": "Bitte geben Sie einen Namen ein", + "teamSettings": "Team-Einstellungen", + "teamName": "Teamname", + "teamDescription": "Teambeschreibung", + "teamMembers": "Teammitglieder", + "teamMembersCount": "Anzahl der Teammitglieder", + "teamMembersPlaceholder": "Nach Namen suchen", + "addMember": "Mitglied hinzufügen", + "add": "Hinzufügen", + "update": "Aktualisieren", + "teamNamePlaceholder": "Name des Teams", + "user": "Benutzer", + "role": "Rolle", + "owner": "Besitzer", + "admin": "Administrator", + "member": "Mitglied" +} diff --git a/worklenz-frontend/public/locales/de/admin-center/users.json b/worklenz-frontend/public/locales/de/admin-center/users.json new file mode 100644 index 00000000..47de9a59 --- /dev/null +++ b/worklenz-frontend/public/locales/de/admin-center/users.json @@ -0,0 +1,9 @@ +{ + "title": "Benutzer", + "subTitle": "Benutzer", + "placeholder": "Nach Namen suchen", + "user": "Benutzer", + "email": "E-Mail", + "lastActivity": "Letzte Aktivität", + "refresh": "Benutzer aktualisieren" +} diff --git a/worklenz-frontend/public/locales/de/all-project-list.json b/worklenz-frontend/public/locales/de/all-project-list.json new file mode 100644 index 00000000..b11fbbcd --- /dev/null +++ b/worklenz-frontend/public/locales/de/all-project-list.json @@ -0,0 +1,23 @@ +{ + "name": "Name", + "client": "Kunde", + "category": "Kategorie", + "status": "Status", + "tasksProgress": "Aufgabenfortschritt", + "updated_at": "Zuletzt aktualisiert", + "members": "Mitglieder", + "setting": "Einstellungen", + "projects": "Projekte", + "refreshProjects": "Projekte aktualisieren", + "all": "Alle", + "favorites": "Favoriten", + "archived": "Archiviert", + "placeholder": "Nach Namen suchen", + "archive": "Archivieren", + "unarchive": "Dearchivieren", + "archiveConfirm": "Sind Sie sicher, dass Sie dieses Projekt archivieren möchten?", + "unarchiveConfirm": "Sind Sie sicher, dass Sie dieses Projekt dearchivieren möchten?", + "clickToFilter": "Zum Filtern klicken nach", + "noProjects": "Keine Projekte gefunden", + "addToFavourites": "Zu Favoriten hinzufügen" +} diff --git a/worklenz-frontend/public/locales/de/auth/auth-common.json b/worklenz-frontend/public/locales/de/auth/auth-common.json new file mode 100644 index 00000000..dab26d10 --- /dev/null +++ b/worklenz-frontend/public/locales/de/auth/auth-common.json @@ -0,0 +1,5 @@ +{ + "loggingOut": "Abmelden...", + "authenticating": "Authentifizierung läuft...", + "gettingThingsReady": "Bereite alles für Sie vor..." +} diff --git a/worklenz-frontend/public/locales/de/auth/forgot-password.json b/worklenz-frontend/public/locales/de/auth/forgot-password.json new file mode 100644 index 00000000..a94c7463 --- /dev/null +++ b/worklenz-frontend/public/locales/de/auth/forgot-password.json @@ -0,0 +1,12 @@ +{ + "headerDescription": "Passwort zurücksetzen", + "emailLabel": "E-Mail", + "emailPlaceholder": "Ihre E-Mail eingeben", + "emailRequired": "Bitte geben Sie Ihre E-Mail-Adresse ein!", + "resetPasswordButton": "Passwort zurücksetzen", + "returnToLoginButton": "Zurück zum Login", + "passwordResetSuccessMessage": "Ein Link zum Zurücksetzen des Passworts wurde an Ihre E-Mail gesendet.", + "orText": "ODER", + "successTitle": "Anweisung zum Zurücksetzen gesendet!", + "successMessage": "Die Informationen zum Zurücksetzen wurden an Ihre E-Mail gesendet. Bitte überprüfen Sie Ihr E-Mail-Postfach." +} diff --git a/worklenz-frontend/public/locales/de/auth/login.json b/worklenz-frontend/public/locales/de/auth/login.json new file mode 100644 index 00000000..f42d0db9 --- /dev/null +++ b/worklenz-frontend/public/locales/de/auth/login.json @@ -0,0 +1,27 @@ +{ + "headerDescription": "Melden Sie sich an", + "emailLabel": "E-Mail", + "emailPlaceholder": "Ihre E-Mail-Adresse eingeben", + "emailRequired": "Bitte geben Sie Ihre E-Mail-Adresse ein!", + "passwordLabel": "Passwort", + "passwordPlaceholder": "Ihr Passwort eingeben", + "passwordRequired": "Bitte geben Sie Ihr Passwort ein!", + "rememberMe": "Erinnere dich an mich", + "loginButton": "Anmelden", + "signupButton": "Registrieren", + "forgotPasswordButton": "Passwort vergessen?", + "signInWithGoogleButton": "Mit Google anmelden", + "dontHaveAccountText": "Noch kein Konto?", + "orText": "ODER", + "successMessage": "Sie haben sich erfolgreich angemeldet!", + "loginError": "Anmeldung fehlgeschlagen", + "googleLoginError": "Google-Anmeldung fehlgeschlagen", + "validationMessages": { + "email": "Bitte geben Sie eine gültige E-Mail-Adresse ein", + "password": "Das Passwort muss mindestens 8 Zeichen lang sein" + }, + "errorMessages": { + "loginErrorTitle": "Anmeldung fehlgeschlagen", + "loginErrorMessage": "Bitte überprüfen Sie Ihre E-Mail-Adresse und Ihr Passwort und versuchen Sie es erneut" + } +} diff --git a/worklenz-frontend/public/locales/de/auth/signup.json b/worklenz-frontend/public/locales/de/auth/signup.json new file mode 100644 index 00000000..55a63a23 --- /dev/null +++ b/worklenz-frontend/public/locales/de/auth/signup.json @@ -0,0 +1,29 @@ +{ + "headerDescription": "Registrieren Sie sich, um loszulegen", + "nameLabel": "Vollständiger Name", + "namePlaceholder": "Ihren vollständigen Namen eingeben", + "nameRequired": "Bitte geben Sie Ihren vollständigen Namen ein!", + "nameMinCharacterRequired": "Der Name muss mindestens 4 Zeichen lang sein!", + "emailLabel": "E-Mail", + "emailPlaceholder": "Ihre E-Mail-Adresse eingeben", + "emailRequired": "Bitte geben Sie Ihre E-Mail-Adresse ein!", + "passwordLabel": "Passwort", + "passwordPlaceholder": "Ihr Passwort eingeben", + "passwordRequired": "Bitte geben Sie Ihr Passwort ein!", + "passwordMinCharacterRequired": "Das Passwort muss mindestens 8 Zeichen lang sein!", + "passwordPatternRequired": "Das Passwort erfüllt nicht die Anforderungen!", + "strongPasswordPlaceholder": "Ein stärkeres Passwort eingeben", + "passwordValidationAltText": "Das Passwort muss mindestens 8 Zeichen enthalten, mit Groß- und Kleinbuchstaben, einer Zahl und einem Sonderzeichen.", + "signupSuccessMessage": "Sie haben sich erfolgreich registriert!", + "privacyPolicyLink": "Datenschutzrichtlinie", + "termsOfUseLink": "Nutzungsbedingungen", + "bySigningUpText": "Mit der Registrierung stimmen Sie unseren", + "andText": "und", + "signupButton": "Registrieren", + "signInWithGoogleButton": "Mit Google anmelden", + "alreadyHaveAccountText": "Sie haben bereits ein Konto?", + "loginButton": "Anmelden", + "orText": "ODER", + "reCAPTCHAVerificationError": "reCAPTCHA-Verifizierungsfehler", + "reCAPTCHAVerificationErrorMessage": "Wir konnten Ihre reCAPTCHA nicht verifizieren. Bitte versuchen Sie es erneut." +} diff --git a/worklenz-frontend/public/locales/de/auth/verify-reset-email.json b/worklenz-frontend/public/locales/de/auth/verify-reset-email.json new file mode 100644 index 00000000..323c685f --- /dev/null +++ b/worklenz-frontend/public/locales/de/auth/verify-reset-email.json @@ -0,0 +1,14 @@ +{ + "title": "E-Mail zurücksetzen bestätigen", + "description": "Geben Sie Ihr neues Passwort ein", + "placeholder": "Neues Passwort eingeben", + "confirmPasswordPlaceholder": "Neues Passwort bestätigen", + "passwordHint": "Mindestens 8 Zeichen, mit Groß- und Kleinbuchstaben, einer Zahl und einem Sonderzeichen.", + "resetPasswordButton": "Passwort zurücksetzen", + "orText": "Oder", + "resendResetEmail": "Zurücksetz-E-Mail erneut senden", + "passwordRequired": "Bitte geben Sie Ihr neues Passwort ein", + "returnToLoginButton": "Zurück zur Anmeldung", + "confirmPasswordRequired": "Bitte bestätigen Sie Ihr neues Passwort", + "passwordMismatch": "Die beiden Passwörter stimmen nicht überein" +} diff --git a/worklenz-frontend/public/locales/de/common.json b/worklenz-frontend/public/locales/de/common.json new file mode 100644 index 00000000..937ad4a9 --- /dev/null +++ b/worklenz-frontend/public/locales/de/common.json @@ -0,0 +1,9 @@ +{ + "login-success": "Anmeldung erfolgreich!", + "login-failed": "Anmeldung fehlgeschlagen. Bitte überprüfen Sie Ihre Anmeldedaten und versuchen Sie es erneut.", + "signup-success": "Registrierung erfolgreich! Willkommen an Bord.", + "signup-failed": "Registrierung fehlgeschlagen. Bitte füllen Sie alle erforderlichen Felder aus und versuchen Sie es erneut.", + "reconnecting": "Vom Server getrennt.", + "connection-lost": "Verbindung zum Server fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung.", + "connection-restored": "Erfolgreich mit dem Server verbunden" +} diff --git a/worklenz-frontend/public/locales/de/create-first-project-form.json b/worklenz-frontend/public/locales/de/create-first-project-form.json new file mode 100644 index 00000000..02ce495e --- /dev/null +++ b/worklenz-frontend/public/locales/de/create-first-project-form.json @@ -0,0 +1,13 @@ +{ + "formTitle": "Erstellen Sie Ihr erstes Projekt", + "inputLabel": "An welchem Projekt arbeiten Sie gerade?", + "or": "oder", + "templateButton": "Aus Vorlage importieren", + "createFromTemplate": "Aus Vorlage erstellen", + "goBack": "Zurück", + "continue": "Weitermachen", + "cancel": "Abbrechen", + "create": "Erstellen", + "templateDrawerTitle": "Aus Vorlagen auswählen", + "createProject": "Projekt erstellen" +} diff --git a/worklenz-frontend/public/locales/de/create-first-tasks.json b/worklenz-frontend/public/locales/de/create-first-tasks.json new file mode 100644 index 00000000..ae7a4256 --- /dev/null +++ b/worklenz-frontend/public/locales/de/create-first-tasks.json @@ -0,0 +1,7 @@ +{ + "formTitle": "Erstellen Sie Ihre erste Aufgabe.", + "inputLabel": "Geben Sie einige Aufgaben ein, die Sie erledigen werden in", + "addAnother": "Einen weiteren hinzufügen", + "goBack": "Zurück", + "continue": "Weiter" +} diff --git a/worklenz-frontend/public/locales/de/home.json b/worklenz-frontend/public/locales/de/home.json new file mode 100644 index 00000000..cc868952 --- /dev/null +++ b/worklenz-frontend/public/locales/de/home.json @@ -0,0 +1,46 @@ +{ + "todoList": { + "title": "Aufgabenliste", + "refreshTasks": "Aufgaben aktualisieren", + "addTask": "+ Aufgabe hinzufügen", + "noTasks": "Keine Aufgaben", + "pressEnter": "Drücken Sie", + "toCreate": "zum Erstellen.", + "markAsDone": "Als erledigt markieren" + }, + "projects": { + "title": "Projekte", + "refreshProjects": "Projekte aktualisieren", + "noRecentProjects": "Sie sind aktuell keinem Projekt zugewiesen.", + "noFavouriteProjects": "Keine Projekte als Favoriten markiert.", + "recent": "Kürzlich", + "favourites": "Favoriten" + }, + "tasks": { + "assignedToMe": "Mir zugewiesen", + "assignedByMe": "Von mir zugewiesen", + "all": "Alle", + "today": "Heute", + "upcoming": "Bevorstehend", + "overdue": "Überfällig", + "noDueDate": "Kein Fälligkeitsdatum", + "noTasks": "Keine Aufgaben zum Anzeigen.", + "addTask": "+ Aufgabe hinzufügen", + "name": "Name", + "project": "Projekt", + "status": "Status", + "dueDate": "Fälligkeitsdatum", + "dueDatePlaceholder": "Fälligkeitsdatum festlegen", + "tomorrow": "Morgen", + "nextWeek": "Nächste Woche", + "nextMonth": "Nächster Monat", + "projectRequired": "Bitte wählen Sie ein Projekt aus", + "pressTabToSelectDueDateAndProject": "Drücken Sie Tab, um ein Fälligkeitsdatum und ein Projekt auszuwählen", + "dueOn": "Fällige Aufgaben am", + "taskRequired": "Bitte fügen Sie eine Aufgabe hinzu", + "list": "Liste", + "calendar": "Kalender", + "tasks": "Aufgaben", + "refresh": "Aktualisieren" + } +} diff --git a/worklenz-frontend/public/locales/de/invite-initial-team-members.json b/worklenz-frontend/public/locales/de/invite-initial-team-members.json new file mode 100644 index 00000000..e3ba64ae --- /dev/null +++ b/worklenz-frontend/public/locales/de/invite-initial-team-members.json @@ -0,0 +1,8 @@ +{ + "formTitle": "Laden Sie Ihr Team zur Zusammenarbeit ein", + "inputLabel": "Per E-Mail einladen", + "addAnother": "Weitere hinzufügen", + "goBack": "Zurück", + "continue": "Weitermachen", + "skipForNow": "Vorerst überspringen" +} diff --git a/worklenz-frontend/public/locales/de/kanban-board.json b/worklenz-frontend/public/locales/de/kanban-board.json new file mode 100644 index 00000000..47f8bef4 --- /dev/null +++ b/worklenz-frontend/public/locales/de/kanban-board.json @@ -0,0 +1,23 @@ +{ + "rename": "Umbenennen", + "delete": "Löschen", + "addTask": "Aufgabe hinzufügen", + "addSectionButton": "Abschnitt hinzufügen", + "changeCategory": "Kategorie ändern", + + "deleteTooltip": "Löschen", + "deleteConfirmationTitle": "Sind Sie sicher?", + "deleteConfirmationOk": "Ja", + "deleteConfirmationCancel": "Abbrechen", + + "dueDate": "Fälligkeitsdatum", + "cancel": "Abbrechen", + + "today": "Heute", + "tomorrow": "Morgen", + "assignToMe": "Mir zuweisen", + "archive": "Archivieren", + + "newTaskNamePlaceholder": "Aufgabenname eingeben", + "newSubtaskNamePlaceholder": "Unteraufgabenname eingeben" +} diff --git a/worklenz-frontend/public/locales/de/license-expired.json b/worklenz-frontend/public/locales/de/license-expired.json new file mode 100644 index 00000000..437ddeb2 --- /dev/null +++ b/worklenz-frontend/public/locales/de/license-expired.json @@ -0,0 +1,6 @@ +{ + "title": "Ihre Worklenz-Testversion ist abgelaufen!", + "subtitle": "Bitte führen Sie jetzt ein Upgrade durch.", + "button": "Jetzt upgraden", + "checking": "Überprüfen des Abonnementstatus..." +} diff --git a/worklenz-frontend/public/locales/de/navbar.json b/worklenz-frontend/public/locales/de/navbar.json new file mode 100644 index 00000000..c84912e4 --- /dev/null +++ b/worklenz-frontend/public/locales/de/navbar.json @@ -0,0 +1,31 @@ +{ + "logoAlt": "Worklenz-Logo", + "home": "Startseite", + "projects": "Projekte", + "schedule": "Zeitplan", + "reporting": "Berichterstattung", + "clients": "Kunden", + "teams": "Teams", + "labels": "Labels", + "jobTitles": "Jobtitel", + "upgradePlan": "Plan upgraden", + "upgradePlanTooltip": "Plan upgraden", + "invite": "Einladen", + "inviteTooltip": "Teammitglieder zur Teilnahme einladen", + "switchTeamTooltip": "Team wechseln", + "help": "Hilfe", + "notificationTooltip": "Benachrichtigungen anzeigen", + "profileTooltip": "Profil anzeigen", + "adminCenter": "Admin-Center", + "settings": "Einstellungen", + "logOut": "Abmelden", + "notificationsDrawer": { + "read": "Gelesene Benachrichtigungen", + "unread": "Ungelesene Benachrichtigungen", + "markAsRead": "Als gelesen markieren", + "readAndJoin": "Lesen & Beitreten", + "accept": "Annehmen", + "acceptAndJoin": "Annehmen & Beitreten", + "noNotifications": "Keine Benachrichtigungen" + } +} diff --git a/worklenz-frontend/public/locales/de/organization-name-form.json b/worklenz-frontend/public/locales/de/organization-name-form.json new file mode 100644 index 00000000..06d3efcf --- /dev/null +++ b/worklenz-frontend/public/locales/de/organization-name-form.json @@ -0,0 +1,5 @@ +{ + "nameYourOrganization": "Benennen Sie Ihre Organisation.", + "worklenzAccountTitle": "Wählen Sie einen Namen für Ihr Worklenz-Konto.", + "continue": "Weiter" +} diff --git a/worklenz-frontend/public/locales/de/phases-drawer.json b/worklenz-frontend/public/locales/de/phases-drawer.json new file mode 100644 index 00000000..d06e3d05 --- /dev/null +++ b/worklenz-frontend/public/locales/de/phases-drawer.json @@ -0,0 +1,7 @@ +{ + "configurePhases": "Phasen konfigurieren", + "phaseLabel": "Phasenbezeichnung", + "enterPhaseName": "Namen für Phasenbezeichnung eingeben", + "addOption": "Option hinzufügen", + "phaseOptions": "Phasenoptionen:" +} diff --git a/worklenz-frontend/public/locales/de/project-drawer.json b/worklenz-frontend/public/locales/de/project-drawer.json new file mode 100644 index 00000000..d20f220b --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-drawer.json @@ -0,0 +1,42 @@ +{ + "createProject": "Projekt erstellen", + "editProject": "Projekt bearbeiten", + "enterCategoryName": "Namen für die Kategorie eingeben", + "hitEnterToCreate": "Enter drücken zum Erstellen!", + "enterNotes": "Notizen", + "youCanManageClientsUnderSettings": "Kunden können Sie unter Einstellungen verwalten", + "addCategory": "Kategorie zum Projekt hinzufügen", + "newCategory": "Neue Kategorie", + "notes": "Notizen", + "startDate": "Startdatum", + "endDate": "Enddatum", + "estimateWorkingDays": "Arbeitstage schätzen", + "estimateManDays": "Personentage schätzen", + "hoursPerDay": "Stunden pro Tag", + "create": "Erstellen", + "update": "Aktualisieren", + "delete": "Löschen", + "typeToSearchClients": "Kundensuche", + "projectColor": "Projektfarbe", + "pleaseEnterAName": "Bitte geben Sie einen Namen ein", + "enterProjectName": "Projektnamen eingeben", + "name": "Name", + "status": "Status", + "health": "Gesundheit", + "category": "Kategorie", + "projectManager": "Projektleiter", + "client": "Kunde", + "deleteConfirmation": "Sind Sie sicher, dass Sie löschen möchten?", + "deleteConfirmationDescription": "Dies entfernt alle zugehörigen Daten und kann nicht rückgängig gemacht werden.", + "yes": "Ja", + "no": "Nein", + "createdAt": "Erstellt am", + "updatedAt": "Aktualisiert am", + "by": "von", + "add": "Hinzufügen", + "asClient": "als Kunde", + "createClient": "Kunde erstellen", + "searchInputPlaceholder": "Nach Name oder E-Mail suchen", + "hoursPerDayValidationMessage": "Stunden pro Tag müssen zwischen 1 und 24", + "noPermission": "Keine Berechtigung" +} diff --git a/worklenz-frontend/public/locales/de/project-view-files.json b/worklenz-frontend/public/locales/de/project-view-files.json new file mode 100644 index 00000000..8408df16 --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view-files.json @@ -0,0 +1,14 @@ +{ + "nameColumn": "Name", + "attachedTaskColumn": "Zugehörige Aufgabe", + "sizeColumn": "Größe", + "uploadedByColumn": "Hochgeladen von", + "uploadedAtColumn": "Hochgeladen am", + "fileIconAlt": "Dateisymbol", + "titleDescriptionText": "Alle Anhänge zu Aufgaben in diesem Projekt werden hier angezeigt.", + "deleteConfirmationTitle": "Sind Sie sicher?", + "deleteConfirmationOk": "Ja", + "deleteConfirmationCancel": "Abbrechen", + "segmentedTooltip": "Demnächst verfügbar! Wechseln zwischen Listenansicht und Miniaturansicht.", + "emptyText": "Es gibt keine Anhänge in diesem Projekt." +} diff --git a/worklenz-frontend/public/locales/de/project-view-insights.json b/worklenz-frontend/public/locales/de/project-view-insights.json new file mode 100644 index 00000000..5f11df54 --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view-insights.json @@ -0,0 +1,41 @@ +{ + "overview": { + "title": "Übersicht", + "statusOverview": "Statusübersicht", + "priorityOverview": "Prioritätenübersicht", + "lastUpdatedTasks": "Zuletzt aktualisierte Aufgaben" + }, + "members": { + "title": "Mitglieder", + "tooltip": "Mitglieder", + "tasksByMembers": "Aufgaben nach Mitgliedern", + "tasksByMembersTooltip": "Aufgaben nach Mitgliedern", + "name": "Name", + "taskCount": "Anzahl Aufgaben", + "contribution": "Beitrag", + "completed": "Abgeschlossen", + "incomplete": "Unvollständig", + "overdue": "Überfällig", + "progress": "Fortschritt" + }, + "tasks": { + "overdueTasks": "Überfällige Aufgaben", + "overLoggedTasks": "Aufgaben mit zu viel erfasster Zeit", + "tasksCompletedEarly": "Vorzeitig abgeschlossene Aufgaben", + "tasksCompletedLate": "Verspätet abgeschlossene Aufgaben", + "overLoggedTasksTooltip": "Aufgaben, bei denen mehr Zeit erfasst wurde als geschätzt", + "overdueTasksTooltip": "Aufgaben, deren Fälligkeitsdatum überschritten wurde" + }, + "common": { + "seeAll": "Alle anzeigen", + "totalLoggedHours": "Gesamterfasste Stunden", + "totalEstimation": "Gesamtschätzung", + "completedTasks": "Abgeschlossene Aufgaben", + "incompleteTasks": "Unvollständige Aufgaben", + "overdueTasks": "Überfällige Aufgaben", + "overdueTasksTooltip": "Aufgaben, deren Fälligkeitsdatum überschritten wurde", + "totalLoggedHoursTooltip": "Zeitschätzung und erfasste Zeit für Aufgaben.", + "includeArchivedTasks": "Archivierte Aufgaben einbeziehen", + "export": "Exportieren" + } +} diff --git a/worklenz-frontend/public/locales/de/project-view-members.json b/worklenz-frontend/public/locales/de/project-view-members.json new file mode 100644 index 00000000..eee5d0a1 --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view-members.json @@ -0,0 +1,17 @@ +{ + "nameColumn": "Name", + "jobTitleColumn": "Jobtitel", + "emailColumn": "E-Mail", + "tasksColumn": "Aufgaben", + "taskProgressColumn": "Aufgabenfortschritt", + "accessColumn": "Zugriff", + "fileIconAlt": "Dateisymbol", + "deleteConfirmationTitle": "Sind Sie sicher?", + "deleteConfirmationOk": "Ja", + "deleteConfirmationCancel": "Abbrechen", + "refreshButtonTooltip": "Mitglieder aktualisieren", + "deleteButtonTooltip": "Aus Projekt entfernen", + "memberCount": "Mitglied", + "membersCountPlural": "Mitglieder", + "emptyText": "Es gibt keine Anhänge in diesem Projekt." +} diff --git a/worklenz-frontend/public/locales/de/project-view-updates.json b/worklenz-frontend/public/locales/de/project-view-updates.json new file mode 100644 index 00000000..d32cf352 --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view-updates.json @@ -0,0 +1,6 @@ +{ + "inputPlaceholder": "Kommentar hinzufügen..", + "addButton": "Hinzufügen", + "cancelButton": "Abbrechen", + "deleteButton": "Löschen" +} diff --git a/worklenz-frontend/public/locales/de/project-view/import-task-templates.json b/worklenz-frontend/public/locales/de/project-view/import-task-templates.json new file mode 100644 index 00000000..c5af50a0 --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view/import-task-templates.json @@ -0,0 +1,11 @@ +{ + "importTaskTemplate": "Aufgabenvorlage importieren", + "templateName": "Vorlagenname", + "templateDescription": "Vorlagenbeschreibung", + "selectedTasks": "Ausgewählte Aufgaben", + "tasks": "Aufgaben", + "templates": "Vorlagen", + "remove": "Entfernen", + "cancel": "Abbrechen", + "import": "Importieren" +} diff --git a/worklenz-frontend/public/locales/de/project-view/project-member-drawer.json b/worklenz-frontend/public/locales/de/project-view/project-member-drawer.json new file mode 100644 index 00000000..cb391b2c --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view/project-member-drawer.json @@ -0,0 +1,7 @@ +{ + "title": "Projektmitglieder", + "searchLabel": "Mitglieder hinzufügen durch Eingabe von Name oder E-Mail", + "searchPlaceholder": "Name oder E-Mail eingeben", + "inviteAsAMember": "Als Mitglied einladen", + "inviteNewMemberByEmail": "Neues Mitglied per E-Mail einladen" +} diff --git a/worklenz-frontend/public/locales/de/project-view/project-view-header.json b/worklenz-frontend/public/locales/de/project-view/project-view-header.json new file mode 100644 index 00000000..ad236a04 --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view/project-view-header.json @@ -0,0 +1,13 @@ +{ + "importTasks": "Aufgaben importieren", + "createTask": "Aufgabe erstellen", + "settings": "Einstellungen", + "subscribe": "Abonnieren", + "unsubscribe": "Abbestellen", + "deleteProject": "Projekt löschen", + "startDate": "Startdatum", + "endDate": "Enddatum", + "projectSettings": "Projekteinstellungen", + "projectSummary": "Projektzusammenfassung", + "receiveProjectSummary": "Erhalten Sie jeden Abend eine Projektzusammenfassung." +} diff --git a/worklenz-frontend/public/locales/de/project-view/save-as-template.json b/worklenz-frontend/public/locales/de/project-view/save-as-template.json new file mode 100644 index 00000000..7b732962 --- /dev/null +++ b/worklenz-frontend/public/locales/de/project-view/save-as-template.json @@ -0,0 +1,27 @@ +{ + "title": "Als Vorlage speichern", + "templateName": "Vorlagenname", + "includes": "Was soll aus dem Projekt in die Vorlage aufgenommen werden?", + "includesOptions": { + "statuses": "Status", + "phases": "Phasen", + "labels": "Labels" + }, + "taskIncludes": "Was soll aus den Aufgaben in die Vorlage aufgenommen werden?", + "taskIncludesOptions": { + "statuses": "Status", + "phases": "Phasen", + "labels": "Labels", + "name": "Name", + "priority": "Priorität", + "status": "Status", + "phase": "Phase", + "label": "Label", + "timeEstimate": "Zeitschätzung", + "description": "Beschreibung", + "subTasks": "Unteraufgaben" + }, + "cancel": "Abbrechen", + "save": "Speichern", + "templateNamePlaceholder": "Vorlagennamen eingeben" +} diff --git a/worklenz-frontend/public/locales/de/reporting-members-drawer.json b/worklenz-frontend/public/locales/de/reporting-members-drawer.json new file mode 100644 index 00000000..807f43c7 --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-members-drawer.json @@ -0,0 +1,90 @@ +{ + "exportButton": "Exportieren", + "timeLogsButton": "Zeiterfassungen", + "activityLogsButton": "Aktivitätsprotokolle", + "tasksButton": "Aufgaben", + "searchByNameInputPlaceholder": "Nach Namen suchen", + + "overviewTab": "Übersicht", + "timeLogsTab": "Zeiterfassungen", + "activityLogsTab": "Aktivitätsprotokolle", + "tasksTab": "Aufgaben", + + "projectsText": "Projekte", + "totalTasksText": "Gesamtaufgaben", + "assignedTasksText": "Zugewiesene Aufgaben", + "completedTasksText": "Abgeschlossene Aufgaben", + "ongoingTasksText": "Laufende Aufgaben", + "overdueTasksText": "Überfällige Aufgaben", + "loggedHoursText": "Erfasste Stunden", + + "tasksText": "Aufgaben", + "allText": "Alle", + + "tasksByProjectsText": "Aufgaben nach Projekten", + "tasksByStatusText": "Aufgaben nach Status", + "tasksByPriorityText": "Aufgaben nach Priorität", + + "todoText": "Zu erledigen", + "doingText": "Tun", + "doneText": "Erledigt", + "lowText": "Niedrig", + "mediumText": "Mittel", + "highText": "Hoch", + + "billableButton": "Abrechenbar", + "billableText": "Abrechenbar", + "nonBillableText": "Nicht abrechenbar", + + "timeLogsEmptyPlaceholder": "Keine Zeiterfassungen vorhanden", + "loggedText": "Erfasst", + "forText": "für", + "inText": "in", + "updatedText": "Aktualisiert", + "fromText": "Von", + "toText": "bis", + "withinText": "innerhalb", + + "activityLogsEmptyPlaceholder": "Keine Aktivitätsprotokolle vorhanden", + + "filterByText": "Filtern nach:", + "selectProjectPlaceholder": "Projekt auswählen", + + "taskColumn": "Aufgabe", + "nameColumn": "Name", + "projectColumn": "Projekt", + "statusColumn": "Status", + "priorityColumn": "Priorität", + "dueDateColumn": "Fälligkeitsdatum", + "completedDateColumn": "Abschlussdatum", + "estimatedTimeColumn": "Geschätzte Zeit", + "loggedTimeColumn": "Erfasste Zeit", + "overloggedTimeColumn": "Übererfasste Zeit", + "daysLeftColumn": "Tage übrig/überfällig", + "startDateColumn": "Startdatum", + "endDateColumn": "Enddatum", + "actualTimeColumn": "Tatsächliche Zeit", + "projectHealthColumn": "Projektstatus", + "categoryColumn": "Kategorie", + "projectManagerColumn": "Projektleiter", + + "tasksStatsOverviewDrawerTitle": "Aufgaben von", + "projectsStatsOverviewDrawerTitle": "Projekte von", + + "cancelledText": "Abgebrochen", + "blockedText": "Blockiert", + "onHoldText": "Pausiert", + "proposedText": "Vorgeschlagen", + "inPlanningText": "In Planung", + "inProgressText": "In Bearbeitung", + "completedText": "Abgeschlossen", + "continuousText": "Kontinuierlich", + + "daysLeftText": "Tage übrig", + "daysOverdueText": "Tage überfällig", + + "notSetText": "Nicht festgelegt", + "needsAttentionText": "Benötigt Aufmerksamkeit", + "atRiskText": "Gefährdet", + "goodText": "Gut" +} diff --git a/worklenz-frontend/public/locales/de/reporting-members.json b/worklenz-frontend/public/locales/de/reporting-members.json new file mode 100644 index 00000000..5454d2a8 --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-members.json @@ -0,0 +1,35 @@ +{ + "yesterdayText": "Gestern", + "lastSevenDaysText": "Letzte 7 Tage", + "lastWeekText": "Letzte Woche", + "lastThirtyDaysText": "Letzte 30 Tage", + "lastMonthText": "Letzter Monat", + "lastThreeMonthsText": "Letzte 3 Monate", + "allTimeText": "Gesamter Zeitraum", + "customRangeText": "Benutzerdefinierter Bereich", + "startDateInputPlaceholder": "Startdatum", + "EndDateInputPlaceholder": "Enddatum", + "filterButton": "Filtern", + + "membersTitle": "Mitglieder", + "includeArchivedButton": "Archivierte Projekte einschließen", + "exportButton": "Exportieren", + "excelButton": "Excel", + "searchByNameInputPlaceholder": "Nach Namen suchen", + + "memberColumn": "Mitglied", + "tasksProgressColumn": "Aufgabenfortschritt", + "tasksAssignedColumn": "Zugewiesene Aufgaben", + "completedTasksColumn": "Abgeschlossene Aufgaben", + "overdueTasksColumn": "Überfällige Aufgaben", + "ongoingTasksColumn": "Laufende Aufgaben", + + "tasksAssignedColumnTooltip": "Im ausgewählten Zeitraum zugewiesene Aufgaben", + "overdueTasksColumnTooltip": "Zum Ende des ausgewählten Zeitraums überfällige Aufgaben", + "completedTasksColumnTooltip": "Im ausgewählten Zeitraum abgeschlossene Aufgaben", + "ongoingTasksColumnTooltip": "Begonnene, aber noch nicht abgeschlossene Aufgaben", + + "todoText": "Zu erledigen", + "doingText": "Tun", + "doneText": "Erledigt" +} diff --git a/worklenz-frontend/public/locales/de/reporting-overview-drawer.json b/worklenz-frontend/public/locales/de/reporting-overview-drawer.json new file mode 100644 index 00000000..6bf4678a --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-overview-drawer.json @@ -0,0 +1,39 @@ +{ + "exportButton": "Exportieren", + "projectsButton": "Projekte", + "membersButton": "Mitglieder", + "searchByNameInputPlaceholder": "Nach Namen suchen", + + "overviewTab": "Übersicht", + "projectsTab": "Projekte", + "membersTab": "Mitglieder", + + "projectsByStatusText": "Projekte nach Status", + "projectsByCategoryText": "Projekte nach Kategorie", + "projectsByHealthText": "Projekte nach Gesundheit", + + "projectsText": "Projekte", + "allText": "Alle", + + "cancelledText": "Abgebrochen", + "blockedText": "Blockiert", + "onHoldText": "Pausiert", + "proposedText": "Vorgeschlagen", + "inPlanningText": "In Planung", + "inProgressText": "In Bearbeitung", + "completedText": "Abgeschlossen", + "continuousText": "Kontinuierlich", + + "notSetText": "Nicht festgelegt", + "needsAttentionText": "Benötigt Aufmerksamkeit", + "atRiskText": "Gefährdet", + "goodText": "Gut", + + "nameColumn": "Name", + "emailColumn": "E-Mail", + "projectsColumn": "Projekte", + "tasksColumn": "Aufgaben", + "overdueTasksColumn": "Überfällige Aufgaben", + "completedTasksColumn": "Abgeschlossene Aufgaben", + "ongoingTasksColumn": "Laufende Aufgaben" +} diff --git a/worklenz-frontend/public/locales/de/reporting-overview.json b/worklenz-frontend/public/locales/de/reporting-overview.json new file mode 100644 index 00000000..411ec83a --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-overview.json @@ -0,0 +1,25 @@ +{ + "overviewTitle": "Übersicht", + "includeArchivedButton": "Archivierte Projekte einschließen", + + "teamCount": "Team", + "teamCountPlural": "Teams", + "projectCount": "Projekt", + "projectCountPlural": "Projekte", + "memberCount": "Mitglied", + "memberCountPlural": "Mitglieder", + "activeProjectCount": "Aktives Projekt", + "activeProjectCountPlural": "Aktive Projekte", + "overdueProjectCount": "Überfälliges Projekt", + "overdueProjectCountPlural": "Überfällige Projekte", + "unassignedMemberCount": "Nicht zugewiesenes Mitglied", + "unassignedMemberCountPlural": "Nicht zugewiesene Mitglieder", + "memberWithOverdueTaskCount": "Mitglied mit überfälliger Aufgabe", + "memberWithOverdueTaskCountPlural": "Mitglieder mit überfälligen Aufgaben", + + "teamsText": "Teams", + + "nameColumn": "Name", + "projectsColumn": "Projekte", + "membersColumn": "Mitglieder" +} diff --git a/worklenz-frontend/public/locales/de/reporting-projects-drawer.json b/worklenz-frontend/public/locales/de/reporting-projects-drawer.json new file mode 100644 index 00000000..3f335a6c --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-projects-drawer.json @@ -0,0 +1,59 @@ +{ + "exportButton": "Exportieren", + "membersButton": "Mitglieder", + "tasksButton": "Aufgaben", + "searchByNameInputPlaceholder": "Nach Namen suchen", + + "overviewTab": "Übersicht", + "membersTab": "Mitglieder", + "tasksTab": "Aufgaben", + + "completedTasksText": "Abgeschlossene Aufgaben", + "incompleteTasksText": "Unvollständige Aufgaben", + "overdueTasksText": "Überfällige Aufgaben", + "allocatedHoursText": "Zugewiesene Stunden", + "loggedHoursText": "Erfasste Stunden", + + "tasksText": "Aufgaben", + "allText": "Alle", + + "tasksByStatusText": "Aufgaben nach Status", + "tasksByPriorityText": "Aufgaben nach Priorität", + "tasksByDueDateText": "Aufgaben nach Fälligkeit", + + "todoText": "Zu erledigen", + "doingText": "Tun", + "doneText": "Erledigt", + "lowText": "Niedrig", + "mediumText": "Mittel", + "highText": "Hoch", + "completedText": "Abgeschlossen", + "upcomingText": "Bevorstehend", + "overdueText": "Überfällig", + "noDueDateText": "Kein Fälligkeitsdatum", + + "nameColumn": "Name", + "tasksCountColumn": "Anzahl Aufgaben", + "completedTasksColumn": "Abgeschlossene Aufgaben", + "incompleteTasksColumn": "Unvollständige Aufgaben", + "overdueTasksColumn": "Überfällige Aufgaben", + "contributionColumn": "Beitrag", + "progressColumn": "Fortschritt", + "loggedTimeColumn": "Erfasste Zeit", + "taskColumn": "Aufgabe", + "projectColumn": "Projekt", + "statusColumn": "Status", + "priorityColumn": "Priorität", + "phaseColumn": "Phase", + "dueDateColumn": "Fälligkeitsdatum", + "completedDateColumn": "Abschlussdatum", + "estimatedTimeColumn": "Geschätzte Zeit", + "overloggedTimeColumn": "Übererfasste Zeit", + "completedOnColumn": "Abgeschlossen am", + "daysOverdueColumn": "Tage überfällig", + + "groupByText": "Gruppieren nach:", + "statusText": "Status", + "priorityText": "Priorität", + "phaseText": "Phase" +} diff --git a/worklenz-frontend/public/locales/de/reporting-projects-filters.json b/worklenz-frontend/public/locales/de/reporting-projects-filters.json new file mode 100644 index 00000000..c48fa256 --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-projects-filters.json @@ -0,0 +1,35 @@ +{ + "searchByNamePlaceholder": "Nach Namen suchen", + "searchByCategoryPlaceholder": "Nach Kategorie suchen", + + "statusText": "Status", + "healthText": "Gesundheit", + "categoryText": "Kategorie", + "projectManagerText": "Projektleiter", + "showFieldsText": "Felder anzeigen", + + "cancelledText": "Abgebrochen", + "blockedText": "Blockiert", + "onHoldText": "Pausiert", + "proposedText": "Vorgeschlagen", + "inPlanningText": "In Planung", + "inProgressText": "In Bearbeitung", + "completedText": "Abgeschlossen", + "continuousText": "Kontinuierlich", + + "notSetText": "Nicht festgelegt", + "needsAttentionText": "Benötigt Aufmerksamkeit", + "atRiskText": "Gefährdet", + "goodText": "Gut", + + "nameText": "Projekt", + "estimatedVsActualText": "Geplant vs. Tatsächlich", + "tasksProgressText": "Aufgabenfortschritt", + "lastActivityText": "Letzte Aktivität", + "datesText": "Start-/Enddatum", + "daysLeftText": "Tage übrig/überfällig", + "projectHealthText": "Projektstatus", + "projectUpdateText": "Projektupdate", + "clientText": "Kunde", + "teamText": "Team" +} diff --git a/worklenz-frontend/public/locales/de/reporting-projects.json b/worklenz-frontend/public/locales/de/reporting-projects.json new file mode 100644 index 00000000..0f63310b --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-projects.json @@ -0,0 +1,52 @@ +{ + "projectCount": "Projekt", + "projectCountPlural": "Projekte", + "includeArchivedButton": "Archivierte Projekte einschließen", + "exportButton": "Exportieren", + "excelButton": "Excel", + + "projectColumn": "Projekt", + "estimatedVsActualColumn": "Geschätzt vs. Tatsächlich", + "tasksProgressColumn": "Aufgabenfortschritt", + "lastActivityColumn": "Letzte Aktivität", + "statusColumn": "Status", + "datesColumn": "Start-/Enddatum", + "daysLeftColumn": "Tage übrig/überfällig", + "projectHealthColumn": "Projektzustand", + "categoryColumn": "Kategorie", + "projectUpdateColumn": "Projektupdate", + "clientColumn": "Kunde", + "teamColumn": "Team", + "projectManagerColumn": "Projektleiter", + + "openButton": "Öffnen", + + "estimatedText": "Geschätzt", + "actualText": "Tatsächlich", + + "todoText": "Zu erledigen", + "doingText": "Tun", + "doneText": "Erledigt", + + "cancelledText": "Abgebrochen", + "blockedText": "Blockiert", + "onHoldText": "Pausiert", + "proposedText": "Vorgeschlagen", + "inPlanningText": "In Planung", + "inProgressText": "In Bearbeitung", + "completedText": "Abgeschlossen", + "continuousText": "Kontinuierlich", + + "daysLeftText": "Tage übrig", + "dayLeftText": "Tag übrig", + "daysOverdueText": "Tage überfällig", + + "notSetText": "Nicht festgelegt", + "needsAttentionText": "Benötigt Aufmerksamkeit", + "atRiskText": "Gefährdet", + "goodText": "Gut", + + "setCategoryText": "Kategorie festlegen", + "searchByNameInputPlaceholder": "Nach Namen suchen", + "todayText": "Heute" +} diff --git a/worklenz-frontend/public/locales/de/reporting-sidebar.json b/worklenz-frontend/public/locales/de/reporting-sidebar.json new file mode 100644 index 00000000..74d6bfb9 --- /dev/null +++ b/worklenz-frontend/public/locales/de/reporting-sidebar.json @@ -0,0 +1,8 @@ +{ + "overview": "Übersicht", + "projects": "Projekte", + "members": "Mitglieder", + "timeReports": "Zeitberichte", + "estimateVsActual": "Schätzen vs. Tatsächlich", + "currentOrganizationTooltip": "Aktuelle Organisation" +} diff --git a/worklenz-frontend/public/locales/de/schedule.json b/worklenz-frontend/public/locales/de/schedule.json new file mode 100644 index 00000000..046c7bb0 --- /dev/null +++ b/worklenz-frontend/public/locales/de/schedule.json @@ -0,0 +1,39 @@ +{ + "today": "Heute", + "week": "Woche", + "month": "Monat", + + "settings": "Einstellungen", + "workingDays": "Arbeitstage", + "monday": "Montag", + "tuesday": "Dienstag", + "wednesday": "Mittwoch", + "thursday": "Donnerstag", + "friday": "Freitag", + "saturday": "Samstag", + "sunday": "Sonntag", + "workingHours": "Arbeitsstunden", + "hours": "Stunden", + "saveButton": "Speichern", + + "totalAllocation": "Gesamtzuteilung", + "timeLogged": "Zeiterfassung", + "remainingTime": "Verbleibende Zeit", + "total": "Gesamt", + "perDay": "Pro Tag", + "tasks": "Aufgaben", + "startDate": "Startdatum", + "endDate": "Enddatum", + + "hoursPerDay": "Stunden pro Tag", + "totalHours": "Gesamtstunden", + "deleteButton": "Löschen", + "cancelButton": "Abbrechen", + + "tabTitle": "Aufgaben ohne Start- & Enddatum", + + "allocatedTime": "Zugewiesene Zeit", + "totalLogged": "Gesamterfasst", + "loggedBillable": "Abrechenbar erfasst", + "loggedNonBillable": "Nicht abrechenbar erfasst" +} diff --git a/worklenz-frontend/public/locales/de/settings/categories.json b/worklenz-frontend/public/locales/de/settings/categories.json new file mode 100644 index 00000000..5694d11d --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/categories.json @@ -0,0 +1,10 @@ +{ + "categoryColumn": "Kategorie", + "deleteConfirmationTitle": "Sind Sie sicher?", + "deleteConfirmationOk": "Ja", + "deleteConfirmationCancel": "Abbrechen", + "associatedTaskColumn": "Zugehörige Projekte", + "searchPlaceholder": "Nach Namen suchen", + "emptyText": "Kategorien können beim Aktualisieren oder Erstellen von Projekten angelegt werden.", + "colorChangeTooltip": "Zum Farbwechsel klicken" +} diff --git a/worklenz-frontend/public/locales/de/settings/change-password.json b/worklenz-frontend/public/locales/de/settings/change-password.json new file mode 100644 index 00000000..6b65a8cf --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/change-password.json @@ -0,0 +1,15 @@ +{ + "title": "Passwort ändern", + "currentPassword": "Aktuelles Passwort", + "newPassword": "Neues Passwort", + "confirmPassword": "Passwort bestätigen", + "currentPasswordPlaceholder": "Aktuelles Passwort eingeben", + "newPasswordPlaceholder": "Neues Passwort", + "confirmPasswordPlaceholder": "Passwort bestätigen", + "currentPasswordRequired": "Bitte geben Sie Ihr aktuelles Passwort ein!", + "newPasswordRequired": "Bitte geben Sie Ihr neues Passwort ein!", + "passwordValidationError": "Das Passwort muss mindestens 8 Zeichen lang sein und einen Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten.", + "passwordMismatch": "Die Passwörter stimmen nicht überein!", + "passwordRequirements": "Das neue Passwort muss mindestens 8 Zeichen lang sein und einen Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten.", + "updateButton": "Passwort aktualisieren" +} diff --git a/worklenz-frontend/public/locales/de/settings/clients.json b/worklenz-frontend/public/locales/de/settings/clients.json new file mode 100644 index 00000000..d2982bdb --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/clients.json @@ -0,0 +1,22 @@ +{ + "nameColumn": "Name", + "projectColumn": "Projekt", + "noProjectsAvailable": "Keine Projekte verfügbar", + "deleteConfirmationTitle": "Sind Sie sicher?", + "deleteConfirmationOk": "Ja", + "deleteConfirmationCancel": "Abbrechen", + "searchPlaceholder": "Nach Namen suchen", + "createClient": "Kunde anlegen", + "pinTooltip": "Zum Anheften an das Hauptmenü klicken", + "createClientDrawerTitle": "Kunde anlegen", + "updateClientDrawerTitle": "Kunde aktualisieren", + "nameLabel": "Name", + "namePlaceholder": "Name", + "nameRequiredError": "Bitte geben Sie einen Namen ein", + "createButton": "Anlegen", + "updateButton": "Aktualisieren", + "createClientSuccessMessage": "Kunde erfolgreich angelegt!", + "createClientErrorMessage": "Anlegen des Kunden fehlgeschlagen!", + "updateClientSuccessMessage": "Kunde erfolgreich aktualisiert!", + "updateClientErrorMessage": "Aktualisierung des Kunden fehlgeschlagen!" +} diff --git a/worklenz-frontend/public/locales/de/settings/job-titles.json b/worklenz-frontend/public/locales/de/settings/job-titles.json new file mode 100644 index 00000000..f4403ad1 --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/job-titles.json @@ -0,0 +1,20 @@ +{ + "nameColumn": "Name", + "deleteConfirmationTitle": "Sind Sie sicher?", + "deleteConfirmationOk": "Ja", + "deleteConfirmationCancel": "Abbrechen", + "searchPlaceholder": "Nach Namen suchen", + "createJobTitleButton": "Jobtitel erstellen", + "pinTooltip": "Zum Anheften an das Hauptmenü klicken", + "createJobTitleDrawerTitle": "Jobtitel erstellen", + "updateJobTitleDrawerTitle": "Jobtitel aktualisieren", + "nameLabel": "Name", + "namePlaceholder": "Name", + "nameRequiredError": "Bitte geben Sie einen Namen ein", + "createButton": "Erstellen", + "updateButton": "Aktualisieren", + "createJobTitleSuccessMessage": "Jobtitel erfolgreich erstellt!", + "createJobTitleErrorMessage": "Erstellung des Jobtitels fehlgeschlagen!", + "updateJobTitleSuccessMessage": "Jobtitel erfolgreich aktualisiert!", + "updateJobTitleErrorMessage": "Aktualisierung des Jobtitels fehlgeschlagen!" +} diff --git a/worklenz-frontend/public/locales/de/settings/labels.json b/worklenz-frontend/public/locales/de/settings/labels.json new file mode 100644 index 00000000..18b6a021 --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/labels.json @@ -0,0 +1,11 @@ +{ + "labelColumn": "Label", + "deleteConfirmationTitle": "Sind Sie sicher?", + "deleteConfirmationOk": "Ja", + "deleteConfirmationCancel": "Abbrechen", + "associatedTaskColumn": "Zugeordnete Aufgabenanzahl", + "searchPlaceholder": "Nach Name suchen", + "emptyText": "Labels können beim Aktualisieren oder Erstellen von Aufgaben erstellt werden.", + "pinTooltip": "Zum Anheften an das Hauptmenü klicken", + "colorChangeTooltip": "Zum Ändern der Farbe klicken" +} diff --git a/worklenz-frontend/public/locales/de/settings/language.json b/worklenz-frontend/public/locales/de/settings/language.json new file mode 100644 index 00000000..9e6bc27d --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/language.json @@ -0,0 +1,7 @@ +{ + "language": "Sprache", + "language_required": "Sprache ist erforderlich", + "time_zone": "Zeitzone", + "time_zone_required": "Zeitzone ist erforderlich", + "save_changes": "Änderungen speichern" +} diff --git a/worklenz-frontend/public/locales/de/settings/notifications.json b/worklenz-frontend/public/locales/de/settings/notifications.json new file mode 100644 index 00000000..272542a0 --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/notifications.json @@ -0,0 +1,11 @@ +{ + "title": "Benachrichtigungseinstellungen", + "emailTitle": "E-Mail-Benachrichtigungen erhalten", + "emailDescription": "Dies beinhaltet neue Aufgaben-Zuweisungen", + "dailyDigestTitle": "Tägliche Übersicht erhalten", + "dailyDigestDescription": "Jeden Abend erhalten Sie eine Zusammenfassung der letzten Aktivitäten in Aufgaben.", + "popupTitle": "Popup-Benachrichtigungen auf meinem Computer anzeigen, wenn Worklenz geöffnet ist", + "popupDescription": "Popup-Benachrichtigungen können von Ihrem Browser blockiert werden. Ändern Sie Ihre Browser-Einstellungen, um diese zu erlauben.", + "unreadItemsTitle": "Anzahl ungelesener Elemente anzeigen", + "unreadItemsDescription": "Sie sehen Zähler für jede Benachrichtigung." +} diff --git a/worklenz-frontend/public/locales/de/settings/profile.json b/worklenz-frontend/public/locales/de/settings/profile.json new file mode 100644 index 00000000..f896e1f8 --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/profile.json @@ -0,0 +1,13 @@ +{ + "uploadError": "Sie können nur JPG/PNG-Dateien hochladen!", + "uploadSizeError": "Bilder müssen kleiner als 2MB sein!", + "upload": "Hochladen", + "nameLabel": "Name", + "nameRequiredError": "Name ist erforderlich", + "emailLabel": "E-Mail", + "emailRequiredError": "E-Mail ist erforderlich", + "saveChanges": "Änderungen speichern", + "profileJoinedText": "Vor einem Monat beigetreten", + "profileLastUpdatedText": "Vor einem Monat aktualisiert", + "avatarTooltip": "Klicken Sie zum Hochladen eines Avatars" +} diff --git a/worklenz-frontend/public/locales/de/settings/project-templates.json b/worklenz-frontend/public/locales/de/settings/project-templates.json new file mode 100644 index 00000000..6c6e23ca --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/project-templates.json @@ -0,0 +1,8 @@ +{ + "nameColumn": "Name", + "editToolTip": "Bearbeiten", + "deleteToolTip": "Löschen", + "confirmText": "Sind Sie sicher?", + "okText": "Ja", + "cancelText": "Abbrechen" +} diff --git a/worklenz-frontend/public/locales/de/settings/sidebar.json b/worklenz-frontend/public/locales/de/settings/sidebar.json new file mode 100644 index 00000000..d4d8754d --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/sidebar.json @@ -0,0 +1,14 @@ +{ + "profile": "Profil", + "notifications": "Benachrichtigungen", + "clients": "Kunden", + "job-titles": "Jobbezeichnungen", + "labels": "Labels", + "categories": "Kategorien", + "project-templates": "Projektvorlagen", + "task-templates": "Aufgabenvorlagen", + "team-members": "Teammitglieder", + "teams": "Teams", + "change-password": "Passwort ändern", + "language-and-region": "Sprache und Region" +} diff --git a/worklenz-frontend/public/locales/de/settings/task-templates.json b/worklenz-frontend/public/locales/de/settings/task-templates.json new file mode 100644 index 00000000..ffe93318 --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/task-templates.json @@ -0,0 +1,9 @@ +{ + "nameColumn": "Name", + "createdColumn": "Erstellt", + "editToolTip": "Bearbeiten", + "deleteToolTip": "Löschen", + "confirmText": "Sind Sie sicher?", + "okText": "Ja", + "cancelText": "Abbrechen" +} diff --git a/worklenz-frontend/public/locales/de/settings/team-members.json b/worklenz-frontend/public/locales/de/settings/team-members.json new file mode 100644 index 00000000..6f2add12 --- /dev/null +++ b/worklenz-frontend/public/locales/de/settings/team-members.json @@ -0,0 +1,44 @@ +{ + "nameColumn": "Name", + "projectsColumn": "Projekte", + "emailColumn": "E-Mail", + "teamAccessColumn": "Team-Zugriff", + "memberCount": "Mitglied", + "membersCountPlural": "Mitglieder", + "searchPlaceholder": "Mitglieder nach Namen suchen", + "pinTooltip": "Mitgliederliste aktualisieren", + "addMemberButton": "Neues Mitglied hinzufügen", + "editTooltip": "Mitglied bearbeiten", + "deactivateTooltip": "Mitglied deaktivieren", + "activateTooltip": "Mitglied aktivieren", + "deleteTooltip": "Mitglied löschen", + "confirmDeleteTitle": "Sind Sie sicher, dass Sie dieses Mitglied löschen möchten?", + "confirmActivateTitle": "Sind Sie sicher, dass Sie den Status dieses Mitglieds ändern möchten?", + "okText": "Ja, fortfahren", + "cancelText": "Nein, abbrechen", + "deactivatedText": "(Aktuell deaktiviert)", + "pendingInvitationText": "(Einladung ausstehend)", + "addMemberDrawerTitle": "Neues Teammitglied hinzufügen", + "updateMemberDrawerTitle": "Teammitglied aktualisieren", + "addMemberEmailHint": "Mitglieder werden dem Team hinzugefügt, unabhängig vom Status der Einladungsannahme", + "memberEmailLabel": "E-Mail(s)", + "memberEmailPlaceholder": "E-Mail-Adresse des Teammitglieds eingeben", + "memberEmailRequiredError": "Bitte geben Sie eine gültige E-Mail-Adresse ein", + "jobTitleLabel": "Jobtitel", + "jobTitlePlaceholder": "Jobtitel auswählen oder suchen (optional)", + "memberAccessLabel": "Zugriffslevel", + "addToTeamButton": "Mitglied zum Team hinzufügen", + "updateButton": "Änderungen speichern", + "resendInvitationButton": "Einladungs-E-Mail erneut senden", + "invitationSentSuccessMessage": "Team-Einladung erfolgreich versendet!", + "createMemberSuccessMessage": "Neues Teammitglied erfolgreich hinzugefügt!", + "createMemberErrorMessage": "Hinzufügen des Teammitglieds fehlgeschlagen. Bitte versuchen Sie es erneut.", + "updateMemberSuccessMessage": "Teammitglied erfolgreich aktualisiert!", + "updateMemberErrorMessage": "Aktualisierung des Teammitglieds fehlgeschlagen. Bitte versuchen Sie es erneut.", + "memberText": "Mitglied", + "adminText": "Administrator", + "ownerText": "Team-Besitzer", + "addedText": "Hinzugefügt", + "updatedText": "Aktualisiert", + "noResultFound": "Geben Sie eine E-Mail-Adresse ein und drücken Sie Enter..." +} diff --git a/worklenz-frontend/public/locales/de/task-drawer/task-drawer-info-tab.json b/worklenz-frontend/public/locales/de/task-drawer/task-drawer-info-tab.json new file mode 100644 index 00000000..ed79d6bf --- /dev/null +++ b/worklenz-frontend/public/locales/de/task-drawer/task-drawer-info-tab.json @@ -0,0 +1,29 @@ +{ + "details": { + "task-key": "Aufgabenschlüssel", + "phase": "Phase", + "assignees": "Zugewiesene", + "due-date": "Fälligkeitsdatum", + "time-estimation": "Zeitschätzung", + "priority": "Priorität", + "labels": "Labels", + "billable": "Abrechenbar", + "notify": "Benachrichtigen", + "when-done-notify": "Bei Fertigstellung benachrichtigen", + "start-date": "Startdatum", + "end-date": "Enddatum", + "hide-start-date": "Startdatum ausblenden", + "show-start-date": "Startdatum anzeigen", + "hours": "Stunden", + "minutes": "Minuten" + }, + "description": { + "title": "Beschreibung", + "placeholder": "Fügen Sie eine detailliertere Beschreibung hinzu..." + }, + "subTasks": { + "title": "Unteraufgaben", + "add-sub-task": "+ Unteraufgabe hinzufügen", + "refresh-sub-tasks": "Unteraufgaben aktualisieren" + } +} \ No newline at end of file diff --git a/worklenz-frontend/public/locales/de/task-drawer/task-drawer.json b/worklenz-frontend/public/locales/de/task-drawer/task-drawer.json new file mode 100644 index 00000000..b4aa0525 --- /dev/null +++ b/worklenz-frontend/public/locales/de/task-drawer/task-drawer.json @@ -0,0 +1,78 @@ +{ + "taskHeader": { + "taskNamePlaceholder": "Aufgabe eingeben", + "deleteTask": "Aufgabe löschen" + }, + "taskInfoTab": { + "title": "Info", + "details": { + "title": "Details", + "task-key": "Aufgaben-Schlüssel", + "phase": "Phase", + "assignees": "Zugewiesene", + "due-date": "Fälligkeitsdatum", + "time-estimation": "Zeitschätzung", + "priority": "Priorität", + "labels": "Labels", + "billable": "Abrechenbar", + "notify": "Benachrichtigen", + "when-done-notify": "Bei Fertigstellung benachrichtigen", + "start-date": "Startdatum", + "end-date": "Enddatum", + "hide-start-date": "Startdatum ausblenden", + "show-start-date": "Startdatum anzeigen", + "hours": "Stunden", + "minutes": "Minuten" + }, + "labels": { + "labelInputPlaceholder": "Suchen oder erstellen", + "labelsSelectorInputTip": "Enter drücken zum Erstellen" + }, + "description": { + "title": "Beschreibung", + "placeholder": "Detaillierte Beschreibung hinzufügen..." + }, + "subTasks": { + "title": "Unteraufgaben", + "addSubTask": "+ Unteraufgabe hinzufügen", + "addSubTaskInputPlaceholder": "Aufgabe eingeben und Enter drücken", + "refreshSubTasks": "Unteraufgaben aktualisieren", + "edit": "Bearbeiten", + "delete": "Löschen", + "confirmDeleteSubTask": "Sind Sie sicher, dass Sie diese Unteraufgabe löschen möchten?", + "deleteSubTask": "Unteraufgabe löschen" + }, + "dependencies": { + "title": "Abhängigkeiten", + "addDependency": "+ Neue Abhängigkeit hinzufügen", + "blockedBy": "Blockiert durch", + "searchTask": "Aufgabe suchen", + "noTasksFound": "Keine Aufgaben gefunden", + "confirmDeleteDependency": "Sind Sie sicher, dass Sie dies löschen möchten?" + }, + "attachments": { + "title": "Anhänge", + "chooseOrDropFileToUpload": "Datei auswählen oder zum Hochladen ablegen", + "uploading": "Wird hochgeladen..." + }, + "comments": { + "title": "Kommentare", + "addComment": "+ Neuen Kommentar hinzufügen", + "noComments": "Noch keine Kommentare. Seien Sie der Erste!", + "delete": "Löschen", + "confirmDeleteComment": "Sind Sie sicher, dass Sie diesen Kommentar löschen möchten?" + }, + "searchInputPlaceholder": "Nach Namen suchen", + "pendingInvitation": "Einladung ausstehend" + }, + "taskTimeLogTab": { + "title": "Zeiterfassung", + "addTimeLog": "Neuen Zeiteintrag hinzufügen", + "totalLogged": "Gesamt erfasst", + "exportToExcel": "Nach Excel exportieren", + "noTimeLogsFound": "Keine Zeiterfassungen gefunden" + }, + "taskActivityLogTab": { + "title": "Aktivitätsprotokoll" + } +} diff --git a/worklenz-frontend/public/locales/de/task-list-filters.json b/worklenz-frontend/public/locales/de/task-list-filters.json new file mode 100644 index 00000000..4cc157c8 --- /dev/null +++ b/worklenz-frontend/public/locales/de/task-list-filters.json @@ -0,0 +1,59 @@ +{ + "searchButton": "Suchen", + "resetButton": "Zurücksetzen", + "searchInputPlaceholder": "Nach Namen suchen", + + "sortText": "Sortieren", + "statusText": "Status", + "phaseText": "Phase", + "memberText": "Mitglieder", + "assigneesText": "Zugewiesene", + "priorityText": "Priorität", + "labelsText": "Labels", + "membersText": "Mitglieder", + "groupByText": "Gruppieren nach", + "showArchivedText": "Archivierte anzeigen", + "showFieldsText": "Felder anzeigen", + "keyText": "Schlüssel", + "taskText": "Aufgabe", + "descriptionText": "Beschreibung", + "phasesText": "Phasen", + "listText": "Liste", + "progressText": "Fortschritt", + "timeTrackingText": "Zeiterfassung", + "timetrackingText": "Zeiterfassung", + "estimationText": "Schätzung", + "startDateText": "Startdatum", + "startdateText": "Startdatum", + "endDateText": "Enddatum", + "dueDateText": "Fälligkeitsdatum", + "duedateText": "Fälligkeitsdatum", + "completedDateText": "Abschlussdatum", + "completeddateText": "Abschlussdatum", + "createdDateText": "Erstellungsdatum", + "createddateText": "Erstellungsdatum", + "lastUpdatedText": "Zuletzt aktualisiert", + "lastupdatedText": "Zuletzt aktualisiert", + "reporterText": "Melder", + "dueTimeText": "Fällige Zeit", + "duetimeText": "Fällige Zeit", + + "lowText": "Niedrig", + "mediumText": "Mittel", + "highText": "Hoch", + + "createStatusButtonTooltip": "Status-Einstellungen", + "configPhaseButtonTooltip": "Phasen-Einstellungen", + "noLabelsFound": "Keine Labels gefunden", + + "addStatusButton": "Status hinzufügen", + "addPhaseButton": "Phase hinzufügen", + + "createStatus": "Status erstellen", + "name": "Name", + "category": "Kategorie", + "selectCategory": "Kategorie auswählen", + "pleaseEnterAName": "Bitte geben Sie einen Namen ein", + "pleaseSelectACategory": "Bitte wählen Sie eine Kategorie aus", + "create": "Erstellen" +} diff --git a/worklenz-frontend/public/locales/de/task-list-table.json b/worklenz-frontend/public/locales/de/task-list-table.json new file mode 100644 index 00000000..d399dea4 --- /dev/null +++ b/worklenz-frontend/public/locales/de/task-list-table.json @@ -0,0 +1,63 @@ +{ + "keyColumn": "Schlüssel", + "taskColumn": "Aufgabe", + "descriptionColumn": "Beschreibung", + "progressColumn": "Fortschritt", + "membersColumn": "Mitglieder", + "assigneesColumn": "Zugewiesene", + "labelsColumn": "Labels", + "phasesColumn": "Phasen", + "phaseColumn": "Phase", + "statusColumn": "Status", + "priorityColumn": "Priorität", + "timeTrackingColumn": "Zeiterfassung", + "timetrackingColumn": "Zeiterfassung", + "estimationColumn": "Schätzung", + "startDateColumn": "Startdatum", + "startdateColumn": "Startdatum", + "dueDateColumn": "Fälligkeitsdatum", + "duedateColumn": "Fälligkeitsdatum", + "completedDateColumn": "Abschlussdatum", + "completeddateColumn": "Abschlussdatum", + "createdDateColumn": "Erstellungsdatum", + "createddateColumn": "Erstellungsdatum", + "lastUpdatedColumn": "Zuletzt aktualisiert", + "lastupdatedColumn": "Zuletzt aktualisiert", + "reporterColumn": "Melder", + "dueTimeColumn": "Fällige Zeit", + "todoSelectorText": "Zu erledigen", + "doingSelectorText": "Tun", + "doneSelectorText": "Erledigt", + + "lowSelectorText": "Niedrig", + "mediumSelectorText": "Mittel", + "highSelectorText": "Hoch", + + "selectText": "Auswählen", + "labelsSelectorInputTip": "Enter drücken zum Erstellen!", + + "addTaskText": "+ Aufgabe hinzufügen", + "addSubTaskText": "+ Unteraufgabe hinzufügen", + "addTaskInputPlaceholder": "Aufgabe eingeben und Enter drücken", + + "openButton": "Öffnen", + "okButton": "OK", + + "noLabelsFound": "Keine Labels gefunden", + "searchInputPlaceholder": "Suchen oder erstellen", + "assigneeSelectorInviteButton": "Neues Mitglied per E-Mail einladen", + "labelInputPlaceholder": "Suchen oder erstellen", + + "pendingInvitation": "Einladung ausstehend", + + "contextMenu": { + "assignToMe": "Mir zuweisen", + "moveTo": "Verschieben nach", + "unarchive": "Dearchivieren", + "archive": "Archivieren", + "convertToSubTask": "In Unteraufgabe umwandeln", + "convertToTask": "In Aufgabe umwandeln", + "delete": "Löschen", + "searchByNameInputPlaceholder": "Nach Namen suchen" + } +} diff --git a/worklenz-frontend/public/locales/de/task-template-drawer.json b/worklenz-frontend/public/locales/de/task-template-drawer.json new file mode 100644 index 00000000..21dbe369 --- /dev/null +++ b/worklenz-frontend/public/locales/de/task-template-drawer.json @@ -0,0 +1,11 @@ +{ + "createTaskTemplate": "Aufgabenvorlage erstellen", + "editTaskTemplate": "Aufgabenvorlage bearbeiten", + "cancelText": "Abbrechen", + "saveText": "Speichern", + "templateNameText": "Vorlagenname", + "selectedTasks": "Ausgewählte Aufgaben", + "removeTask": "Entfernen", + "cancelButton": "Abbrechen", + "saveButton": "Speichern" +} diff --git a/worklenz-frontend/public/locales/de/tasks/task-table-bulk-actions.json b/worklenz-frontend/public/locales/de/tasks/task-table-bulk-actions.json new file mode 100644 index 00000000..3c2d7132 --- /dev/null +++ b/worklenz-frontend/public/locales/de/tasks/task-table-bulk-actions.json @@ -0,0 +1,24 @@ +{ + "taskSelected": "Aufgabe ausgewählt", + "tasksSelected": "Aufgaben ausgewählt", + "changeStatus": "Status/Priorität/Phase ändern", + "changeLabel": "Label ändern", + "assignToMe": "Mir zuweisen", + "changeAssignees": "Zuständige ändern", + "archive": "Archivieren", + "unarchive": "Dearchivieren", + "delete": "Löschen", + "moreOptions": "Weitere Optionen", + "deselectAll": "Alle abwählen", + "status": "Status", + "priority": "Priorität", + "phase": "Phase", + "member": "Mitglied", + "createTaskTemplate": "Aufgabenvorlage erstellen", + "apply": "Anwenden", + "createLabel": "+ Label erstellen", + "hitEnterToCreate": "Enter drücken zum Erstellen", + "pendingInvitation": "Einladung ausstehend", + "noMatchingLabels": "Keine passenden Labels", + "noLabels": "Keine Labels" +} diff --git a/worklenz-frontend/public/locales/de/template-drawer.json b/worklenz-frontend/public/locales/de/template-drawer.json new file mode 100644 index 00000000..8655504d --- /dev/null +++ b/worklenz-frontend/public/locales/de/template-drawer.json @@ -0,0 +1,19 @@ +{ + "title": "Aufgabenvorlage bearbeiten", + "cancelText": "Abbrechen", + "saveText": "Speichern", + "templateNameText": "Vorlagenname", + "selectedTasks": "Ausgewählte Aufgaben", + "removeTask": "Entfernen", + "description": "Beschreibung", + "phase": "Phase", + "statuses": "Status", + "priorities": "Prioritäten", + "labels": "Labels", + "tasks": "Aufgaben", + "noTemplateSelected": "Keine Vorlage ausgewählt", + "noDescription": "Keine Beschreibung", + "worklenzTemplates": "Worklenz-Vorlagen", + "yourTemplatesLibrary": "Ihre Bibliothek", + "searchTemplates": "Vorlagen durchsuchen" +} diff --git a/worklenz-frontend/public/locales/de/templateDrawer.json b/worklenz-frontend/public/locales/de/templateDrawer.json new file mode 100644 index 00000000..571ed15f --- /dev/null +++ b/worklenz-frontend/public/locales/de/templateDrawer.json @@ -0,0 +1,23 @@ +{ + "bugTracking": "Fehlerverfolgung", + "construction": "Bauwesen", + "designCreative": "Design & Kreatives", + "education": "Bildung", + "finance": "Finanzen", + "hrRecruiting": "Personalwesen & Recruiting", + "informationTechnology": "Informationstechnologie", + "legal": "Rechtliches", + "manufacturing": "Produktion", + "marketing": "Marketing", + "nonprofit": "Gemeinnützig", + "personalUse": "Persönliche Nutzung", + "salesCRM": "Vertrieb & CRM", + "serviceConsulting": "Dienstleistungen & Beratung", + "softwareDevelopment": "Softwareentwicklung", + "description": "Beschreibung", + "phase": "Phase", + "statuses": "Status", + "priorities": "Prioritäten", + "labels": "Labels", + "tasks": "Aufgaben" +} diff --git a/worklenz-frontend/public/locales/de/time-report.json b/worklenz-frontend/public/locales/de/time-report.json new file mode 100644 index 00000000..efadbb8a --- /dev/null +++ b/worklenz-frontend/public/locales/de/time-report.json @@ -0,0 +1,44 @@ +{ + "includeArchivedProjects": "Archivierte Projekte einschließen", + "export": "Exportieren", + "timeSheet": "Stundenzettel", + + "searchByName": "Nach Namen suchen", + "selectAll": "Alle auswählen", + "teams": "Teams", + + "searchByProject": "Nach Projektnamen suchen", + "projects": "Projekte", + + "searchByCategory": "Nach Kategorienamen suchen", + "categories": "Kategorien", + + "billable": "Abrechenbar", + "nonBillable": "Nicht abrechenbar", + + "total": "Gesamt", + + "projectsTimeSheet": "Projekt-Zeiterfassung", + + "loggedTime": "Erfasste Zeit (Stunden)", + + "exportToExcel": "Nach Excel exportieren", + "logged": "erfasst", + "for": "für", + + "membersTimeSheet": "Mitglieder-Zeiterfassung", + "member": "Mitglied", + + "estimatedVsActual": "Geschätzt vs. Tatsächlich", + "workingDays": "Arbeitstage", + "manDays": "Manntage", + "days": "Tage", + "estimatedDays": "Geschätzt Tage", + "actualDays": "Tatsächliche Tage", + + "noCategories": "Keine Kategorien gefunden", + "noCategory": "Keine Kategorie", + "noProjects": "Keine Projekte gefunden", + "noTeams": "Keine Teams gefunden", + "noData": "Keine Daten gefunden" +} diff --git a/worklenz-frontend/public/locales/de/unauthorized.json b/worklenz-frontend/public/locales/de/unauthorized.json new file mode 100644 index 00000000..4384ad80 --- /dev/null +++ b/worklenz-frontend/public/locales/de/unauthorized.json @@ -0,0 +1,5 @@ +{ + "title": "Unbefugt!", + "subtitle": "Sie sind nicht berechtigt, auf diese Seite zuzugreifen", + "button": "Zur Startseite" +} diff --git a/worklenz-frontend/src/features/i18n/language-selector.tsx b/worklenz-frontend/src/features/i18n/language-selector.tsx index 83851977..7af61f85 100644 --- a/worklenz-frontend/src/features/i18n/language-selector.tsx +++ b/worklenz-frontend/src/features/i18n/language-selector.tsx @@ -16,6 +16,7 @@ const LanguageSelector = () => { { key: 'es', label: 'Español' }, { key: 'pt', label: 'Português' }, { key: 'alb', label: 'Shqip' }, + { key: 'de', label: 'Deutsch' }, ]; const languageLabels = { @@ -23,6 +24,7 @@ const LanguageSelector = () => { es: 'Es', pt: 'Pt', alb: 'Sq', + de: 'de', }; return ( diff --git a/worklenz-frontend/src/features/i18n/localesSlice.ts b/worklenz-frontend/src/features/i18n/localesSlice.ts index f405ec2a..045f385e 100644 --- a/worklenz-frontend/src/features/i18n/localesSlice.ts +++ b/worklenz-frontend/src/features/i18n/localesSlice.ts @@ -5,7 +5,8 @@ export enum Language { EN = 'en', ES = 'es', PT = 'pt', - ALB = 'alb' + ALB = 'alb', + DE = 'de', } export type ILanguageType = `${Language}`; diff --git a/worklenz-frontend/src/pages/settings/language-and-region/language-and-region-settings.tsx b/worklenz-frontend/src/pages/settings/language-and-region/language-and-region-settings.tsx index a7c8b092..a043ac95 100644 --- a/worklenz-frontend/src/pages/settings/language-and-region/language-and-region-settings.tsx +++ b/worklenz-frontend/src/pages/settings/language-and-region/language-and-region-settings.tsx @@ -51,6 +51,10 @@ const LanguageAndRegionSettings = () => { value: Language.ALB, label: 'Shqip', }, + { + value: Language.DE, + label: 'Deutsch', + }, ]; const handleLanguageChange = async (values: { language?: ILanguageType; timezone?: string }) => { diff --git a/worklenz-frontend/src/utils/greetingString.ts b/worklenz-frontend/src/utils/greetingString.ts index 40bdb86b..1e122f6a 100644 --- a/worklenz-frontend/src/utils/greetingString.ts +++ b/worklenz-frontend/src/utils/greetingString.ts @@ -35,6 +35,12 @@ export const greetingString = (name: string): string => { morning = 'mëngjesi'; afternoon = 'pasdite'; evening = 'mbrëmja'; + } else if (language === 'de') { + greetingPrefix = 'Hallo'; + greetingSuffix = 'Guten'; + morning = 'Morgen'; + afternoon = 'Tag'; + evening = 'Abend'; } return `${greetingPrefix} ${name}, ${greetingSuffix} ${greet}!`;