diff --git a/static/locales/en/translation.json b/static/locales/en/translation.json index 854aac04..3ee29b95 100644 --- a/static/locales/en/translation.json +++ b/static/locales/en/translation.json @@ -1,381 +1,381 @@ { - "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}}" - }, - "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", - "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...", - "or": "or", - "ok": "OK", - "none": "None", - "cancel": "Cancel", - "submit": "Save", - "back": "Back", - "add": "Add", - "enable": "Enable", - "disable": "Disable", - "close": "Close", - "search": "Search", - "configuration": "Configuration", - "config_saved": "Configuration saved", - "rename": "Rename", - "confirm": "Confirm", - "edit": "Edit", - "delete": "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?", - "generate": "Generate", - "view": "View", - "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" - }, - "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", - "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)" - }, - "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)" - }, - "rename": { - "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)" - }, - "upload": { - "text": "Upload Files", - "success": "Files uploaded successfully", - "message": "Drop files here or click to upload.", - "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)" - }, - "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", - "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 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": "The following protocols are required: {{val}}" - }, - "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" - }, - "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" - } + "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}}" + }, + "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", + "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...", + "or": "or", + "ok": "OK", + "none": "None", + "cancel": "Cancel", + "submit": "Save", + "back": "Back", + "add": "Add", + "enable": "Enable", + "disable": "Disable", + "close": "Close", + "search": "Search", + "configuration": "Configuration", + "config_saved": "Configuration saved", + "rename": "Rename", + "confirm": "Confirm", + "edit": "Edit", + "delete": "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?", + "generate": "Generate", + "view": "View", + "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" + }, + "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", + "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)" + }, + "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)" + }, + "rename": { + "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)" + }, + "upload": { + "text": "Upload Files", + "success": "Files uploaded successfully", + "message": "Drop files here or click to upload.", + "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)" + }, + "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", + "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 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": "The following protocols are required: {{val}}" + }, + "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" + }, + "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" + } } \ No newline at end of file diff --git a/static/locales/it/translation.json b/static/locales/it/translation.json index ace64143..10215b7a 100644 --- a/static/locales/it/translation.json +++ b/static/locales/it/translation.json @@ -30,8 +30,8 @@ }, "login": { "username": "Nome utente", - "your_username": "Il tuo nome utente", "password": "Password", + "your_username": "Il tuo nome utente", "forgot_password": "Password dimenticata?", "forgot_password_msg": "Inserisci il nome utente del tuo account qui sotto, riceverai un codice di reimpostazione della password via e-mail.", "send_reset_code": "Invia codice di ripristino", @@ -353,7 +353,7 @@ "err_permissions_generic": "Permessi non validi: assicurati di utilizzare percorsi assoluti validi", "2fa_invalid": "Configurazione non valida per l'autenticazione a due fattori", "recovery_codes_invalid": "Codici di ripristino non validi", - "folde_path_required": "Il percorso di montaggio delle cartelle virtuali è obbligatorio", + "folder_path_required": "Il percorso di montaggio delle cartelle virtuali è obbligatorio", "folder_duplicated": "Rilevate cartelle virtuali duplicate", "folder_overlapped": "Rilevate cartelle virtuali sovrapposte", "folder_quota_size_invalid": "La quota come dimensione delle cartelle virtuali deve essere maggiore o uguale a -1",