sftpgo/static/locales/en/translation.json
Nicola Murino 3121c35437
WebClient: do not silently overwrite files/directories
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2023-12-28 18:43:07 +01:00

403 lines
23 KiB
JSON

{
"title": {
"login": "Login",
"share_login": "Share Login",
"profile": "Profile",
"change_password": "Change password",
"files": "Files",
"shares": "Shares",
"add_share": "Add share",
"update_share": "Update share",
"two_factor_auth": "Two-factor authentication",
"two_factor_auth_short": "2FA",
"edit_file": "Edit file",
"view_file": "View file",
"recovery_password": "Password recovery",
"reset_password": "Password reset",
"shared_files": "Shared files",
"upload_to_share": "Upload to share",
"download_shared_file": "Download shared file",
"share_access_error": "Unable to access the share",
"invalid_auth_request": "Invalid authentication request",
"error400": "Bad Request",
"error403": "Forbidden",
"error404": "Not Found",
"error416": "Requested Range Not Satisfiable",
"error429": "Too Many Requests",
"error500": "Internal Server Error",
"errorPDF": "Unable to show PDF file",
"error_editor": "Cannot open file editor"
},
"login": {
"username": "Username",
"password": "Password",
"your_username": "Your username",
"forgot_password": "Forgot Password?",
"forgot_password_msg": "Enter your account username below, you will receive a password reset code by email.",
"send_reset_code": "Send Reset Code",
"signin": "Sign in",
"signin_openid": "Sign in with OpenID",
"signout": "Sign out",
"auth_code": "Authentication code",
"two_factor_help": "Open the two-factor authentication app on your device to view your authentication code and verify your identity.",
"two_factor_msg": "Enter a two-factor recovery code",
"recovery_code": "Recovery code",
"recovery_code_msg": "You can enter one of your recovery codes in case you lost access to your mobile device.",
"reset_password": "Reset Password",
"reset_pwd_msg": "Check your email for the confirmation code",
"reset_submit": "Update Password and Sign in",
"confirm_code": "Confirmation code",
"reset_pwd_forbidden": "You are not allowed to reset your password",
"reset_pwd_no_email": "Your account does not have an email address, it is not possible to reset your password by sending an email verification code",
"reset_pwd_send_email_err": "Unable to send confirmation code via email",
"reset_pwd_err_generic": "Unexpected error while resetting password",
"reset_ok_login_error": "The password reset completed successfully but an unexpected error occurred while signing in",
"ip_not_allowed": "Login is not allowed from this IP address",
"two_factor_required": "Set up two-factor authentication, it is required for the following protocols: {{val}}",
"link": "Go to {{link}}"
},
"theme": {
"light": "Light",
"dark": "Dark",
"system": "Auto"
},
"general": {
"invalid_auth_request": "The authentication request does not meet security requirements",
"error400": "The received request is not valid",
"error403": "You do not have the required permissions",
"error404": "The requested resource does not exist",
"error416": "The requested file fragment could not be returned",
"error429": "Rate limit exceeded",
"error500": "The server is unable to fulfill your request",
"errorPDF": "This file does not look like a PDF",
"error_edit_dir": "Cannot edit a directory",
"error_edit_size": "The file size exceeds the maximum allowed size",
"invalid_form": "Invalid form",
"invalid_credentials": "Invalid credentials, please retry",
"invalid_csrf": "The form token is not valid",
"invalid_token": "Invalid permissions",
"confirm_logout": "Are you sure you want to sign out?",
"wait": "Please wait...",
"ok": "OK",
"none": "None",
"cancel": "No, back",
"submit": "Save",
"back": "Back",
"add": "Add",
"enable": "Enable",
"disable": "Disable",
"close": "Close",
"search": "Search",
"configuration": "Configuration",
"config_saved": "Configuration saved",
"rename": "Rename",
"confirm": "Yes, proceed",
"edit": "Edit",
"delete": "Delete",
"delete_confirm_btn": "Yes, delete",
"delete_confirm": "Do you want to delete \"{{- name}}\"? This action is irreversible",
"delete_confirm_generic": "Do you want to delete the selected item? This action is irreversible",
"delete_multi_confirm": "Do you want to delete the selected items? This action is irreversible",
"delete_error_generic": "Unable to delete the selected item",
"delete_error_403": "$t(general.delete_error_generic). $t(general.error403)",
"delete_error_404": "$t(general.delete_error_generic). $t(general.error404)",
"loading": "Loading...",
"name": "Name",
"size": "Size",
"last_modified": "Last Modified",
"info": "Info",
"datetime": "{{- val, datetime}}",
"selected_items_one": "{{count}} item selected",
"selected_items_other": "{{count}} items selected",
"name_required": "Name is required",
"name_different": "The new name must be different from the current name",
"html5_media_not_supported": "Your browser does not support HTML5 audio/video.",
"choose_target_folder": "Choose target folder",
"source_name": "Source name",
"target_folder": "Target folder",
"dest_name": "Destination name",
"my_profile": "My profile",
"description": "Description",
"email": "Email",
"api_key_auth": "API key authentication",
"api_key_auth_help": "Allow to impersonate yourself, in REST API, using an API key",
"pub_keys": "Public keys",
"pub_key_placeholder": "Paste your public key here",
"verify": "Verify",
"problems": "Having problems?",
"allowed_ip_mask": "Allowed IP/Mask",
"allowed_ip_mask_help": "Comma separated IP/Mask in CIDR format, for example \"192.168.1.0/24,10.8.0.100/32\"",
"allowed_ip_mask_invalid": "Invalid allowed IP/Mask",
"username_required": "The username is required",
"foldername_required": "The folder name is required",
"err_user": "Unable to validate your user",
"err_protocol_forbidden": "HTTP protocol is not allowed for your user",
"pwd_login_forbidden": "The password login method is not allowed for your user",
"ip_forbidden": "Login not allowed from this IP address",
"email_invalid": "The email address is invalid",
"err_password_complexity": "The password provided does not meet the complexity requirements",
"no_oidc_feature": "This feature is not available if you are logged in with OpenID",
"connection_forbidden": "You are not allowed to connect",
"no_permissions": "You are not allowed to change anything",
"path_invalid": "Invalid path",
"err_quota_read": "Read denied due to quota limit",
"profile_updated": "Your profile has been successfully updated",
"share_ok": "Share access successful, you can now use your link",
"qr_code": "QR Code",
"copy_link": "Copy link",
"copied": "Copied"
},
"fs": {
"view_file": "View file \"{{- path}}\"",
"edit_file": "Edit file \"{{- path}}\"",
"new_folder": "New Folder",
"select_across_pages": "Select across pages",
"actions": "Actions",
"download": "Download",
"download_ready": "Your download is ready",
"move_copy": "Move or copy",
"share": "Share",
"home": "Home",
"create_folder_msg": "Folder name",
"no_more_subfolders": "No more subfolders in here",
"no_files_folders": "No files or folders",
"invalid_name": "File or folder names cannot contain \"/\"",
"folder_name_required": "Folder name is required",
"deleting": "Delete {{idx}}/{{total}}: {{- name}}",
"copying": "Copy {{idx}}/{{total}}: {{- name}}",
"moving": "Move {{idx}}/{{total}}: {{- name}}",
"uploading": "Upload {{idx}}/{{total}}: {{- name}}",
"err_403": "Permission denied",
"err_429": "Too many concurrent requests",
"err_generic": "Unable to access the requested resource",
"err_validation": "Invalid filesystem configuration",
"err_exists": "The destination already exists",
"dir_list": {
"err_generic": "Failed to get directory listing",
"err_403": "$t(fs.dir_list.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.dir_list.err_generic). $t(fs.err_429)",
"err_user": "$t(fs.dir_list.err_generic). $t(general.err_user)"
},
"create_dir": {
"err_generic": "Error creating new folder",
"err_403": "$t(fs.create_dir.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.create_dir.err_generic). $t(fs.err_429)"
},
"save": {
"err_generic": "Error saving file",
"err_403": "$t(fs.create_dir.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.create_dir.err_generic). $t(fs.err_429)"
},
"delete": {
"err_generic": "Unable to delete \"{{- name}}\"",
"err_403": "$t(fs.delete.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.delete.err_generic). $t(fs.err_429)"
},
"delete_multi": {
"err_generic_partial": "Not all the selected items have been deleted, please reload the page",
"err_generic": "Unable to delete the selected items",
"err_403_partial": "$t(fs.delete_multi.err_generic_partial). $t(fs.err_403)",
"err_429_partial": "$t(fs.delete_multi.err_generic_partial). $t(fs.err_429)",
"err_403": "$t(fs.delete_multi.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.delete_multi.err_generic). $t(fs.err_429)"
},
"copy": {
"msg": "Copy",
"err_generic": "Error copying files/directories",
"err_403": "$t(fs.copy.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.copy.err_generic). $t(fs.err_429)",
"err_exists": "$t(fs.copy.err_generic). $t(fs.err_exists)"
},
"move": {
"msg": "Move",
"err_generic": "Error moving files/directories",
"err_403": "$t(fs.move.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.move.err_generic). $t(fs.err_429)",
"err_exists": "$t(fs.move.err_generic). $t(fs.err_exists)"
},
"rename": {
"title": "Rename \"{{- name}}\"",
"new_name": "New name",
"err_generic": "Unable to rename \"{{- name}}\"",
"err_403": "$t(fs.rename.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.rename.err_generic). $t(fs.err_429)",
"err_exists": "$t(fs.rename.err_generic). $t(fs.err_exists)"
},
"upload": {
"text": "Upload Files",
"success": "Files uploaded successfully",
"message": "Drop files here or click to upload.",
"message_empty": "This directory is empty. $t(fs.upload.message)",
"err_generic": "Error uploading files",
"err_403": "$t(fs.upload.err_generic). $t(fs.err_403)",
"err_429": "$t(fs.upload.err_generic). $t(fs.err_429)",
"err_dir_overwrite": "$t(fs.upload.err_generic). There are directories with the same name as the files: {{- val}}",
"overwrite_text": "File conflict detected. Do you want to overwrite the following files?"
},
"quota_usage": {
"title": "Quota usage",
"disk": "Disk quota",
"size": "Size: {{- val}}",
"size_percentage": "Size: {{- val}} ({{percentage}}%)",
"files": "Files: {{- num}}",
"files_percentage": "Files: {{- val}} ({{percentage}}%)",
"transfer": "Transfer quota",
"total": "Total: {{- val}}",
"total_percentage": "Total: {{- val}} ({{percentage}}%)",
"uploads": "Uploads: {{- val}}",
"uploads_percentage": "Uploads: {{- val}} ({{percentage}}%)",
"downloads": "Downloads: {{- val}}",
"downloads_percentage": "Downloads: {{- val}} ({{percentage}}%)"
}
},
"datatable": {
"info": "Showing _START_ to _END_ of _TOTAL_ records",
"info_empty": "Showing no record",
"info_filtered": "(filtered from _MAX_ total records)",
"processing": "Processing..."
},
"editor": {
"keybinding": "Editor keybindings",
"search": "Open search panel",
"goto": "Jump to line",
"indent_more": "Indent more",
"indent_less": "Indent less"
},
"2fa": {
"title": "Two-factor authentication using Authenticator apps",
"msg_enabled": "Two-factor authentication is enabled",
"msg_disabled": "Secure Your Account",
"msg_info": "Two-factor authentication adds an extra layer of security to your account. To log in you'll need to provide an additional authentication code.",
"require_for": "Require 2FA for",
"generate": "Generate new secret key",
"recovery_codes": "Recovery codes",
"new_recovery_codes": "New recovery codes",
"recovery_codes_msg1": "Recovery codes are a set of one time use codes that can be used in place of the authentication code to login to the web UI. You can use them if you lose access to your phone to login to your account and disable or regenerate two-factor auth configuration.",
"recovery_codes_msg2": "To keep your account secure, don't share or distribute your recovery codes. We recommend saving them with a secure password manager.",
"recovery_codes_msg3": "If you generate new recovery codes, you automatically invalidate old ones.",
"info_title": "Learn about two-factor authentication",
"info1": "SSH protocol (SFTP/SCP/SSH commands) will ask for the passcode if the client uses keyboard interactive authentication.",
"info2": "HTTP protocol means Web UI and REST APIs. Web UI will ask for the passcode using a specific page. For REST API you have to add the passcode using an HTTP header.",
"info3": "FTP has no standard way to support two-factor authentication, if you enable the FTP support, you have to add the TOTP passcode after the password. For example if your password is \"password\" and your one time passcode is \"123456\" you have to use \"password123456\" as password.",
"info4": "WebDAV is not supported since each single request must be authenticated and a passcode cannot be reused.",
"setup_title": "Set up two-factor authentication",
"setup_msg": "Use your preferred Authenticator App (e.g. Microsoft Authenticator, Google Authenticator, Authy, 1Password etc. ) to scan the QR code. It will generate an authentication code for you to enter below.",
"setup_help": "If you have trouble using the QR code, select manual entry on your app, and enter the code:",
"disable_question": "Do you want to disable two-factor authentication?",
"generate_question": "Do you want to generate a new secret key and invalidate the previous one? Any registered Authenticator App will stop working",
"disabled": "Two-factor authentication is disabled",
"recovery_codes_gen_err": "Failed to generate new recovery codes",
"recovery_codes_get_err": "Unable to obtain recovery codes",
"auth_code_invalid": "Failed to validate the provided authentication code",
"auth_secret_gen_err": "Failed to generate authentication secret",
"save_err": "Failed to save configuration",
"auth_code_required": "The authentication code is required",
"no_protocol": "Please select at least a protocol",
"required_protocols": "Unable to disable two-factor authentication. The security policy configured for your account requires two-factor authentication for the following protocols: {{val}}",
"recovery_codes_generate": "Generate new recovery codes",
"recovery_codes_view": "View recovery codes"
},
"share": {
"scope": "Scope",
"scope_read": "Read",
"scope_write": "Write",
"scope_read_write": "Read/Write",
"scope_help": "For scope \"Write\" and \"Read/Write\" you have to define a single path and it must be a directory",
"paths": "Paths",
"path_help": "file or directory path, i.e. /dir or /dir/file.txt",
"password_help": "If set the share will be password-protected",
"expiration": "Expiration",
"expiration_help": "Pick an expiration date",
"max_tokens": "Max tokens",
"max_tokens_help": "Maximum number of times this share can be accessed. 0 means no limit",
"view_manage": "View and manage shares",
"no_share": "No sharing",
"password_protected": "Password protected.",
"expiration_date": "Expiration: {{- val, datetime}}. ",
"last_use": "Last use: {{- val, datetime}}. ",
"usage": "Usage: {{used}}/{{total}}. ",
"used_tokens": "Used token: {{used}}. ",
"scope_invalid": "Invalid scope",
"max_tokens_invalid": "Invalid max tokens",
"expiration_invalid": "Invalid expiration",
"err_no_password": "You are not allowed to share files/folders without password",
"expiration_out_of_range": "Set an expiration date and make sure it is less than or equal to {{- val, datetime}}",
"generic": "Unexpected error saving share",
"path_required": "At least a path is required",
"path_write_scope": "The write scope requires exactly one path",
"nested_paths": "Paths cannot be nested",
"expiration_past": "The expiration date must be in the future",
"usage_exceed": "Maximum sharing usage exceeded",
"expired": "Sharing has expired",
"browsable_multiple_paths": "A share with multiple paths is not browsable",
"browsable_non_dir": "The share is not a directory so it is not browsable",
"go": "Go to share",
"access_links_title": "Share access links",
"link_single_title": "Single zip file",
"link_single_desc": "You can download the shared content as a single zip file",
"link_dir_title": "Single directory",
"link_dir_desc": "If the share consists of a single directory, you can browse and download files",
"link_uncompressed_title": "Uncompressed file",
"link_uncompressed_desc": "If the share consists of a single file, it can also be downloaded uncompressed",
"upload_desc": "You can upload one or more files to the shared directory",
"expired_desc": "This share is no longer accessible because it has expired",
"invalid_path": "The shared directory is missing or not accessible"
},
"select2": {
"no_results": "No results found",
"searching": "Searching...",
"removeall": "Remove all items",
"remove": "Remove item"
},
"change_pwd": {
"info": "Enter your current password, for security reasons, and then your new password twice, to verify that you have written it correctly. You will be logged out after changing your password",
"current": "Current password",
"new": "New password",
"confirm": "Confirm password",
"save": "Change my password",
"required_fields": "Please provide the current password and the new one two times",
"no_match": "The two password fields do not match",
"no_different": "The new password must be different from the current one",
"current_no_match": "Current password does not match",
"generic": "Unexpected error while changing password",
"required": "Password change is required. Set a new password to continue using your account"
},
"user": {
"username_reserved": "The specified username is reserved",
"username_invalid": "The specified username is not valid, the following characters are allowed: a-zA-Z0-9-_.~",
"home_required": "The home directory is mandatory",
"home_invalid": "The home directory must be an absolute path",
"pub_key_invalid": "Invalid public key",
"err_primary_group": "Only one primary group is allowed",
"err_duplicate_group": "Duplicate groups detected",
"no_permissions": "Directories permissions are mandatory",
"no_root_permissions": "Home directory permissions are required",
"err_permissions_generic": "Invalid permissions: Make sure you use valid absolute paths",
"2fa_invalid": "Invalid configuration for two-factor authentication",
"recovery_codes_invalid": "Invalid recovery codes",
"folder_path_required": "The virtual folder mount path is required",
"folder_duplicated": "Duplicated virtual folders detected",
"folder_overlapped": "Overlapping virtual folders detected",
"folder_quota_size_invalid": "The quota as size of virtual folders must be greater than or equal to -1",
"folder_quota_file_invalid": "The quota as files of virtual folders must be greater than or equal to -1",
"folder_quota_invalid": "Quotas as size and as number of files of virtual folders must be both -1 or greater or equal than zero",
"ip_filters_invalid": "Invalid IP filters, make sure they respect CIDR notation, for example 192.168.1.0/24",
"src_bw_limits_invalid": "Invalid per-source bandwidth speed limits",
"share_expiration_invalid": "The expiration for shares must be greater than or equal to the defined default value",
"file_pattern_path_invalid": "File name pattern filter paths must be absolute",
"file_pattern_duplicated": "Duplicated file name pattern filters detected",
"file_pattern_invalid": "Invalid file name pattern filters",
"disable_active_2fa": "Two-factor authentication cannot be disabled for a user with an active configuration",
"pwd_change_conflict": "It is not possible to request a password change and at the same time prevent the password from being changed"
},
"oidc": {
"token_expired": "Your OpenID token has expired, please log in again",
"token_invalid_webadmin": "Your OpenID token is not valid for the WebAdmin UI. Log out of your OpenID server and log in to WebAdmin",
"token_invalid_webclient": "Your OpenID token is not valid for the WebClient UI. Log out of your OpenID server and log in to the WebClient",
"token_exchange_err": "Failed to exchange OpenID token",
"token_invalid": "Invalid OpenID token",
"role_admin_err": "Incorrect OpenID role, logged in user is not an administrator",
"role_user_err": "Incorrect OpenID role, logged in user is an administrator",
"get_user_err": "Failed to get user associated with OpenID token"
}
}