feat: add admin/profile UI, i18n (fr/de/pt), fix CI pipelines

- Add admin panel link and profile modal in user menu dropdown
- Add French, German and Portuguese locale support (full translations)
- Register new locales across JS frontend and Rust backend
- Create CI pipeline (fmt, clippy, test, audit, build)
- Fix docker-build.yml (cache, real tests, reduced timeout)
- Fix docker-publish.yml (multi-arch via QEMU, latest tag, pre-publish tests)
- Add dependabot.yml for automated dependency updates
This commit is contained in:
Dionisio
2026-02-11 12:26:29 +01:00
parent 6b55cdf3c4
commit 3050955f9c
21 changed files with 1422 additions and 408 deletions
+338 -332
View File
@@ -1,332 +1,338 @@
{
"app": {
"title": "OxiCloud",
"description": "Minimalistisches System zur Cloud-Datenspeicherung"
},
"nav": {
"files": "Dateien",
"shared": "Freigegebene Elemente",
"recent": "Zuletzt verwendete Elemente",
"favorites": "Favoriten",
"trash": "Papierkorb"
},
"actions": {
"search": "Dateien durchsuchen...",
"new_folder": "Neuen Ordner erstellen",
"upload": "Hochladen",
"upload_files": "Dateien hochladen",
"upload_folder": "Ordner hochladen",
"rename": "Umbenennen",
"move": "Verschieben nach...",
"move_to": "Verschieben nach",
"delete": "Löschen",
"download": "Herunterladen",
"view": "Anzeigen",
"cancel": "Abbrechen",
"confirm": "Bestätigen",
"share": "Freigeben",
"favorite": "Zu Favoriten hinzufügen",
"unfavorite": "Aus Favoriten entfernen",
"copy": "Kopieren",
"notify": "Benachrichtigen",
"send": "Senden",
"clear_recent": "Verlauf löschen",
"logout": "Abmelden",
"create": "Erstellen",
"search_btn": "Suchen",
"close": "Schließen",
"delete_permanently": "Endgültig löschen",
"empty_trash": "Papierkorb leeren"
},
"user_menu": {
"appearance": "Darstellung",
"about": "Über OxiCloud",
"about_description": "Plattform zur Cloud-Datenspeicherung, entwickelt mit Rust und Clean Architecture. Leistungsstark, sicher und datenschutzorientiert."
},
"share": {
"dialogTitle": "Freigabelink erstellen",
"linkLabel": "Freigabelink:",
"copyLink": "Kopieren",
"permissions": "Berechtigungen:",
"permissionRead": "Leseberechtigung",
"permissionWrite": "Schreibberechtigung",
"permissionReshare": "Weiterfreigabeberechtigung",
"password": "Passwortschutz:",
"generatePassword": "Passwort generieren",
"expiration": "Ablaufdatum:",
"update": "Freigabe aktualisieren",
"remove": "Freigabe entfernen",
"notifyTitle": "Benachrichtigung versenden",
"notifyEmailLabel": "E-Mail-Adresse:",
"notifyMessageLabel": "Nachricht (optional):",
"notifySend": "Benachrichtigung senden",
"shareWithOthers": "Mit weiteren Personen teilen",
"sharePublicly": "Öffentlich freigeben",
"shareSettings": "Freigabeeinstellungen",
"shareCopied": "Der Link wurde in die Zwischenablage kopiert.",
"shareCreated": "Der Freigabelink wurde erfolgreich erstellt.",
"shareUpdated": "Die Freigabeeinstellungen wurden erfolgreich aktualisiert.",
"shareRemoved": "Die Freigabe wurde erfolgreich entfernt."
},
"share_dialogTitle": "Freigabelink erstellen",
"share_linkLabel": "Freigabelink:",
"share_copyLink": "Kopieren",
"share_permissions": "Berechtigungen:",
"share_permissionRead": "Leseberechtigung",
"share_permissionWrite": "Schreibberechtigung",
"share_permissionReshare": "Weiterfreigabeberechtigung",
"share_password": "Passwortschutz:",
"share_generatePassword": "Passwort generieren",
"share_expiration": "Ablaufdatum:",
"share_update": "Freigabe aktualisieren",
"share_remove": "Freigabe entfernen",
"share_notifyTitle": "Benachrichtigung versenden",
"share_notifyEmailLabel": "E-Mail-Adresse:",
"share_notifyMessageLabel": "Nachricht (optional):",
"share_notifySend": "Benachrichtigung senden",
"shared": {
"backToFiles": "Zurück zur Dateiansicht",
"pageTitle": "Freigegebene Elemente",
"pageDescription": "Verwalten Sie Ihre freigegebenen Dateien und Ordner.",
"filterType": "Typ:",
"filterAll": "Alle",
"filterFiles": "Dateien",
"filterFolders": "Ordner",
"sortBy": "Sortieren nach:",
"sortByName": "Name",
"sortByDate": "Freigabedatum",
"sortByExpiration": "Ablaufdatum",
"search": "Suchen",
"colName": "Name",
"colType": "Typ",
"colDateShared": "Freigabedatum",
"colExpiration": "Ablaufdatum",
"colPermissions": "Berechtigungen",
"colPassword": "Passwortschutz",
"colActions": "Aktionen",
"emptyStateTitle": "Derzeit sind keine freigegebenen Elemente vorhanden.",
"emptyStateDesc": "Freigegebene Dateien und Ordner werden hier angezeigt.",
"goToFiles": "Zur Dateiansicht wechseln",
"typeFile": "Datei",
"typeFolder": "Ordner",
"noExpiration": "Kein Ablaufdatum festgelegt",
"hasPassword": "Ja",
"noPassword": "Nein",
"editShare": "Freigabe bearbeiten",
"notifyShare": "Person benachrichtigen",
"copyLink": "Link kopieren",
"removeShare": "Freigabe entfernen",
"linkCopied": "Der Link wurde in die Zwischenablage kopiert.",
"linkCopyFailed": "Der Link konnte nicht kopiert werden.",
"itemUpdated": "Die Freigabeeinstellungen wurden erfolgreich aktualisiert.",
"itemRemoved": "Die Freigabe wurde erfolgreich entfernt.",
"invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
"notificationSent": "Die Benachrichtigung wurde erfolgreich versendet.",
"notificationFailed": "Die Benachrichtigung konnte nicht versendet werden.",
"shared_backToFiles": "Zurück zur Dateiansicht",
"shared_pageTitle": "Freigegebene Elemente",
"shared_pageDescription": "Verwalten Sie Ihre freigegebenen Dateien und Ordner.",
"shared_filterType": "Typ:",
"shared_filterAll": "Alle",
"shared_filterFiles": "Dateien",
"shared_filterFolders": "Ordner",
"shared_sortBy": "Sortieren nach:",
"shared_sortByName": "Name",
"shared_sortByDate": "Freigabedatum",
"shared_sortByExpiration": "Ablaufdatum",
"shared_search": "Suchen",
"shared_colName": "Name",
"shared_colType": "Typ",
"shared_colDateShared": "Freigabedatum",
"shared_colExpiration": "Ablaufdatum",
"shared_colPermissions": "Berechtigungen",
"shared_colPassword": "Passwortschutz",
"shared_colActions": "Aktionen",
"shared_emptyStateTitle": "Derzeit sind keine freigegebenen Elemente vorhanden.",
"shared_emptyStateDesc": "Freigegebene Dateien und Ordner werden hier angezeigt.",
"shared_goToFiles": "Zur Dateiansicht wechseln",
"shared_typeFile": "Datei",
"shared_typeFolder": "Ordner",
"shared_noExpiration": "Kein Ablaufdatum festgelegt",
"shared_hasPassword": "Ja",
"shared_noPassword": "Nein",
"shared_editShare": "Freigabe bearbeiten",
"shared_notifyShare": "Person benachrichtigen",
"shared_copyLink": "Link kopieren",
"shared_removeShare": "Freigabe entfernen",
"shared_linkCopied": "Der Link wurde in die Zwischenablage kopiert.",
"shared_linkCopyFailed": "Der Link konnte nicht kopiert werden.",
"shared_itemUpdated": "Die Freigabeeinstellungen wurden erfolgreich aktualisiert.",
"shared_itemRemoved": "Die Freigabe wurde erfolgreich entfernt.",
"shared_invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
"shared_notificationSent": "Die Benachrichtigung wurde erfolgreich versendet.",
"shared_notificationFailed": "Die Benachrichtigung konnte nicht versendet werden."
},
"files": {
"name": "Name",
"type": "Typ",
"size": "Größe",
"modified": "Geändert am",
"no_files": "In diesem Ordner sind keine Dateien vorhanden.",
"loading": "Dateien werden geladen …",
"view_grid": "Rasteransicht",
"view_list": "Listenansicht",
"file_types": {
"document": "Dokument",
"image": "Bild",
"video": "Video",
"audio": "Audio",
"pdf": "PDF-Dokument",
"text": "Textdokument",
"folder": "Ordner"
}
},
"dialogs": {
"rename_folder": "Ordner umbenennen",
"rename_file": "Datei umbenennen",
"new_name": "Neuer Name",
"new_folder_title": "Neuen Ordner erstellen",
"folder_name": "Ordnername",
"folder_placeholder": "Neuer Ordner",
"rename_title": "Umbenennen",
"move_file": "Datei verschieben",
"move_folder": "Ordner verschieben",
"select_destination": "Zielordner auswählen:",
"root": "Hauptverzeichnis",
"delete_confirmation": "Sind Sie sicher, dass Sie dieses Element löschen möchten",
"and_contents": "und alle enthaltenen Elemente",
"no_undo": "Diese Aktion kann nicht rückgängig gemacht werden.",
"confirm_title": "Aktion bestätigen",
"confirm_delete": "In den Papierkorb verschieben",
"confirm_delete_file": "Möchten Sie die Datei \"{{name}}\" in den Papierkorb verschieben?",
"confirm_delete_folder": "Möchten Sie den Ordner \"{{name}}\" und alle enthaltenen Elemente in den Papierkorb verschieben?",
"confirm_permanent_delete": "Endgültig löschen",
"confirm_permanent_delete_msg": "Möchten Sie dieses Element dauerhaft löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
"confirm_empty_trash": "Papierkorb leeren",
"confirm_delete_share": "Freigabelink löschen",
"confirm_delete_share_msg": "Möchten Sie diesen Freigabelink löschen?",
"share_file": "Datei freigeben",
"existing_shares": "Bestehende Freigaben",
"share_options": "Freigabeoptionen",
"password": "Passwort",
"expiration": "Ablaufdatum",
"permissions": "Berechtigungen",
"generated_link": "Generierter Link",
"notify": "Benachrichtigung senden",
"recipient": "Empfänger",
"message": "Nachricht"
},
"dropzone": {
"drag_files": "Ziehen Sie Dateien hierher oder klicken Sie, um Dateien auszuwählen.",
"drop_files": "Legen Sie Dateien hier ab, um den Upload zu starten."
},
"permissions": {
"read": "Leseberechtigung",
"write": "Schreibberechtigung",
"reshare": "Weiterfreigabeberechtigung"
},
"errors": {
"file_not_found": "Die Datei wurde nicht gefunden.",
"folder_not_found": "Der Ordner wurde nicht gefunden.",
"delete_error": "Beim Löschen ist ein Fehler aufgetreten.",
"upload_error": "Beim Hochladen ist ein Fehler aufgetreten.",
"rename_error": "Beim Umbenennen ist ein Fehler aufgetreten.",
"move_error": "Beim Verschieben ist ein Fehler aufgetreten.",
"empty_name": "Der Name darf nicht leer sein.",
"name_exists": "Eine Datei oder ein Ordner mit diesem Namen existiert bereits.",
"generic_error": "Es ist ein unerwarteter Fehler aufgetreten."
},
"breadcrumb": {
"home": "Startseite"
},
"trash": {
"empty_trash": "Papierkorb leeren",
"empty_state": "Der Papierkorb ist leer.",
"original_location": "Ursprünglicher Speicherort",
"deleted_date": "Löschdatum",
"actions": "Aktionen",
"restore": "Wiederherstellen",
"delete_permanently": "Endgültig löschen",
"empty_confirm": "Sind Sie sicher, dass Sie den Papierkorb leeren möchten? Alle enthaltenen Elemente werden dauerhaft gelöscht."
},
"auth": {
"login_title": "Anmelden",
"username": "Benutzername",
"username_placeholder": "Bitte geben Sie Ihren Benutzernamen ein",
"password": "Passwort",
"password_placeholder": "Bitte geben Sie Ihr Passwort ein",
"login_button": "Anmelden",
"no_account": "Verfügen Sie noch über kein Konto?",
"register": "Registrieren",
"admin_setup": "Erstmalige Nutzung?",
"setup": "Administrator einrichten",
"register_title": "Konto erstellen",
"email": "E-Mail-Adresse",
"email_placeholder": "Bitte geben Sie Ihre E-Mail-Adresse ein",
"confirm_password": "Passwort bestätigen",
"confirm_password_placeholder": "Bitte bestätigen Sie Ihr Passwort",
"register_button": "Konto erstellen",
"have_account": "Verfügen Sie bereits über ein Konto?",
"login": "Anmelden",
"setup_title": "Ersteinrichtung",
"setup_step1": "Administrator",
"setup_step2": "Systemkonfiguration",
"setup_step3": "Abschluss",
"admin_username": "Administrator-Benutzername",
"admin_email": "Administrator-E-Mail-Adresse",
"admin_password": "Administrator-Passwort",
"create_admin": "Administrator erstellen",
"back_to_login": "System bereits eingerichtet?",
"admin_success": "Das Administrator-Konto wurde erfolgreich erstellt. Sie können sich nun anmelden.",
"account_success": "Das Konto wurde erfolgreich erstellt. Sie können sich nun anmelden.",
"passwords_mismatch": "Die eingegebenen Passwörter stimmen nicht überein.",
"admin_create_error": "Beim Erstellen des Administrator-Kontos ist ein Fehler aufgetreten."
},
"storage": {
"title": "Speicher",
"calculating": "Speicherplatz wird berechnet...",
"used": "{{percentage}} % verwendet ({{used}} von {{total}})"
},
"viewer": {
"unsupported_file": "Für diesen Dateityp ist keine Vorschau verfügbar.",
"download_file": "Datei herunterladen",
"zoom_in": "Vergrößern",
"zoom_out": "Verkleinern",
"zoom_reset": "Zoom zurücksetzen"
},
"language_selector": {
"title": "Willkommen bei OxiCloud",
"subtitle": "Bitte wählen Sie Ihre Sprache",
"continue": "Fortfahren",
"languages": {
"en": "Englisch",
"es": "Spanisch",
"zh": "Chinesisch",
"fa": "Persisch"
}
},
"favorites": {
"empty_state": "Derzeit sind keine Favoriten vorhanden.",
"empty_hint": "Markieren Sie Dateien oder Ordner, um sie zu Ihren Favoriten hinzuzufügen.",
"add": "Zu Favoriten hinzufügen",
"remove": "Aus Favoriten entfernen"
},
"recent": {
"title": "Zuletzt verwendete Elemente",
"clear": "Verlauf löschen",
"accessed": "Geöffnet am",
"empty_state": "Keine zuletzt verwendeten Dateien vorhanden.",
"empty_hint": "Geöffnete Dateien werden hier angezeigt."
},
"notifications": {
"file_renamed": "Datei wurde umbenannt.",
"file_renamed_to": "Die Datei wurde in \"{{name}}\" umbenannt.",
"folder_renamed": "Ordner wurde umbenannt.",
"folder_renamed_to": "Der Ordner wurde in \"{{name}}\" umbenannt.",
"file_uploaded": "Die Datei wurde erfolgreich hochgeladen.",
"file_deleted": "Die Datei wurde in den Papierkorb verschoben.",
"folder_deleted": "Der Ordner wurde in den Papierkorb verschoben.",
"item_deleted_permanently": "Das Element wurde dauerhaft gelöscht.",
"trash_emptied": "Der Papierkorb wurde erfolgreich geleert."
}
}
{
"app": {
"title": "OxiCloud",
"description": "Minimalistisches Cloud-Speichersystem"
},
"nav": {
"files": "Dateien",
"shared": "Geteilt",
"recent": "Zuletzt verwendet",
"favorites": "Favoriten",
"trash": "Papierkorb"
},
"actions": {
"search": "Dateien suchen...",
"new_folder": "Neuer Ordner",
"upload": "Hochladen",
"upload_files": "Dateien hochladen",
"upload_folder": "Ordner hochladen",
"rename": "Umbenennen",
"move": "Verschieben nach...",
"move_to": "Verschieben nach",
"delete": "Löschen",
"download": "Herunterladen",
"view": "Anzeigen",
"cancel": "Abbrechen",
"confirm": "Bestätigen",
"share": "Teilen",
"favorite": "Zu Favoriten hinzufügen",
"unfavorite": "Aus Favoriten entfernen",
"copy": "Kopieren",
"notify": "Benachrichtigen",
"send": "Senden",
"clear_recent": "Zuletzt verwendete löschen",
"logout": "Abmelden",
"create": "Erstellen",
"search_btn": "Suchen",
"close": "Schließen",
"delete_permanently": "Endgültig löschen",
"empty_trash": "Papierkorb leeren"
},
"user_menu": {
"appearance": "Erscheinungsbild",
"about": "Über OxiCloud",
"about_description": "Cloud-Speicherplattform mit Rust und Clean Architecture. Schnell, sicher und privat.",
"admin_panel": "Admin-Panel",
"profile": "Mein Profil",
"role_user": "Benutzer"
},
"share": {
"dialogTitle": "Link teilen",
"linkLabel": "Geteilter Link:",
"copyLink": "Kopieren",
"permissions": "Berechtigungen:",
"permissionRead": "Lesen",
"permissionWrite": "Schreiben",
"permissionReshare": "Weiterteilen",
"password": "Passwortschutz:",
"generatePassword": "Generieren",
"expiration": "Ablaufdatum:",
"update": "Freigabe aktualisieren",
"remove": "Freigabe entfernen",
"notifyTitle": "Benachrichtigung senden",
"notifyEmailLabel": "E-Mail-Adresse:",
"notifyMessageLabel": "Nachricht (optional):",
"notifySend": "Benachrichtigung senden",
"shareWithOthers": "Mit anderen teilen",
"sharePublicly": "Öffentlich teilen",
"shareSettings": "Freigabeeinstellungen",
"shareCopied": "Link in Zwischenablage kopiert",
"shareCreated": "Freigabelink erfolgreich erstellt",
"shareUpdated": "Freigabeeinstellungen aktualisiert",
"shareRemoved": "Freigabe erfolgreich entfernt"
},
"share_dialogTitle": "Link teilen",
"share_linkLabel": "Geteilter Link:",
"share_copyLink": "Kopieren",
"share_permissions": "Berechtigungen:",
"share_permissionRead": "Lesen",
"share_permissionWrite": "Schreiben",
"share_permissionReshare": "Weiterteilen",
"share_password": "Passwortschutz:",
"share_generatePassword": "Generieren",
"share_expiration": "Ablaufdatum:",
"share_update": "Freigabe aktualisieren",
"share_remove": "Freigabe entfernen",
"share_notifyTitle": "Benachrichtigung senden",
"share_notifyEmailLabel": "E-Mail-Adresse:",
"share_notifyMessageLabel": "Nachricht (optional):",
"share_notifySend": "Benachrichtigung senden",
"shared": {
"backToFiles": "Zurück zu Dateien",
"pageTitle": "Geteilte Ressourcen",
"pageDescription": "Verwalten Sie Ihre geteilten Dateien und Ordner",
"filterType": "Typ:",
"filterAll": "Alle",
"filterFiles": "Dateien",
"filterFolders": "Ordner",
"sortBy": "Sortieren nach:",
"sortByName": "Name",
"sortByDate": "Freigabedatum",
"sortByExpiration": "Ablaufdatum",
"search": "Suchen",
"colName": "Name",
"colType": "Typ",
"colDateShared": "Freigabedatum",
"colExpiration": "Ablaufdatum",
"colPermissions": "Berechtigungen",
"colPassword": "Passwort",
"colActions": "Aktionen",
"emptyStateTitle": "Noch keine geteilten Ressourcen",
"emptyStateDesc": "Wenn Sie Dateien oder Ordner teilen, werden sie hier angezeigt",
"goToFiles": "Zu Dateien gehen",
"typeFile": "Datei",
"typeFolder": "Ordner",
"noExpiration": "Kein Ablaufdatum",
"hasPassword": "Ja",
"noPassword": "Nein",
"editShare": "Freigabe bearbeiten",
"notifyShare": "Jemanden benachrichtigen",
"copyLink": "Link kopieren",
"removeShare": "Freigabe entfernen",
"linkCopied": "Link in Zwischenablage kopiert!",
"linkCopyFailed": "Link konnte nicht kopiert werden",
"itemUpdated": "Freigabeeinstellungen aktualisiert",
"itemRemoved": "Freigabe erfolgreich entfernt",
"invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
"notificationSent": "Benachrichtigung erfolgreich gesendet",
"notificationFailed": "Benachrichtigung konnte nicht gesendet werden"
},
"shared_backToFiles": "Zurück zu Dateien",
"shared_pageTitle": "Geteilte Ressourcen",
"shared_pageDescription": "Verwalten Sie Ihre geteilten Dateien und Ordner",
"shared_filterType": "Typ:",
"shared_filterAll": "Alle",
"shared_filterFiles": "Dateien",
"shared_filterFolders": "Ordner",
"shared_sortBy": "Sortieren nach:",
"shared_sortByName": "Name",
"shared_sortByDate": "Freigabedatum",
"shared_sortByExpiration": "Ablaufdatum",
"shared_search": "Suchen",
"shared_colName": "Name",
"shared_colType": "Typ",
"shared_colDateShared": "Freigabedatum",
"shared_colExpiration": "Ablaufdatum",
"shared_colPermissions": "Berechtigungen",
"shared_colPassword": "Passwort",
"shared_colActions": "Aktionen",
"shared_emptyStateTitle": "Noch keine geteilten Ressourcen",
"shared_emptyStateDesc": "Wenn Sie Dateien oder Ordner teilen, werden sie hier angezeigt",
"shared_goToFiles": "Zu Dateien gehen",
"shared_typeFile": "Datei",
"shared_typeFolder": "Ordner",
"shared_noExpiration": "Kein Ablaufdatum",
"shared_hasPassword": "Ja",
"shared_noPassword": "Nein",
"shared_editShare": "Freigabe bearbeiten",
"shared_notifyShare": "Jemanden benachrichtigen",
"shared_copyLink": "Link kopieren",
"shared_removeShare": "Freigabe entfernen",
"shared_linkCopied": "Link in Zwischenablage kopiert!",
"shared_linkCopyFailed": "Link konnte nicht kopiert werden",
"shared_itemUpdated": "Freigabeeinstellungen aktualisiert",
"shared_itemRemoved": "Freigabe erfolgreich entfernt",
"shared_invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
"shared_notificationSent": "Benachrichtigung erfolgreich gesendet",
"shared_notificationFailed": "Benachrichtigung konnte nicht gesendet werden",
"files": {
"name": "Name",
"type": "Typ",
"size": "Größe",
"modified": "Geändert",
"no_files": "Keine Dateien in diesem Ordner",
"loading": "Dateien werden geladen…",
"view_grid": "Rasteransicht",
"view_list": "Listenansicht",
"file_types": {
"document": "Dokument",
"image": "Bild",
"video": "Video",
"audio": "Audio",
"pdf": "PDF",
"text": "Text",
"folder": "Ordner"
}
},
"dialogs": {
"rename_folder": "Ordner umbenennen",
"rename_file": "Datei umbenennen",
"new_name": "Neuer Name",
"new_folder_title": "Neuer Ordner",
"folder_name": "Ordnername",
"folder_placeholder": "Mein Ordner",
"rename_title": "Umbenennen",
"move_file": "Datei verschieben",
"move_folder": "Ordner verschieben",
"select_destination": "Zielordner auswählen:",
"root": "Stammverzeichnis",
"delete_confirmation": "Sind Sie sicher, dass Sie löschen möchten",
"and_contents": "und den gesamten Inhalt",
"no_undo": "Diese Aktion kann nicht rückgängig gemacht werden",
"confirm_title": "Aktion bestätigen",
"confirm_delete": "In Papierkorb verschieben",
"confirm_delete_file": "Sind Sie sicher, dass Sie die Datei \"{{name}}\" in den Papierkorb verschieben möchten?",
"confirm_delete_folder": "Sind Sie sicher, dass Sie den Ordner \"{{name}}\" und seinen gesamten Inhalt in den Papierkorb verschieben möchten?",
"confirm_permanent_delete": "Endgültig löschen",
"confirm_permanent_delete_msg": "Sind Sie sicher, dass Sie dieses Element endgültig löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"confirm_empty_trash": "Papierkorb leeren",
"confirm_delete_share": "Freigabelink löschen",
"confirm_delete_share_msg": "Sind Sie sicher, dass Sie diesen Freigabelink löschen möchten?",
"share_file": "Datei teilen",
"existing_shares": "Bestehende Freigaben",
"share_options": "Freigabeoptionen",
"password": "Passwort",
"expiration": "Ablaufdatum",
"permissions": "Berechtigungen",
"generated_link": "Generierter Link",
"notify": "Benachrichtigung senden",
"recipient": "Empfänger",
"message": "Nachricht"
},
"dropzone": {
"drag_files": "Dateien hierher ziehen oder klicken zum Auswählen",
"drop_files": "Dateien zum Hochladen ablegen"
},
"permissions": {
"read": "Lesen",
"write": "Schreiben",
"reshare": "Weiterteilen"
},
"errors": {
"file_not_found": "Datei nicht gefunden",
"folder_not_found": "Ordner nicht gefunden",
"delete_error": "Fehler beim Löschen",
"upload_error": "Fehler beim Hochladen",
"rename_error": "Fehler beim Umbenennen",
"move_error": "Fehler beim Verschieben",
"empty_name": "Der Name darf nicht leer sein",
"name_exists": "Eine Datei oder ein Ordner mit diesem Namen existiert bereits",
"generic_error": "Ein Fehler ist aufgetreten"
},
"breadcrumb": {
"home": "Startseite"
},
"trash": {
"empty_trash": "Papierkorb leeren",
"empty_state": "Der Papierkorb ist leer",
"original_location": "Ursprünglicher Speicherort",
"deleted_date": "Löschdatum",
"actions": "Aktionen",
"restore": "Wiederherstellen",
"delete_permanently": "Endgültig löschen",
"empty_confirm": "Sind Sie sicher, dass Sie den Papierkorb leeren möchten? Alle Elemente werden endgültig gelöscht."
},
"auth": {
"login_title": "Anmelden",
"username": "Benutzername",
"username_placeholder": "Geben Sie Ihren Benutzernamen ein",
"password": "Passwort",
"password_placeholder": "Geben Sie Ihr Passwort ein",
"login_button": "Anmelden",
"no_account": "Kein Konto?",
"register": "Registrieren",
"admin_setup": "Erstmalig?",
"setup": "Administrator einrichten",
"register_title": "Konto erstellen",
"email": "E-Mail",
"email_placeholder": "Geben Sie Ihre E-Mail ein",
"confirm_password": "Passwort bestätigen",
"confirm_password_placeholder": "Bestätigen Sie Ihr Passwort",
"register_button": "Konto erstellen",
"have_account": "Bereits ein Konto?",
"login": "Anmelden",
"setup_title": "Ersteinrichtung",
"setup_step1": "Admin",
"setup_step2": "System",
"setup_step3": "Abgeschlossen",
"admin_username": "Admin-Benutzername",
"admin_email": "Admin-E-Mail",
"admin_password": "Admin-Passwort",
"create_admin": "Administrator erstellen",
"back_to_login": "Bereits eingerichtet?",
"admin_success": "Administratorkonto erfolgreich erstellt! Sie können sich jetzt anmelden.",
"account_success": "Konto erfolgreich erstellt! Sie können sich jetzt anmelden.",
"passwords_mismatch": "Die Passwörter stimmen nicht überein",
"admin_create_error": "Fehler beim Erstellen des Administratorkontos"
},
"storage": {
"title": "Speicher",
"calculating": "Berechnung...",
"used": "{{percentage}}% verwendet ({{used}} / {{total}})"
},
"viewer": {
"unsupported_file": "Dieser Dateityp kann nicht in der Vorschau angezeigt werden.",
"download_file": "Datei herunterladen",
"zoom_in": "Vergrößern",
"zoom_out": "Verkleinern",
"zoom_reset": "Zoom zurücksetzen"
},
"language_selector": {
"title": "Willkommen bei OxiCloud",
"subtitle": "Bitte wählen Sie Ihre Sprache",
"continue": "Weiter",
"languages": {
"en": "English",
"es": "Español",
"zh": "中文",
"fa": "فارسی",
"fr": "Français",
"de": "Deutsch",
"pt": "Português"
}
},
"favorites": {
"empty_state": "Noch keine Favoriten",
"empty_hint": "Markieren Sie Dateien oder Ordner mit einem Stern, um sie zu Ihren Favoriten hinzuzufügen",
"add": "Zu Favoriten hinzufügen",
"remove": "Aus Favoriten entfernen"
},
"recent": {
"title": "Zuletzt verwendet",
"clear": "Zuletzt verwendete löschen",
"accessed": "Zugegriffen",
"empty_state": "Keine zuletzt verwendeten Dateien",
"empty_hint": "Dateien, die Sie öffnen, werden hier angezeigt"
},
"notifications": {
"file_renamed": "Datei umbenannt",
"file_renamed_to": "Datei umbenannt in \"{{name}}\"",
"folder_renamed": "Ordner umbenannt",
"folder_renamed_to": "Ordner umbenannt in \"{{name}}\"",
"file_uploaded": "Datei hochgeladen",
"file_deleted": "Datei in Papierkorb verschoben",
"folder_deleted": "Ordner in Papierkorb verschoben",
"item_deleted_permanently": "Element endgültig gelöscht",
"trash_emptied": "Papierkorb erfolgreich geleert"
}
}