2025-03-17 21:28:08 +01:00
{
2026-06-03 13:18:05 +02: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" ,
2026-06-05 10:05:51 +02:00
"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-03 13:18:05 +02: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"
},
"kind_file" : "file" ,
"kind_folder" : "folder" ,
"english_fallback_divider" : "--- English version below ---"
}
2026-06-05 09:46:51 +02:00
},
"notification" : {
"share" : {
"subject" : "{{inviter}} shared a {{kind}} with you on OxiCloud" ,
2026-06-05 10:05:51 +02:00
"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-06-05 09:46:51 +02:00
}
2026-06-03 13:18:05 +02:00
}
},
2026-04-12 02:13:08 +02:00
"app" : {
"title" : "OxiCloud" ,
"description" : "Minimalist cloud storage system"
},
2026-06-05 09:46:51 +02:00
"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"
},
2026-04-12 02:13:08 +02:00
"nav" : {
"files" : "Files" ,
2026-05-22 10:15:25 +02:00
"shared" : "My shares" ,
"sharedwithme" : "Shared with me" ,
2026-04-12 02:13:08 +02:00
"recent" : "Recent" ,
"favorites" : "Favorites" ,
"photos" : "Photos" ,
"music" : "Music" ,
"trash" : "Trash"
},
"photos" : {
"empty_state" : "No photos yet" ,
"empty_hint" : "Upload images or videos to see them here" ,
"items_selected" : "selected" ,
"view_daily" : "Day" ,
"view_monthly" : "Month" ,
"view_yearly" : "Year"
},
"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…"
},
"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" ,
2026-05-06 17:43:30 +02:00
"empty_trash" : "Empty trash" ,
2026-06-15 00:17:17 +02:00
"open_parent_folder" : "Go to parent folder" ,
"add" : "Add" ,
"apply" : "Apply" ,
"clear" : "Clear" ,
"remove" : "Remove"
2026-04-12 02:13:08 +02:00
},
"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" ,
2026-05-30 01:06:32 +02:00
"role_user" : "User" ,
"theme" : {
"light" : "Light" ,
"dark" : "Dark" ,
"auto" : "Like OS"
2026-05-30 23:35:47 +02:00
},
"manage_groups" : "Manage groups"
2026-04-12 02:13:08 +02:00
},
"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" ,
2026-06-02 12:25:44 +02:00
"shareRemoved" : "Share removed successfully" ,
2026-06-15 00:17:17 +02:00
"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"
},
"searchPlaceholder" : "Search people…" ,
"shareOf" : "Share of:" ,
"sharedLink" : "Shared link"
2026-04-12 02:13:08 +02: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" ,
"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-05-25 22:34:45 +02:00
},
"owner" : "Owner"
2026-04-12 02:13:08 +02: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" ,
2026-04-25 23:51:08 +02:00
"message" : "Message" ,
"move_to_home" : "Move to Home folder"
2026-04-12 02:13:08 +02:00
},
"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" ,
2026-05-30 23:35:47 +02:00
"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."
2026-04-12 02:13:08 +02:00
},
"breadcrumb" : {
"home" : "Home"
},
"trash" : {
"empty_trash" : "Empty Trash" ,
"empty_state" : "Trash is empty" ,
"original_location" : "Original location" ,
"deleted_date" : "Deletion date" ,
2026-05-30 00:15:07 +02:00
"remaining" : "Remaining" ,
2026-04-12 02:13:08 +02:00
"actions" : "Actions" ,
"restore" : "Restore" ,
"delete_permanently" : "Delete permanently" ,
2026-05-30 00:15:07 +02:00
"empty_confirm" : "Are you sure you want to empty the trash? This will permanently delete all items." ,
"groupby" : {
"remaining_days" : "Remaining days" ,
"trashed_time" : "Trashed time"
}
},
"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}}"
2026-04-12 02:13:08 +02:00
},
"auth" : {
"login_title" : "Sign in" ,
"username" : "Username" ,
"username_placeholder" : "Enter your username" ,
2026-06-02 21:46:01 +02:00
"login_identifier" : "Username or email" ,
"login_identifier_placeholder" : "Enter your username or email" ,
2026-04-12 02:13:08 +02:00
"password" : "Password" ,
"password_placeholder" : "Enter your password" ,
"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" ,
2026-06-02 13:45:37 +02:00
"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." ,
2026-06-15 00:17:17 +02:00
"magicLinkNetworkError" : "Could not reach the server: {{message}}" ,
"magicLinkToggle" : "No password? Email me a sign-in link" ,
"passwordsMatch" : "Passwords match" ,
"capsLock" : "Caps Lock is on"
2026-04-12 02:13:08 +02: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"
},
"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" ,
2026-05-28 11:50:32 +02:00
"empty_hint" : "Files you open will appear here" ,
"loadMore" : "Load more"
2026-04-12 02:13:08 +02: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" ,
2026-04-25 23:51:08 +02:00
"empty" : "No notifications" ,
"link_created" : "Link created" ,
2026-05-09 19:18:33 +02:00
"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"
2026-04-12 02:13:08 +02:00
},
"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}}" ,
2026-04-14 21:33:38 +02:00
"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" ,
2026-06-02 00:35:45 +02:00
"testing" : "Testing…" ,
2026-06-16 21:26:36 -06:00
"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)." ,
2026-06-16 23:00:23 -06:00
"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}}" ,
2026-06-02 00:35:45 +02:00
"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."
2026-04-12 02:13:08 +02: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" ,
2026-06-03 09:35:38 +02:00
"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" ,
2026-06-05 09:46:51 +02:00
"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-06-03 09:35:38 +02: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." ,
2026-04-12 02:13:08 +02:00
"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." ,
2026-05-26 00:50:38 +02:00
"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."
2026-04-25 23:51:08 +02:00
},
"upload" : {
"uploading" : "Uploading..." ,
"files" : "files" ,
"complete" : "{{count}} / {{total}} uploaded"
},
2026-05-22 10:15:25 +02:00
"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"
2026-05-27 00:32:10 +02:00
},
"groupby" : {
"none" : "None" ,
2026-05-29 02:16:15 +02:00
"byFiles" : "By files" ,
"sharedWith" : "Shared with" ,
2026-05-27 00:32:10 +02:00
"title" : "Group by" ,
2026-05-28 11:50:32 +02:00
"type" : "Type" ,
"type.folders" : "Folders" ,
2026-05-27 00:32:10 +02:00
"owner" : "Owner" ,
2026-05-28 11:50:32 +02:00
"shareDate" : "Share date" ,
"favoriteDate" : "Favorite date" ,
"accessedAt" : "Accessed date" ,
"modifiedAt" : "Modified date" ,
"createdAt" : "Created date" ,
2026-06-05 11:15:44 +02:00
"size" : "Size" ,
"justAdded" : "New"
2026-05-27 00:32:10 +02:00
},
"dateBucket" : {
"today" : "Today" ,
"last7days" : "Last 7 days" ,
"last30days" : "Last 30 days"
2026-05-30 23:35:47 +02:00
},
"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" ,
2026-06-05 15:01:22 +02:00
"members_loading" : "Loading members…" ,
"members_empty" : "No members" ,
2026-05-30 23:35:47 +02:00
"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." ,
2026-06-05 15:01:22 +02:00
"virtual_internal_name" : "Internal" ,
"virtual_internal_explanation" : "Every internal user on this server"
2026-06-15 00:17:17 +02:00
},
"sort" : {
"asc" : "ascending" ,
"desc" : "descending"
},
"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}}"
2026-05-22 10:15:25 +02:00
}
2026-04-26 00:22:49 +02:00
}