Files
Oxicloud/static/locales/de.json
T
DioCrafts 81a93a489b feat: photo/video capture-date pipeline + premium UI/UX overhaul
Backend — Photos timeline now groups by real capture date instead of upload time. New MediaMetadataService (FileLifecycleHook) extracts EXIF DateTimeOriginal from images and container creation_time from videos (mov/mp4/mkv) via nom-exif, timezone-correct (OffsetTimeOriginal), persisting captured_at so the existing media_sort_date trigger takes over. Adds POST /admin/photos/metadata/reextract to backfill existing media. Falls back to upload date when no embedded date exists.

Frontend — premium grid cards: combined metadata line (relative date · size, owner avatar when shared), custom selection checkbox with a clear checked state, uniform full-width 4:3 thumbnail tiles independent of filename length, centered file-type icons, and a hit-test fix so checkbox/star/kebab clicks reach the controls (the decorative thumbnail no longer captures pointer events). Notification messages internationalised across all 16 locales. Broader polish: design tokens, a11y/focus-visible states, brand + PWA assets.

Chore — bump semver-compatible dependencies (cargo upgrade); add nom-exif 3.6.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 00:24:27 +02:00

981 lines
46 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"server": {
"magic_link": {
"page": {
"expired_title": "Dieser Anmeldelink ist nicht mehr gültig",
"expired_body": "Der Link ist möglicherweise abgelaufen oder wurde bereits verwendet. Wir können Ihnen einen neuen senden — er wird in wenigen Sekunden in Ihrem Posteingang sein.",
"resend_to": "Neuen Link an {{email}} senden",
"generic_unavailable": "Dieser Anmeldelink ist nicht mehr gültig. Er wurde möglicherweise bereits verwendet oder ist abgelaufen. Fordern Sie auf der Anmeldeseite einen neuen Link an.",
"service_unavailable": "Die Magic-Link-Anmeldung ist auf diesem Server nicht aktiviert.",
"internal_error": "Bei der Anmeldung ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
"resend_failure": "Beim Senden des Links ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
"cross_browser_title": "Anmeldung auf diesem Gerät fortsetzen?",
"cross_browser_body": "Sie haben diesen Anmeldelink in einem anderen Browser oder Gerät geöffnet als dem, von dem aus Sie ihn angefordert haben.",
"cross_browser_warning": "Wenn Sie diesen Link angefordert haben, können Sie sicher fortfahren. Falls nicht, schließen Sie diese Seite — ein Klick auf Weiter würde jemand anderen in Ihrem Konto anmelden.",
"cross_browser_continue": "Fortfahren und anmelden",
"resend_confirmation_title": "Prüfen Sie Ihren Posteingang",
"resend_confirmation_body": "Falls der Anmeldelink zu einem aktiven Konto gehörte, wurde gerade ein neuer Link gesendet. Bitte prüfen Sie Ihren Posteingang.",
"return_link": "Zurück zu OxiCloud"
},
"email": {
"invitation": {
"subject": "{{inviter}} hat einen {{kind}} mit Ihnen auf OxiCloud geteilt",
"body": "{{inviter_full}} hat einen {{kind}} mit Ihnen auf OxiCloud geteilt.\n\nÖffnen Sie ihn, indem Sie auf den folgenden Link klicken:\n{{link}}\n\nDer Link kann nur einmal verwendet werden und läuft in {{ttl_hours}} Stunden ab.\nFalls Sie diese Einladung nicht erwartet haben, können Sie diese Nachricht ignorieren.\n\n— OxiCloud"
},
"login": {
"subject": "Anmeldung bei OxiCloud",
"body": "Hallo,\n\nVerwenden Sie den Link unten, um sich bei OxiCloud anzumelden. Der Link kann nur einmal verwendet werden und läuft in {{ttl_minutes}} Minuten ab. Öffnen Sie ihn auf demselben Gerät, von dem aus Sie ihn angefordert haben.\n\n{{link}}\n\nFalls Sie diesen Anmeldelink nicht angefordert haben, können Sie diese Nachricht ignorieren — es ist keine weitere Aktion erforderlich.\n\n— OxiCloud"
},
"kind_file": "Datei",
"kind_folder": "Ordner",
"english_fallback_divider": "--- Englische Version unten ---"
}
},
"notification": {
"share": {
"subject": "{{inviter}} hat einen {{kind}} mit Ihnen auf OxiCloud geteilt",
"body": "{{inviter_full}} hat einen {{kind}} mit Ihnen auf OxiCloud geteilt.\n\nÖffnen Sie OxiCloud, um Ihre neue Freigabe zu sehen:\n{{login_link}}\n\nMöglicherweise gibt es weitere neue Freigaben von {{inviter}} — melden Sie sich an, um alle Ihre freigegebenen Elemente zu sehen.\n\n— OxiCloud\n\nSie erhalten diese Nachricht, weil Sie ein OxiCloud-Konto haben und die Benachrichtigung über Freigaben aktiviert ist. Sie können sie in Ihrem Profil deaktivieren (Per E-Mail benachrichtigen, wenn jemand mit mir teilt)."
}
}
},
"app": {
"title": "OxiCloud",
"description": "Minimalistisches Cloud-Speichersystem"
},
"nav": {
"files": "Dateien",
"shared": "Freigaben",
"recent": "Zuletzt verwendet",
"favorites": "Favoriten",
"photos": "Fotos",
"music": "Musik",
"trash": "Papierkorb",
"sharedwithme": "Mit mir geteilt"
},
"photos": {
"empty_state": "Noch keine Fotos",
"empty_hint": "Laden Sie Bilder oder Videos hoch, um sie hier zu sehen",
"items_selected": "ausgewählt",
"view_daily": "Tag",
"view_monthly": "Monat",
"view_yearly": "Jahr"
},
"music": {
"create_playlist": "Playlist erstellen",
"playlists": "Playlists",
"no_playlists": "Noch keine Playlists",
"select_playlist": "Playlist auswählen",
"select_hint": "Wählen Sie eine Playlist aus der Seitenleiste oder erstellen Sie eine neue",
"add_tracks": "Titel hinzufügen",
"no_tracks": "Keine Titel in dieser Playlist",
"unknown_artist": "Unbekannter Künstler",
"unknown_title": "Unbekannt",
"confirm_delete": "Diese Playlist löschen?",
"playlist_name": "Playlist-Name",
"create": "Erstellen",
"delete": "Löschen",
"share": "Teilen",
"edit": "Bearbeiten",
"play_all": "Alle abspielen",
"shuffle": "Zufällig",
"repeat": "Wiederholen",
"repeat_one": "Einen wiederholen",
"queue": "Warteschlange",
"queue_empty": "Warteschlange ist leer",
"not_playing": "Nicht abspielend",
"play": "Abspielen",
"pause": "Pause",
"previous": "Zurück",
"next": "Weiter",
"volume": "Lautstärke",
"mute": "Stumm",
"unmute": "Ton ein",
"title": "Titel",
"artist": "Künstler",
"album": "Album",
"tracks": "Titel",
"add": "Hinzufügen",
"added": "Hinzugefügt!",
"added_to_playlist": "zur Playlist hinzugefügt",
"add_to_playlist": "Zur Playlist hinzufügen",
"load_error": "Fehler beim Laden der Playlists",
"add_error": "Tracks konnten nicht hinzugefügt werden",
"no_playlists_yet": "Noch keine Playlists. Erstellen Sie zuerst eine!",
"selected_files": "Ausgewählt:",
"error": "Fehler",
"search_audio": "Audiodateien suchen…",
"no_audio_files": "Keine Audiodateien gefunden",
"selected": "ausgewählt",
"loading": "Wird geladen…",
"search_error": "Audiodateien konnten nicht geladen werden",
"adding": "Wird hinzugefügt…",
"can_write": "Can edit",
"cover_updated": "Cover updated",
"empty_hint": "Create your first playlist to start organizing your music",
"make_private": "Make private",
"make_public": "Make public",
"manage_shares": "Manage Shares",
"no_shares": "No shares yet",
"playback_error": "Playback failed",
"private": "Private",
"public": "Public",
"read_only": "Read only",
"remove": "Remove",
"remove_share": "Remove share",
"set_cover": "Set cover",
"share_with_user": "User ID or email",
"toggle_public": "Visibility",
"track_removed": "Track removed"
},
"actions": {
"search": "Dateien suchen...",
"new_folder": "Neuer Ordner",
"upload": "Hochladen",
"upload_files": "Dateien hochladen",
"upload_folder": "Ordner hochladen",
"upload.uploading": "Wird hochgeladen...",
"upload.complete": "{count} / {total} hochgeladen",
"upload.files": "Dateien",
"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",
"open_parent_folder": "Zum übergeordneten Ordner",
"add": "Add",
"apply": "Apply",
"clear": "Clear",
"remove": "Remove"
},
"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",
"theme": {
"light": "Hell",
"dark": "Dunkel",
"auto": "Wie System"
},
"manage_groups": "Gruppen verwalten"
},
"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",
"inviteByEmail": "Per E-Mail einladen — Einladung wird gesendet",
"directoryUnavailable": "User directory unavailable",
"linkNamePlaceholder": "Link name (optional)",
"newLink": "New link",
"noExpiry": "No expiry",
"pending": "Pending",
"people": "People",
"publicLinks": "Public links",
"role": {
"canEdit": "Can edit",
"canManage": "Can manage",
"canView": "Can view"
},
"searchPlaceholder": "Search people…",
"shareOf": "Share of:",
"sharedLink": "Shared link"
},
"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",
"empty_hint": "Laden Sie Dateien hoch oder erstellen Sie Ordner, um loszulegen",
"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",
"spreadsheet": "Tabelle",
"presentation": "Präsentation",
"archive": "Archiv",
"installer": "Installationsdatei",
"code": "Code"
},
"owner": "Eigentümer"
},
"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",
"share_folder": "Ordner 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",
"go_to_parent": ".. (parent folder)",
"no_subfolders": "No subfolders",
"select_this_folder": "Select this folder",
"move_to_home": "In den Home-Ordner verschieben"
},
"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",
"group_name_invalid": "Der Gruppenname muss dem E-Mail-Präfix-Format entsprechen (Buchstaben, Ziffern, Punkt, Bindestrich, Unterstrich; 1–64 Zeichen).",
"group_cycle": "Dieses Mitglied würde einen Gruppen-Zirkelbezug erzeugen.",
"group_depth_exceeded": "Die Verschachtelungstiefe überschreitet das zulässige Maximum (8).",
"group_virtual_immutable": "Die Gruppe „Internal“ wird vom System verwaltet und kann nicht geändert werden.",
"group_not_found": "Gruppe nicht gefunden.",
"group_name_taken": "Eine Gruppe mit diesem Namen existiert bereits."
},
"breadcrumb": {
"home": "Startseite"
},
"trash": {
"empty_trash": "Papierkorb leeren",
"empty_state": "Der Papierkorb ist leer",
"original_location": "Ursprünglicher Speicherort",
"deleted_date": "Löschdatum",
"remaining": "Verbleibend",
"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.",
"groupby": {
"remaining_days": "Verbleibende Tage",
"trashed_time": "Löschzeit"
}
},
"daysRemaining": {
"expired": "Abgelaufen",
"today": "Heute",
"tomorrow": "Morgen",
"inDays": "{{count}} Tage"
},
"expiryChip": {
"never": "Läuft nie ab",
"expired": "Abgelaufen",
"today": "Läuft heute ab",
"tomorrow": "Läuft morgen ab",
"inDays": "Läuft in {{count}} Tagen ab",
"onDate": "Läuft am {{date}} ab"
},
"auth": {
"login_title": "Anmelden",
"username": "Benutzername",
"username_placeholder": "Geben Sie Ihren Benutzernamen ein",
"login_identifier": "Benutzername oder E-Mail",
"login_identifier_placeholder": "Geben Sie Ihren Benutzernamen oder Ihre E-Mail-Adresse 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",
"or": "oder",
"sso_login": "Mit SSO anmelden",
"sso_login_provider": "Mit {{provider}} anmelden",
"magicLinkHint": "Kein Passwort? Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen einmaligen Anmeldelink.",
"magicLinkEmailLabel": "E-Mail-Adresse",
"magicLinkEmailPlaceholder": "sie@beispiel.de",
"magicLinkSubmit": "Anmeldelink senden",
"magicLinkSent": "Wenn für diese E-Mail-Adresse ein Konto besteht, wurde ein Anmeldelink gesendet. Überprüfen Sie Ihren Posteingang.",
"magicLinkUnavailable": "Die Anmeldung per E-Mail ist auf diesem Server nicht verfügbar.",
"magicLinkNetworkError": "Server nicht erreichbar: {{message}}",
"magicLinkToggle": "Kein Passwort? Anmeldelink per E-Mail",
"passwordsMatch": "Passwörter stimmen überein",
"capsLock": "Feststelltaste aktiv"
},
"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!",
"subtitle": "Wählen Sie Ihre Sprache, um fortzufahren",
"continue": "Weiter",
"languages": {
"en": "English",
"es": "Español",
"zh": "中文",
"fa": "فارسی",
"fr": "Français",
"de": "Deutsch",
"pt": "Português",
"ar": "العربية",
"hi": "हिन्दी",
"it": "Italiano",
"ja": "日本語",
"ko": "한국어",
"nl": "Nederlands",
"ru": "Русский"
}
},
"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",
"added_title": "Zu Favoriten hinzugefügt",
"added_msg": "zu Favoriten hinzugefügt",
"removed_title": "Aus Favoriten entfernt",
"removed_msg": "aus Favoriten entfernt"
},
"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",
"loadMore": "Mehr laden"
},
"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",
"title": "Benachrichtigungen",
"empty": "Keine Benachrichtigungen",
"link_created": "Link erstellt",
"share_success": "Freigabelink erfolgreich erstellt",
"upload_files_section_title": "Upload hier nicht verfügbar",
"upload_files_section_body": "Wechseln Sie zum Abschnitt Dateien, um Dateien hochzuladen"
},
"batch": {
"one_selected": "1 Element ausgewählt",
"n_selected": "{{count}} Elemente ausgewählt",
"confirm_delete": "Möchten Sie wirklich {{count}} Elemente in den Papierkorb verschieben?",
"move_title": "{{count}} Element(e) verschieben",
"add_favorites": "Zu Favoriten hinzufügen",
"move_copy": "Verschieben oder kopieren"
},
"admin": {
"page_title": "Admin-Panel",
"back_to_app": "Zurück zu OxiCloud",
"loading": "Laden…",
"access_denied": "Zugriff verweigert",
"access_denied_desc": "Administratorrechte erforderlich.",
"sign_in": "Anmelden",
"tab_dashboard": "Dashboard",
"tab_users": "Benutzer",
"tab_oidc": "SSO / OIDC",
"total_users": "Benutzer gesamt",
"active_users": "Aktive Benutzer",
"admins": "Admins",
"version": "Version",
"storage_overview": "Speicherübersicht",
"used": "Verwendet",
"total_quota": "Gesamtkontingent",
"usage_pct": "Nutzung %",
"users_over_80": "Benutzer >80% Kontingent",
"users_over_quota": "Benutzer über Kontingent",
"system": "System",
"auth_label": "Auth",
"oidc_label": "OIDC",
"quotas_label": "Kontingente",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"active": "Aktiv",
"off": "Aus",
"allow_registration": "Öffentliche Selbstregistrierung erlauben",
"registration_warning": "Öffentliche Registrierung ist deaktiviert. Nur Admins können neue Benutzer erstellen.",
"user_management": "Benutzerverwaltung",
"create_user": "Benutzer erstellen",
"col_user": "Benutzer",
"col_role": "Rolle",
"col_auth": "Auth",
"col_status": "Status",
"col_storage": "Speicher",
"col_last_login": "Letzter Login",
"col_actions": "Aktionen",
"loading_users": "Benutzer werden geladen…",
"failed_load_users": "Laden fehlgeschlagen",
"no_users_found": "Keine Benutzer gefunden",
"showing_users": "Zeige {{from}}-{{to}} von {{total}}",
"prev": "Zurück",
"next": "Weiter",
"inactive": "Inaktiv",
"you_badge": "(du)",
"local": "Lokal",
"never": "Nie",
"just_now": "Gerade eben",
"minutes_ago": "vor {{n}}Min",
"hours_ago": "vor {{n}}Std",
"days_ago": "vor {{n}}T",
"edit_quota_title": "Kontingent bearbeiten",
"reset_password_title": "Passwort zurücksetzen",
"toggle_role_title": "Rolle wechseln",
"deactivate_title": "Deaktivieren",
"activate_title": "Aktivieren",
"delete_title": "Löschen",
"sso_title": "Single Sign-On (OIDC / SSO)",
"enable_sso": "SSO-Authentifizierung aktivieren",
"provider_name": "Anbietername",
"issuer_url": "Aussteller-URL",
"issuer_url_hint": "OpenID Connect Aussteller-URL Ihres Identitätsanbieters",
"auto_discover": "Auto-Erkennung",
"discovering": "Erkennung…",
"client_id": "Client-ID",
"client_secret": "Client-Secret",
"client_secret_placeholder": "Leer lassen für aktuellen Wert",
"secret_configured": "Ein Client-Secret ist bereits konfiguriert",
"callback_url": "Callback-URL",
"callback_url_hint": "(bei IdP registrieren)",
"advanced_settings": "Erweiterte Einstellungen",
"scopes": "Scopes",
"auto_provision": "Benutzer bei erstem Login automatisch anlegen",
"admin_groups": "Admin-Gruppen",
"admin_groups_hint": "Kommagetrennte OIDC-Gruppennamen für Admin-Rolle",
"disable_password": "Passwort-Login deaktivieren (nur OIDC)",
"password_warning": "Dies verhindert ALLE passwortbasierten Anmeldungen!",
"test_btn": "Testen",
"save_btn": "Speichern",
"saving": "Speichern…",
"settings_saved": "Einstellungen gespeichert — OIDC ist jetzt {{status}}",
"quota_modal_title": "Speicherkontingent aktualisieren",
"quota_user_label": "Benutzer:",
"new_quota": "Neues Kontingent",
"quota_unlimited_hint": "0 für unbegrenzt",
"cancel": "Abbrechen",
"create_user_title": "Neuen Benutzer erstellen",
"username_label": "Benutzername",
"username_placeholder": "maxmuster",
"username_hint": "3–32 Zeichen",
"password_label": "Passwort",
"password_placeholder": "Min. 8 Zeichen",
"email_label": "E-Mail",
"email_optional": "(optional)",
"email_placeholder": "benutzer@beispiel.de (automatisch wenn leer)",
"role_label": "Rolle",
"role_user": "Benutzer",
"role_admin": "Admin",
"quota_label": "Kontingent",
"creating": "Erstellen…",
"reset_pw_title": "Passwort zurücksetzen",
"new_password_label": "Neues Passwort",
"resetting": "Zurücksetzen…",
"reset_btn": "Zurücksetzen",
"confirm_role_change": "Rolle zu {{role}} ändern?",
"confirm_deactivate": "Diesen Benutzer wirklich deaktivieren?",
"confirm_activate": "Diesen Benutzer wirklich aktivieren?",
"confirm_delete_user": "Benutzer \"{{name}}\" LÖSCHEN? Kann nicht rückgängig gemacht werden!",
"confirm_action": "Aktion bestätigen",
"confirm_yes": "Bestätigen",
"confirm_no": "Abbrechen",
"error_username_short": "Benutzername muss mindestens 3 Zeichen haben",
"error_password_short": "Passwort muss mindestens 8 Zeichen haben",
"error_generic": "Fehlgeschlagen",
"error_network": "Netzwerkfehler: {{message}}",
"error_create_user": "Benutzer erstellen fehlgeschlagen",
"tab_storage": "Speicher",
"storage_title": "Speicherkonfiguration",
"storage_current_backend": "Aktuelles Backend",
"storage_total_blobs": "Gesamt-Blobs",
"storage_total_size": "Gesamtgröße",
"storage_dedup_ratio": "Deduplizierungsrate",
"storage_backend": "Backend",
"storage_local": "Lokal",
"storage_s3": "S3-kompatibel",
"storage_provider_preset": "Anbieter-Voreinstellung",
"storage_preset_custom": "Benutzerdefiniert",
"storage_endpoint_url": "Endpunkt-URL",
"storage_endpoint_hint": "Leer lassen für AWS S3",
"storage_bucket": "Bucket",
"storage_region": "Region",
"storage_access_key": "Zugriffsschlüssel",
"storage_secret_key": "Geheimschlüssel",
"storage_secret_configured": "Schlüssel konfiguriert",
"storage_key_placeholder": "Neuen Schlüssel eingeben",
"storage_path_style": "Pfadstil erzwingen",
"storage_path_style_hint": "Erforderlich für MinIO und einige S3-kompatible Dienste",
"storage_test_connection": "Verbindung testen",
"storage_test_success": "Verbindung erfolgreich",
"storage_test_failure": "Verbindung fehlgeschlagen",
"storage_save": "Konfiguration speichern",
"storage_saved": "Konfiguration gespeichert",
"storage_migration": "Datenmigration",
"storage_migration_coming_soon": "Migrationstools demnächst verfügbar",
"migration_status_label": "Migrationsstatus",
"migration_start": "Migration starten",
"migration_pause": "Pausieren",
"migration_resume": "Fortsetzen",
"migration_verify": "Verifizieren",
"migration_complete": "Abschließen",
"migration_started": "Migration gestartet",
"migration_paused_msg": "Migration pausiert",
"migration_resumed_msg": "Migration fortgesetzt",
"migration_completed_msg": "Migration erfolgreich abgeschlossen",
"migration_verifying": "Wird verifiziert...",
"migration_verify_passed": "Verifizierung erfolgreich",
"migration_verify_failed": "Verifizierung fehlgeschlagen",
"migration_failed_blobs": "Fehlgeschlagene Blobs",
"testing": "Wird getestet...",
"smtp_disabled": "Deaktiviert (Host nicht gesetzt)",
"smtp_enabled": "Aktiviert",
"smtp_enabled_label": "Status",
"smtp_intro": "SMTP wird ausschließlich über Umgebungsvariablen (OXICLOUD_SMTP_*) konfiguriert. Die folgenden Werte werden aus dem laufenden Server gelesen — zum Ändern bearbeiten Sie die Umgebung und starten OxiCloud neu.",
"smtp_not_configured": "SMTP ist auf diesem Server nicht konfiguriert.",
"smtp_send_failed": "Senden fehlgeschlagen.",
"smtp_send_test": "Test-E-Mail senden",
"smtp_sending": "Senden …",
"smtp_sent": "Test-E-Mail gesendet.",
"smtp_server_code": "Server antwortete",
"smtp_test_intro": "Sendet eine fest einprogrammierte Diagnosenachricht an den unten angegebenen Empfänger und meldet die Antwort des SMTP-Servers, sodass Sie sie mit Ihren Relay-Protokollen abgleichen können.",
"smtp_test_missing_to": "Geben Sie eine Empfängeradresse ein.",
"smtp_test_title": "Test-E-Mail senden",
"smtp_test_to": "Empfängeradresse",
"smtp_title": "Ausgehende E-Mail (SMTP)",
"tab_smtp": "SMTP"
},
"profile": {
"page_title": "Profil",
"back_to_app": "Zurück zu OxiCloud",
"loading": "Laden…",
"not_authenticated": "Nicht authentifiziert",
"not_authenticated_desc": "Bitte melden Sie sich an, um Ihr Profil anzuzeigen.",
"sign_in": "Anmelden",
"role_admin": "Administrator",
"role_user": "Benutzer",
"account_details": "Kontodetails",
"username": "Benutzername",
"email": "E-Mail",
"role": "Rolle",
"last_login": "Letzter Login",
"storage": "Speicher",
"used": "Verwendet",
"quota": "Kontingent",
"usage": "Nutzung",
"unlimited": "Unbegrenzt",
"app_passwords": "App-Passwörter",
"app_pw_desc": "Passwörter für WebDAV-, CalDAV- und CardDAV-Clients generieren. Jedes Passwort wird nur einmal angezeigt.",
"app_pw_label_placeholder": "Bezeichnung (z.B. Thunderbird, macOS)",
"generate": "Generieren",
"generating": "Generieren…",
"new_password_for": "Neues Passwort für",
"copy_warning": "Kopieren Sie dieses Passwort jetzt. Sie können es nicht erneut anzeigen.",
"copy_to_clipboard": "In Zwischenablage kopieren",
"col_label": "Bezeichnung",
"col_created": "Erstellt",
"col_last_used": "Zuletzt verwendet",
"col_status": "Status",
"active": "Aktiv",
"revoked": "Widerrufen",
"revoke_title": "Widerrufen",
"no_app_passwords": "Noch keine App-Passwörter.",
"client_sessions": "Client-Sitzungen",
"client_sessions_desc": "Automatisch generiert beim Verbinden eines Nextcloud-kompatiblen Clients.",
"col_client": "Client",
"never": "Nie",
"just_now": "Gerade eben",
"minutes_ago": "vor {{n}} Min",
"hours_ago": "vor {{n}} Std",
"days_ago": "vor {{n}} Tagen",
"edit_profile": "Profil bearbeiten",
"edit_oidc_managed": "Um Ihre Informationen (Name, Vorname, Profilbild, …) zu ändern, aktualisieren Sie sie bitte bei Ihrem Identity-Provider. Ihre Änderungen erscheinen bei der nächsten Anmeldung.",
"username_claim_hint": "2–64 Zeichen, Buchstaben / Ziffern / Punkt / Bindestrich / Unterstrich. Nach der Wahl kann der Benutzername nicht mehr geändert werden (DAV/NextCloud-Clients hängen davon ab).",
"username_already_claimed": "Benutzername ist gesetzt und kann nicht geändert werden (DAV/NextCloud-Clients hängen davon ab).",
"given_name": "Vorname",
"family_name": "Nachname",
"notify_on_share": "Mich per E-Mail benachrichtigen, wenn jemand mit mir teilt",
"notify_on_share_hint": "Wenn deaktiviert, werden Freigaben weiterhin in deinem Konto angezeigt — du erhältst nur keine E-Mail dazu.",
"save_profile": "Änderungen speichern",
"profile_saved": "Profil aktualisiert",
"profile_no_changes": "Keine Änderungen zu speichern.",
"profile_save_failed": "Speichern fehlgeschlagen",
"username_taken_error": "Dieser Benutzername ist bereits vergeben.",
"username_immutable_error": "Ihr Benutzername ist bereits gesetzt und kann hier nicht geändert werden. Wenden Sie sich an einen Administrator, wenn Sie umbenennen möchten.",
"change_password": "Passwort ändern",
"current_password": "Aktuelles Passwort",
"new_password": "Neues Passwort",
"min_8_chars": "Mindestens 8 Zeichen",
"confirm_password": "Neues Passwort bestätigen",
"update_password": "Passwort aktualisieren",
"updating": "Aktualisierung…",
"password_updated": "Passwort erfolgreich aktualisiert",
"passwords_no_match": "Passwörter stimmen nicht überein",
"password_too_short": "Passwort muss mindestens 8 Zeichen haben",
"password_change_failed": "Passwort ändern fehlgeschlagen",
"error_network": "Netzwerkfehler: {{message}}",
"error_label_required": "Bitte Bezeichnung eingeben",
"error_create_pw": "App-Passwort erstellen fehlgeschlagen",
"confirm_revoke": "App-Passwort \"{{label}}\" widerrufen? Clients werden nicht mehr funktionieren.",
"error_revoke": "Widerrufen fehlgeschlagen",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Wird hochgeladen...",
"files": "Dateien",
"complete": "{{count}} / {{total}} hochgeladen"
},
"storage_quota_exceeded": "Speicherplatz erschöpft",
"sharedwithme": {
"pageTitle": "Mit mir geteilt",
"pageDescription": "Dateien und Ordner, die andere Benutzer mit Ihnen geteilt haben",
"emptyStateTitle": "Noch nichts mit Ihnen geteilt",
"emptyStateDesc": "Elemente, die andere Benutzer mit Ihnen teilen, erscheinen hier",
"loadMore": "Mehr laden",
"sharedBy": "Geteilt von",
"colName": "Name",
"colType": "Typ",
"colSharedBy": "Geteilt von",
"colDate": "Datum der Freigabe",
"colPermissions": "Berechtigungen"
},
"groupby": {
"none": "Keine",
"title": "Gruppieren nach",
"owner": "Eigentümer",
"shareDate": "Freigabedatum",
"type": "Typ",
"type.folders": "Ordner",
"accessedAt": "Zugriffsdatum",
"modifiedAt": "Änderungsdatum",
"createdAt": "Erstellungsdatum",
"size": "Größe",
"favoriteDate": "Datum der Markierung",
"byFiles": "By files",
"sharedWith": "Shared with",
"justAdded": "Neu"
},
"dateBucket": {
"today": "Heute",
"last7days": "Letzte 7 Tage",
"last30days": "Letzte 30 Tage"
},
"groups": {
"title": "Gruppen verwalten",
"create_button": "Gruppe erstellen",
"create_dialog_title": "Neue Gruppe",
"edit_dialog_title": "Gruppe umbenennen",
"name_label": "Name",
"name_placeholder": "engineering",
"description_label": "Beschreibung (optional)",
"members_section": "Mitglieder",
"add_member_placeholder": "Benutzer oder Gruppe hinzufügen…",
"no_members": "Noch keine Mitglieder.",
"remove_member": "Entfernen",
"delete_group": "Gruppe löschen",
"delete_confirm": "Die Gruppe „{name}\" löschen? Auf diese Gruppe verweisende Berechtigungen werden widerrufen.",
"empty_state": "Noch keine Gruppen.",
"load_more": "Mehr laden",
"back_to_list": "Zurück",
"loading": "Wird geladen…",
"virtual_badge": "System",
"member_count_zero": "Keine Mitglieder",
"member_count_one": "1 Mitglied",
"member_count_other": "{count} Mitglieder",
"delete_confirm_label": "Tippe den Gruppennamen zur Bestätigung ein:",
"delete_confirm_mismatch": "Tippe den Gruppennamen exakt zur Bestätigung ein.",
"virtual_internal_name": "Intern",
"members_loading": "Mitglieder werden geladen…",
"members_empty": "Keine Mitglieder",
"virtual_internal_explanation": "Jeder interne Benutzer auf diesem Server"
},
"myshares": {
"copyLink": "Link kopieren",
"deleteLink": "Link löschen",
"notifyByEmail": "Per E-Mail benachrichtigen",
"notifyFailed": "Benachrichtigung konnte nicht gesendet werden.",
"notifyGroupMembers": "Gruppenmitglieder benachrichtigen",
"notifyRateLimited": "Zu viele Benachrichtigungen für diesen Empfänger — versuchen Sie es später erneut.",
"removeAccess": "Zugriff entfernen",
"resendInvitation": "Einladungs-E-Mail erneut senden"
},
"sort": {
"asc": "aufsteigend",
"desc": "absteigend"
},
"notif": {
"errorTitle": "Error",
"searchError": "Error performing search",
"cleanupCompleted": "Cleanup completed",
"cleanupCompletedBody": "Recent files history has been cleared",
"batchCopy": "Batch copy",
"batchCopyBody": "{{success}} copied, {{errors}} failed",
"itemsCopied": "Items copied",
"itemsCopiedBody": "{{count}} items copied successfully",
"batchMove": "Batch move",
"batchMoveBody": "{{success}} moved, {{errors}} failed",
"itemsMoved": "Items moved",
"itemsMovedBody": "{{count}} items moved successfully",
"batchDelete": "Batch delete",
"batchDeleteBody": "{{success}} moved to trash, {{errors}} failed",
"movedToTrash": "Moved to trash",
"movedToTrashBody": "{{count}} items moved to trash",
"trashItemsError": "Could not move items to trash",
"preparingDownload": "Preparing download",
"preparingDownloadBody": "Preparing your download…",
"downloadItemsError": "Could not download selected items",
"favoritesAddError": "Could not add items to favorites",
"invalidEmail": "Please enter a valid email address",
"notificationSendError": "Could not send notification",
"folderCreated": "Folder created",
"folderCreatedBody": "\"{{name}}\" created successfully",
"fileMoved": "File moved",
"fileMovedBody": "File moved successfully",
"fileMoveError": "Error moving the file: {{error}}",
"fileMoveErrorGeneric": "Error moving the file",
"folderMoved": "Folder moved",
"folderMovedBody": "Folder moved successfully",
"folderMoveError": "Error moving the folder: {{error}}",
"folderMoveErrorGeneric": "Error moving the folder",
"fileCopied": "File copied",
"fileCopiedBody": "File copied successfully",
"fileCopyError": "Error copying the file: {{error}}",
"fileCopyErrorGeneric": "Error copying the file",
"folderRenamed": "Folder renamed",
"folderRenamedBody": "Folder renamed to \"{{name}}\"",
"fileTrashed": "File moved to trash",
"fileTrashedBody": "\"{{name}}\" moved to trash",
"fileDeleted": "File deleted",
"fileDeletedBody": "\"{{name}}\" deleted successfully",
"fileDeleteError": "Error deleting the file",
"folderTrashed": "Folder moved to trash",
"folderTrashedBody": "\"{{name}}\" moved to trash",
"folderDeleted": "Folder deleted",
"folderDeletedBody": "\"{{name}}\" deleted successfully",
"folderDeleteError": "Error deleting the folder",
"itemRestored": "Item restored",
"itemRestoredBody": "Item restored successfully",
"itemRestoreError": "Error restoring the item",
"itemDeleted": "Item deleted",
"itemDeletedBody": "Item permanently deleted",
"itemDeleteError": "Error deleting the item",
"trashEmptied": "Trash emptied",
"trashEmptiedBody": "The trash has been emptied successfully",
"trashEmptyError": "Error emptying the trash",
"cacheCleared": "Cache cleared",
"cacheClearedBody": "Search cache cleared successfully",
"cacheClearError": "Error clearing search cache",
"wopiOpenError": "Could not open the document editor.",
"linkCopied": "Link copied",
"linkCopiedBody": "Link copied to clipboard",
"linkCopyError": "Could not copy link",
"notificationSent": "Notification sent",
"notificationSentBody": "Notification sent to {{email}}"
}
}