27ab392a35
For example jobs where translated into "employment" in other language Remove english text in other languages
1828 lines
75 KiB
JSON
1828 lines
75 KiB
JSON
{
|
||
"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"
|
||
},
|
||
"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 ---"
|
||
}
|
||
},
|
||
"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)."
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"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."
|
||
},
|
||
"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",
|
||
"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"
|
||
}
|
||
},
|
||
"nav": {
|
||
"files": "Files",
|
||
"shared": "My shares",
|
||
"sharedwithme": "Shared with me",
|
||
"recent": "Recent",
|
||
"favorites": "Favorites",
|
||
"photos": "Photos",
|
||
"music": "Music",
|
||
"trash": "Trash",
|
||
"groups": "Groups",
|
||
"primary": "Primary",
|
||
"admin_sections": "Admin sections",
|
||
"back_to_app": "Back to OxiCloud",
|
||
"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",
|
||
"empty_hidden": "{{n}} photo(s) hidden by your dotfile preference",
|
||
"empty_hidden_hint": "Turn off \"Hide dotfiles\" in your profile to see them.",
|
||
"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.",
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"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)."
|
||
},
|
||
"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",
|
||
"role_label": "Role",
|
||
"col_shared_by": "Shared by",
|
||
"col_shared": "Shared"
|
||
},
|
||
"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",
|
||
"drop_to_upload": "Drop files here to upload",
|
||
"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"
|
||
},
|
||
"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",
|
||
"col_modified": "Modified",
|
||
"col_added": "Added",
|
||
"col_created_by": "Created by",
|
||
"col_opened": "Opened",
|
||
"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",
|
||
"new_elements": "New elements",
|
||
"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",
|
||
"uploaded_partial": "{{ok}} uploaded, {{failed}} failed",
|
||
"uploaded_skipped": "{{ok}} uploaded · {{skipped}} skipped (not regular files)",
|
||
"upload_failed": "Upload failed",
|
||
"uploading": "Uploading…",
|
||
"uploading_file": "Uploading {{name}}…",
|
||
"uploading_n": "Uploading {{done}}/{{total}} files…",
|
||
"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"
|
||
},
|
||
"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": {
|
||
"home": "Home",
|
||
"aria": "Breadcrumb",
|
||
"root": {
|
||
"personal_drive": "Personal drive: {{name}}",
|
||
"shared_drive": "Shared drive: {{name}}",
|
||
"direct_share": "Shared with you",
|
||
"token": "Via shared link"
|
||
}
|
||
},
|
||
"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.",
|
||
"groupby": {
|
||
"remaining_days": "Remaining days",
|
||
"trashed_time": "Trashed time"
|
||
},
|
||
"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",
|
||
"restored": "Restored",
|
||
"expires_at": "Expires at"
|
||
},
|
||
"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",
|
||
"password_or_link_hint": "Password (leave blank for a sign-in link)",
|
||
"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.",
|
||
"logged_out": "Successfully signed out.",
|
||
"sign_in": "Sign in",
|
||
"signing_in": "Signing in…",
|
||
"sending": "Sending…",
|
||
"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.",
|
||
"login_error_email_ambiguous": "Multiple local accounts match this email address. Contact your administrator to resolve.",
|
||
"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."
|
||
},
|
||
"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",
|
||
"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.",
|
||
"loadMore": "Load more",
|
||
"confirm_clear": "Clear your recent items?",
|
||
"remove_item": "Remove from recent"
|
||
},
|
||
"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",
|
||
"sessions": {
|
||
"filter_user": "User (UUID)",
|
||
"include_revoked": "Include revoked / expired",
|
||
"refresh": "Refresh",
|
||
"col_user": "User",
|
||
"col_origin": "Origin",
|
||
"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?",
|
||
"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"
|
||
}
|
||
},
|
||
"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",
|
||
"storage_test": "Test",
|
||
"storage_backend_audit": "Backend consistency",
|
||
"storage_backend_audit_triggered": "backend_consistency triggered for `{{name}}` — watch it on the Background tasks tab.",
|
||
"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",
|
||
"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",
|
||
"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.",
|
||
"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\").",
|
||
"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."
|
||
},
|
||
"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",
|
||
"no_drives": "No drives yet.",
|
||
"external_user": "external",
|
||
"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}}",
|
||
"deleting": "Deleting…",
|
||
"jobs": {
|
||
"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.",
|
||
"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",
|
||
"col_progress": "Progress",
|
||
"col_findings": "Findings",
|
||
"progress_exact_tooltip": "{{pct}} ({{scanned}} / {{total}})",
|
||
"progress_approx_tooltip": "{{pct}} ({{scanned}} / {{total}} — approximate, backend proxy)",
|
||
"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.",
|
||
"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.",
|
||
"none_registered": "No background tasks registered.",
|
||
"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",
|
||
"outcome_issues": "issues",
|
||
"outcome_notices": "notices",
|
||
"n_findings": "{{n}} findings",
|
||
"n_notices": "{{n}} notices",
|
||
"notices_present_tooltip": "Informational findings — no action required. Expand for detail.",
|
||
"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.",
|
||
"purge_title": "Purge old task history",
|
||
"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)",
|
||
"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"
|
||
}
|
||
},
|
||
"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.",
|
||
"hide_dotfiles": "Hide files whose name starts with a dot (.env, .git, …)",
|
||
"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",
|
||
"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."
|
||
},
|
||
"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",
|
||
"dismiss": "Dismiss",
|
||
"saving": "Saving…",
|
||
"deleting": "Deleting…"
|
||
},
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"size_label": "Size",
|
||
"sort": {
|
||
"largest": "Largest",
|
||
"name_asc": "Name A-Z",
|
||
"name_desc": "Name Z-A",
|
||
"newest": "Newest",
|
||
"oldest": "Oldest",
|
||
"relevance": "Relevance",
|
||
"smallest": "Smallest"
|
||
},
|
||
"sort_by": "Sort by",
|
||
"this_folder": "This folder",
|
||
"title": "Search",
|
||
"type": {
|
||
"all": "All types",
|
||
"archive": "Archives",
|
||
"audio": "Audio",
|
||
"document": "Documents",
|
||
"image": "Images",
|
||
"video": "Videos"
|
||
},
|
||
"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"
|
||
},
|
||
"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",
|
||
"list": "List view",
|
||
"hide_dotfiles": "Hide hidden files",
|
||
"show_dotfiles": "Show hidden files"
|
||
},
|
||
"preferences": {
|
||
"save_failed": "Couldn't save your preference. Please try again."
|
||
},
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"resource_list": {
|
||
"location": "Location",
|
||
"wrong_drop_zone_msg": "Uploads only work in Files — open the Files section and drop there.",
|
||
"wrong_drop_zone_action": "Go to Files"
|
||
}
|
||
}
|