2026-06-17 17:06:30 -06:00
{
2026-06-17 22:52:06 -06:00
"server" : {
"magic_link" : {
"page" : {
"expired_title" : "This sign-in link is no longer valid" ,
"expired_body" : "The link may have expired or already been used. We can send you a fresh one — it'll arrive in your inbox in a few seconds." ,
"resend_to" : "Send a fresh link to {{email}}" ,
"generic_unavailable" : "This sign-in link is no longer valid. It may have already been used or expired. Request a fresh link from the login page." ,
"service_unavailable" : "Magic-link sign-in is not enabled on this server." ,
"internal_error" : "Something went wrong while signing you in. Please try again." ,
"resend_failure" : "Something went wrong while sending the link. Please try again." ,
"cross_browser_title" : "Continue signing in on this device?" ,
"cross_browser_body" : "You opened this sign-in link in a different browser or device than the one where you requested it." ,
"cross_browser_warning" : "If you requested this link, it's safe to continue. If you didn't, close this page — clicking Continue would sign someone else into your account." ,
"cross_browser_continue" : "Continue and sign in" ,
"resend_confirmation_title" : "Check your inbox" ,
"resend_confirmation_body" : "If the sign-in link belonged to an active account, a fresh link has just been sent. Please check your inbox." ,
"return_link" : "Return to OxiCloud"
},
"email" : {
"invitation" : {
"subject" : "{{inviter}} shared a {{kind}} with you on OxiCloud" ,
"body" : "{{inviter_full}} shared a {{kind}} with you on OxiCloud.\n\nOpen it by clicking the link below:\n{{link}}\n\nThe link works once and expires in {{ttl_hours}} hours.\nIf you didn't expect this invitation, you can safely ignore this message.\n\n— OxiCloud"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"login" : {
"subject" : "Sign in to OxiCloud" ,
"body" : "Hello,\n\nUse the link below to sign in to OxiCloud. The link works once and expires in {{ttl_minutes}} minutes. Open it on the same device where you requested it.\n\n{{link}}\n\nIf you didn't request this sign-in link, you can safely ignore this message — no further action is needed.\n\n— OxiCloud"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"kind_file" : "file" ,
"kind_folder" : "folder" ,
"english_fallback_divider" : "--- English version below ---"
}
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"notification" : {
"share" : {
"subject" : "{{inviter}} shared a {{kind}} with you on OxiCloud" ,
"body" : "{{inviter_full}} shared a {{kind}} with you on OxiCloud.\n\nOpen OxiCloud to see your new share:\n{{login_link}}\n\nYou may have additional new shares from {{inviter}} — sign in to see all your shared items.\n\n— OxiCloud\n\nYou're receiving this message because you have an OxiCloud account and your share-notification preference is on. You can turn it off in your profile (Email me when someone shares with me)."
}
2026-08-05 23:35:05 +02:00
},
"security" : {
"password_changed" : {
"subject" : "Your OxiCloud password was changed" ,
"body" : "Hello,\n\nYour OxiCloud password was just changed at {{timestamp}} (UTC) from IP address {{ip}}.\n\nIf this was you, no action is needed — you can ignore this message.\n\nIf this was NOT you, contact your administrator immediately. Someone may have gained access to your account.\n\n— OxiCloud"
}
2026-06-17 22:52:06 -06:00
}
},
2026-08-01 18:01:10 +02:00
"server_status" : {
"readonly_banner_aria" : "Server maintenance in progress" ,
"readonly_title" : "Server maintenance in progress" ,
"readonly_progress" : "Migrating storage to `{{target}}` — {{percent}}% ({{migrated}} / {{total}} blobs). Uploads, renames, deletes, and shares are refused; reads and downloads work as normal." ,
"readonly_body" : "Uploads, renames, deletes, and shares are refused temporarily. Reads and downloads work as normal."
},
2026-06-17 22:52:06 -06:00
"app" : {
"title" : "OxiCloud" ,
"description" : "Minimalist cloud storage system"
},
"myshares" : {
"resendInvitation" : "Resend invitation email" ,
"notifyByEmail" : "Notify by email" ,
"notifyGroupMembers" : "Notify group members" ,
"notifyRateLimited" : "Too many notifications for this recipient — try again later." ,
"notifyFailed" : "Could not send notification." ,
"removeAccess" : "Remove access" ,
"copyLink" : "Copy link" ,
"deleteLink" : "Delete link" ,
"editSharing" : "Edit sharing" ,
"emptyStateDesc" : "Items you share with others will appear here" ,
"emptyStateTitle" : "You haven't shared anything yet" ,
"manageAccess" : "Manage access" ,
"notifySent" : "Notification sent." ,
"passwordLinks" : "Password-protected links" ,
2026-07-13 19:26:19 +02:00
"publicLinks" : "Public links" ,
"filter" : {
"button" : "Kinds" ,
"title" : "Filter by kind" ,
"files" : "Files" ,
"folders" : "Folders" ,
"drives" : "Drives" ,
"emptyTitle" : "No shares match the current filter" ,
"emptyHint" : "Adjust the kind filter or reset it to the default (Files + Folders)." ,
"reset" : "Reset filter"
}
2026-06-17 22:52:06 -06:00
},
"nav" : {
"files" : "Files" ,
"shared" : "My shares" ,
"sharedwithme" : "Shared with me" ,
"recent" : "Recent" ,
"favorites" : "Favorites" ,
"photos" : "Photos" ,
"music" : "Music" ,
"trash" : "Trash" ,
"groups" : "Groups" ,
"primary" : "Primary" ,
2026-07-30 00:52:12 +02:00
"admin_sections" : "Admin sections" ,
"back_to_app" : "Back to OxiCloud" ,
2026-06-17 22:52:06 -06:00
"profile" : "Profile" ,
"shared_with_me" : "Shared with me" ,
"toggle" : "Toggle navigation menu"
},
"photos" : {
"empty_state" : "No photos yet" ,
"empty_hint" : "Upload images or videos to see them here" ,
2026-07-13 19:26:19 +02:00
"empty_hidden" : "{{n}} photo(s) hidden by your dotfile preference" ,
"empty_hidden_hint" : "Turn off \"Hide dotfiles\" in your profile to see them." ,
2026-06-17 22:52:06 -06:00
"items_selected" : "selected" ,
"view_daily" : "Day" ,
"view_monthly" : "Month" ,
"view_yearly" : "Year" ,
"confirm_delete" : "Move {{n}} photos to trash?" ,
"confirm_delete_one" : "Delete {{name}}?" ,
"delete" : "Delete photos" ,
"empty" : "No photos yet." ,
"full_resolution" : "Full resolution" ,
"group_by" : "Group by" ,
"trash_partial" : "{{ok}} of {{total}} moved to trash." ,
2026-06-19 12:59:16 +00:00
"trashed" : "{{n}} moved to trash." ,
"layout_square" : "Grid" ,
"layout_justified" : "Justified" ,
"tab_moments" : "Moments" ,
"tab_places" : "Places" ,
"tab_people" : "People" ,
"map_loading" : "Loading map…" ,
"map_error" : "Could not load the map"
},
"people" : {
"unnamed" : "Unnamed" ,
"empty" : "No people yet" ,
"disabled" : "Face recognition is disabled" ,
"rename_title" : "Name this person" ,
"name_label" : "Name" ,
"back" : "Back"
2026-06-17 22:52:06 -06:00
},
"music" : {
"create_playlist" : "Create Playlist" ,
"playlists" : "Playlists" ,
"no_playlists" : "No playlists yet" ,
"empty_hint" : "Create your first playlist to start organizing your music" ,
"select_playlist" : "Select a playlist" ,
"select_hint" : "Choose a playlist from the sidebar or create a new one" ,
"add_tracks" : "Add Tracks" ,
"add_to_playlist" : "Add to Playlist" ,
"add" : "Add" ,
"added" : "Added!" ,
"added_to_playlist" : "added to playlist" ,
"load_error" : "Error loading playlists" ,
"add_error" : "Could not add tracks to playlist" ,
"no_playlists_yet" : "No playlists yet. Create one first!" ,
"selected_files" : "Selected:" ,
"no_tracks" : "No tracks in this playlist" ,
"unknown_artist" : "Unknown Artist" ,
"unknown_title" : "Unknown" ,
"confirm_delete" : "Delete this playlist?" ,
"playlist_name" : "Playlist name" ,
"create" : "Create" ,
"delete" : "Delete" ,
"share" : "Share" ,
"edit" : "Edit" ,
"play_all" : "Play All" ,
"shuffle" : "Shuffle" ,
"repeat" : "Repeat" ,
"repeat_one" : "Repeat One" ,
"queue" : "Queue" ,
"queue_empty" : "Queue is empty" ,
"not_playing" : "Not playing" ,
"play" : "Play" ,
"pause" : "Pause" ,
"previous" : "Previous" ,
"next" : "Next" ,
"volume" : "Volume" ,
"mute" : "Mute" ,
"unmute" : "Unmute" ,
"title" : "Title" ,
"artist" : "Artist" ,
"album" : "Album" ,
"tracks" : "tracks" ,
"share_with_user" : "User ID or email" ,
"playback_error" : "Playback failed" ,
"error" : "Error" ,
"remove" : "Remove" ,
"track_removed" : "Track removed" ,
"manage_shares" : "Manage Shares" ,
"no_shares" : "No shares yet" ,
"remove_share" : "Remove share" ,
"can_write" : "Can edit" ,
"read_only" : "Read only" ,
"public" : "Public" ,
"private" : "Private" ,
"toggle_public" : "Visibility" ,
"make_public" : "Make public" ,
"make_private" : "Make private" ,
"set_cover" : "Set cover" ,
"cover_updated" : "Cover updated" ,
"search_audio" : "Search audio files…" ,
"no_audio_files" : "No audio files found" ,
"selected" : "selected" ,
"loading" : "Loading…" ,
"search_error" : "Could not load audio files" ,
"adding" : "Adding…" ,
"add_selected" : "Add selected" ,
"create_playlist_hint" : "Type a playlist name to create one." ,
"created" : "Created “{{name}}”." ,
"delete_playlist" : "Delete playlist" ,
"deleted" : "Deleted “{{name}}”." ,
"edit_description" : "Edit description" ,
"empty_playlist" : "This playlist has no tracks yet." ,
"new_playlist" : "New playlist" ,
"no_audio" : "No audio files found." ,
"now_private" : "Playlist is now private." ,
"now_public" : "Playlist is now public." ,
"pick_or_create" : "Existing: {{list}}. Type a name to add or create." ,
"prev" : "Previous" ,
"rename_playlist" : "Rename playlist" ,
"reordered" : "Playlist reordered." ,
"seek" : "Seek" ,
"selected_count" : "{{n}} selected" ,
"share_added" : "Shared." ,
"track_count" : "{{n}} tracks" ,
"tracks_added" : "Added {{n}} track(s)."
},
"actions" : {
"search" : "Search files..." ,
"new_folder" : "New folder" ,
"upload" : "Upload" ,
"upload_files" : "Upload files" ,
"upload_folder" : "Upload folder" ,
"upload.uploading" : "Uploading..." ,
"upload.complete" : "{count} / {total} uploaded" ,
"upload.files" : "files" ,
"rename" : "Rename" ,
"move" : "Move to..." ,
"move_to" : "Move to" ,
"delete" : "Delete" ,
"download" : "Download" ,
"view" : "View" ,
"cancel" : "Cancel" ,
"confirm" : "Confirm" ,
"share" : "Share" ,
"favorite" : "Add to favorites" ,
"unfavorite" : "Remove from favorites" ,
"copy" : "Copy" ,
"notify" : "Notify" ,
"send" : "Send" ,
"clear_recent" : "Clear recent" ,
"logout" : "Log out" ,
"create" : "Create" ,
"search_btn" : "Search" ,
"close" : "Close" ,
"delete_permanently" : "Delete permanently" ,
"empty_trash" : "Empty trash" ,
"open_parent_folder" : "Go to parent folder" ,
"add" : "Add" ,
"apply" : "Apply" ,
"clear" : "Clear" ,
"remove" : "Remove"
},
"user_menu" : {
"appearance" : "Appearance" ,
"about" : "About OxiCloud" ,
"about_description" : "Cloud storage platform built with Rust & Clean Architecture. Fast, secure, and private." ,
"admin_panel" : "Admin Panel" ,
"profile" : "My Profile" ,
"role_user" : "User" ,
"theme" : {
"light" : "Light" ,
"dark" : "Dark" ,
"auto" : "Like OS"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"manage_groups" : "Manage groups" ,
"admin" : "Admin" ,
"mit_license" : "MIT License" ,
"title" : "User menu"
},
"share" : {
"dialogTitle" : "Share Link" ,
"linkLabel" : "Share Link:" ,
"copyLink" : "Copy" ,
"permissions" : "Permissions:" ,
"permissionRead" : "Read" ,
"permissionWrite" : "Write" ,
"permissionReshare" : "Reshare" ,
"password" : "Password Protection:" ,
"generatePassword" : "Generate" ,
"expiration" : "Expiration Date:" ,
"update" : "Update Share" ,
"remove" : "Remove Share" ,
"notifyTitle" : "Send Notification" ,
"notifyEmailLabel" : "Email Address:" ,
"notifyMessageLabel" : "Message (optional):" ,
"notifySend" : "Send Notification" ,
"shareWithOthers" : "Share with others" ,
"sharePublicly" : "Share publicly" ,
"shareSettings" : "Sharing settings" ,
"shareCopied" : "Link copied to clipboard" ,
"shareCreated" : "Share link created successfully" ,
"shareUpdated" : "Share settings updated successfully" ,
"shareRemoved" : "Share removed successfully" ,
"inviteByEmail" : "Invite by email — invitation will be sent" ,
"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"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"searchPlaceholder" : "Search people…" ,
"shareOf" : "Share of:" ,
"sharedLink" : "Shared link" ,
"addPassword" : "Add password" ,
"add_people" : "Add people, groups, or email…" ,
"bad_password" : "Incorrect password. Please try again." ,
"changePassword" : "Change password" ,
"copied" : "Link copied" ,
"copy" : "Copy" ,
"copy_failed" : "Could not copy link" ,
"create_link" : "Create link" ,
"created" : "Public link created" ,
"dialog_title" : "Share “{{name}}”" ,
"download" : "Download" ,
"download_zip" : "Download ZIP" ,
"empty_folder" : "This folder is empty." ,
"error" : "Something went wrong. Please try again." ,
"expired" : "This share link is no longer available." ,
"expires_optional" : "Expires (optional)" ,
"expiry" : "Expiry" ,
"files" : "Files" ,
"folders" : "Folders" ,
"invalid" : "This share link is invalid." ,
"link" : "Link" ,
"link_name" : "Link name (optional)" ,
"no_people" : "Not shared with anyone yet." ,
"none" : "No public links yet." ,
"notify" : {
"coalesced" : "{{n}} already notified recently." ,
"rateLimited" : "{{n}} hit the rate limit — try later." ,
"sent" : "{{n}} notified by email." ,
"skipped" : "{{n}} skipped (no email / opted out)."
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"notifyByEmail" : "Notify by email" ,
"passwordPrompt" : "Set a password:" ,
"passwordPrompt_clear" : "New password (blank to remove):" ,
"password_cleared" : "Password removed" ,
"password_optional" : "Password (optional)" ,
"password_set" : "Password updated" ,
"password_title" : "Password required" ,
"public_link" : "Public link" ,
"revoke" : "Remove" ,
"set_expiry" : "Set expiry" ,
"title" : "Shared" ,
"unlock" : "Unlock" ,
2026-07-20 21:16:41 +02:00
"role_label" : "Role" ,
"col_shared_by" : "Shared by" ,
"col_shared" : "Shared"
2026-06-17 22:52:06 -06:00
},
"share_dialogTitle" : "Share Link" ,
"share_linkLabel" : "Share Link:" ,
"share_copyLink" : "Copy" ,
"share_permissions" : "Permissions:" ,
"share_permissionRead" : "Read" ,
"share_permissionWrite" : "Write" ,
"share_permissionReshare" : "Reshare" ,
"share_password" : "Password Protection:" ,
"share_generatePassword" : "Generate" ,
"share_expiration" : "Expiration Date:" ,
"share_update" : "Update Share" ,
"share_remove" : "Remove Share" ,
"share_notifyTitle" : "Send Notification" ,
"share_notifyEmailLabel" : "Email Address:" ,
"share_notifyMessageLabel" : "Message (optional):" ,
"share_notifySend" : "Send Notification" ,
"shared" : {
"backToFiles" : "Back to Files" ,
"pageTitle" : "Shared Resources" ,
"pageDescription" : "Manage your shared files and folders" ,
"filterType" : "Type:" ,
"filterAll" : "All" ,
"filterFiles" : "Files" ,
"filterFolders" : "Folders" ,
"sortBy" : "Sort by:" ,
"sortByName" : "Name" ,
"sortByDate" : "Date shared" ,
"sortByExpiration" : "Expiration" ,
"search" : "Search" ,
"colName" : "Name" ,
"colType" : "Type" ,
"colDateShared" : "Date Shared" ,
"colExpiration" : "Expiration" ,
"colPermissions" : "Permissions" ,
"colPassword" : "Password" ,
"colActions" : "Actions" ,
"emptyStateTitle" : "No shared resources yet" ,
"emptyStateDesc" : "When you share files or folders, they will appear here" ,
"goToFiles" : "Go to Files" ,
"typeFile" : "File" ,
"typeFolder" : "Folder" ,
"noExpiration" : "No expiration" ,
"hasPassword" : "Yes" ,
"noPassword" : "No" ,
"editShare" : "Edit Share" ,
"notifyShare" : "Notify Someone" ,
"copyLink" : "Copy Link" ,
"removeShare" : "Remove Share" ,
"linkCopied" : "Link copied to clipboard!" ,
"linkCopyFailed" : "Failed to copy link" ,
"itemUpdated" : "Share settings updated successfully" ,
"itemRemoved" : "Share removed successfully" ,
"invalidEmail" : "Please enter a valid email address" ,
"notificationSent" : "Notification sent successfully" ,
"notificationFailed" : "Failed to send notification" ,
"shared_backToFiles" : "Back to Files" ,
"shared_pageTitle" : "Shared Resources" ,
"shared_pageDescription" : "Manage your shared files and folders" ,
"shared_filterType" : "Type:" ,
"shared_filterAll" : "All" ,
"shared_filterFiles" : "Files" ,
"shared_filterFolders" : "Folders" ,
"shared_sortBy" : "Sort by:" ,
"shared_sortByName" : "Name" ,
"shared_sortByDate" : "Date shared" ,
"shared_sortByExpiration" : "Expiration" ,
"shared_search" : "Search" ,
"shared_colName" : "Name" ,
"shared_colType" : "Type" ,
"shared_colDateShared" : "Date Shared" ,
"shared_colExpiration" : "Expiration" ,
"shared_colPermissions" : "Permissions" ,
"shared_colPassword" : "Password" ,
"shared_colActions" : "Actions" ,
"shared_emptyStateTitle" : "No shared resources yet" ,
"shared_emptyStateDesc" : "When you share files or folders, they will appear here" ,
"shared_goToFiles" : "Go to Files" ,
"shared_typeFile" : "File" ,
"shared_typeFolder" : "Folder" ,
"shared_noExpiration" : "No expiration" ,
"shared_hasPassword" : "Yes" ,
"shared_noPassword" : "No" ,
"shared_editShare" : "Edit Share" ,
"shared_notifyShare" : "Notify Someone" ,
"shared_copyLink" : "Copy Link" ,
"shared_removeShare" : "Remove Share" ,
"shared_linkCopied" : "Link copied to clipboard!" ,
"shared_linkCopyFailed" : "Failed to copy link" ,
"shared_itemUpdated" : "Share settings updated successfully" ,
"shared_itemRemoved" : "Share removed successfully" ,
"shared_invalidEmail" : "Please enter a valid email address" ,
"shared_notificationSent" : "Notification sent successfully" ,
"shared_notificationFailed" : "Failed to send notification"
},
"files" : {
"name" : "Name" ,
"type" : "Type" ,
"size" : "Size" ,
"modified" : "Modified" ,
"no_files" : "No files in this folder" ,
"empty_hint" : "Upload files or create folders to get started" ,
2026-07-20 22:15:08 +02:00
"drop_to_upload" : "Drop files here to upload" ,
2026-06-17 22:52:06 -06:00
"loading" : "Loading files…" ,
"view_grid" : "Grid view" ,
"view_list" : "List view" ,
"file_types" : {
"document" : "Document" ,
"image" : "Image" ,
"video" : "Video" ,
"audio" : "Audio" ,
"pdf" : "PDF" ,
"text" : "Text" ,
"folder" : "Folder" ,
"spreadsheet" : "Spreadsheet" ,
"presentation" : "Presentation" ,
"archive" : "Archive" ,
"installer" : "Installer" ,
"code" : "Code"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"owner" : "Owner" ,
"add_favorites" : "Add to favorites" ,
"added_favorites" : "Added to favorites" ,
"already_favorites" : "All selected items are already favorites" ,
"batch_delete" : "Delete selected" ,
"breadcrumb" : "Breadcrumb" ,
"cancel_selection" : "Cancel selection" ,
2026-07-20 21:16:41 +02:00
"col_modified" : "Modified" ,
"col_added" : "Added" ,
"col_created_by" : "Created by" ,
"col_opened" : "Opened" ,
2026-06-17 22:52:06 -06:00
"col_name" : "Name" ,
"col_owner" : "Owner" ,
"col_path" : "Location" ,
"col_size" : "Size" ,
"col_type" : "Type" ,
"confirm_batch_delete" : "Move {{n}} items to trash?" ,
"confirm_delete" : "Move \"{{name}}\" to trash?" ,
"confirm_delete_n" : "Delete {{count}} item(s)?" ,
"copied" : "Copied" ,
"copy" : "Copy" ,
"copy_here" : "Copy here" ,
"copy_n" : "Copy {{n}} items" ,
"copy_title" : "Copy “{{name}}”" ,
"download_zip" : "Download as ZIP" ,
"edit" : "Edit" ,
"edit_new_tab" : "Edit in new tab" ,
"editor" : "Document editor" ,
"empty_title" : "This folder is empty" ,
"favorite" : "Add favorite" ,
"favorited" : "Favorite" ,
"file" : "File" ,
"folder" : "Folder" ,
"grid" : "Grid" ,
"list" : "List" ,
"more_actions" : "More actions" ,
"move" : "Move" ,
"move_here" : "Move here" ,
"move_n" : "Move {{n}} items" ,
"move_title" : "Move “{{name}}”" ,
"moved" : "Moved" ,
"new_folder" : "New folder" ,
"new_folder_prompt" : "New folder name" ,
2026-07-20 22:03:08 +02:00
"new_elements" : "New elements" ,
2026-06-17 22:52:06 -06:00
"no_home" : "No home folder available." ,
"no_preview" : "No preview available for this file type." ,
"no_subfolders" : "No subfolders here." ,
"open" : "Open" ,
"open_parent" : "Open parent folder" ,
"owner_me" : "Me" ,
"preview_failed" : "Could not load preview." ,
"select_all" : "Select all" ,
"selected_count" : "{{count}} selected" ,
"selection" : "Selection" ,
"share" : "Share" ,
"shared" : "Shared" ,
"unfavorite" : "Remove favorite" ,
"uploaded" : "Upload complete" ,
"uploaded_saved" : "Upload complete — {{mb}} MB deduplicated" ,
2026-06-20 17:03:30 +02:00
"uploaded_partial" : "{{ok}} uploaded, {{failed}} failed" ,
2026-06-21 12:08:29 +02:00
"uploaded_skipped" : "{{ok}} uploaded · {{skipped}} skipped (not regular files)" ,
2026-06-20 17:03:30 +02:00
"upload_failed" : "Upload failed" ,
2026-06-17 22:52:06 -06:00
"uploading" : "Uploading…" ,
"uploading_file" : "Uploading {{name}}…" ,
"uploading_n" : "Uploading {{done}}/{{total}} files…" ,
2026-07-13 19:26:19 +02:00
"view" : "View" ,
"empty_hidden_title" : "{{n}} hidden item(s) in this folder" ,
"empty_hidden_hint" : "Files whose name starts with '.' are hidden. Toggle the setting to see them." ,
"show_hidden" : "Show hidden files" ,
"upload_dotfile_hidden" : "{{n}} file(s) uploaded but hidden by your dotfile preference." ,
"rename_dotfile_hidden" : "Renamed to '{{name}}' — now hidden by your preference." ,
"new_folder_dotfile_hidden" : "Created folder '{{name}}' — hidden by your dotfile preference." ,
"dotfiles_hidden_toast" : "Dotfiles hidden" ,
"dotfiles_shown_toast" : "Dotfiles shown"
2026-06-17 22:52:06 -06:00
},
"dialogs" : {
"rename_folder" : "Rename folder" ,
"rename_file" : "Rename file" ,
"new_name" : "New name" ,
"new_folder_title" : "New folder" ,
"folder_name" : "Folder name" ,
"folder_placeholder" : "My folder" ,
"rename_title" : "Rename" ,
"move_file" : "Move file" ,
"move_folder" : "Move folder" ,
"select_destination" : "Select destination folder:" ,
"select_this_folder" : "Select this folder" ,
"go_to_parent" : ".. (parent folder)" ,
"no_subfolders" : "No subfolders" ,
"root" : "Root" ,
"delete_confirmation" : "Are you sure you want to delete" ,
"and_contents" : "and all its contents" ,
"no_undo" : "This action cannot be undone" ,
"confirm_title" : "Confirm action" ,
"confirm_delete" : "Move to trash" ,
"confirm_delete_file" : "Are you sure you want to move the file \"{{name}}\" to trash?" ,
"confirm_delete_folder" : "Are you sure you want to move the folder \"{{name}}\" and all its contents to trash?" ,
"confirm_permanent_delete" : "Delete permanently" ,
"confirm_permanent_delete_msg" : "Are you sure you want to permanently delete this item? This action cannot be undone." ,
"confirm_empty_trash" : "Empty trash" ,
"confirm_delete_share" : "Delete share link" ,
"confirm_delete_share_msg" : "Are you sure you want to delete this shared link?" ,
"share_file" : "Share File" ,
"share_folder" : "Share Folder" ,
"existing_shares" : "Existing Shares" ,
"share_options" : "Share Options" ,
"password" : "Password" ,
"expiration" : "Expiration" ,
"permissions" : "Permissions" ,
"generated_link" : "Generated Link" ,
"notify" : "Send Notification" ,
"recipient" : "Recipient" ,
"message" : "Message" ,
"move_to_home" : "Move to Home folder"
},
"dropzone" : {
"drag_files" : "Drag files here or click to select" ,
"drop_files" : "Drop files to upload"
},
"permissions" : {
"read" : "Read" ,
"write" : "Write" ,
"reshare" : "Reshare"
},
"errors" : {
"file_not_found" : "File not found" ,
"folder_not_found" : "Folder not found" ,
"delete_error" : "Error deleting" ,
"upload_error" : "Error uploading file" ,
"rename_error" : "Error renaming" ,
"move_error" : "Error moving" ,
"empty_name" : "Name cannot be empty" ,
"name_exists" : "A file or folder with that name already exists" ,
"generic_error" : "An error has occurred" ,
"group_name_invalid" : "Group name must match the email-prefix format (letters, digits, dot, dash, underscore; 1– 64 chars)." ,
"group_cycle" : "This member would create a circular group reference." ,
"group_depth_exceeded" : "This nesting depth exceeds the maximum allowed (8)." ,
"group_virtual_immutable" : "The 'Internal' group is system-managed and cannot be modified." ,
"group_not_found" : "Group not found." ,
"group_name_taken" : "A group with this name already exists." ,
"forbidden" : "Could not load files"
},
"breadcrumb" : {
2026-07-26 21:31:04 +02:00
"home" : "Home" ,
"aria" : "Breadcrumb" ,
"root" : {
"personal_drive" : "Personal drive: {{name}}" ,
"shared_drive" : "Shared drive: {{name}}" ,
"direct_share" : "Shared with you" ,
"token" : "Via shared link"
}
2026-06-17 22:52:06 -06:00
},
"trash" : {
"empty_trash" : "Empty Trash" ,
"empty_state" : "Trash is empty" ,
"original_location" : "Original location" ,
"deleted_date" : "Deletion date" ,
"remaining" : "Remaining" ,
"actions" : "Actions" ,
"restore" : "Restore" ,
"delete_permanently" : "Delete permanently" ,
"empty_confirm" : "Are you sure you want to empty the trash? This will permanently delete all items." ,
2026-06-17 17:06:30 -06:00
"groupby" : {
2026-06-17 22:52:06 -06:00
"remaining_days" : "Remaining days" ,
"trashed_time" : "Trashed time"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"confirm_delete" : "Permanently delete this item? This cannot be undone." ,
"confirm_empty" : "Empty the trash? This cannot be undone." ,
"delete" : "Delete permanently" ,
"empty_action" : "Empty trash" ,
2026-07-19 23:58:26 +02:00
"restored" : "Restored" ,
"expires_at" : "Expires at"
2026-06-17 22:52:06 -06:00
},
"daysRemaining" : {
"expired" : "Expired" ,
"today" : "Today" ,
"tomorrow" : "Tomorrow" ,
"inDays" : "{{count}} days"
},
"expiryChip" : {
"never" : "Never expires" ,
"expired" : "Expired" ,
"today" : "Expires today" ,
"tomorrow" : "Expires tomorrow" ,
"inDays" : "Expires in {{count}} days" ,
"onDate" : "Expires {{date}}"
},
"auth" : {
"login_title" : "Sign in" ,
"username" : "Username" ,
"username_placeholder" : "Enter your username" ,
"login_identifier" : "Username or email" ,
"login_identifier_placeholder" : "Enter your username or email" ,
"password" : "Password" ,
"password_placeholder" : "Enter your password" ,
2026-07-14 01:46:33 +02:00
"password_or_link_hint" : "Password (leave blank for a sign-in link)" ,
2026-06-17 22:52:06 -06:00
"login_button" : "Sign in" ,
"no_account" : "Don't have an account?" ,
"register" : "Sign up" ,
"admin_setup" : "First time?" ,
"setup" : "Setup administrator" ,
"register_title" : "Create account" ,
"email" : "Email" ,
"email_placeholder" : "Enter your email" ,
"confirm_password" : "Confirm password" ,
"confirm_password_placeholder" : "Confirm your password" ,
"register_button" : "Create account" ,
"have_account" : "Already have an account?" ,
"login" : "Sign in" ,
"setup_title" : "Initial setup" ,
"setup_step1" : "Admin" ,
"setup_step2" : "System" ,
"setup_step3" : "Complete" ,
"admin_username" : "Admin username" ,
"admin_email" : "Admin email" ,
"admin_password" : "Admin password" ,
"create_admin" : "Create administrator" ,
"back_to_login" : "Already set up?" ,
"admin_success" : "Administrator account created successfully! You can now sign in." ,
"account_success" : "Account created successfully! You can now sign in." ,
"passwords_mismatch" : "Passwords do not match" ,
"admin_create_error" : "Error creating administrator account" ,
"or" : "or" ,
"sso_login" : "Sign in with SSO" ,
"sso_login_provider" : "Sign in with {{provider}}" ,
"magicLinkHint" : "No password? Enter your email and we'll send you a one-time sign-in link." ,
"magicLinkEmailLabel" : "Email address" ,
"magicLinkEmailPlaceholder" : "you@example.com" ,
"magicLinkSubmit" : "Send sign-in link" ,
"magicLinkSent" : "If an account exists for that email, a sign-in link has been sent. Check your inbox." ,
"magicLinkUnavailable" : "Sign-in by email is not available on this server." ,
"magicLinkNetworkError" : "Could not reach the server: {{message}}" ,
"magicLinkToggle" : "No password? Email me a sign-in link" ,
"passwordsMatch" : "Passwords match" ,
"capsLock" : "Caps Lock is on" ,
"caps_lock" : "Caps Lock is on" ,
"cookie_rejected" : "Login succeeded but the browser rejected the session cookie. If you are on HTTP, set OXICLOUD_COOKIE_SECURE=false or use HTTPS." ,
"login_error" : "Error logging in" ,
"magic_email_label" : "Email address" ,
"magic_error" : "Something went wrong. Try again." ,
"magic_hint" : "No password? Enter your email and we'll send you a one-time sign-in link." ,
"magic_prompt" : "No password? Sign in with an email link" ,
"magic_send" : "Send link" ,
"magic_sent" : "If an account exists, a sign-in link has been sent. Check your inbox." ,
"magic_unavailable" : "Sign-in by email is not available on this server." ,
"passwords_match" : "Passwords match" ,
"register_error" : "Registration failed" ,
"session_expired" : "Your session expired. Please sign in again." ,
2026-08-09 13:47:47 +02:00
"logged_out" : "Successfully signed out." ,
2026-06-17 22:52:06 -06:00
"sign_in" : "Sign in" ,
"signing_in" : "Signing in…" ,
2026-07-14 01:46:33 +02:00
"sending" : "Sending…" ,
2026-08-08 20:49:09 +02:00
"toggle_password" : "Show password" ,
"login_error_title" : "Sign-in failed" ,
"login_error_back_to_login" : "Back to login" ,
"login_error_auto_link_disabled" : "This server does not auto-link SSO accounts. Sign in with your existing credentials, then connect SSO from your profile." ,
"login_error_auto_link_email_not_verified" : "Your SSO provider did not confirm your email address. Verify your email at your identity provider, then try again." ,
"login_error_already_linked_elsewhere" : "A local account with this email already exists and is linked to a different SSO identity. Contact your administrator." ,
2026-08-08 21:19:40 +02:00
"login_error_email_ambiguous" : "Multiple local accounts match this email address. Contact your administrator to resolve." ,
2026-08-08 20:49:09 +02:00
"login_error_callback_denied" : "Your sign-in link expired or was already used. Please try signing in again." ,
"login_error_callback_failed" : "SSO sign-in couldn't complete. Please try again." ,
"login_error_generic" : "SSO sign-in was refused. Please try again."
2026-06-17 22:52:06 -06:00
},
"storage" : {
"title" : "Storage" ,
"calculating" : "Calculating..." ,
"used" : "{{percentage}}% used ({{used}} / {{total}})"
},
"viewer" : {
"unsupported_file" : "This file type cannot be previewed." ,
"download_file" : "Download file" ,
"zoom_in" : "Zoom in" ,
"zoom_out" : "Zoom out" ,
"zoom_reset" : "Reset zoom" ,
"zoom" : "Zoom"
},
"language_selector" : {
"title" : "Welcome!" ,
"subtitle" : "Select your language to continue" ,
"continue" : "Continue" ,
"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" : "No favorites yet" ,
"empty_hint" : "Star files or folders to add them to your favorites" ,
"add" : "Add to favorites" ,
"remove" : "Remove from favorites" ,
"added_title" : "Added to favorites" ,
"added_msg" : "added to favorites" ,
"removed_title" : "Removed from favorites" ,
"removed_msg" : "removed from favorites"
},
"recent" : {
"title" : "Recent" ,
"clear" : "Clear recent" ,
"accessed" : "Accessed" ,
"empty_state" : "No recent files" ,
"empty_hint" : "Files you open will appear here" ,
2026-07-13 19:26:19 +02:00
"empty_hidden_state" : "{{n}} recent item(s) hidden by your dotfile preference" ,
"empty_hidden_hint" : "Turn off \"Hide dotfiles\" in your profile to see them." ,
2026-06-17 22:52:06 -06:00
"loadMore" : "Load more" ,
2026-07-20 01:10:04 +02:00
"confirm_clear" : "Clear your recent items?" ,
"remove_item" : "Remove from recent"
2026-06-17 22:52:06 -06:00
},
"notifications" : {
"file_renamed" : "File renamed" ,
"file_renamed_to" : "File renamed to \"{{name}}\"" ,
"folder_renamed" : "Folder renamed" ,
"folder_renamed_to" : "Folder renamed to \"{{name}}\"" ,
"file_uploaded" : "File uploaded" ,
"file_deleted" : "File moved to trash" ,
"folder_deleted" : "Folder moved to trash" ,
"item_deleted_permanently" : "Item permanently deleted" ,
"trash_emptied" : "Trash emptied successfully" ,
"title" : "Notifications" ,
"empty" : "No notifications" ,
"link_created" : "Link created" ,
"share_success" : "Shared link created successfully" ,
"upload_files_section_title" : "Upload not available here" ,
"upload_files_section_body" : "Go to the Files section to upload files" ,
"clear" : "Clear all"
},
"batch" : {
"one_selected" : "1 item selected" ,
"n_selected" : "{{count}} items selected" ,
"confirm_delete" : "Are you sure you want to move {{count}} items to trash?" ,
"move_title" : "Move {{count}} item(s)" ,
"add_favorites" : "Add to favorites" ,
"move_copy" : "Move or copy"
},
"admin" : {
"page_title" : "Admin Panel" ,
"back_to_app" : "Back to OxiCloud" ,
"loading" : "Loading…" ,
"access_denied" : "Access Denied" ,
"access_denied_desc" : "Administrator privileges required to access this panel." ,
"sign_in" : "Sign in" ,
"tab_dashboard" : "Dashboard" ,
"tab_users" : "Users" ,
"tab_oidc" : "SSO / OIDC" ,
"total_users" : "Total Users" ,
"active_users" : "Active Users" ,
"admins" : "Admins" ,
"version" : "Version" ,
"storage_overview" : "Storage Overview" ,
"used" : "Used" ,
"total_quota" : "Total Quota" ,
"usage_pct" : "Usage %" ,
"users_over_80" : "Users >80% quota" ,
"users_over_quota" : "Users over quota" ,
"system" : "System" ,
"auth_label" : "Auth" ,
"oidc_label" : "OIDC" ,
"quotas_label" : "Quotas" ,
"enabled" : "Enabled" ,
"disabled" : "Disabled" ,
"active" : "Active" ,
"off" : "Off" ,
"allow_registration" : "Allow public self-registration" ,
"registration_warning" : "Public registration is disabled. Only admins can create new users." ,
"user_management" : "User Management" ,
"create_user" : "Create User" ,
"col_user" : "User" ,
"col_role" : "Role" ,
"col_auth" : "Auth" ,
"col_status" : "Status" ,
"col_storage" : "Storage" ,
"col_last_login" : "Last Login" ,
"col_actions" : "Actions" ,
"loading_users" : "Loading users…" ,
"failed_load_users" : "Failed to load users" ,
"no_users_found" : "No users found" ,
"showing_users" : "Showing {{from}}-{{to}} of {{total}}" ,
"prev" : "Prev" ,
"next" : "Next" ,
"inactive" : "Inactive" ,
"you_badge" : "(you)" ,
"local" : "Local" ,
"never" : "Never" ,
"just_now" : "Just now" ,
"minutes_ago" : "{{n}}m ago" ,
"hours_ago" : "{{n}}h ago" ,
"days_ago" : "{{n}}d ago" ,
"edit_quota_title" : "Edit quota" ,
"reset_password_title" : "Reset password" ,
"toggle_role_title" : "Toggle role" ,
"deactivate_title" : "Deactivate" ,
"activate_title" : "Activate" ,
"delete_title" : "Delete" ,
"sso_title" : "Single Sign-On (OIDC / SSO)" ,
"enable_sso" : "Enable SSO Authentication" ,
"provider_name" : "Provider Name" ,
"issuer_url" : "Issuer URL" ,
"issuer_url_hint" : "OpenID Connect issuer URL of your identity provider" ,
"auto_discover" : "Auto-discover" ,
"discovering" : "Discovering…" ,
"client_id" : "Client ID" ,
"client_secret" : "Client Secret" ,
"client_secret_placeholder" : "Leave empty to keep current value" ,
"secret_configured" : "A client secret is already configured" ,
"callback_url" : "Callback URL" ,
"callback_url_hint" : "(register in your IdP)" ,
"advanced_settings" : "Advanced Settings" ,
"scopes" : "Scopes" ,
"auto_provision" : "Auto-provision users on first login" ,
"admin_groups" : "Admin Groups" ,
"admin_groups_hint" : "Comma-separated OIDC group names that map to admin role" ,
"disable_password" : "Disable password login (OIDC only)" ,
"password_warning" : "This will prevent ALL password-based logins!" ,
"test_btn" : "Test" ,
"save_btn" : "Save" ,
"saving" : "Saving…" ,
"settings_saved" : "Settings saved — OIDC is now {{status}}" ,
"quota_modal_title" : "Update Storage Quota" ,
"quota_user_label" : "User:" ,
"new_quota" : "New Quota" ,
"quota_unlimited_hint" : "Set to 0 for unlimited" ,
"cancel" : "Cancel" ,
"create_user_title" : "Create New User" ,
"username_label" : "Username" ,
"username_placeholder" : "johndoe" ,
"username_hint" : "3– 32 characters" ,
"password_label" : "Password" ,
"password_placeholder" : "Min 8 characters" ,
"email_label" : "Email" ,
"email_optional" : "(optional)" ,
"email_placeholder" : "user@example.com (auto-generated if empty)" ,
"role_label" : "Role" ,
"role_user" : "User" ,
"role_admin" : "Admin" ,
"quota_label" : "Quota" ,
"creating" : "Creating…" ,
"reset_pw_title" : "Reset Password" ,
"new_password_label" : "New Password" ,
"resetting" : "Resetting…" ,
"reset_btn" : "Reset" ,
"confirm_role_change" : "Change role to {{role}}?" ,
"confirm_deactivate" : "Are you sure you want to deactivate this user?" ,
"confirm_activate" : "Are you sure you want to activate this user?" ,
"confirm_delete_user" : "DELETE user \"{{name}}\"? This cannot be undone!" ,
"confirm_action" : "Confirm Action" ,
"confirm_yes" : "Confirm" ,
"confirm_no" : "Cancel" ,
"error_username_short" : "Username must be at least 3 characters" ,
"error_password_short" : "Password must be at least 8 characters" ,
"error_generic" : "Failed" ,
"error_network" : "Network error: {{message}}" ,
"error_create_user" : "Failed to create user" ,
"tab_storage" : "Storage" ,
"storage_title" : "Storage Backend" ,
"storage_current_backend" : "Active Backend" ,
"storage_total_blobs" : "Total Blobs" ,
"storage_total_size" : "Total Size" ,
"storage_dedup_ratio" : "Dedup Ratio" ,
"storage_backend" : "Backend Type" ,
"storage_local" : "Local Filesystem" ,
"storage_s3" : "S3-Compatible" ,
"storage_provider_preset" : "Provider Preset" ,
"storage_preset_custom" : "Custom" ,
"storage_endpoint_url" : "Endpoint URL" ,
"storage_endpoint_hint" : "Leave empty for Amazon S3 default" ,
"storage_bucket" : "Bucket" ,
"storage_region" : "Region" ,
"storage_access_key" : "Access Key ID" ,
"storage_secret_key" : "Secret Access Key" ,
"storage_secret_configured" : "A secret key is already configured" ,
"storage_key_placeholder" : "Leave empty to keep current value" ,
"storage_path_style" : "Force Path Style" ,
"storage_path_style_hint" : "Required for MinIO and some S3-compatible providers" ,
"storage_test_connection" : "Test Connection" ,
"storage_test_success" : "Connection successful" ,
"storage_test_failure" : "Connection failed" ,
"storage_save" : "Save" ,
"storage_saved" : "Storage settings saved successfully" ,
"storage_migration" : "Backend Migration" ,
"storage_migration_coming_soon" : "Backend migration will be available in a future update." ,
"migration_status_label" : "Status:" ,
"migration_start" : "Start Migration" ,
"migration_pause" : "Pause" ,
"migration_resume" : "Resume" ,
"migration_verify" : "Verify Integrity" ,
"migration_complete" : "Finalize" ,
"migration_started" : "Migration started" ,
"migration_paused_msg" : "Migration paused" ,
"migration_resumed_msg" : "Migration resumed" ,
"migration_completed_msg" : "Migration finalized. Restart the server to use the new backend." ,
"migration_verifying" : "Verifying…" ,
"migration_verify_passed" : "Verification passed" ,
"migration_verify_failed" : "Verification failed" ,
"migration_failed_blobs" : "failed blobs" ,
"testing" : "Testing…" ,
"tab_plugins" : "Plugins" ,
"plugins_title" : "Plugins" ,
"plugins_disabled" : "Plugins are disabled on this server. Set OXICLOUD_ENABLE_PLUGINS=true (and build with the \"plugins\" feature) to manage WASM plugins here." ,
"plugins_install_title" : "Install a plugin" ,
"plugins_install_intro" : "Upload a plugin bundle (.zip) containing plugin.toml and its compiled WebAssembly module (.wasm). The manifest is validated and the module is probed before installation." ,
"plugins_bundle_label" : "Plugin bundle (.zip)" ,
"plugins_install" : "Install plugin" ,
"plugins_installed_title" : "Installed plugins" ,
"plugins_col_name" : "Name" ,
"plugins_col_id" : "ID" ,
"plugins_col_version" : "Version" ,
"plugins_col_events" : "Events" ,
"plugins_col_status" : "Status" ,
"plugins_col_actions" : "Actions" ,
"plugins_loading" : "Loading plugins…" ,
"plugins_none" : "No plugins installed." ,
"plugins_enabled" : "Enabled" ,
"plugins_disabled_badge" : "Disabled" ,
"plugins_enable" : "Enable" ,
"plugins_disable" : "Disable" ,
"plugins_delete" : "Delete" ,
"plugins_confirm_delete" : "Delete plugin \"{{name}}\"? Its files will be removed from the server." ,
"plugins_installing" : "Installing…" ,
"plugins_installed" : "Installed {{name}}." ,
"plugins_install_missing_bundle" : "Select a plugin bundle (.zip)." ,
"plugins_details" : "Logs & details" ,
"plugins_back" : "Back to plugins" ,
"plugins_retention_title" : "Log retention" ,
"plugins_retention_intro" : "Rotated log segments older than the retention window, or beyond the size cap, are pruned on a schedule." ,
"plugins_retention_days" : "Retention (days)" ,
"plugins_retention_max_mb" : "Max log size (MB)" ,
"plugins_retention_save" : "Save retention" ,
"plugins_retention_saved" : "Retention saved." ,
"plugins_retention_invalid" : "Enter non-negative numbers." ,
"plugins_logs_title" : "Logs" ,
"plugins_logs_level_all" : "All levels" ,
"plugins_logs_search" : "Search messages…" ,
"plugins_logs_live" : "Live" ,
"plugins_logs_clear" : "Clear" ,
"plugins_logs_confirm_clear" : "Clear all logs for this plugin?" ,
"plugins_logs_none" : "No log entries." ,
"plugins_logs_col_time" : "Time" ,
"plugins_logs_col_level" : "Level" ,
"plugins_logs_col_kind" : "Kind" ,
"plugins_logs_col_invocation" : "Invocation" ,
"plugins_logs_col_message" : "Message" ,
"plugins_logs_showing" : "Showing {{from}}– {{to}} of {{total}}" ,
"tab_smtp" : "SMTP" ,
"smtp_title" : "Outbound Email (SMTP)" ,
"smtp_intro" : "SMTP is configured exclusively via environment variables (OXICLOUD_SMTP_*). The values below are read from the running server — to change them, edit the environment and restart OxiCloud." ,
"smtp_enabled_label" : "Status" ,
"smtp_enabled" : "Enabled" ,
"smtp_disabled" : "Disabled (host unset)" ,
"smtp_test_title" : "Send a test email" ,
"smtp_test_intro" : "Sends a hardcoded diagnostic message to the recipient below and reports the SMTP server's response so you can correlate it with your relay logs." ,
"smtp_test_to" : "Recipient address" ,
"smtp_send_test" : "Send test email" ,
"smtp_sending" : "Sending…" ,
"smtp_sent" : "Test email sent." ,
"smtp_send_failed" : "Send failed." ,
"smtp_server_code" : "Server replied" ,
"smtp_test_missing_to" : "Enter a recipient address." ,
"smtp_not_configured" : "SMTP is not configured on this server." ,
"admin_users" : "Admins" ,
"auth" : "Authentication" ,
"available" : "available" ,
"confirm_delete_plugin" : "Delete plugin {{name}}?" ,
"confirm_role" : "Change role to {{role}}?" ,
"dashboard" : "Dashboard" ,
"disable" : "Disable" ,
"email" : "Email" ,
"email_auto" : "Auto-generated if left blank" ,
"enable" : "Enable" ,
"env_locked" : "Set by an environment variable" ,
"last_login" : "Last login" ,
"logs_all" : "All levels" ,
"logs_empty" : "No log entries." ,
"logs_invocation" : "Invocation" ,
"logs_kind" : "Kind" ,
"logs_level" : "Level" ,
"logs_live" : "Live" ,
"logs_message" : "Message" ,
"logs_search" : "Search…" ,
"logs_showing" : "Showing {{from}}– {{to}} of {{total}}" ,
"logs_time" : "Time" ,
"mig_complete" : "Finalize" ,
"mig_eta" : "~{{min}} min remaining" ,
"mig_failed" : "{{n}} failed blobs" ,
"mig_pause" : "Pause" ,
"mig_resume" : "Resume" ,
"mig_start" : "Start" ,
"mig_verify" : "Verify integrity" ,
"mig_verify_failed" : "Verification failed" ,
"mig_verify_mismatch" : "{{n}} size mismatches" ,
"mig_verify_missing" : "{{n}} missing" ,
"mig_verify_passed" : "Verification passed" ,
"mig_verify_summary" : "{{checked}} blobs checked, {{total}} total in database" ,
"mig_verifying" : "Verifying…" ,
"migration" : "Storage migration" ,
"new_password" : "New password" ,
"no_plugins" : "No plugins installed." ,
"oidc" : "OIDC / SSO" ,
"oidc_admin_groups" : "Admin groups" ,
"oidc_auth_endpoint" : "Auth endpoint" ,
"oidc_auto_provision" : "Auto-provision users on first login" ,
"oidc_callback" : "Callback URL" ,
"oidc_client_id" : "Client ID" ,
"oidc_client_secret" : "Client secret" ,
"oidc_disable_pw" : "Disable password login (OIDC only)" ,
"oidc_discover" : "Test / discover" ,
"oidc_enabled" : "Enable OIDC login" ,
"oidc_issuer" : "Issuer URL" ,
"oidc_provider_name" : "Provider name" ,
"oidc_scopes" : "Scopes" ,
"oidc_secret_set" : "A client secret is already configured." ,
"over_80" : "{{n}} users over 80% quota" ,
"over_quota" : "{{n}} users over quota" ,
"password" : "Password" ,
"password_reset" : "Password reset" ,
"plugin" : "Plugin" ,
"plugin_logs" : "Plugin logs" ,
"plugins" : "Plugins" ,
"plugins_clear_logs" : "Clear logs" ,
"plugins_install_hint" : "Upload a plugin bundle (.zip)." ,
"plugins_retention" : "Log retention" ,
"plugins_retention_max" : "Max size (MB)" ,
"plugins_upload" : "Upload .zip" ,
"quota" : "Storage usage" ,
"quota_for" : "Quota for" ,
"quotas" : "Quotas" ,
"registration" : "Registration" ,
"registration_disabled_warning" : "Public registration is disabled. Only admins can create new accounts." ,
"reset_pw_for" : "New password for" ,
"role" : "Role" ,
2026-08-09 14:04:42 +02:00
"sessions" : {
"filter_user" : "User (UUID)" ,
"include_revoked" : "Include revoked / expired" ,
"refresh" : "Refresh" ,
"col_user" : "User" ,
2026-08-09 15:35:04 +02:00
"col_origin" : "Origin" ,
2026-08-09 14:04:42 +02:00
"col_created" : "Created" ,
"col_expires" : "Expires" ,
"col_ip" : "IP" ,
"col_user_agent" : "User agent" ,
"col_bound" : "Bound" ,
"col_status" : "Status" ,
"current_tooltip" : "This is the session you're using right now — revoking it will log you out." ,
"bound_tooltip" : "DPoP-bound (jkt {{prefix}}…)" ,
"unbound" : "unbound" ,
"revoked" : "revoked" ,
"expired" : "expired" ,
"active" : "active" ,
"revoke" : "Revoke" ,
"empty" : "No sessions match the current filter." ,
"revoke_self_confirm" : "⚠️ This is YOUR current session. Revoking it will log YOU out immediately and you'll have to sign back in. Continue?" ,
2026-08-09 15:35:04 +02:00
"revoke_confirm" : "Revoke this session? The next request from that browser will 401." ,
"revoke_lag_notice" : "Revoking a session breaks its refresh path immediately, but any JWT already in the browser stays valid for up to {{secs}} seconds until the next refresh attempt." ,
"origin" : {
"password" : "Password" ,
"opaque" : "OPAQUE" ,
"magic_link" : "Magic link" ,
"oidc" : "SSO" ,
"device" : "Device" ,
"unknown" : "Unknown"
}
2026-08-09 14:04:42 +02:00
},
2026-06-17 22:52:06 -06:00
"settings_saved_ok" : "Settings saved." ,
"smtp" : "Email (SMTP)" ,
"smtp_fail" : "Send failed." ,
"smtp_from" : "From" ,
"smtp_host" : "Host" ,
"smtp_port" : "Port" ,
"smtp_send" : "Send" ,
"smtp_status" : "SMTP status" ,
"smtp_test" : "Send test email" ,
"smtp_to" : "recipient@example.com" ,
"smtp_user_state" : "Auth" ,
"status" : "Status" ,
"storage" : "Storage" ,
"storage_blobs" : "Blobs" ,
"storage_current" : "Current backend" ,
"storage_dedup" : "Dedup ratio" ,
"storage_endpoint" : "Endpoint URL" ,
"storage_preset" : "Preset" ,
"storage_size" : "Stored" ,
"storage_tab" : "Storage" ,
2026-08-02 00:06:08 +02:00
"storage_test" : "Test" ,
2026-08-02 14:49:35 +02:00
"storage_backend_audit" : "Backend consistency" ,
2026-08-12 23:35:30 +02:00
"storage_backend_audit_triggered" : "backend_consistency triggered for `{{name}}` — watch it on the Background tasks tab." ,
2026-06-17 22:52:06 -06:00
"time_day_ago" : "{{n}} d ago" ,
"time_hour_ago" : "{{n}} h ago" ,
"time_just_now" : "just now" ,
"time_min_ago" : "{{n}} min ago" ,
"title" : "Admin" ,
"unchanged" : "Leave blank to keep current" ,
"user" : "User" ,
"username" : "Username" ,
2026-06-20 19:13:18 +02:00
"users" : "Users" ,
"running" : "Running…" ,
"maintenance" : "Maintenance" ,
"maintenance_hint" : "Re-scan existing files to backfill metadata. Safe to re-run; processes the whole library and may take a while." ,
"reextract_audio" : "Re-extract audio metadata" ,
"reextract_photos" : "Re-extract photo & video capture dates" ,
"reextract_done" : "{{processed}}/{{total}} processed · {{failed}} failed" ,
"encryption" : "Encryption" ,
"encryption_hint" : "Generate an AES-256 key for at-rest blob encryption, then set it as OXICLOUD_STORAGE_ENCRYPTION_KEY in your server environment." ,
"gen_key" : "Generate key" ,
2026-06-26 18:08:34 +02:00
"gen_key_warning" : "Store this key securely. If it is lost, the encrypted data is irrecoverably lost." ,
"drive_manage_policies" : "Manage policies" ,
"drive_manage_policies_for" : "Manage policies — {{name}}" ,
"drive_manage_policies_help" : "Policies are admin-only — drive owners cannot mutate them. Each toggle controls one enforcement gate." ,
"drive_policy" : {
"forbid_sharing" : "Forbid per-resource sharing" ,
"forbid_sharing_help" : "Block per-file / per-folder grants (covers public links and external sharing as well). Drive-level membership still works." ,
"forbid_public_links" : "Forbid public links" ,
"forbid_public_links_help" : "Block anonymous share links on resources in this drive." ,
"forbid_external_sharing" : "Forbid external sharing" ,
"forbid_external_sharing_help" : "Block grants to external users (email invitations and pre-existing external accounts)." ,
"forbid_cross_drive_move" : "Forbid cross-drive move" ,
"forbid_cross_drive_move_help" : "Block moving files or folders out to another drive. Does not stop download + re-upload." ,
"forbid_owner_role_change" : "Lock Owner roster" ,
"forbid_owner_role_change_help" : "Only admin can add, remove, or demote drive Owners while this is on." ,
2026-07-01 22:15:09 +02:00
"include_in_photo_index" : "Include in Photos" ,
"include_in_photo_index_help" : "Show image and video files from this drive in the Photos timeline and on the Places map. Default personal drives are opted in automatically; turn on for shared drives that genuinely hold photos (e.g. \"Family Photos\")." ,
"include_in_music_index" : "Include in Music" ,
"include_in_music_index_help" : "Include audio files from this drive in the Music library. Default personal drives are opted in automatically; turn on for shared drives that genuinely hold a music collection (e.g. \"Family Music\", \"Band Collaboration\")." ,
2026-07-15 22:21:15 +02:00
"implied_by_forbid_sharing" : "Already enforced by Forbid per-resource sharing." ,
"read_only" : "Read-only (freeze)" ,
"read_only_help" : "Freeze the drive entirely — every mutation is refused (uploads, edits, deletes, renames, sharing, membership changes). Reads and downloads keep working. The trash-retention janitor also pauses. Use for archives, legal holds, or account wind-downs. Only an admin can un-freeze."
2026-07-19 14:21:44 +02:00
},
"drives" : "Drives" ,
"drive_name" : "Name" ,
"drive_kind" : "Kind" ,
"drive_owners" : "Owners" ,
"drive_usage" : "Usage" ,
"drive_created_at" : "Created" ,
"drive_kind_shared" : "Shared" ,
"drive_kind_personal" : "Personal" ,
"drive_kind_default_suffix" : "(default)" ,
"drive_manage_owners" : "Manage owners" ,
"drive_manage_owners_for" : "Manage owners — {{name}}" ,
"drive_edit_quota" : "Edit quota" ,
"drive_delete" : "Delete drive" ,
"drive_delete_confirm" : "Delete drive \"{{name}}\"? This cannot be undone." ,
"drive_deleted" : "Drive deleted." ,
"drive_created" : "Drive created." ,
"drive_add_owner" : "Add owner" ,
"drive_current_owners" : "Current owners" ,
"drive_no_owners" : "No owners" ,
"drive_owner" : "Owner" ,
"drive_owner_hint" : "Pick a user (sole Owner) or a group (every member becomes Owner via subject expansion)." ,
"drive_owner_picked" : "Owner: {{name}}" ,
"drive_owner_placeholder" : "Search a user or group…" ,
"drive_owner_remove_confirm" : "Remove this owner from the drive?" ,
"drive_name_placeholder" : "e.g. Engineering" ,
"drive_error_name_required" : "Drive name is required." ,
"drive_error_owner_required" : "Pick a user or group as the drive owner." ,
"create_drive" : "Create shared drive" ,
2026-07-19 15:45:09 +02:00
"no_drives" : "No drives yet." ,
"external_user" : "external" ,
2026-07-19 16:06:28 +02:00
"external_user_hint" : "Grant-only account (magic-link or OCM). Cannot be admin and has no storage envelope." ,
"no_storage_for_external" : "External accounts have no storage envelope." ,
"promote_to_internal_title" : "Promote to internal user" ,
"confirm_promote_user" : "Promote {{name}} to an internal user? This provisions a home drive and gives the account a normal storage envelope. The account keeps its identity; magic-link login stays the way in unless a password is set later." ,
"delete_user_title" : "Delete user" ,
"delete_user_warning" : "You are about to permanently delete \"{{name}}\". This will remove the account, revoke every session, and reap the personal drive. This cannot be undone." ,
"delete_user_confirm_hint" : "To confirm, type the account email below: {{email}}" ,
2026-07-29 07:57:34 +02:00
"deleting" : "Deleting…" ,
"jobs" : {
2026-08-12 23:35:30 +02:00
"tab" : "Background tasks" ,
"title" : "Background tasks" ,
"hint" : "This section concerns internal background tasks: periodic + on-demand tasks. Consistency checks are safe to run at any time — they are read-only." ,
2026-07-29 07:57:34 +02:00
"run_all_consistency" : "Run all consistency checks" ,
"run_deep" : "Run deep" ,
"run_deep_hint" : "Also runs slow variants (blob re-hash, bitrot detection)." ,
"col_name" : "Name" ,
"col_cadence" : "Cadence" ,
"col_last_run" : "Last run" ,
"col_outcome" : "Outcome" ,
"col_state" : "State" ,
"col_actions" : "Actions" ,
"col_started_at" : "Started" ,
"col_status" : "Status" ,
"col_duration" : "Duration" ,
"col_scanned" : "Scanned" ,
2026-07-29 08:41:19 +02:00
"col_progress" : "Progress" ,
2026-07-29 07:57:34 +02:00
"col_findings" : "Findings" ,
2026-07-29 08:41:19 +02:00
"progress_exact_tooltip" : "{{pct}} ({{scanned}} / {{total}})" ,
"progress_approx_tooltip" : "{{pct}} ({{scanned}} / {{total}} — approximate, backend proxy)" ,
2026-07-29 22:17:15 +02:00
"progress_scanned_only" : "{{n}} scanned" ,
"progress_scanned_only_tooltip" : "No total available for this run (pre-progress-bar deploy or the tenant does not report a countable subject)." ,
"findings_present_tooltip" : "Expand this run to see per-finding detail." ,
2026-07-29 07:57:34 +02:00
"col_error" : "Error" ,
"col_kind" : "Kind" ,
"col_severity" : "Severity" ,
"col_resource" : "Resource" ,
"col_detail" : "Detail" ,
"run" : "Run" ,
"cancel" : "Cancel" ,
"refresh" : "Refresh" ,
"runs_title" : "Recent runs" ,
"run_json" : "Run summary (JSON)" ,
"findings_title" : "Findings" ,
"no_runs" : "No runs yet." ,
"no_findings" : "No findings — clean run." ,
2026-08-12 23:35:30 +02:00
"none_registered" : "No background tasks registered." ,
2026-07-29 07:57:34 +02:00
"on_demand" : "on-demand" ,
"every_h" : "every {{n}} h" ,
"every_min" : "every {{n}} min" ,
"every_sec" : "every {{n}} s" ,
"outcome_ok" : "ok" ,
"outcome_err" : "err" ,
2026-07-29 22:17:15 +02:00
"outcome_issues" : "issues" ,
2026-07-29 22:47:07 +02:00
"outcome_notices" : "notices" ,
2026-07-29 22:17:15 +02:00
"n_findings" : "{{n}} findings" ,
2026-07-29 22:47:07 +02:00
"n_notices" : "{{n}} notices" ,
"notices_present_tooltip" : "Informational findings — no action required. Expand for detail." ,
2026-07-30 00:21:29 +02:00
"purge" : "Purge old runs" ,
"purge_hint" : "Delete completed and failed run history older than the chosen retention window. Findings drop with their parent runs. Non-terminal runs are always preserved." ,
2026-08-12 23:35:30 +02:00
"purge_title" : "Purge old task history" ,
2026-07-30 00:21:29 +02:00
"purge_body" : "Delete completed and failed run history older than the chosen number of days. Findings drop with their parent runs. Non-terminal runs (running, paused, cancel-requested) are always preserved." ,
"purge_days_label" : "Retention (days)" ,
"purge_confirm" : "Purge" ,
"purge_done" : "{{n}} old run(s) purged (retention {{days}} days)" ,
2026-07-29 07:57:34 +02:00
"state_running" : "running" ,
"never" : "never" ,
"just_now" : "just now" ,
"n_min_ago" : "{{n}} min ago" ,
"n_h_ago" : "{{n}} h ago" ,
"n_d_ago" : "{{n}} d ago" ,
"triggered_ok" : "{{name}} triggered successfully" ,
"triggered_err" : "{{name}} failed: {{message}}" ,
"cancel_requested" : "Cancel requested — {{name}} will pause at the next safe boundary" ,
"cancel_noop" : "Nothing to cancel — {{name}} is not running"
}
2026-06-17 22:52:06 -06:00
},
"profile" : {
"page_title" : "Profile" ,
"back_to_app" : "Back to OxiCloud" ,
"loading" : "Loading…" ,
"not_authenticated" : "Not Authenticated" ,
"not_authenticated_desc" : "Please sign in to view your profile." ,
"sign_in" : "Sign in" ,
"role_admin" : "Administrator" ,
"role_user" : "User" ,
"account_details" : "Account Details" ,
"username" : "Username" ,
"email" : "Email" ,
"role" : "Role" ,
"last_login" : "Last Login" ,
"storage" : "Storage" ,
"used" : "Used" ,
"quota" : "Quota" ,
"usage" : "Usage" ,
"unlimited" : "Unlimited" ,
"app_passwords" : "App Passwords" ,
"app_pw_desc" : "Generate passwords for WebDAV, CalDAV, and CardDAV clients. Each password is shown only once." ,
"app_pw_label_placeholder" : "Label (e.g. Thunderbird, macOS)" ,
"generate" : "Generate" ,
"generating" : "Generating…" ,
"new_password_for" : "New password for" ,
"copy_warning" : "Copy this password now. You won't be able to see it again." ,
"copy_to_clipboard" : "Copy to clipboard" ,
"col_label" : "Label" ,
"col_created" : "Created" ,
"col_last_used" : "Last Used" ,
"col_status" : "Status" ,
"active" : "Active" ,
"revoked" : "Revoked" ,
"revoke_title" : "Revoke" ,
"no_app_passwords" : "No app passwords yet." ,
"client_sessions" : "Client sessions" ,
"client_sessions_desc" : "Auto-generated when you connect a Nextcloud-compatible client." ,
"col_client" : "Client" ,
"never" : "Never" ,
"just_now" : "Just now" ,
"minutes_ago" : "{{n}} min ago" ,
"hours_ago" : "{{n}}h ago" ,
"days_ago" : "{{n}} days ago" ,
"edit_profile" : "Edit Profile" ,
"edit_oidc_managed" : "To change your information (name, first name, profile picture, …), please update it at your identity provider. Your changes will appear on your next sign-in." ,
"username_claim_hint" : "2– 64 characters, letters/digits/dot/dash/underscore. Once chosen, the username can't be changed (DAV/NextCloud clients depend on it)." ,
"username_already_claimed" : "Username is set and can't be changed (DAV/NextCloud clients depend on it)." ,
"given_name" : "First name" ,
"family_name" : "Last name" ,
"notify_on_share" : "Email me when someone shares with me" ,
"notify_on_share_hint" : "When unchecked, shares still appear in your account — you just won't get an email about them." ,
2026-07-13 19:26:19 +02:00
"hide_dotfiles" : "Hide files whose name starts with a dot (.env, .git, …)" ,
2026-06-17 22:52:06 -06:00
"save_profile" : "Save changes" ,
"profile_saved" : "Profile updated" ,
"profile_no_changes" : "No changes to save." ,
"profile_save_failed" : "Save failed" ,
"username_taken_error" : "That username is already taken." ,
"username_immutable_error" : "Your username is already set and can't be changed here. Contact an administrator if you need a rename." ,
"change_password" : "Change Password" ,
"current_password" : "Current Password" ,
"new_password" : "New Password" ,
"min_8_chars" : "At least 8 characters" ,
"confirm_password" : "Confirm New Password" ,
"update_password" : "Update Password" ,
"updating" : "Updating…" ,
"password_updated" : "Password updated successfully" ,
"passwords_no_match" : "Passwords do not match" ,
"password_too_short" : "Password must be at least 8 characters" ,
"password_change_failed" : "Failed to change password" ,
"error_network" : "Network error: {{message}}" ,
"error_label_required" : "Please enter a label" ,
"error_create_pw" : "Failed to create app password" ,
"confirm_revoke" : "Revoke app password \"{{label}}\"? Clients using this password will stop working." ,
"error_revoke" : "Failed to revoke app password" ,
"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." ,
"app_pw_revoke" : "Revoke app password" ,
"avatar" : "Avatar" ,
"copied" : "Copied" ,
"copy_failed" : "Could not copy" ,
"language" : "Language" ,
"language_auto" : "Automatic" ,
"password_mismatch" : "Passwords do not match" ,
2026-08-08 20:49:09 +02:00
"saved" : "Profile saved" ,
"sso_connect_title" : "Connect Single Sign-On" ,
"sso_connect_description" : "Link your account to {{provider}} so you can sign in with SSO instead of your password." ,
"sso_connect_button" : "Connect with {{provider}}" ,
"sso_disconnect_title" : "Single Sign-On" ,
"sso_disconnect_description" : "Your account is connected to {{provider}}. Disconnecting will require you to sign in with your password from now on." ,
"sso_disconnect_button" : "Disconnect Single Sign-On" ,
"sso_disconnect_confirm_title" : "Disconnect Single Sign-On?" ,
"sso_disconnect_confirm_message" : "You'll only be able to sign in with your password or OPAQUE credential after this." ,
"sso_disconnect_confirm_button" : "Disconnect" ,
"sso_unlinked_success" : "Single sign-on disconnected." ,
"sso_unlink_no_alt_auth" : "Set a password first — otherwise you would be locked out."
2026-06-17 22:52:06 -06:00
},
"upload" : {
"uploading" : "Uploading..." ,
"files" : "files" ,
"complete" : "{{count}} / {{total}} uploaded" ,
"files_counter" : "{{completed}} / {{total}} files"
},
"storage_quota_exceeded" : "Storage quota exceeded" ,
"sharedwithme" : {
"pageTitle" : "Shared with me" ,
"pageDescription" : "Files and folders others have shared with you" ,
"emptyStateTitle" : "Nothing shared with you yet" ,
"emptyStateDesc" : "Items shared with you by other users will appear here" ,
"loadMore" : "Load more" ,
"sharedBy" : "Shared by" ,
"colName" : "Name" ,
"colType" : "Type" ,
"colSharedBy" : "Shared by" ,
"colDate" : "Date shared" ,
"colPermissions" : "Permissions"
},
"groupby" : {
"none" : "None" ,
"byFiles" : "By files" ,
"sharedWith" : "Shared with" ,
"title" : "Group by" ,
"type" : "Type" ,
"type.folders" : "Folders" ,
"owner" : "Owner" ,
"shareDate" : "Share date" ,
"favoriteDate" : "Favorite date" ,
"accessedAt" : "Accessed date" ,
"modifiedAt" : "Modified date" ,
"createdAt" : "Created date" ,
"size" : "Size" ,
"justAdded" : "New" ,
"folders" : "Folders"
},
"dateBucket" : {
"today" : "Today" ,
"last7days" : "Last 7 days" ,
"last30days" : "Last 30 days" ,
"unknown" : "Unknown"
},
"groups" : {
"title" : "Manage groups" ,
"create_button" : "Create group" ,
"create_dialog_title" : "New group" ,
"edit_dialog_title" : "Rename group" ,
"name_label" : "Name" ,
"name_placeholder" : "engineering" ,
"description_label" : "Description (optional)" ,
"members_section" : "Members" ,
"members_loading" : "Loading members…" ,
"members_empty" : "No members" ,
"add_member_placeholder" : "Add a user or group…" ,
"no_members" : "No members yet." ,
"remove_member" : "Remove" ,
"delete_group" : "Delete group" ,
"delete_confirm" : "Delete the group \"{name}\"? Grants referencing this group will be revoked." ,
"empty_state" : "No groups yet." ,
"load_more" : "Load more" ,
"back_to_list" : "Back" ,
"loading" : "Loading…" ,
"virtual_badge" : "System" ,
"member_count_zero" : "no members" ,
"member_count_one" : "1 member" ,
"member_count_other" : "{count} members" ,
"delete_confirm_label" : "Type the group name to confirm:" ,
"delete_confirm_mismatch" : "Type the group name exactly to confirm." ,
"virtual_internal_name" : "Internal" ,
"virtual_internal_explanation" : "Every internal user on this server" ,
"add_member_search" : "Search users or groups to add…" ,
"create" : "Create group" ,
"empty" : "No groups yet." ,
"members" : "Members" ,
"nested" : "Group"
},
"sort" : {
"asc" : "ascending" ,
"desc" : "descending" ,
"direction" : "Sort direction"
},
"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}}"
},
"about" : {
"description" : "OxiCloud — a fast, self-hosted file storage and sync server."
},
"category" : {
"archives" : "Archives" ,
"audio" : "Audio" ,
"code" : "Code" ,
"documents" : "Documents" ,
"images" : "Images" ,
"installers" : "Installers" ,
"markdown" : "Markdown" ,
"presentations" : "Presentations" ,
"spreadsheets" : "Spreadsheets" ,
"text" : "Text" ,
"videos" : "Videos"
},
"cmdk" : {
"no_results" : "No matching commands" ,
"placeholder" : "Type a command or search…" ,
"title" : "Command palette" ,
"toggle_theme" : "Toggle theme"
},
"common" : {
"add" : "Add" ,
"cancel" : "Cancel" ,
"clear" : "Clear" ,
"close" : "Close" ,
"confirm" : "Confirm" ,
"copied" : "Copied to clipboard" ,
"copy" : "Copy" ,
"copy_failed" : "Copy failed" ,
"create" : "Create" ,
"delete" : "Delete" ,
"download" : "Download" ,
"empty" : "Nothing here yet." ,
"error" : "unknown error" ,
"favorite" : "Favorite" ,
"load_more" : "Load more" ,
"loading" : "Loading…" ,
"next" : "Next" ,
"no" : "No" ,
"ok" : "OK" ,
"optional" : "optional" ,
"previous" : "Previous" ,
"remove" : "Remove" ,
"rename" : "Rename" ,
"retry" : "Try Again" ,
"save" : "Save" ,
"search" : "Search" ,
"select" : "Select" ,
"select_all" : "Select all" ,
"yes" : "Yes" ,
2026-06-26 18:08:34 +02:00
"dismiss" : "Dismiss" ,
2026-07-19 15:16:08 +02:00
"saving" : "Saving…" ,
"deleting" : "Deleting…"
2026-06-17 22:52:06 -06:00
},
"device" : {
"approve" : "Approve" ,
"approved" : "Device approved. You can return to your device." ,
"client" : "Application" ,
"continue" : "Continue" ,
"denied" : "Device access denied." ,
"deny" : "Deny" ,
"enter_code" : "Enter the code shown on your device" ,
"lookup_failed" : "Failed to verify code. Please try again." ,
"not_found" : "Code not found or expired. Please check and try again." ,
"scopes" : "Access" ,
"title" : "Device verification" ,
"unauthorized" : "You must be logged in to authorize a device. Please log in first." ,
"unknown" : "Unknown"
},
"errors_loadFailed" : "Failed to load items" ,
"expiryBucket" : {
"expired" : "Expired" ,
"later" : "Later" ,
"month" : "In less than 30 days" ,
"noExpiry" : "No expiration" ,
"today" : "Today" ,
"tomorrow" : "Tomorrow" ,
"week" : "In less than 7 days"
},
"nextcloud" : {
"close_window" : "Close Window" ,
"error_expired_body" : "Your session has expired. Please try again." ,
"error_expired_title" : "Session Expired" ,
"error_generic_body" : "An unexpected error occurred. Please try again." ,
"error_invalid_body" : "Invalid username or password. Please check your credentials and try again." ,
"error_invalid_title" : "Login Failed" ,
"error_notfound_body" : "The requested page was not found." ,
"error_notfound_title" : "Not Found" ,
"error_title" : "Error" ,
"grant" : "Grant access" ,
"grant_subtitle" : "A Nextcloud client is requesting access to your account." ,
"grant_title" : "Grant access" ,
"invalid_token" : "Invalid session token." ,
"sign_in_with" : "Sign in with {{provider}}" ,
"success_body" : "You can now return to your application — it is connected." ,
"success_title" : "Access granted"
},
"search" : {
"clear_filters" : "Clear filters" ,
"date" : {
"all" : "Any time" ,
"day" : "Past 24 hours" ,
"month" : "Past month" ,
"week" : "Past week" ,
"year" : "Past year"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"date_label" : "Date" ,
"everywhere" : "Everywhere" ,
"no_results" : "No results found for this search" ,
"prompt" : "Type a query in the search bar above." ,
"results_for" : "Results for “{{q}}”" ,
"scope" : "Scope" ,
"searching_for" : "Searching for “{{q}}”…" ,
"see_all" : "See all results" ,
"size" : {
"all" : "Any size" ,
"large" : "> 100 MB" ,
"medium" : "1– 100 MB" ,
"small" : "< 1 MB"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"size_label" : "Size" ,
2026-06-17 17:06:30 -06:00
"sort" : {
2026-06-17 22:52:06 -06:00
"largest" : "Largest" ,
"name_asc" : "Name A-Z" ,
"name_desc" : "Name Z-A" ,
"newest" : "Newest" ,
"oldest" : "Oldest" ,
"relevance" : "Relevance" ,
"smallest" : "Smallest"
2026-06-17 17:06:30 -06:00
},
2026-06-17 22:52:06 -06:00
"sort_by" : "Sort by" ,
"this_folder" : "This folder" ,
"title" : "Search" ,
"type" : {
"all" : "All types" ,
"archive" : "Archives" ,
"audio" : "Audio" ,
"document" : "Documents" ,
"image" : "Images" ,
"video" : "Videos"
},
2026-07-26 18:03:47 +02:00
"type_label" : "Type" ,
"results_summary" : "Results for “{{q}}” · {{n}} results in {{ms}} ms" ,
"results_summary_no_total" : "Results for “{{q}}” · {{ms}} ms" ,
"this_folder_disabled" : "Open a folder in Files to scope search to it"
2026-06-17 22:52:06 -06:00
},
"settings" : {
"language" : "Language"
},
"shared_with_me" : {
"empty" : "Nothing has been shared with you yet." ,
"from" : "Shared by {{who}}"
},
"sizeBucket" : {
"empty" : "Empty (0 B)" ,
"folders" : "Folders" ,
"huge" : "> 5 GB" ,
"large" : "1 – 5 GB" ,
"medium" : "100 MB – 1 GB" ,
"small" : "1 – 100 MB" ,
"tiny" : "< 1 MB"
},
"sortdir" : {
"title" : "Sort direction"
},
"view" : {
"grid" : "Grid view" ,
"label" : "View options" ,
2026-07-13 19:26:19 +02:00
"list" : "List view" ,
"hide_dotfiles" : "Hide hidden files" ,
"show_dotfiles" : "Show hidden files"
},
"preferences" : {
"save_failed" : "Couldn't save your preference. Please try again."
2026-07-14 11:40:16 +02:00
},
"upgrade" : {
"title" : "Upgrade to a full account" ,
"lede" : "Get your own storage and start uploading files. Your existing shares stay untouched." ,
"busy" : "Upgrading…" ,
"submit" : "Upgrade my account" ,
"cancel" : "Not now — back to shared with me" ,
"success" : "Your account has been upgraded. Redirecting to your files…" ,
"error" : "Upgrade failed." ,
"password_required" : "Password is required — this deployment does not offer email-link login." ,
"password_too_short" : "Password must be at least 8 characters long." ,
"oidc_user" : "SSO/OIDC accounts are managed by your identity provider. Upgrade is not available." ,
"domain_not_allowed" : "This deployment does not accept new accounts from your email domain. Contact the administrator to enable it." ,
"banner_aria" : "Upgrade prompt" ,
"banner_title" : "Get your own storage" ,
"banner_body" : "You're using a guest account. Upgrade to get a personal drive and start uploading files." ,
"banner_cta" : "Upgrade"
2026-07-15 22:21:15 +02:00
},
"drive" : {
"read_only_banner" : {
"title" : "This drive is read-only" ,
"title_named" : "Drive \"{{name}}\" is read-only" ,
"body" : "Uploads, edits, deletes, renames, sharing and membership changes are refused. Reads and downloads keep working. Contact an administrator to un-freeze the drive." ,
"aria" : "This drive is read-only"
2026-07-19 15:16:08 +02:00
},
"back_to_files" : "Back to Files" ,
"danger_zone" : "Danger zone" ,
"delete" : "Delete drive" ,
"delete_confirm" : "Delete drive \"{{name}}\"? This cannot be undone — the drive must be empty first or the server will refuse." ,
"delete_hint" : "Deleting a drive removes it permanently. The drive must be empty (no live files or folders) before delete is allowed." ,
"deleted" : "Drive deleted." ,
"field" : {
"created" : "Created" ,
"default" : "Default" ,
"default_yes" : "This is your home drive" ,
"id" : "Identifier" ,
"kind" : "Kind" ,
"updated" : "Last updated"
},
"info" : "Drive info" ,
"kind_personal" : "Personal drive" ,
"kind_shared" : "Shared drive" ,
"manage_members" : "Manage members" ,
"members" : "Members" ,
"members_empty" : "No members." ,
"not_found_body" : "This drive doesn't exist or you don't have access to it." ,
"not_found_title" : "Drive not found" ,
"policies" : "Policies" ,
"policies_help" : "Rules an OxiCloud admin has set for this drive. Only admins can change them; you're seeing the current state." ,
"quota" : "Quota" ,
"rename" : "Rename drive" ,
"role" : {
"commenter" : "Commenter" ,
"contributor" : "Contributor" ,
"editor" : "Editor" ,
"owner" : "Owner" ,
"viewer" : "Viewer"
},
"storage" : "Storage" ,
"usage" : "Usage" ,
"used" : "Used" ,
"members_personal_immutable" : "Personal drives have a fixed single-owner membership."
},
"group" : {
"members_empty" : "No members" ,
"member_count" : "{{n}} members"
2026-07-19 23:58:26 +02:00
},
"resource_list" : {
"location" : "Location" ,
2026-07-20 22:35:30 +02:00
"wrong_drop_zone_msg" : "Uploads only work in Files — open the Files section and drop there." ,
"wrong_drop_zone_action" : "Go to Files"
2026-06-17 22:52:06 -06:00
}
2026-08-12 23:35:30 +02:00
}