diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index ba5023093..f02ad9f2a 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,6 +33,7 @@ msgid "Account not found" msgstr "" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "" @@ -115,10 +116,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -149,6 +152,8 @@ msgstr "" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "" @@ -440,7 +445,7 @@ msgid "" "Vault." msgstr "" -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -472,7 +477,7 @@ msgstr "" msgid "Asset" msgstr "" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -480,46 +485,46 @@ msgstr "" msgid "Su from" msgstr "Switch from" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "Access by" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -540,35 +545,35 @@ msgstr "" msgid "Account" msgstr "" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "" @@ -582,7 +587,7 @@ msgstr "" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -630,8 +635,8 @@ msgstr "" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "" @@ -901,6 +906,8 @@ msgstr "" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "" @@ -1101,12 +1108,14 @@ msgid "Notification of account backup route task results" msgstr "" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" msgstr "" #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1118,12 +1127,14 @@ msgid "Notification of implementation result of encryption change plan" msgstr "" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" msgstr "" #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1175,6 +1186,7 @@ msgid "Change password and Add" msgstr "" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "" @@ -1191,7 +1203,7 @@ msgid "Exist policy" msgstr "" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1204,7 +1216,7 @@ msgstr "" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1226,7 +1238,7 @@ msgstr "" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "" @@ -1269,7 +1281,7 @@ msgstr "" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "" @@ -1347,7 +1359,7 @@ msgstr "Description" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "" @@ -1903,6 +1915,7 @@ msgid "Command group" msgstr "" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "" @@ -2052,19 +2065,23 @@ msgid "Recipients" msgstr "" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "" #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "" @@ -2154,6 +2171,7 @@ msgid "You can't update the root node name" msgstr "" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "" @@ -2162,6 +2180,7 @@ msgid "Deletion failed and the node contains assets" msgstr "" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2178,10 +2197,12 @@ msgid "App Assets" msgstr "Assets" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr "" @@ -2213,6 +2234,7 @@ msgid "No account" msgstr "" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "" @@ -2222,7 +2244,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "" @@ -2328,7 +2351,8 @@ msgstr "Cloud" msgid "Web" msgstr "" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "" @@ -2591,13 +2615,15 @@ msgstr "" msgid "Port" msgstr "" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2609,13 +2635,13 @@ msgstr "" msgid "Zone" msgstr "" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "" @@ -2803,7 +2829,7 @@ msgstr "" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "" @@ -2990,27 +3016,27 @@ msgid "" "type" msgstr "" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" msgstr "" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" msgstr "" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3019,31 +3045,32 @@ msgstr "" msgid "Protocols" msgstr "" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "" @@ -3360,14 +3387,17 @@ msgid "" msgstr "" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "" @@ -3548,7 +3578,7 @@ msgid "Resource Type" msgstr "" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "" @@ -4109,6 +4139,7 @@ msgid "Permission expired" msgstr "" #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "" @@ -4138,11 +4169,13 @@ msgid "Facial comparison failed" msgstr "" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "" @@ -4151,6 +4184,7 @@ msgid "No user matched" msgstr "" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4167,6 +4201,7 @@ msgid "Forgot password" msgstr "" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "" @@ -4290,6 +4325,7 @@ msgid "Authentication failed password incorrect" msgstr "" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "" @@ -4376,12 +4412,14 @@ msgid "" msgstr "" #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" msgstr "" #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4413,6 +4451,7 @@ msgid "Wait login confirm ticket for accept" msgstr "" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "" @@ -4594,6 +4633,7 @@ msgid "Clear phone number to disable" msgstr "" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "" @@ -4609,6 +4649,7 @@ msgid "User is invalid" msgstr "" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4616,6 +4657,7 @@ msgid "" msgstr "" #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "" @@ -4685,6 +4727,7 @@ msgid "Connection token inactive" msgstr "" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "" @@ -4821,6 +4864,7 @@ msgstr "Organization" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "" @@ -5266,6 +5310,7 @@ msgid "Redirecting" msgstr "" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "" @@ -5274,10 +5319,12 @@ msgid "Login timeout, please try again." msgstr "" #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5439,7 +5486,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5469,6 +5516,7 @@ msgid "Updated by" msgstr "" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "" @@ -5481,10 +5529,12 @@ msgid "Org ID" msgstr "Organization ID" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "" @@ -5497,6 +5547,7 @@ msgid "Yes/No" msgstr "" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "" @@ -5505,6 +5556,7 @@ msgid "Phone number, format +8612345678901" msgstr "" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "" @@ -5513,6 +5565,7 @@ msgid "Long text, no length limit" msgstr "" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "" @@ -5521,12 +5574,14 @@ msgid "Label, format [\"key:value\"]" msgstr "" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "" @@ -5555,12 +5610,13 @@ msgid "Objects, format [\"id\", ...]" msgstr "" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." msgstr "" -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "Resource count" @@ -5681,6 +5737,7 @@ msgid "sp_id is 6 bits" msgstr "" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "" @@ -5693,6 +5750,10 @@ msgstr "" msgid "SMS sending failed[%s]: %s" msgstr "" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "" @@ -5714,6 +5775,7 @@ msgid "Custom type (File)" msgstr "Custom (File)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "" @@ -5730,6 +5792,7 @@ msgid "The verification code is incorrect" msgstr "" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "" @@ -5737,31 +5800,28 @@ msgstr "" msgid "Children" msgstr "" -#: common/serializers/common.py:98 -msgid "File" -msgstr "" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "" -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "" @@ -5861,22 +5921,27 @@ msgstr "" msgid "JumpServer - An open-source PAM" msgstr "JumpServer" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -5903,11 +5968,11 @@ msgstr "" msgid "Tagged resource" msgstr "" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "" @@ -5932,6 +5997,7 @@ msgid "User message" msgstr "" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "" @@ -5968,14 +6034,17 @@ msgid "Waiting task start" msgstr "" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" @@ -6249,6 +6318,7 @@ msgid "Celery Task Execution" msgstr "" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "" @@ -6511,6 +6581,7 @@ msgid "Name of the job" msgstr "" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "" @@ -6521,6 +6592,7 @@ msgid "" msgstr "" #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "" @@ -6695,6 +6767,7 @@ msgid "Asset permissions is about to expire" msgstr "" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "" @@ -6767,6 +6840,7 @@ msgid "Internal role, can't be update" msgstr "" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "" @@ -7127,6 +7201,7 @@ msgid "Test success" msgstr "" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "" @@ -8038,7 +8113,7 @@ msgstr "" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "" @@ -8693,19 +8768,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "" @@ -8714,22 +8793,27 @@ msgid "Bind DN or Password incorrect" msgstr "" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "" @@ -8742,46 +8826,57 @@ msgid "LDAP authentication is not enabled" msgstr "" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "" @@ -8790,10 +8885,12 @@ msgid "No LDAP user was found" msgstr "" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr "" @@ -8945,6 +9042,10 @@ msgstr "" msgid "More download" msgstr "More downloads" +#: templates/resource_download.html:34 +msgid "Tools and applications" +msgstr "Tools and applications" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "" @@ -8954,6 +9055,7 @@ msgid "This is enterprise edition applet" msgstr "" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "" @@ -8966,6 +9068,7 @@ msgid "Deleting the default storage is not allowed" msgstr "" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "" @@ -8977,15 +9080,33 @@ msgstr "" msgid "Invalid" msgstr "" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "" @@ -9004,6 +9125,7 @@ msgid "Session replay" msgstr "" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "" @@ -9011,7 +9133,7 @@ msgstr "" msgid "Session is finished or the protocol not supported" msgstr "" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "" @@ -9176,10 +9298,12 @@ msgstr "" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "" @@ -9755,6 +9879,7 @@ msgid "No asset or invalid asset" msgstr "" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "" @@ -10162,6 +10287,7 @@ msgid "Ticket already closed" msgstr "" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10180,6 +10306,7 @@ msgid "After change" msgstr "" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "" @@ -10325,18 +10452,22 @@ msgid "Ticket applied info" msgstr "" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "" @@ -10422,6 +10553,7 @@ msgstr "" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "" @@ -10430,6 +10562,7 @@ msgid "The expiration date should be greater than the start date" msgstr "" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "" @@ -10438,6 +10571,7 @@ msgid "Process map" msgstr "" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "" @@ -10496,6 +10630,7 @@ msgid "Can not invite self" msgstr "" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -10909,6 +11044,7 @@ msgid "Password does not match security rules" msgstr "" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "" @@ -11331,6 +11467,7 @@ msgid "Password invalid" msgstr "" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -11341,6 +11478,7 @@ msgid "Token invalid or expired" msgstr "" #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" @@ -11349,6 +11487,7 @@ msgid "* Your password does not meet the requirements" msgstr "" #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "" @@ -11371,10 +11510,12 @@ msgid "Test connection successful" msgstr "" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "" @@ -11572,6 +11713,10 @@ msgstr "" msgid "Get instances of region \"%s\" error, error: %s" msgstr "" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11714,10 +11859,6 @@ msgstr "" msgid "Sync instance task history" msgstr "" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "" @@ -12038,6 +12179,10 @@ msgstr "" msgid "Auto node classification" msgstr "" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "" @@ -12071,6 +12216,7 @@ msgid "The file is in JSON format" msgstr "" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "" @@ -12222,11 +12368,11 @@ msgstr "Security Admin" msgid "JDMC" msgstr "" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "" diff --git a/apps/i18n/core/es/LC_MESSAGES/django.po b/apps/i18n/core/es/LC_MESSAGES/django.po index efd76400e..bca6e26a6 100644 --- a/apps/i18n/core/es/LC_MESSAGES/django.po +++ b/apps/i18n/core/es/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,6 +33,7 @@ msgid "Account not found" msgstr "Cuenta no encontrada" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "El parámetro 'action' debe ser [{}]" @@ -136,10 +137,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "Éxitos: %s, Fracasos: %s, Total: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "Informe de detección de riesgos {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -179,6 +182,8 @@ msgstr "" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "Contraseña" @@ -472,7 +477,7 @@ msgstr "" "La operación de Vault ha fallado, por favor inténtalo de nuevo o verifica la " "información de la cuenta en Vault." -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -504,7 +509,7 @@ msgstr "" msgid "Asset" msgstr "Activos" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -512,46 +517,46 @@ msgstr "Activos" msgid "Su from" msgstr "Cambiar desde" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "Versión" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "Cuenta histórica" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "Se puede cambiar la contraseña" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "Origen" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "ID de origen" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "Fecha de última visita" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "Método de acceso" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "Fecha de la contraseña" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "Estado de cambio de contraseña" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -572,35 +577,35 @@ msgstr "Estado de cambio de contraseña" msgid "Account" msgstr "Cuenta" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "Puede ver la contraseña de la cuenta de activos" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "Puede ver la cuenta histórica de activos" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "Puede ver la contraseña de la cuenta histórica de activos" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "Puede verificar la cuenta" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "Puede enviar la cuenta" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "Puede eliminar la cuenta" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "Sesión de cuenta" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "Actividad de cuenta" @@ -614,7 +619,7 @@ msgstr "Actividad de cuenta" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -662,8 +667,8 @@ msgstr "Código secreto" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "Cuenta" @@ -933,6 +938,8 @@ msgstr "Contraseña duplicada" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "Nombre de usuario" @@ -1145,6 +1152,7 @@ msgid "Notification of account backup route task results" msgstr "notificación del resultado de la tarea de respaldo de cuenta" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" @@ -1153,6 +1161,7 @@ msgstr "" "el archivo adjunto" #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1167,6 +1176,7 @@ msgid "Notification of implementation result of encryption change plan" msgstr "notificación del resultado de la tarea de cambio de contraseña" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" @@ -1175,6 +1185,7 @@ msgstr "" "en el archivo adjunto" #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1230,6 +1241,7 @@ msgid "Change password and Add" msgstr "Modificar contraseña y añadir" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "Ejecutar fallido: {}" @@ -1246,7 +1258,7 @@ msgid "Exist policy" msgstr "La cuenta existe política" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1259,7 +1271,7 @@ msgstr "Categoría" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1281,7 +1293,7 @@ msgstr "El activo no existe" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "Servicio de directorio" @@ -1324,7 +1336,7 @@ msgstr "Seleccionar al menos un activo o nodo" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "Información especial" @@ -1404,7 +1416,7 @@ msgstr "Comentarios" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "Cantidad de cuentas" @@ -2033,6 +2045,7 @@ msgid "Command group" msgstr "Grupo de comandos" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "La expresión regular generada es incorrecta: {}" @@ -2185,19 +2198,23 @@ msgid "Recipients" msgstr "Destinatario" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "La organización `{}` no existe" #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "Todos los revisores no pertenecen a la organización `{}`" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "Dirección IP no válida: `{}`" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "Dirección no válida: `{}`" @@ -2298,6 +2315,7 @@ msgid "You can't update the root node name" msgstr "No se puede modificar el nombre del nodo raíz" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "No se puede eliminar el nodo raíz ({})" @@ -2306,6 +2324,7 @@ msgid "Deletion failed and the node contains assets" msgstr "Eliminación fallida, el nodo contiene activos" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2322,10 +2341,12 @@ msgid "App Assets" msgstr "Gestión de activos" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "Tarea: {} Completado" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr "" "- Plataforma {} Ansible está deshabilitada, no se pueden ejecutar tareas" @@ -2358,6 +2379,7 @@ msgid "No account" msgstr "No hay cuenta" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "Activos, {}, usando la cuenta {}" @@ -2367,7 +2389,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "No se puede conectar al puerto {address} en el puerto {port}" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "Autenticación fallida" @@ -2475,7 +2498,8 @@ msgstr "Servicio en la nube" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Tipo personalizado" @@ -2758,13 +2782,15 @@ msgstr "Servicios en la nube" msgid "Port" msgstr "Puerto" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "Dirección" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2776,13 +2802,13 @@ msgstr "Plataforma" msgid "Zone" msgstr "Dominio" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "Nodo" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "Recopilar información sobre hardware de activos" @@ -2970,7 +2996,7 @@ msgstr "Valor" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "Etiqueta" @@ -3159,15 +3185,15 @@ msgstr "" "Actualización masiva de activos en la plataforma, se omite el activo que no " "cumple con el tipo de plataforma" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "Protocolo, formato de [\"protocolo/p Puerto\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "Protocolo, formato de nombre/p Puerto" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3175,7 +3201,7 @@ msgstr "" "Cuenta, formato de [{\"nombre\": \"x\", \"usuario\": \"x\", \"secreto\": " "\"x\", \"tipo_secreto\": \"contraseña\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" @@ -3183,7 +3209,7 @@ msgstr "" "Ruta del nodo, formato de [\"/organización/nombre del nodo\"], si el nodo no " "existe, se creará" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3192,31 +3218,32 @@ msgstr "" msgid "Protocols" msgstr "Grupo de protocolos" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "Ruta del nodo" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "Información de automatización" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "La plataforma no existe" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "El puerto está fuera de rango (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "El acuerdo es obligatorio: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "Datos no válidos" @@ -3250,8 +3277,8 @@ msgid "" "username during login, such as example.com in user@example.com." msgstr "" "El nombre de dominio se añade a la parte del nombre de usuario al iniciar " -"sesión en servicios de directorio (como AD), por ejemplo, en user@example." -"com, la parte example.com. \n" +"sesión en servicios de directorio (como AD), por ejemplo, en " +"user@example.com, la parte example.com. \n" "\n" "El módulo {} no es aplicable a este activo. \n" "\n" @@ -3584,14 +3611,17 @@ msgstr "" "puerta de enlace - prueba de conexión." #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "El activo ha sido deshabilitado, se omite: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "El activo puede no ser compatible con ansible, se omite: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "Por razones de seguridad, se prohíbe la transferencia al usuario {}" @@ -3774,7 +3804,7 @@ msgid "Resource Type" msgstr "Tipo de recurso" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "Recurso" @@ -4357,6 +4387,7 @@ msgid "Permission expired" msgstr "La autorización ha expirado." #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "La acción de ACL es rechazar: {}({})" @@ -4388,11 +4419,13 @@ msgid "Facial comparison failed" msgstr "El emparejamiento facial ha fallado." #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "El usuario actual no es compatible con el tipo de MFA: {}" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "El usuario no existe: {}" @@ -4401,6 +4434,7 @@ msgid "No user matched" msgstr "No se encontró coincidencia con el usuario" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4419,6 +4453,7 @@ msgid "Forgot password" msgstr "Olvidé la contraseña" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "El código de verificación tiene una validez de {} minuto." @@ -4545,6 +4580,7 @@ msgid "Authentication failed password incorrect" msgstr "Autenticación fallida (nombre de usuario o contraseña incorrectos)" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "" "Ha excedido el tiempo de inicio de sesión de {} minutos, por favor inicie " @@ -4636,6 +4672,7 @@ msgstr "" "bloqueará temporalmente por {block_time} minutos)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4644,6 +4681,7 @@ msgstr "" "desbloquearla o intente de nuevo en {} minutos)" #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4678,6 +4716,7 @@ msgid "Wait login confirm ticket for accept" msgstr "Esperando el procesamiento de la revisión de inicio de sesión" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "Inicio de sesión y verificación: {}" @@ -4869,6 +4908,7 @@ msgid "Clear phone number to disable" msgstr "Limpiar número de teléfono para desactivar" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "" "Error de autenticación (fallo en la verificación antes de iniciar sesión): {}" @@ -4888,6 +4928,7 @@ msgid "User is invalid" msgstr "Usuario no válido" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4898,6 +4939,7 @@ msgstr "" "al administrador." #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "El método MFA ({}) no está habilitado" @@ -4967,6 +5009,7 @@ msgid "Connection token inactive" msgstr "Token de conexión no activado" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "Token de conexión expirado: {}" @@ -5103,6 +5146,7 @@ msgstr "Nombre de la organización" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} no puede estar vacío" @@ -5587,6 +5631,7 @@ msgid "Redirecting" msgstr "Redirigiendo" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "Redirigiendo a la autenticación de {}" @@ -5595,10 +5640,12 @@ msgid "Login timeout, please try again." msgstr "Tiempo de sesión agotado, por favor inicia sesión de nuevo" #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "El correo electrónico del usuario ya existe ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5770,7 +5817,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "ID inválido, debe ser una lista" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5800,6 +5847,7 @@ msgid "Updated by" msgstr "Último actualizador" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "Rango de puertos inválido, debe estar entre {}-{}" @@ -5812,11 +5860,13 @@ msgid "Org ID" msgstr "ID de Organización" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "" "El contenido del archivo es demasiado grande (longitud máxima `{}` bytes)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "Error al analizar el archivo: {}" @@ -5829,6 +5879,7 @@ msgid "Yes/No" msgstr "Sí/No" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "Número, mínimo {} máximo {}" @@ -5837,6 +5888,7 @@ msgid "Phone number, format +8612345678901" msgstr "Número de teléfono, formato +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "Texto, longitud máxima {}" @@ -5845,6 +5897,7 @@ msgid "Long text, no length limit" msgstr "Texto largo, sin límite de longitud" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "Formato de fecha y hora {}" @@ -5853,6 +5906,7 @@ msgid "Label, format [\"key:value\"]" msgstr "Etiqueta, formato: [\"clave:valor\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5861,6 +5915,7 @@ msgstr "" "lectura, el valor es obligatorio, las opciones son {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "Opciones, las opciones son {}" @@ -5895,6 +5950,7 @@ msgid "Objects, format [\"id\", ...]" msgstr "Múltiples elementos relacionados, el formato es [\"id\", ...]." #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." @@ -5903,7 +5959,7 @@ msgstr "" "información personal -> Configuración de contraseña de archivos para " "establecerla." -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "Cantidad de recursos" @@ -6028,6 +6084,7 @@ msgid "sp_id is 6 bits" msgstr "El SP_id debe tener 6 dígitos" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "Error al conectar con el servidor de puerta de enlace, error: {}" @@ -6040,6 +6097,10 @@ msgstr "Archivo de SMS personalizado no válido" msgid "SMS sending failed[%s]: %s" msgstr "Envío de SMS fallido [%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "Archivo" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "Alibaba Cloud" @@ -6061,6 +6122,7 @@ msgid "Custom type (File)" msgstr "Personalizado (Archivo)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "El proveedor de SMS no es compatible: {}" @@ -6077,6 +6139,7 @@ msgid "The verification code is incorrect" msgstr "Código de verificación incorrecto" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "Por favor, envía nuevamente en {} segundos" @@ -6084,31 +6147,28 @@ msgstr "Por favor, envía nuevamente en {} segundos" msgid "Children" msgstr "Nodo" -#: common/serializers/common.py:98 -msgid "File" -msgstr "Archivo" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "Datos no válidos" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "Error en pk \"{pk_value}\" - objeto no existe" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "Tipo de error. Se esperaba el valor pk, se recibió {data_type}." -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "Tipo de datos incorrecto, debería ser una lista" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "Opción no válida: {}" @@ -6215,6 +6275,10 @@ msgstr "Tu cuenta ha sido creada con éxito" msgid "JumpServer - An open-source PAM" msgstr "JumpServer, bastión de código abierto." +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "" @@ -6244,7 +6308,7 @@ msgstr "" "Mensaje interno \n" "Backend de mensajes" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -6254,13 +6318,14 @@ msgstr "" "desplegar Luna y Koko.
Si ves esta página, significa que no estás " "accediendo al puerto que escucha Nginx, ¡buena suerte!
" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" "El servicio Websocket está funcionando en el puerto: {}, por favor verifica " "si Nginx está configurado para la proxy." -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -6291,11 +6356,11 @@ msgstr "ID de recurso" msgid "Tagged resource" msgstr "Recursos asociados" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "No puede contener \":,\"" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "Tipo de recurso" @@ -6320,6 +6385,7 @@ msgid "User message" msgstr "Usuario Mensaje" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} Suscripción" @@ -6358,14 +6424,17 @@ msgid "Waiting task start" msgstr "Esperando el inicio de la tarea" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "La tarea {} no existe" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "Error en los parámetros de ejecución de la tarea {}" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" "Acceso denegado al recurso {}({}) debido a las restricciones de la regla ACL " @@ -6655,6 +6724,7 @@ msgid "Celery Task Execution" msgstr "Ejecución de tareas de Celery" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "El módulo {} no es aplicable a este activo." @@ -6965,6 +7035,7 @@ msgid "Name of the job" msgstr "Nombre del trabajo" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "La organización actual ({}) no puede ser eliminada." @@ -6978,6 +7049,7 @@ msgstr "" "de eliminación." #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "La organización tiene recursos ({}) que no pueden ser eliminados." @@ -7152,6 +7224,7 @@ msgid "Asset permissions is about to expire" msgstr "Las reglas de autorización de activos están a punto de expirar" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "Autorización de activos de la organización ({})" @@ -7235,6 +7308,7 @@ msgid "Internal role, can't be update" msgstr "Rol interno, no se puede actualizar" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} debe tener al menos un rol del sistema" @@ -7597,6 +7671,7 @@ msgid "Test success" msgstr "Prueba exitosa" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "El correo electrónico ha sido enviado {}, por favor verifica." @@ -8666,7 +8741,7 @@ msgstr "ID del inquilino" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "Región" @@ -9465,19 +9540,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "Utilizando protocolo ldap:// o ldaps://" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "Host o puerto no conectable: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "Puerto no es un puerto de servicio LDAP: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "Por favor, añade el certificado: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "Error desconocido: {}" @@ -9486,22 +9565,27 @@ msgid "Bind DN or Password incorrect" msgstr "DN de enlace o contraseña incorrecta" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "Introduzca el DN de enlace: {}" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "Introduzca la contraseña: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "Introduzca un DN de enlace y contraseña correctos: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "OU de usuario o filtro de usuario no válido: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "La asignación de atributos LDAP no incluye: {}" @@ -9514,47 +9598,58 @@ msgid "LDAP authentication is not enabled" msgstr "La autenticación LDAP no está habilitada" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "Error (dirección del servidor LDAP inválida): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "Error (DN de enlace inválido): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "Error (asignación de atributos LDAP inválida): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "Error (OU de usuario o filtro de usuario inválido): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "Error (autenticación LDAP no habilitada): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "Error (desconocido): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "Se encontraron exitosamente {} usuarios" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "Error de autenticación (error de configuración): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "" "Error de autenticación (nombre de usuario o contraseña incorrectos): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "Error de autenticación: (desconocido): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "Autenticación exitosa: {}" @@ -9563,10 +9658,12 @@ msgid "No LDAP user was found" msgstr "No se obtuvo ningún usuario LDAP" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "Total: {}, Éxitos: {}, Fracasos: {}" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr ", deshabilitar {}" @@ -9642,8 +9739,8 @@ msgstr "Su cuenta expirará el" #: templates/_message.html:11 templates/_message.html:26 msgid "expired. " msgstr "" -"Su contraseña ha expirado, por favor haga clic en este enlace para actualizarla" +"Su contraseña ha expirado, por favor haga clic en este enlace para actualizarla" #: templates/_message.html:21 #, python-format @@ -9736,6 +9833,10 @@ msgstr "" msgid "More download" msgstr "Más descargas" +#: templates/resource_download.html:34 +msgid "Tools and applications" +msgstr "Herramientas y aplicaciones" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "archivo zip inválido" @@ -9747,6 +9848,7 @@ msgstr "" "versión comunitaria" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "No se encontró la aplicación remota en la ruta: {}" @@ -9760,6 +9862,7 @@ msgstr "" "No se permite eliminar la configuración de almacenamiento predeterminada" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "No se puede eliminar el almacenamiento en uso: {}" @@ -9771,15 +9874,33 @@ msgstr "Almacenamiento de comandos" msgid "Invalid" msgstr "inválido" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "Conexión rechazada" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "Tiempo de conexión agotado" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "No se puede resolver la dirección" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "No se puede conectar al host" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "Prueba fallida: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "Prueba exitosa" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "Prueba fallida: por favor, verifica la configuración" @@ -9798,6 +9919,7 @@ msgid "Session replay" msgstr "Grabación de sesiones" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "La sesión no existe: {}" @@ -9805,7 +9927,7 @@ msgstr "La sesión no existe: {}" msgid "Session is finished or the protocol not supported" msgstr "La sesión ya ha finalizado o el protocolo no es compatible" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "El usuario no tiene permiso" @@ -9970,10 +10092,12 @@ msgstr "host" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Paquete Applet inválido, falta el archivo {}" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Error al cargar platform.yml: {}" @@ -10602,6 +10726,7 @@ msgid "No asset or invalid asset" msgstr "No hay activos o los activos no están activados" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "Punto final no válido: eliminar la ruta `{}`" @@ -11039,6 +11164,7 @@ msgid "Ticket already closed" msgstr "El ticket ya ha sido cerrado" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -11059,6 +11185,7 @@ msgid "After change" msgstr "Después de la modificación" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} Orden de trabajo" @@ -11204,18 +11331,22 @@ msgid "Ticket applied info" msgstr "Información de solicitud de la orden de trabajo" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "Tienes una nueva orden de trabajo, solicitante - {}" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: Nueva orden de trabajo - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "Tu orden de trabajo ha sido procesada, responsable - {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "Tu orden de trabajo ha sido procesada, responsable - {} ({})" @@ -11301,6 +11432,7 @@ msgstr "Solicitud de Acción" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "Crear a través de la orden de trabajo ({}-{})" @@ -11309,6 +11441,7 @@ msgid "The expiration date should be greater than the start date" msgstr "La fecha de expiración debe ser mayor que la fecha de inicio" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "El nombre de autorización `{}` ya existe" @@ -11317,6 +11450,7 @@ msgid "Process map" msgstr "Diagrama de flujo" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "El proceso de la orden de trabajo `{}` no existe" @@ -11379,6 +11513,7 @@ msgid "Can not invite self" msgstr "No se puede invitar a uno mismo." #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -11812,6 +11947,7 @@ msgid "Password does not match security rules" msgstr "La contraseña no cumple con las normas de seguridad" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "La nueva contraseña no puede ser una de las últimas {} contraseñas" @@ -12289,6 +12425,7 @@ msgid "Password invalid" msgstr "Nombre de usuario o contraseña inválidos" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -12301,6 +12438,7 @@ msgid "Token invalid or expired" msgstr "Error o token inválido" #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" "La fuente de autenticación del usuario proviene de {}, por favor cambie la " @@ -12311,6 +12449,7 @@ msgid "* Your password does not meet the requirements" msgstr "* Su contraseña no cumple con los requisitos" #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* La nueva contraseña no puede ser una de las últimas {} contraseñas" @@ -12337,10 +12476,12 @@ msgid "Test connection successful" msgstr "Prueba exitosa" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "Error en la conexión de prueba: {}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "El usuario {} ha eliminado activos cuya recurso ha sido liberado." @@ -12538,6 +12679,10 @@ msgstr "Sincronizar regiones" msgid "Get instances of region \"%s\" error, error: %s" msgstr "Error al obtener la instancia de la región \"%s\", error: %s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "Instancia" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -12682,10 +12827,6 @@ msgstr "Tarea de sincronización" msgid "Sync instance task history" msgstr "Historial de tareas de sincronización de instancia" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "Instancia" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "Detalles de la instancia sincronizada" @@ -13021,6 +13162,10 @@ msgstr "Punto final de API" msgid "Auto node classification" msgstr "Clasificación automática de nodos" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "Nombre de dominio" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "Dirección de autenticación" @@ -13054,6 +13199,7 @@ msgid "The file is in JSON format" msgstr "Archivo en formato JSON" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "Dirección IP inválida: `{}`, {}" @@ -13217,33 +13363,17 @@ msgstr "Administrador de seguridad" msgid "JDMC" msgstr "JDMC" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "Importación de licencia exitosa" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "Licencia no válida" -msgid "Connection refused" -msgstr "Conexión rechazada" - -msgid "Connection timeout" -msgstr "Tiempo de conexión agotado" - -msgid "Unable to resolve the address" -msgstr "No se puede resolver la dirección" - -msgid "Unable to connect to the host" -msgstr "No se puede conectar al host" - #~ msgid "Offline video player" #~ msgstr "Reproductor de video fuera de línea" -#~| msgid "Domain name" -#~ msgid "domain_name" -#~ msgstr "Nombre de dominio" - #~| msgid "Authenticate" #~ msgid "Certificate Auth" #~ msgstr "Verificar identidad" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 6b6b1a04e..0a369afeb 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,6 +33,7 @@ msgid "Account not found" msgstr "アカウントが見つかりません" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "パラメータ 'action' は [{}] でなければなりません。" @@ -115,10 +116,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "成功: %s、失敗: %s、合計: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "リスク検出報告 {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -153,6 +156,8 @@ msgstr ">>> ゲートウェイ接続のテストタスクを開始する" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "パスワード" @@ -446,7 +451,7 @@ msgstr "" "Vault 操作に失敗しました。再試行するか、Vault のアカウント情報を確認してくだ" "さい。" -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -478,7 +483,7 @@ msgstr "" msgid "Asset" msgstr "資産" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -486,17 +491,17 @@ msgstr "資産" msgid "Su from" msgstr "から切り替え" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "バージョン" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "アカウントの歴史" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "" "可改密 - パスワード変更可 \n" @@ -515,32 +520,32 @@ msgstr "" "新发现 - 新たな発見 \n" "组变更 - グループ変更" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "ソース" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "ソース ID" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "最終訪問日" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "アクセス方法" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "パスワード日" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "変更状態" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -561,35 +566,35 @@ msgstr "変更状態" msgid "Account" msgstr "アカウント" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "資産アカウントの秘密を表示できます" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "資産履歴アカウントを表示できます" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "資産履歴アカウントパスワードを表示できます" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "アカウントを確認できます" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "アカウントをプッシュできます" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "アカウントを削除できます" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "アカウントセッション" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "アカウントの活動" @@ -603,7 +608,7 @@ msgstr "アカウントの活動" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -651,8 +656,8 @@ msgstr "ひみつ" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "アカウント" @@ -922,6 +927,8 @@ msgstr "パスワードの重複" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "ユーザー名" @@ -1130,6 +1137,7 @@ msgid "Notification of account backup route task results" msgstr "アカウントバックアップルートタスクの結果の通知" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" @@ -1138,6 +1146,7 @@ msgstr "" "覧ください" #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1152,12 +1161,14 @@ msgid "Notification of implementation result of encryption change plan" msgstr "暗号化変更プランの実装結果の通知" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" msgstr "{} -暗号化変更タスクが完了しました。詳細は添付ファイルをご覧ください" #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1211,6 +1222,7 @@ msgid "Change password and Add" msgstr "パスワードを変更して追加する" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "実行失敗:{}" @@ -1227,7 +1239,7 @@ msgid "Exist policy" msgstr "アカウントの存在ポリシー" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1240,7 +1252,7 @@ msgstr "カテゴリ" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1262,7 +1274,7 @@ msgstr "資産が存在しません" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "ディレクトリサービス" @@ -1306,7 +1318,7 @@ msgstr "少なくとも1つのアセットまたはノードを選択します #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "特別情報" @@ -1386,7 +1398,7 @@ msgstr "コメント" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "アカウント数" @@ -1434,8 +1446,8 @@ msgstr "" "ます。digit は数字が含まれているかどうかを示し、symbol は特殊記号が含まれてい" "るかどうかを示します。exclude_symbols は、特定のシンボルを除外するために使用" "します (最大 16 文字)。シンボルを除外する必要がない場合は、空白のままにするこ" -"とができます。デフォルト: {\"長さ\": 16、\"小文字\": true、\"大文字\": " -"true、\"数字\": true、\"シンボル\": true、\"exclude_symbols\": \"\"}" +"とができます。デフォルト: {\"長さ\": 16、\"小文字\": true、\"大文字\": true、" +"\"数字\": true、\"シンボル\": true、\"exclude_symbols\": \"\"}" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" @@ -1978,6 +1990,7 @@ msgid "Command group" msgstr "コマンドグループ" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "生成された正規表現が正しくありません: {}" @@ -2130,19 +2143,23 @@ msgid "Recipients" msgstr "受信者" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "組織 '{}'は存在しません" #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "いずれのレビューアも組織 '{}' に属していません" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "IPアドレスが無効: '{}'" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "無効な住所: `{}`" @@ -2239,6 +2256,7 @@ msgid "You can't update the root node name" msgstr "ルートノード名を更新できません" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "ルートノード ({}) を削除できません。" @@ -2247,6 +2265,7 @@ msgid "Deletion failed and the node contains assets" msgstr "削除に失敗し、ノードにアセットが含まれています。" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2263,10 +2282,12 @@ msgid "App Assets" msgstr "アプリ資産" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "タスク:{} 完了" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - プラットフォーム {} ansible 無効" @@ -2298,6 +2319,7 @@ msgid "No account" msgstr "アカウントなし" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "資産, {}, アカウントを使用 {}" @@ -2307,7 +2329,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "{port} のポート {address} に接続できません" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "認証に失敗しました" @@ -2413,7 +2436,8 @@ msgstr "クラウド サービス" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "カスタムタイプ" @@ -2688,13 +2712,15 @@ msgstr "クラウド サービス" msgid "Port" msgstr "ポート" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "アドレス" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2706,13 +2732,13 @@ msgstr "プラットフォーム" msgid "Zone" msgstr "ゾーン" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "ノード" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "資産ハードウェア情報の収集" @@ -2900,7 +2926,7 @@ msgstr "値" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "ラベル" @@ -3089,15 +3115,15 @@ msgstr "" "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" "ラットフォーム" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "契約書、形式は[\"契約書/ポート\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "契約書、形式は 名前/ポート" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3105,7 +3131,7 @@ msgstr "" "アカウント、形式は [{\"name\": \"x\", \"username\": \"x\", \"secret\": " "\"x\", \"secret_type\": \"パスワード\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" @@ -3113,7 +3139,7 @@ msgstr "" "ノードパス、形式は [\"/組織/ノード名\"]、もしノードが存在しない場合、それを作" "成します" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3122,31 +3148,32 @@ msgstr "" msgid "Protocols" msgstr "プロトコル" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "ノードパスです" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "自動情報" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "プラットフォームが存在しません" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "ポート番号が範囲外です (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "プロトコルが必要です: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "無効なデータ" @@ -3508,14 +3535,17 @@ msgstr "" "す" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "資産が無効化されました。スキップ: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "資産はサポートできない場合があります。スキップ: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "セキュリティのために、ユーザー {} をプッシュしないでください" @@ -3696,7 +3726,7 @@ msgid "Resource Type" msgstr "リソースタイプ" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "リソース" @@ -4265,6 +4295,7 @@ msgid "Permission expired" msgstr "承認の有効期限が切れています" #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "ACL アクションは拒否です: {}({})" @@ -4294,11 +4325,13 @@ msgid "Facial comparison failed" msgstr "顔認証の照合に失敗" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "現在のユーザーはmfaタイプをサポートしていません: {}" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "ユーザーが存在しない: {}" @@ -4307,6 +4340,7 @@ msgid "No user matched" msgstr "ユーザーにマッチしなかった" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4325,6 +4359,7 @@ msgid "Forgot password" msgstr "パスワードを忘れた" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "認証コードの有効時間は {} 分" @@ -4451,6 +4486,7 @@ msgid "Authentication failed password incorrect" msgstr "認証に失敗しました (ユーザー名またはパスワードが正しくありません)" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "ログイン時間が {} 分を超えました。もう一度ログインしてください" @@ -4540,6 +4576,7 @@ msgstr "" "ロックされます)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4548,6 +4585,7 @@ msgstr "" "にもう一度お試しください)" #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4581,6 +4619,7 @@ msgid "Wait login confirm ticket for accept" msgstr "受け入れのためのログイン確認チケットを待つ" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "ログイン確認チケットは {} でした" @@ -4766,6 +4805,7 @@ msgid "Clear phone number to disable" msgstr "無効にする電話番号をクリアする" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "認証に失敗しました (ログインチェックが失敗する前): {}" @@ -4783,6 +4823,7 @@ msgid "User is invalid" msgstr "無効なユーザーです" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4792,6 +4833,7 @@ msgstr "" "ザーのソースは {} です。管理者に連絡してください。" #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "MFAタイプ ({}) が有効になっていない" @@ -4861,6 +4903,7 @@ msgid "Connection token inactive" msgstr "接続トークンがアクティブ化されていません" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "接続トークンの有効期限: {}" @@ -4997,6 +5040,7 @@ msgstr "組織名" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 空にしてはならない" @@ -5463,6 +5507,7 @@ msgid "Redirecting" msgstr "リダイレクト" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "{} 認証へのリダイレクト" @@ -5471,10 +5516,12 @@ msgid "Login timeout, please try again." msgstr "ログインタイムアウト、もう一度お試しください" #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "ユーザー メールボックスは既に存在します ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5643,7 +5690,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "無効なID、リストでなければなりません" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5673,6 +5720,7 @@ msgid "Updated by" msgstr "によって更新" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "無効なポート範囲です。{}-{} のような範囲内である必要があります" @@ -5685,10 +5733,12 @@ msgid "Org ID" msgstr "組織 ID" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "ファイルの内容がオーバーフローしました (最大長 '{}' バイト)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "解析ファイルエラー: {}" @@ -5701,6 +5751,7 @@ msgid "Yes/No" msgstr "はい/いいえ" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "数字、最小 {} 最大 {}" @@ -5709,6 +5760,7 @@ msgid "Phone number, format +8612345678901" msgstr "電話番号、形式 +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "テキスト、最大長 {}" @@ -5717,6 +5769,7 @@ msgid "Long text, no length limit" msgstr "長文テキスト、長さ制限なし" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "日付時刻形式 {}" @@ -5725,6 +5778,7 @@ msgid "Label, format [\"key:value\"]" msgstr "タグ、形式: [\"キー:値\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5733,6 +5787,7 @@ msgstr "" "選択肢は {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "オプション、可能なオプションは {}" @@ -5766,6 +5821,7 @@ msgid "Objects, format [\"id\", ...]" msgstr "多関連項目、形式は [\"id\", ...]" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." @@ -5773,7 +5829,7 @@ msgstr "" "{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワード" "に暗号化パスワードを設定してください" -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "リソースタイプ" @@ -5898,6 +5954,7 @@ msgid "sp_id is 6 bits" msgstr "SP idは6ビット" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "接続ゲートウェイサーバエラー, 非: {}" @@ -5910,6 +5967,10 @@ msgstr "カスタムショートメッセージファイルが無効です" msgid "SMS sending failed[%s]: %s" msgstr "ショートメッセージの送信に失敗しました[%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "書類" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "アリ雲" @@ -5931,6 +5992,7 @@ msgid "Custom type (File)" msgstr "カスタム(ファイル)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "SMSプロバイダーはサポートしていません: {}" @@ -5947,6 +6009,7 @@ msgid "The verification code is incorrect" msgstr "確認コードが正しくありません" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "{} 秒待ってから送信してください" @@ -5954,31 +6017,28 @@ msgstr "{} 秒待ってから送信してください" msgid "Children" msgstr "ノード" -#: common/serializers/common.py:98 -msgid "File" -msgstr "書類" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "無効なデータ" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "無効な pk \"{pk_value}\" - オブジェクトが存在しません" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "エラータイプ。 予想される pk 値、受信 {data_type}。" -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "間違ったデータ タイプです。リストにする必要があります" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "無効なオプション: {}" @@ -6085,11 +6145,15 @@ msgstr "アカウントが正常に作成されました" msgid "JumpServer - An open-source PAM" msgstr "JumpServer オープンソースの要塞ホスト" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "

フラワーサービス利用不可、チェック

" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -6100,13 +6164,14 @@ msgstr "" "ページが表示されている場合は、nginxリスニングポートにアクセスしていないことを" "証明してください。頑張ってください。" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" "Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要がありま" "す。" -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -6137,11 +6202,11 @@ msgstr "リソースID" msgid "Tagged resource" msgstr "関連リソース" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "\":,\"を含めることはできません" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "リソースタイプ" @@ -6166,6 +6231,7 @@ msgid "User message" msgstr "ユーザメッセージ" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} 購読" @@ -6202,14 +6268,17 @@ msgid "Waiting task start" msgstr "タスク開始待ち" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "タスク {} は存在しません。" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "タスク {} の実行パラメータが誤っています。" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" "ログイン資産 {}({}) が拒否されました。ログイン資産ルール ACL ({}) によって制" @@ -6490,6 +6559,7 @@ msgid "Celery Task Execution" msgstr "Celery タスク実行" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "モジュール {} はこの資産には適用できません。" @@ -6772,6 +6842,7 @@ msgid "Name of the job" msgstr "ジョブの名前" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "現在の組織 ({}) は削除できません" @@ -6783,6 +6854,7 @@ msgstr "" "LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "組織のリソース ({}) は削除できません" @@ -6957,6 +7029,7 @@ msgid "Asset permissions is about to expire" msgstr "資産権限の有効期限が近づいています" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "組織 {} の資産権限" @@ -7037,6 +7110,7 @@ msgid "Internal role, can't be update" msgstr "内部ロール、更新できません" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} 少なくとも1つのシステムロール" @@ -7398,6 +7472,7 @@ msgid "Test success" msgstr "テストの成功" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "{}に送信されたテストメールを確認してください" @@ -8370,7 +8445,7 @@ msgstr "テナントID" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "リージョン" @@ -9105,19 +9180,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "ldap:// または ldaps:// プロトコルが使用されます。" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "ホストまたはポートが切断されました: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "ポートはLDAPサービスのポートではありません: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "証明書を追加してください: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "不明なエラー: {}" @@ -9126,22 +9205,27 @@ msgid "Bind DN or Password incorrect" msgstr "DNまたはパスワードのバインドが正しくありません" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "バインドDN: {} を入力してください" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "パスワードを入力してください: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "正しいバインドDNとパスワードを入力してください: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "無効なユーザー OU またはユーザー検索フィルター: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "LDAP ユーザーattrマップは含まれません: {}" @@ -9154,46 +9238,57 @@ msgid "LDAP authentication is not enabled" msgstr "LDAP 認証が有効になっていない" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "エラー (LDAPサーバーが無効): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "エラー (DNのバインドが無効): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "エラー (LDAPユーザーattrマップが無効): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "エラー (ユーザーOUまたはユーザー検索フィルターが無効): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "エラー (LDAP認証が有効化されていません): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "エラー (不明): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "成功: {} 人のユーザーに一致" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "認証に失敗しました (設定が正しくありません): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "認証に失敗しました (ユーザー名またはパスワードが正しくありません): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "認証に失敗しました (不明): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "認証成功: {}" @@ -9202,10 +9297,12 @@ msgid "No LDAP user was found" msgstr "LDAPユーザーが取得されませんでした" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "合計 {},成功 {},失敗 {}" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr "無効 {}" @@ -9372,6 +9469,12 @@ msgstr "" msgid "More download" msgstr "その他のダウンロード" +#: templates/resource_download.html:34 +#, fuzzy +#| msgid "Apply applications" +msgid "Tools and applications" +msgstr "アプリケーションの適用" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "zip ファイルが無効です" @@ -9381,6 +9484,7 @@ msgid "This is enterprise edition applet" msgstr "これはエンタープライズ版アプレットです" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "パスにアプレットが見つかりません: {}" @@ -9393,6 +9497,7 @@ msgid "Deleting the default storage is not allowed" msgstr "デフォルトのストレージの削除は許可されていません" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "使用中のストレージは削除できません: {}" @@ -9404,15 +9509,33 @@ msgstr "コマンドストア" msgid "Invalid" msgstr "無効" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "接続が拒否されました" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "接続がタイムアウトしました" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "アドレスを解決できません" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "ホストに接続できません" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "テスト失敗: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "テスト成功" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "テストに失敗しました:構成を確認してください" @@ -9431,6 +9554,7 @@ msgid "Session replay" msgstr "セッション再生" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "セッションが存在しません: {}" @@ -9438,7 +9562,7 @@ msgstr "セッションが存在しません: {}" msgid "Session is finished or the protocol not supported" msgstr "セッションが終了したか、プロトコルがサポートされていません" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "ユーザーに権限がありません" @@ -9603,10 +9727,12 @@ msgstr "ホスト" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "無効なアプレット パッケージ、ファイル {} がありません" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "platform.ymlのロードに失敗しました:{}" @@ -10013,8 +10139,8 @@ msgstr "" "ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリー" "ス マシンとコア サービスが同じネットワーク セグメント上にある場合は、イントラ" "ネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト " -"URL を入力します。
例: https://172.16.10.110 または https://dev.example." -"com" +"URL を入力します。
例: https://172.16.10.110 または https://" +"dev.example.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -10211,6 +10337,7 @@ msgid "No asset or invalid asset" msgstr "アセットが存在しないか、アセットがアクティブ化されていません" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "エンドポイントが無効: パス '{}' を削除" @@ -10259,8 +10386,8 @@ msgid "" "If there are multiple hosts, use a comma (,) to separate them.
(For " "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" msgstr "" -"ホストが複数ある場合は、カンマ (,) で区切ってください。
(例: http://www." -"jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" +"ホストが複数ある場合は、カンマ (,) で区切ってください。
(例: http://" +"www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" #: terminal/serializers/storage.py:199 msgid "Index by date" @@ -10641,6 +10768,7 @@ msgid "Ticket already closed" msgstr "チケットはすでに閉じています" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10661,6 +10789,7 @@ msgid "After change" msgstr "変更後" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} チケット" @@ -10806,18 +10935,22 @@ msgid "Ticket applied info" msgstr "チケット適用情報" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "新しいチケットがあります- {}" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: 新しいワークオーダー - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "チケットが処理されました。プロセッサー- {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "チケットが処理済み- {} ({})" @@ -10903,6 +11036,7 @@ msgstr "申請アクション" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "チケットで作成 ({}-{})" @@ -10911,6 +11045,7 @@ msgid "The expiration date should be greater than the start date" msgstr "有効期限は開始日より大きくする必要があります" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "'{}'という名前の権限は既に存在します" @@ -10919,6 +11054,7 @@ msgid "Process map" msgstr "フローチャート" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "チケットフロー '{}'が存在しない" @@ -10979,6 +11115,7 @@ msgid "Can not invite self" msgstr "自分自身を招待することはできません" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -11412,6 +11549,7 @@ msgid "Password does not match security rules" msgstr "パスワードがセキュリティルールと一致しない" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "新しいパスワードを最後の {} 個のパスワードにすることはできません" @@ -11869,6 +12007,7 @@ msgid "Password invalid" msgstr "パスワード無効" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -11881,6 +12020,7 @@ msgid "Token invalid or expired" msgstr "トークンが無効または期限切れ" #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "ユーザー認証ソース {}, 対応するシステムにパスワードを変更してください" @@ -11889,6 +12029,7 @@ msgid "* Your password does not meet the requirements" msgstr "* パスワードが要件を満たしていない" #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* 新しいパスワードを最後の {} パスワードにすることはできません" @@ -11911,10 +12052,12 @@ msgid "Test connection successful" msgstr "テスト接続成功" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "テスト接続に失敗しました: {}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "ユーザー {} が現在のリソースを削除し、アセットを解放しました" @@ -12112,6 +12255,10 @@ msgstr "地域を同期する" msgid "Get instances of region \"%s\" error, error: %s" msgstr "地域 \"%s\" のインスタンスを取得できませんでした、エラー:%s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "インスタンス" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -12256,10 +12403,6 @@ msgstr "同期タスク" msgid "Sync instance task history" msgstr "インスタンスタスク履歴の同期" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "インスタンス" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "同期インスタンスの詳細" @@ -12580,6 +12723,10 @@ msgstr "APIエンドポイント" msgid "Auto node classification" msgstr "オートノード分類" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "ドメイン名" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "認証アドレス" @@ -12613,6 +12760,7 @@ msgid "The file is in JSON format" msgstr "ファイルはJSON形式です。" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "IPアドレスが無効: '{}', {}" @@ -12770,33 +12918,17 @@ msgstr "セキュリティ管理者" msgid "JDMC" msgstr "JDMC" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "ライセンスのインポートに成功" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "ライセンスが無効です" -msgid "Connection refused" -msgstr "接続が拒否されました" - -msgid "Connection timeout" -msgstr "接続がタイムアウトしました" - -msgid "Unable to resolve the address" -msgstr "アドレスを解決できません" - -msgid "Unable to connect to the host" -msgstr "ホストに接続できません" - #~ msgid "Offline video player" #~ msgstr "オフラインビデオプレーヤー" -#~| msgid "Domain name" -#~ msgid "domain_name" -#~ msgstr "ドメイン名" - #~| msgid "Authenticate" #~ msgid "Certificate Auth" #~ msgstr "認証" diff --git a/apps/i18n/core/ko/LC_MESSAGES/django.po b/apps/i18n/core/ko/LC_MESSAGES/django.po index a4572f16f..bc6f8dbea 100644 --- a/apps/i18n/core/ko/LC_MESSAGES/django.po +++ b/apps/i18n/core/ko/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,6 +33,7 @@ msgid "Account not found" msgstr "계정을 찾을 수 없습니다" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "파라미터 'action'은 [{}] 여야 합니다" @@ -115,10 +116,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "성공: %s, 실패: %s, 총 수: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "위험 감지 보고서 {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -153,6 +156,8 @@ msgstr ">>> 테스트 게이트웨이 계정 연결성 작업 시작" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "비밀번호" @@ -445,7 +450,7 @@ msgid "" msgstr "" "Vault 작업이 실패했습니다. 다시 시도하거나 Vault의 계정 정보를 확인하십시오." -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -477,7 +482,7 @@ msgstr "" msgid "Asset" msgstr "자산" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -485,46 +490,46 @@ msgstr "자산" msgid "Su from" msgstr "전환" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "버전" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "계정 기록" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "변경 가능" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "출처" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "출처 ID" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "최근 방문 날짜" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "방문 방식" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "비밀번호 날짜" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "비밀번호 변경 상태" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -545,35 +550,35 @@ msgstr "비밀번호 변경 상태" msgid "Account" msgstr "계정" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "자산 계정 비밀번호 조회 가능" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "자산 역사 계정 조회 가능" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "자산 역사 계정 비밀번호 조회 가능" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "계정 검증 가능" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "계정 푸시 가능" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "계정 제거 가능" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "계정 세션" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "계정 활동" @@ -587,7 +592,7 @@ msgstr "계정 활동" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -635,8 +640,8 @@ msgstr "암호" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "계정" @@ -906,6 +911,8 @@ msgstr "중복 비밀번호" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "사용자 이름" @@ -1111,6 +1118,7 @@ msgid "Notification of account backup route task results" msgstr "계정 백업 작업 결과 알림" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" @@ -1118,6 +1126,7 @@ msgstr "" "{} - 계정 백업 작업이 완료되었습니다. 자세한 내용은 첨부파일을 참조하십시오." #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1131,6 +1140,7 @@ msgid "Notification of implementation result of encryption change plan" msgstr "비밀번호 변경 계획 작업 결과 알림" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" @@ -1139,6 +1149,7 @@ msgstr "" "오." #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1192,6 +1203,7 @@ msgid "Change password and Add" msgstr "비밀번호 변경 및 추가" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "실행 실패: {}" @@ -1208,7 +1220,7 @@ msgid "Exist policy" msgstr "계정에 정책이 존재합니다" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1221,7 +1233,7 @@ msgstr "카테고리" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1243,7 +1255,7 @@ msgstr "자산이 존재하지 않습니다" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "디렉토리 서비스" @@ -1286,7 +1298,7 @@ msgstr "자산 또는 노드 중 최소 하나 선택" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "특별 정보" @@ -1366,7 +1378,7 @@ msgstr "비고" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "계정 수" @@ -1958,6 +1970,7 @@ msgid "Command group" msgstr "명령 그룹" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "생성된 정규 표현식이 잘못되었습니다: {}" @@ -2109,19 +2122,23 @@ msgid "Recipients" msgstr "수신자" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "조직 `{}` 가 존재하지 않습니다." #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "모든 검토자는 조직에 속하지 않습니다 `{}`" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "IP 주소가 유효하지 않습니다: `{}`" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "주소가 유효하지 않습니다: `{}`" @@ -2216,6 +2233,7 @@ msgid "You can't update the root node name" msgstr "루트 노드 이름을 수정할 수 없습니다." #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "루트 노드를 삭제할 수 없습니다 ({})" @@ -2224,6 +2242,7 @@ msgid "Deletion failed and the node contains assets" msgstr "삭제 실패, 노드에 자산이 포함되어 있습니다." #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2240,10 +2259,12 @@ msgid "App Assets" msgstr "자산 관리" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "작업: {} 완료" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr "- 플랫폼 {} Ansible이 비활성화되어 있어 작업을 실행할 수 없습니다." @@ -2275,6 +2296,7 @@ msgid "No account" msgstr "계정이 없습니다." #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "자산, {}, 사용 계정 {}" @@ -2284,7 +2306,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "포트 {address}의 {port}에 연결할 수 없습니다" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "인증 실패" @@ -2390,7 +2413,8 @@ msgstr "클라우드 서비스" msgid "Web" msgstr "웹" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "사용자 정의 타입" @@ -2663,13 +2687,15 @@ msgstr "클라우드 서비스" msgid "Port" msgstr "포트" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "주소" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2681,13 +2707,13 @@ msgstr "플랫폼" msgid "Zone" msgstr "도메인" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "노드" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "자산 하드웨어 정보 수집" @@ -2875,7 +2901,7 @@ msgstr "값" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "태그" @@ -3063,15 +3089,15 @@ msgid "" msgstr "" "자산 중 플랫폼을 일괄 업데이트하며, 플랫폼 유형에 맞지 않는 자산은 건너뜁니다" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "프로토콜, 형식은 [\"프로토콜/포트\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "프로토콜, 형식은 이름/포트" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3079,14 +3105,14 @@ msgstr "" "계정, 형식은 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" msgstr "" "노드 경로, 형식은 [\"/조직/노드명\"], 만약 노드가 존재하지 않으면 생성됩니다" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3095,31 +3121,32 @@ msgstr "" msgid "Protocols" msgstr "프로토콜 그룹" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "노드 경로" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "자동화 정보" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "플랫폼이 존재하지 않습니다" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "포트 범위를 초과했습니다 (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "프로토콜은 필수입니다: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "유효하지 않은 데이터" @@ -3468,14 +3495,17 @@ msgid "" msgstr "도메인 세부정보 - 게이트웨이 - 테스트 연결 시 해당 작업을 실행합니다" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "자산이 이미 비활성화되어 건너뜁니다: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "자산이 Ansible을 지원하지 않을 수 있으므로 건너뜁니다: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "안전을 위하여 사용자 {}의 푸시를 금지합니다" @@ -3658,7 +3688,7 @@ msgid "Resource Type" msgstr "자원 유형" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "자원" @@ -4228,6 +4258,7 @@ msgid "Permission expired" msgstr "권한이 만료되었습니다." #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "ACL Action은 거부: {}({})입니다." @@ -4257,11 +4288,13 @@ msgid "Facial comparison failed" msgstr "얼굴 인식 실패" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "현재 사용자는 MFA 유형을 지원하지 않습니다: {}" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "사용자가 존재하지 않습니다: {}" @@ -4270,6 +4303,7 @@ msgid "No user matched" msgstr "사용자와 일치하지 않음" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4286,6 +4320,7 @@ msgid "Forgot password" msgstr "비밀번호를 잊으셨나요" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "인증 코드의 유효 기간은 {} 분입니다." @@ -4413,6 +4448,7 @@ msgid "Authentication failed password incorrect" msgstr "인증 실패 (사용자 이름 또는 비밀번호가 올바르지 않습니다)" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "로그인 시간이 {} 분을 초과했습니다. 다시 로그인 해주세요" @@ -4502,6 +4538,7 @@ msgstr "" "다: {block_time} 분)." #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4510,6 +4547,7 @@ msgstr "" "도해 주세요)." #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4543,6 +4581,7 @@ msgid "Wait login confirm ticket for accept" msgstr "로그인 검토 처리를 기다리고 있습니다" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "로그인 검토: {}" @@ -4726,6 +4765,7 @@ msgid "Clear phone number to disable" msgstr "전화번호 삭제로 비활성화" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "인증 실패 (로그인 전 검사 실패): {}" @@ -4743,6 +4783,7 @@ msgid "User is invalid" msgstr "무효한 사용자" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4752,6 +4793,7 @@ msgstr "" "는 {}입니다. 관리자에게 문의하십시오." #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "해당 MFA ({}) 방식이 활성화되지 않았습니다." @@ -4821,6 +4863,7 @@ msgid "Connection token inactive" msgstr "연결 토큰이 활성화되지 않음" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "연결 토큰이 만료됨: {}" @@ -4957,6 +5000,7 @@ msgstr "조직 이름" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 비어있을 수 없습니다" @@ -5429,6 +5473,7 @@ msgid "Redirecting" msgstr "전환 중" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "{} 인증으로 이동 중입니다." @@ -5437,10 +5482,12 @@ msgid "Login timeout, please try again." msgstr "로그인 시간 초과, 다시 로그인해 주세요." #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "사용자 이메일이 이미 존재합니다 ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5610,7 +5657,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "유효하지 않은 ID, 목록이어야 합니다" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5640,6 +5687,7 @@ msgid "Updated by" msgstr "마지막 업데이트한 사람" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "유효하지 않은 포트 범위, {}-{} 내에 있어야 합니다" @@ -5652,10 +5700,12 @@ msgid "Org ID" msgstr "조직 ID" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "파일 내용이 너무 큽니다 (최대 길이 `{}` 바이트)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "파일 구문 분석 오류: {}" @@ -5668,6 +5718,7 @@ msgid "Yes/No" msgstr "예/아니요" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "숫자, 최소 {} 최대 {}" @@ -5676,6 +5727,7 @@ msgid "Phone number, format +8612345678901" msgstr "전화번호, 형식: +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "텍스트, 최대 길이 {}" @@ -5684,6 +5736,7 @@ msgid "Long text, no length limit" msgstr "긴 텍스트, 길이 제한 없음" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "날짜 시간 형식 {}" @@ -5692,6 +5745,7 @@ msgid "Label, format [\"key:value\"]" msgstr "태그, 형식: [\"키:값\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5700,6 +5754,7 @@ msgstr "" "다, 선택 사항은 {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "옵션, 선택 가능한 항목은 {}" @@ -5732,6 +5787,7 @@ msgid "Objects, format [\"id\", ...]" msgstr "다중 연관 항목, 형식은 [\"id\", ...]" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." @@ -5739,7 +5795,7 @@ msgstr "" "{} - 암호화 비밀번호가 설정되지 않았습니다 - 개인 정보 -> 파일 암호화 비밀번" "호에서 암호화 비밀번호를 설정해 주세요." -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "자원 수량" @@ -5864,6 +5920,7 @@ msgid "sp_id is 6 bits" msgstr "SP_id는 6자리여야 합니다" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "게이트웨이 서버 연결 오류, 오류: {}" @@ -5876,6 +5933,10 @@ msgstr "사용자 정의 문자 메시지 파일이 유효하지 않습니다" msgid "SMS sending failed[%s]: %s" msgstr "문자 메시지 전송 실패[%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "파일" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "알리 클라우드" @@ -5897,6 +5958,7 @@ msgid "Custom type (File)" msgstr "사용자 정의 (파일)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "문자 메시지 서비스 제공업체가 지원하지 않음: {}" @@ -5913,6 +5975,7 @@ msgid "The verification code is incorrect" msgstr "인증 코드 오류" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "{} 초 후에 다시 전송해 주십시오." @@ -5920,31 +5983,28 @@ msgstr "{} 초 후에 다시 전송해 주십시오." msgid "Children" msgstr "노드" -#: common/serializers/common.py:98 -msgid "File" -msgstr "파일" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "유효하지 않은 데이터" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "잘못된 pk \"{pk_value}\" - 객체가 존재하지 않음" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "오류 유형. 기대하는 pk 값, 수신된 값: {data_type}." -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "잘못된 데이터 유형, 리스트여야 함" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "유효하지 않은 옵션: {}" @@ -6048,6 +6108,10 @@ msgstr "JumpServer 오픈소스 방화벽" msgid "JumpServer - An open-source PAM" msgstr "Flower 서비스가 사용 불가능합니다, 확인하십시오" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "" @@ -6055,7 +6119,7 @@ msgstr "" "div>
이 페이지를 보았다면, nginx가 수신하고 있는 포트에 접근하고 있지 않" "음을 의미합니다. 행운을 기원합니다
" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -6064,13 +6128,14 @@ msgstr "" "Websocket 서비스는 포트: {}에서 실행 중입니다, nginx가 프록시가 설정되어 있는" "지 확인하십시오" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" "Websocket 서비스가 포트 {}에서 실행 중입니다. nginx의 프록시 설정을 확인하십" "시오." -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -6097,11 +6162,11 @@ msgstr "자원 ID" msgid "Tagged resource" msgstr "연관된 자원" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "“:,”을 포함할 수 없음" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "자원 유형" @@ -6126,6 +6191,7 @@ msgid "User message" msgstr "사용자 메시지" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} 구독" @@ -6164,14 +6230,17 @@ msgid "Waiting task start" msgstr "작업 시작을 기다리고 있습니다" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "작업 {}가 존재하지 않습니다" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "작업 {}의 실행 매개변수가 잘못되었습니다" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" "로그인 자산 {}({})가 거부되었습니다. 로그인 자산 규칙 ACL ({})에 의해 제한되" @@ -6466,6 +6535,7 @@ msgid "Celery Task Execution" msgstr "Celery 작업 실행" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "모듈 {}는 이 자산에 적합하지 않음" @@ -6746,6 +6816,7 @@ msgid "Name of the job" msgstr "Job 이름" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "현재 조직 ({})는 삭제할 수 없습니다" @@ -6758,6 +6829,7 @@ msgstr "" "작업을 진행해 주십시오" #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "조직에 자원 ({})이 존재하여 삭제할 수 없습니다" @@ -6932,6 +7004,7 @@ msgid "Asset permissions is about to expire" msgstr "자산 권한 부여 규칙이 곧 만료됩니다" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "조직 ({})의 자산 권한" @@ -7013,6 +7086,7 @@ msgid "Internal role, can't be update" msgstr "내부 역할은 업데이트할 수 없습니다." #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} 최소한 하나의 시스템 역할이 필요합니다." @@ -7389,6 +7463,7 @@ msgid "Test success" msgstr "테스트 성공" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "메일이 전송되었습니다 {}, 확인해 주세요" @@ -8360,7 +8435,7 @@ msgstr "임대인 ID" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "지역" @@ -9105,19 +9180,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "ldap:// 또는 ldaps:// 프로토콜을 사용하세요" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "호스트 또는 포트에 연결할 수 없습니다: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "포트는 LDAP 서비스 포트가 아닙니다: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "인증서를 추가해 주세요: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "알 수 없는 오류: {}" @@ -9126,22 +9205,27 @@ msgid "Bind DN or Password incorrect" msgstr "바인딩 DN 또는 비밀번호가 잘못되었습니다" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "바인딩 DN을 입력하세요: {}" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "비밀번호를 입력하세요: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "올바른 바인딩 DN과 비밀번호를 입력하세요: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "유효하지 않은 사용자 OU 또는 사용자 필터입니다: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "LDAP 속성 매핑에 포함되지 않았습니다: {}" @@ -9154,46 +9238,57 @@ msgid "LDAP authentication is not enabled" msgstr "LDAP 인증이 활성화되지 않았습니다" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "오류 (유효하지 않은 LDAP 서버 주소): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "오류 (유효하지 않은 바인딩 DN): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "오류 (유효하지 않은 LDAP 속성 매핑): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "오류 (유효하지 않은 사용자 OU 또는 사용자 필터): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "오류 (LDAP 인증이 활성화되지 않음): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "오류 (알 수 없음): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "성공적으로 {}명의 사용자와 일치함" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "인증 실패 (구성 오류): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "인증 실패 (사용자 이름 또는 비밀번호가 올바르지 않음): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "인증 실패: (알 수 없음): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "인증 성공: {}" @@ -9202,10 +9297,12 @@ msgid "No LDAP user was found" msgstr "LDAP 사용자를 획득하지 못함" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "총 {}명, 성공 {}명, 실패 {}명" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr "비활성화 {}" @@ -9366,6 +9463,10 @@ msgstr "" msgid "More download" msgstr "추가 다운로드" +#: templates/resource_download.html:34 +msgid "Tools and applications" +msgstr "도구 및 애플리케이션" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "유효하지 않은 zip 파일" @@ -9375,6 +9476,7 @@ msgid "This is enterprise edition applet" msgstr "기업용 원격 애플리케이션은 커뮤니티 버전에서 사용할 수 없습니다." #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "경로에 원격 애플리케이션을 찾을 수 없습니다: {}" @@ -9387,6 +9489,7 @@ msgid "Deleting the default storage is not allowed" msgstr "기본 저장 구성 삭제가 허용되지 않습니다." #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "사용 중인 저장소를 삭제할 수 없습니다: {}" @@ -9398,15 +9501,33 @@ msgstr "명령 저장소" msgid "Invalid" msgstr "유효하지 않음" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "연결이 거부되었습니다" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "연결 시간이 초과되었습니다" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "주소를 확인할 수 없습니다" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "호스트에 연결할 수 없습니다" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "테스트 실패: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "테스트 성공" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "테스트 실패: 구성을 확인하십시오." @@ -9425,6 +9546,7 @@ msgid "Session replay" msgstr "세션 녹화" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "회화가 존재하지 않습니다: {}" @@ -9432,7 +9554,7 @@ msgstr "회화가 존재하지 않습니다: {}" msgid "Session is finished or the protocol not supported" msgstr "회화가 이미 완료되었거나 프로토콜이 지원되지 않습니다." -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "사용자에게 권한이 없습니다." @@ -9597,10 +9719,12 @@ msgstr "주최자" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 유효하지 않음, 파일 {}가 없습니다" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "platform.yml 로드 실패: {}" @@ -10006,8 +10130,8 @@ msgid "" msgstr "" "提示:애플리케이션 배포기와 Core 서비스가 통신하는 데 사용되며, 배포기와 " "Core 서비스가 동일한 네트워크에 있을 경우 내부 주소를 입력하는 것이 좋습니" -"다. 그렇지 않으면 현재 사이트 URL을 입력해야 합니다.
예: " -"https://172.16.10.110 또는 https://dev.example.com" +"다. 그렇지 않으면 현재 사이트 URL을 입력해야 합니다.
예: https://" +"172.16.10.110 또는 https://dev.example.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -10202,6 +10326,7 @@ msgid "No asset or invalid asset" msgstr "자산이 없거나 자산이 활성화되지 않았습니다" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "엔드포인트가 유효하지 않습니다: 경로 `{}`를 제거하세요" @@ -10250,8 +10375,8 @@ msgid "" "If there are multiple hosts, use a comma (,) to separate them.
(For " "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" msgstr "" -"여러 개의 호스트가 있을 경우 쉼표(,)로 구분하십시오.
(예: http://www." -"jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" +"여러 개의 호스트가 있을 경우 쉼표(,)로 구분하십시오.
(예: http://" +"www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" #: terminal/serializers/storage.py:199 msgid "Index by date" @@ -10629,6 +10754,7 @@ msgid "Ticket already closed" msgstr "작업 요청이 종료되었습니다" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10648,6 +10774,7 @@ msgid "After change" msgstr "변경 후" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} 작업 요청" @@ -10793,18 +10920,22 @@ msgid "Ticket applied info" msgstr "작업 티켓 신청 정보" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "{}에서 새 티켓이 도착했습니다" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: 새 작업 - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "귀하의 작업 티켓이 처리되었습니다, 처리자 - {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "귀하의 작업 티켓이 처리되었습니다, 처리자 - {} ({})" @@ -10890,6 +11021,7 @@ msgstr "신청 Action" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "작업을 통해 생성됨 ({}-{})" @@ -10898,6 +11030,7 @@ msgid "The expiration date should be greater than the start date" msgstr "만료 시간은 시작 시간보다 커야 합니다" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "授权名称 `{}` 이미 존재합니다" @@ -10906,6 +11039,7 @@ msgid "Process map" msgstr "프로세스 차트" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "작업 프로세스 `{}` 존재하지 않습니다" @@ -10981,6 +11115,7 @@ msgid "Can not invite self" msgstr "자신을 초대할 수 없습니다" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -11407,6 +11542,7 @@ msgid "Password does not match security rules" msgstr "비밀번호가 보안 규칙을 충족하지 않음" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "새 비밀번호는 최근 {} 번의 비밀번호가 될 수 없음" @@ -11874,6 +12010,7 @@ msgid "Password invalid" msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다." #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -11886,6 +12023,7 @@ msgid "Token invalid or expired" msgstr "토큰 오류 또는 만료되었습니다." #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" "사용자 인증 출처는 {}, 해당 시스템에서 비밀번호를 수정해 주시기 바랍니다." @@ -11895,6 +12033,7 @@ msgid "* Your password does not meet the requirements" msgstr "* 귀하의 비밀번호가 요구 사항을 충족하지 않습니다." #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* 새 비밀번호는 최근 {} 번의 비밀번호 중 하나일 수 없습니다." @@ -11918,10 +12057,12 @@ msgid "Test connection successful" msgstr "테스트 성공" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "연결 테스트 실패: {}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "사용자 {}가 현재 자원이 해제된 자산을 삭제했습니다." @@ -12119,6 +12260,10 @@ msgstr "동기화 지역" msgid "Get instances of region \"%s\" error, error: %s" msgstr "영역 \"%s\"의 인스턴스 오류를 가져오는 중, 오류: %s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "인스턴스" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -12263,10 +12408,6 @@ msgstr "동기화 작업" msgid "Sync instance task history" msgstr "동기화 인스턴스 작업 기록" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "인스턴스" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "동기화 인스턴스 세부정보" @@ -12587,6 +12728,10 @@ msgstr "API 엔드포인트" msgid "Auto node classification" msgstr "자동 노드 분류" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "도메인 이름." + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "인증 주소" @@ -12620,6 +12765,7 @@ msgid "The file is in JSON format" msgstr "JSON 형식의 파일" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "IP 주소가 유효하지 않음: `{}`, {}" @@ -12778,33 +12924,17 @@ msgstr "보안 관리자" msgid "JDMC" msgstr "JDMC" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "라이센스 가져오기 성공" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "라이센스가 유효하지 않습니다." -msgid "Connection refused" -msgstr "연결이 거부되었습니다" - -msgid "Connection timeout" -msgstr "연결 시간이 초과되었습니다" - -msgid "Unable to resolve the address" -msgstr "주소를 확인할 수 없습니다" - -msgid "Unable to connect to the host" -msgstr "호스트에 연결할 수 없습니다" - #~ msgid "Offline video player" #~ msgstr "오프라인 비디오 플레이어" -#~| msgid "Domain name" -#~ msgid "domain_name" -#~ msgstr "도메인 이름." - #~| msgid "Authenticate" #~ msgid "Certificate Auth" #~ msgstr "신원 인증" diff --git a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po index 08ab023a3..6141e7120 100644 --- a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po +++ b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,6 +33,7 @@ msgid "Account not found" msgstr "Conta não encontrada" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "O parâmetro 'action' deve ser [{}]" @@ -115,10 +116,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "Sucesso: %s, Falha: %s, Total: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "Relatório de Detecção de Risco {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -153,6 +156,8 @@ msgstr ">>> Iniciando teste de conectividade da conta do gateway" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "Senha" @@ -446,7 +451,7 @@ msgstr "" "Falha na Action Vault, tente novamente ou verifique as informações da conta " "no Vault." -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -478,7 +483,7 @@ msgstr "" msgid "Asset" msgstr "Ativos" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -486,46 +491,46 @@ msgstr "Ativos" msgid "Su from" msgstr "Mudar de" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "Versão" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "Histórico de Conta" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "Senha Alterável" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "Origem" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "ID de origem" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "Data do Último Acesso" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "Método de Acesso" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "Data da Senha" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "Status da Alteração de Senha" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -546,35 +551,35 @@ msgstr "Status da Alteração de Senha" msgid "Account" msgstr "Conta" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "É possível visualizar a senha da conta de ativos" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "É possível visualizar o histórico da conta de ativos" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "É possível visualizar a senha do histórico da conta de ativos" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "É possível verificar a conta" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "É possível enviar a conta" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "É possível remover a conta" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "Sessão da conta" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "Atividade da conta" @@ -588,7 +593,7 @@ msgstr "Atividade da conta" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -636,8 +641,8 @@ msgstr "Texto cifrado" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "Conta" @@ -922,6 +927,8 @@ msgstr "Senha repetida" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "Nome de usuário" @@ -1133,6 +1140,7 @@ msgid "Notification of account backup route task results" msgstr "Notificação de resultado da tarefa de backup da conta" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" @@ -1140,6 +1148,7 @@ msgstr "" "{} - A tarefa de backup da conta está concluída, veja detalhes no anexo " #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1154,6 +1163,7 @@ msgid "Notification of implementation result of encryption change plan" msgstr "Tarefa de alteração de senha concluída" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" @@ -1161,6 +1171,7 @@ msgstr "" "{} - A tarefa de alteração de senha foi concluída, veja detalhes no anexo" #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1215,6 +1226,7 @@ msgid "Change password and Add" msgstr "Alterar senha e adicionar" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "Execução falhou: {}" @@ -1231,7 +1243,7 @@ msgid "Exist policy" msgstr "Estratégia de contas existentes" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1244,7 +1256,7 @@ msgstr "Categoria" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1266,7 +1278,7 @@ msgstr "Ativo não existe" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "Serviço de diretório" @@ -1309,7 +1321,7 @@ msgstr "Selecione pelo menos um item de ativo ou nó" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "Informações especiais" @@ -1389,7 +1401,7 @@ msgstr "Observação" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "Quantidade de contas" @@ -2000,6 +2012,7 @@ msgid "Command group" msgstr "Grupo de Comandos" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "A expressão regular gerada está errada: {}" @@ -2152,19 +2165,23 @@ msgid "Recipients" msgstr "Destinatário" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "A organização `{}` não existe." #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "Todos os revisores não pertencem à organização `{}`" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "Endereço IP inválido: `{}`" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "Endereço inválido: `{}`" @@ -2263,6 +2280,7 @@ msgid "You can't update the root node name" msgstr "Não é possível modificar o nome do nó raiz" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "Não é possível excluir o nó raiz ({})" @@ -2271,6 +2289,7 @@ msgid "Deletion failed and the node contains assets" msgstr "Falha ao excluir, o nó contém ativos" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2287,10 +2306,12 @@ msgid "App Assets" msgstr "Gestão de ativos" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "Tarefa: {} concluída" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - Plataforma {} Ansible foi desabilitada, impossível executar tarefas" @@ -2322,6 +2343,7 @@ msgid "No account" msgstr "Sem conta" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "Ativos, {}, Use a conta {}" @@ -2331,7 +2353,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "Impossível conectar-se à porta {port} no endereço {address}" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "Falha na autenticação" @@ -2437,7 +2460,8 @@ msgstr "Serviço de nuvem" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Personalizado" @@ -2531,8 +2555,8 @@ msgid "" "
- ${USER} The username of the user" msgstr "" "Diretório raiz do SFTP, suporta variáveis:
-${ACCOUNT} nome de usuário " -"da conta conectada
-${HOME} diretório principal da conta conectada
-" -"${USER} nome de usuário do usuário" +"da conta conectada
-${HOME} diretório principal da conta conectada
-$" +"{USER} nome de usuário do usuário" #: assets/const/protocol.py:81 msgid "Console" @@ -2715,13 +2739,15 @@ msgstr "Serviço na nuvem" msgid "Port" msgstr "Porta" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "Endereço" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2733,13 +2759,13 @@ msgstr "Plataforma" msgid "Zone" msgstr "Domínio" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "Node" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "Coletar informações do hardware do ativo" @@ -2927,7 +2953,7 @@ msgstr "Valor" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "Etiqueta" @@ -3116,15 +3142,15 @@ msgstr "" "Atualização em massa na plataforma de ativos, ativos ignorados que não " "correspondem ao tipo de plataforma" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "Protocolo, formato como [\"protocolo/porta\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "Protocolo, formato como nome/porta" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3132,7 +3158,7 @@ msgstr "" "Conta, formato como [{\"name\": \"x\", \"username\": \"x\", \"secret\": " "\"x\", \"secret_type\": \"password\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" @@ -3140,7 +3166,7 @@ msgstr "" "Caminho do nó, formatado como [\"/ organização / nome do nó\"], se o nó não " "existir, ele será criado" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3149,31 +3175,32 @@ msgstr "" msgid "Protocols" msgstr "Grupo de Protocolo" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "Caminho do nó" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "Informação de Automação" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr " Plataforma não existe" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "Porta fora do alcance (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "O protocolo é obrigatório: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "Dados inválidos" @@ -3530,14 +3557,17 @@ msgstr "" "teste de conexão" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "O ativo já foi desativado, pular: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "Talvez os ativos não suportem ansible, pulando: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "Para segurança, é proibido empurrar o usuário {}" @@ -3720,7 +3750,7 @@ msgid "Resource Type" msgstr "Tipo de recurso" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "Recurso" @@ -4293,6 +4323,7 @@ msgid "Permission expired" msgstr "A autorização expirou" #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "Ação do ACL é rejeitar: {} ({})." @@ -4322,11 +4353,13 @@ msgid "Facial comparison failed" msgstr "Falha na comparação facial" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "O usuário atual não suporta o tipo de MFA: {}" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "Usuário não encontrado: {}" @@ -4335,6 +4368,7 @@ msgid "No user matched" msgstr "Nenhum usuário correspondente encontrado" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4352,6 +4386,7 @@ msgid "Forgot password" msgstr "Esqueceu a senha" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "O código de verificação é válido por {} minuto" @@ -4480,6 +4515,7 @@ msgid "Authentication failed password incorrect" msgstr "Falha na autenticação (usuário ou senha incorretos)" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "O tempo de login excedeu {} minutos, por favor, faça login novamente" @@ -4569,6 +4605,7 @@ msgstr "" "bloqueada temporariamente por {block_time} minutos) " #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4577,6 +4614,7 @@ msgstr "" "para desbloquear ou tente novamente depois de {} minutos) " #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4610,6 +4648,7 @@ msgid "Wait login confirm ticket for accept" msgstr "Aguardando tratamento de revisão de login " #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "Revisão de login: {}" @@ -4795,6 +4834,7 @@ msgid "Clear phone number to disable" msgstr "Desativar limpeza de número de telefone" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "Falha de autenticação (verificação pré-login falhou): {}" @@ -4813,6 +4853,7 @@ msgid "User is invalid" msgstr "Usuário inválido" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4822,6 +4863,7 @@ msgstr "" "atual do usuário é {}, entre em contato com o administrador." #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "Este método MFA ({}) não está ativado" @@ -4891,6 +4933,7 @@ msgid "Connection token inactive" msgstr "Token de conexão não ativado" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "Token de conexão expirado: {}" @@ -5027,6 +5070,7 @@ msgstr "Nome da Organização" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} não pode estar vazio" @@ -5511,6 +5555,7 @@ msgid "Redirecting" msgstr "Redirecionando" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "Redirecionando para a autenticação {}" @@ -5519,10 +5564,12 @@ msgid "Login timeout, please try again." msgstr "Tempo de login expirou, por favor, faça o login novamente" #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "O e-mail do usuário já existe ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5693,7 +5740,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "ID inválido, deve ser uma lista" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5723,6 +5770,7 @@ msgid "Updated by" msgstr "Último atualizador" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "Faixa de portas inválida, deve estar dentro de {}-{}" @@ -5735,10 +5783,12 @@ msgid "Org ID" msgstr "ID da organização" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "O conteúdo do arquivo é muito grande (tamanho máximo `{}` bytes)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "Erro ao analisar o arquivo: {}" @@ -5751,6 +5801,7 @@ msgid "Yes/No" msgstr "Sim/Não" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "Número, mínimo {} máximo {}" @@ -5759,6 +5810,7 @@ msgid "Phone number, format +8612345678901" msgstr "Número de celular, formato +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "Texto, comprimento máximo {}" @@ -5767,6 +5819,7 @@ msgid "Long text, no length limit" msgstr "Texto longo, sem limite de comprimento" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "Formato de data e hora {}" @@ -5775,6 +5828,7 @@ msgid "Label, format [\"key:value\"]" msgstr "Tags, formato: [\"chave:valor\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5783,6 +5837,7 @@ msgstr "" "o valor é obrigatório, as opções disponíveis são {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "Opções, as opções disponíveis são {}" @@ -5817,6 +5872,7 @@ msgid "Objects, format [\"id\", ...]" msgstr "Itens associados múltiplos, o formato é [\"id\", ...]" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." @@ -5824,7 +5880,7 @@ msgstr "" "{} - Senha de criptografia não definida - vá para Informações pessoais -> " "Senha de criptografia de arquivo para definir a senha de criptografia" -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "Quantidade de recursos" @@ -5950,6 +6006,7 @@ msgid "sp_id is 6 bits" msgstr "O SP_id é de 6 dígitos" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "Erro ao conectar ao servidor gateway, erro: {}" @@ -5962,6 +6019,10 @@ msgstr "Arquivo de SMS personalizado inválido" msgid "SMS sending failed[%s]: %s" msgstr "Falha no envio de SMS [%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "Arquivo" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "Alibaba Cloud" @@ -5983,6 +6044,7 @@ msgid "Custom type (File)" msgstr "Personalizado (Arquivo)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "Provedor de serviços de SMS não suportado: {}" @@ -5999,6 +6061,7 @@ msgid "The verification code is incorrect" msgstr "Código de verificação errado" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "Por favor, envie em {} segundos" @@ -6006,31 +6069,28 @@ msgstr "Por favor, envie em {} segundos" msgid "Children" msgstr "Nó" -#: common/serializers/common.py:98 -msgid "File" -msgstr "Arquivo" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "Dados inválidos" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "Erro pk \"{pk_value}\" - objeto não existe" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "Tipo de erro. Esperado valor pk, recebido {data_type}." -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "Tipo de dados incorreto, deveria ser uma lista" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "Opção inválida: {}" @@ -6136,11 +6196,15 @@ msgstr "Sua conta foi criada com sucesso" msgid "JumpServer - An open-source PAM" msgstr "JumpServer Open Fortress Machine" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "Serviço Flower indisponível, por favor verifique" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -6151,13 +6215,14 @@ msgstr "" "significa que você não está acessando a porta monitorada pelo nginx, boa " "sorte" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" "O serviço Websocket está rodando na porta: {}, por favor verifique se o " "nginx está configurado como proxy." -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -6188,11 +6253,11 @@ msgstr "ID do recurso" msgid "Tagged resource" msgstr "Recurso associado" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "Não pode conter \":,\"" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "Tipo de recurso" @@ -6217,6 +6282,7 @@ msgid "User message" msgstr "Mensagens do usuário" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} Inscrição" @@ -6255,14 +6321,17 @@ msgid "Waiting task start" msgstr "Aguardando o início da tarefa" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "A tarefa {} não existe" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "Erro nos parâmetros da tarefa {}" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" "Acesso ao ativo {}({}) foi negado, restrito pela regra de acesso (ACL) do " @@ -6545,6 +6614,7 @@ msgid "Celery Task Execution" msgstr "Execução de Tarefa Celery" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "O módulo {} não se aplica a este ativo." @@ -6833,6 +6903,7 @@ msgid "Name of the job" msgstr " Nome da Job " #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr " A organização atual ({}) não pode ser excluída " @@ -6845,6 +6916,7 @@ msgstr "" "favor, mude para outra organização antes de executar a operação de exclusão " #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr " A organização possui recursos ({}) que não podem ser excluídos." @@ -7019,6 +7091,7 @@ msgid "Asset permissions is about to expire" msgstr "Regras de autorização de ativos estão prestes a expirar" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "Autorização de ativos da organização ({})" @@ -7101,6 +7174,7 @@ msgid "Internal role, can't be update" msgstr "Papel interno, não pode ser atualizado" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} tem pelo menos um papel de sistema" @@ -7463,6 +7537,7 @@ msgid "Test success" msgstr "Teste Bem-Sucedido" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "O e-mail já foi enviado {}, por favor verifique" @@ -8456,7 +8531,7 @@ msgstr "ID do inquilino" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "Região" @@ -9216,19 +9291,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "Use o protocolo ldap:// ou ldaps://" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "Host ou porta não podem ser conectados: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "Porta não é uma porta de serviço LDAP: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "Por favor, adicione o certificado: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "Erro desconhecido: {}" @@ -9237,22 +9316,27 @@ msgid "Bind DN or Password incorrect" msgstr "Erro de DN de vinculação ou senha" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "Insira o DN de vinculação: {}" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "Por favor, insira a senha: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "Por favor, insira o DN de vinculação e a senha corretos: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "OU de usuário inválido ou filtro de usuário: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "O mapeamento de atributos LDAP não inclui: {}" @@ -9265,46 +9349,57 @@ msgid "LDAP authentication is not enabled" msgstr "A autenticação LDAP não está ativada" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "Erro (Endereço do servidor LDAP inválido): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "Erro (DN de vinculação inválido): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "Erro (mapeamento de atributos LDAP inválido): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "Erro (OU de usuário inválido ou filtro de usuário): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "Erro (autenticação LDAP não ativada): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "Erro (desconhecido): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "Correspondência bem-sucedida para {} usuários" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "Falha na autenticação (erro de configuração): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "Falha na autenticação (nome de usuário ou senha incorretos): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "Falha na autenticação: (desconhecido): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "Autenticação bem sucedida: {}" @@ -9313,10 +9408,12 @@ msgid "No LDAP user was found" msgstr "Não foi possível obter usuário LDAP" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "Total de {}, sucesso {}, falha {}" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr ", desativar {}" @@ -9479,6 +9576,12 @@ msgstr "" msgid "More download" msgstr "Mais downloads" +#: templates/resource_download.html:34 +#, fuzzy +#| msgid "Apply applications" +msgid "Tools and applications" +msgstr "Solicitar aplicativo" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "Arquivo zip inválido" @@ -9490,6 +9593,7 @@ msgstr "" "comunidade" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "Aplicativo remoto não encontrado no caminho: {}" @@ -9502,6 +9606,7 @@ msgid "Deleting the default storage is not allowed" msgstr "Não é permitido excluir a configuração de armazenamento padrão" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "Não é possível excluir o armazenamento em uso: {}" @@ -9513,15 +9618,33 @@ msgstr "Armazenamento de comandos" msgid "Invalid" msgstr "Inválido" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "Conexão recusada" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "Tempo de conexão esgotado" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "Não foi possível resolver o endereço" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "Não foi possível conectar ao host" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "Teste falhou: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "Teste bem-sucedido" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "Teste falhou: Por favor, verifique as configurações" @@ -9540,6 +9663,7 @@ msgid "Session replay" msgstr "Gravação de sessão" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "Sessão não existe: {}" @@ -9547,7 +9671,7 @@ msgstr "Sessão não existe: {}" msgid "Session is finished or the protocol not supported" msgstr "Sessão já concluída ou protocolo não suportado" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "Usuário sem permissões" @@ -9712,10 +9836,12 @@ msgstr "Host" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg inválido, arquivo ausente {}" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Falha ao carregar platform.yml: {}" @@ -10324,6 +10450,7 @@ msgid "No asset or invalid asset" msgstr "Sem ativo ou ativo não ativado" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "Ponto de extremidade inválido: Remover caminho `{}`" @@ -10757,6 +10884,7 @@ msgid "Ticket already closed" msgstr "A ordem de serviço foi fechada" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10778,6 +10906,7 @@ msgid "After change" msgstr "Depois da alteração" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} Ordem de serviço" @@ -10923,18 +11052,22 @@ msgid "Ticket applied info" msgstr "Informação do pedido da ordem de serviço" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "Você tem uma nova ordem de serviço, requerente - {}" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: Novo ticket - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "Sua ordem de serviço foi processada, operador - {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "Sua ordem de serviço foi processada, operador - {} ( {} )" @@ -11020,6 +11153,7 @@ msgstr " Solicitação de ação" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr " Criado através de ordem de serviço ({}-{})" @@ -11028,6 +11162,7 @@ msgid "The expiration date should be greater than the start date" msgstr " O tempo de expiração deve ser maior que o tempo de início" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr " O nome de autorização `{}` já existe" @@ -11036,6 +11171,7 @@ msgid "Process map" msgstr "Fluxograma" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr " O processo de ordem de serviço `{}` não existe" @@ -11098,6 +11234,7 @@ msgid "Can not invite self" msgstr "Não pode convidar a si mesmo" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -11529,6 +11666,7 @@ msgid "Password does not match security rules" msgstr "A senha não atende às regras de segurança" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "A nova senha não pode ser as últimas {} senhas" @@ -12001,6 +12139,7 @@ msgid "Password invalid" msgstr "Nome de usuário ou senha inválidos" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -12013,6 +12152,7 @@ msgid "Token invalid or expired" msgstr "Token incorreto ou inválido" #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" "O source de autenticação do usuário vem de {}, por favor, vá ao sistema " @@ -12023,6 +12163,7 @@ msgid "* Your password does not meet the requirements" msgstr "* Sua senha não atende aos requisitos" #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* A nova senha não pode ser as últimas {} senhas" @@ -12047,10 +12188,12 @@ msgid "Test connection successful" msgstr "Teste bem-sucedido" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "Falha na conexão do teste: {}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "Usuário {} excluiu o recurso já liberado" @@ -12248,6 +12391,10 @@ msgstr "Sincronizar região" msgid "Get instances of region \"%s\" error, error: %s" msgstr "Obter erro de instância na região \"%s\", erro: %s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "Instância" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -12392,10 +12539,6 @@ msgstr "Tarefa de Sincronização" msgid "Sync instance task history" msgstr "Histórico de Tarefas de Sincronização de Instância" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "Instância" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "Detalhes da Sincronização de Instância" @@ -12716,6 +12859,10 @@ msgstr "Ponto de extremidade da API" msgid "Auto node classification" msgstr "Classificação automática de nós" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "Nome do domínio" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "Endereço de autenticação" @@ -12749,6 +12896,7 @@ msgid "The file is in JSON format" msgstr "Arquivo no formato JSON" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "Endereço IP inválido: `{}`, {}" @@ -12912,33 +13060,17 @@ msgstr "Administrador de Segurança" msgid "JDMC" msgstr "JDMC" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "Importação de licença bem-sucedida" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "Licença inválida" -msgid "Connection refused" -msgstr "Conexão recusada" - -msgid "Connection timeout" -msgstr "Tempo de conexão esgotado" - -msgid "Unable to resolve the address" -msgstr "Não foi possível resolver o endereço" - -msgid "Unable to connect to the host" -msgstr "Não foi possível conectar ao host" - #~ msgid "Offline video player" #~ msgstr "Reprodutor de Gravação Offline" -#~| msgid "Domain name" -#~ msgid "domain_name" -#~ msgstr "Nome do domínio" - #~| msgid "Authenticate" #~ msgid "Certificate Auth" #~ msgstr "Verificar identidade" diff --git a/apps/i18n/core/ru/LC_MESSAGES/django.po b/apps/i18n/core/ru/LC_MESSAGES/django.po index d4512cd39..30eedb718 100644 --- a/apps/i18n/core/ru/LC_MESSAGES/django.po +++ b/apps/i18n/core/ru/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: jumpserver\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: 2025-11-13 12:26\n" "Last-Translator: ibuler \n" "Language-Team: Russian\n" @@ -37,6 +37,7 @@ msgid "Account not found" msgstr "Учетная запись не найдена" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "Параметр 'Действие' должен быть [{}]" @@ -119,10 +120,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "Успешных: %s, Не удалось: %s, Всего: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "Отчет о рисках {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -158,6 +161,8 @@ msgstr "" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "Пароль" @@ -451,7 +456,7 @@ msgstr "" "Операция Vault не удалась, пожалуйста, повторите попытку или проверьте " "информацию учетной записи на Vault." -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -483,7 +488,7 @@ msgstr "" msgid "Asset" msgstr "Актив" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -491,46 +496,46 @@ msgstr "Актив" msgid "Su from" msgstr "Переключить из" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "Версия" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "история" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "Сброс секрета" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "Источник" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "ID источника" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "Дата последнего доступа" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "Доступ" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "Дата изменения секрета" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "Статус изменения секрета" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -551,35 +556,35 @@ msgstr "Статус изменения секрета" msgid "Account" msgstr "Учетная запись" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "Просмотр секрета учетной записи актива" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "Просмотр истории УЗ активов" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "Просмотр истории паролей УЗ активов" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "Проверка учетных записей" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "Публикация учетных записей" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "Удаление учетных записей" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "Просмотр сессии аккаунта" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "Просмотр активности аккаунта" @@ -593,7 +598,7 @@ msgstr "Просмотр активности аккаунта" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -641,8 +646,8 @@ msgstr "Секрет" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "Учетные записи" @@ -912,6 +917,8 @@ msgstr "Повторяющийся пароль" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "Имя пользователя" @@ -1127,6 +1134,7 @@ msgid "Notification of account backup route task results" msgstr "Уведомление о результатах задачи резервного копирования УЗ" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" @@ -1135,6 +1143,7 @@ msgstr "" "вложении" #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1149,12 +1158,14 @@ msgid "Notification of implementation result of encryption change plan" msgstr "Уведомление о результате выполнения задачи по смене пароля" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" msgstr "{} - Задача по изменению пароля завершена. Подробности во вложении" #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1209,6 +1220,7 @@ msgid "Change password and Add" msgstr "Изменить пароль и добавить" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "Выполнение не удалось: {}" @@ -1225,7 +1237,7 @@ msgid "Exist policy" msgstr "Политика существования УЗ" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1238,7 +1250,7 @@ msgstr "Категория" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1260,7 +1272,7 @@ msgstr "Актив не найден" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "Служба каталогов" @@ -1303,7 +1315,7 @@ msgstr "Выберите хотя бы один актив или папку" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "Специальная информация" @@ -1383,7 +1395,7 @@ msgstr "Комментарий" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "Количество учетных записей" @@ -2002,6 +2014,7 @@ msgid "Command group" msgstr "Группа команд" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "Созданное регулярное выражение неверно: {}" @@ -2142,8 +2155,8 @@ msgid "" "support)" msgstr "" "Символ * указывает на совпадение со всеми. Например,: 192.168.10.1, " -"192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2 de::e13, 2001:" -"db8:1a:1110::/64 (Доменные имена поддерживаются)" +"192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2 de::e13, " +"2001:db8:1a:1110::/64 (Доменные имена поддерживаются)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -2154,19 +2167,23 @@ msgid "Recipients" msgstr "Получатели" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "Организация `{}` не существует" #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "Ни один утверждающий не относится к организации `{}`" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "Неверный IP-адрес: `{}`" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "неверный адрес: `{}`" @@ -2176,8 +2193,8 @@ msgid "" "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " msgstr "" "Символ * указывает на совпадение со всеми. Например,: 192.168.10.1, " -"192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2 de::e13, 2001:" -"db8:1a:1110::/64 " +"192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2 de::e13, " +"2001:db8:1a:1110::/64 " #: acls/serializers/rules/rules.py:48 audits/reporting.py:246 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -2264,6 +2281,7 @@ msgid "You can't update the root node name" msgstr "Нельзя изменять имя корневой папки" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "Нельзя удалить корневую папку ({})" @@ -2272,6 +2290,7 @@ msgid "Deletion failed and the node contains assets" msgstr "Удаление не удалось, папка содержит активы" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2288,10 +2307,12 @@ msgid "App Assets" msgstr "Управление активами" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "Задача: {} Выполнена" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - Ansible отключена на платформе {}, выполнение задачи невозможно" @@ -2323,6 +2344,7 @@ msgid "No account" msgstr "Нет учетной записи" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "Актив, {}, с использованием учетной записи {}" @@ -2332,7 +2354,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "Невозможно подключиться к порту {port} на {address}" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "Ошибка аутентификации" @@ -2438,7 +2461,8 @@ msgstr "Облака" msgid "Web" msgstr "Веб" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Пользовательский тип" @@ -2717,13 +2741,15 @@ msgstr "Облака" msgid "Port" msgstr "Порт" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "Адрес" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2735,13 +2761,13 @@ msgstr "Платформа" msgid "Zone" msgstr "Зона" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "Папки" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "Собранные данные" @@ -2931,7 +2957,7 @@ msgstr "Значение" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "Тег" @@ -3120,15 +3146,15 @@ msgstr "" "Пакетное обновление платформы в активах, пропуская активы, которые не " "соответствуют типу платформы" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "Протокол, формат [\"протокол/порт\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "Протокол, формат название/порт" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3136,7 +3162,7 @@ msgstr "" "Учетные записи, формат [{\"name\": \"x\", \"username\": \"x\", \"secret\": " "\"x\", \"secret_type\": \"password\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" @@ -3144,7 +3170,7 @@ msgstr "" "Путь к папке в формате [\"/Организация/Имя папки\"], если папка не " "существует, она будет создана" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3153,31 +3179,32 @@ msgstr "" msgid "Protocols" msgstr "Протоколы" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "Путь к папке" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "Информация об автоматизации" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "Платформа не существует" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "порт вне диапазона (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "Требуется протокол: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "Недопустимые данные" @@ -3215,8 +3242,8 @@ msgid "" "username during login, such as example.com in user@example.com." msgstr "" "Часть домена, используемая службой каталогов (например, AD) и добавляемая к " -"имени пользователя при входе в систему, например example.com в user@example." -"com." +"имени пользователя при входе в систему, например example.com в " +"user@example.com." #: assets/serializers/asset/gpt.py:20 msgid "" @@ -3540,14 +3567,17 @@ msgstr "" "При нажатии «Проверка подключения» в «Зоны - Шлюз» будет выполнена эта задача" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "Актив был отключен, пропущен: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "Возможно, актив не поддерживает ansible, пропускаем: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "В целях безопасности, публикация пользователя {} запрещена" @@ -3730,7 +3760,7 @@ msgid "Resource Type" msgstr "Тип ресурса" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "Ресурс" @@ -4306,6 +4336,7 @@ msgid "Permission expired" msgstr "Разрешение истекло" #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "Действие правила — запрет: {}({})" @@ -4335,11 +4366,13 @@ msgid "Facial comparison failed" msgstr "Не удалось сравнить лица" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "Текущий пользователь не поддерживает тип МФА: {}." #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "Пользователь не существует: {}" @@ -4348,6 +4381,7 @@ msgid "No user matched" msgstr "Нет подходящего пользователя" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4365,6 +4399,7 @@ msgid "Forgot password" msgstr "Забыли пароль" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "Срок действия кода проверки: {} мин" @@ -4493,6 +4528,7 @@ msgid "Authentication failed password incorrect" msgstr "Ошибка аутентификации. Неверный пароль" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "Время сеанса превысило {} минут, пожалуйста, войдите снова" @@ -4582,6 +4618,7 @@ msgstr "" "заблокирована на {block_time} минут" #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4590,6 +4627,7 @@ msgstr "" "разблокировать ее, или повторите попытку через {} минут)" #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4623,6 +4661,7 @@ msgid "Wait login confirm ticket for accept" msgstr "Ожидание обработки заявки на вход в систему" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "Проверка входа: {}" @@ -4808,6 +4847,7 @@ msgid "Clear phone number to disable" msgstr "Удалите номер телефона для отключения" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "Ошибка аутентификации (сбой до проверки входа): {}" @@ -4826,6 +4866,7 @@ msgid "User is invalid" msgstr "Недействительный пользователь" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4835,6 +4876,7 @@ msgstr "" "текущий источник пользователя - {}, пожалуйста, свяжитесь с администратором." #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "Способ МФА ({}) не включен" @@ -4904,6 +4946,7 @@ msgid "Connection token inactive" msgstr "Токен подключения неактивен" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "Срок действия токена подключения истек: {}" @@ -5040,6 +5083,7 @@ msgstr "Название организации" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} не может быть пустым" @@ -5523,6 +5567,7 @@ msgid "Redirecting" msgstr "Перенаправление" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "Перенаправление на {} для аутентификации" @@ -5531,10 +5576,12 @@ msgid "Login timeout, please try again." msgstr "Время входа истекло, пожалуйста, войдите снова" #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "Электронная почта пользователя уже существует ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5705,7 +5752,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "Неверный ID, ожидается список" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5735,6 +5782,7 @@ msgid "Updated by" msgstr "Обновил" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "Недопустимый диапазон портов. Должно быть в пределах {}-{}." @@ -5747,10 +5795,12 @@ msgid "Org ID" msgstr "ID организации" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "Содержимое файла слишком велико (максимальная длина `{}` байт)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "Ошибка анализа файла: {}" @@ -5763,6 +5813,7 @@ msgid "Yes/No" msgstr "Да/Нет" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "Число, мин {} макс {}" @@ -5771,6 +5822,7 @@ msgid "Phone number, format +8612345678901" msgstr "Мобильный номер, формат +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "Текст, максимальная длина {}" @@ -5779,6 +5831,7 @@ msgid "Long text, no length limit" msgstr "Длинный текст, без ограничений по длине" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "Формат даты и времени {}" @@ -5787,6 +5840,7 @@ msgid "Label, format [\"key:value\"]" msgstr "Теги, формат: [\"ключ:значение\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5795,6 +5849,7 @@ msgstr "" "обязательно, доступные варианты: {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "Опции, доступные варианты: {}" @@ -5829,6 +5884,7 @@ msgid "Objects, format [\"id\", ...]" msgstr "Много связанных элементов, формат: [\"id\", ...]" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." @@ -5836,7 +5892,7 @@ msgstr "" "{} - Не установлен пароль шифрования - пожалуйста, перейдите в Персональные " "настройки -> Настройки предпочтений" -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "Количество ресурсов" @@ -5962,6 +6018,7 @@ msgid "sp_id is 6 bits" msgstr "SP_id должен содержать 6 символов" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "Не удалось подключиться к серверу шлюза CMPP, ошибка: {}" @@ -5974,6 +6031,10 @@ msgstr "Пользовательский файл SMS недействителе msgid "SMS sending failed[%s]: %s" msgstr "Ошибка отправки SMS [%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "Файл" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "Alibaba cloud" @@ -5995,6 +6056,7 @@ msgid "Custom type (File)" msgstr "Пользовательский (файл)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "Поставщик услуг SMS не поддерживается: {}" @@ -6011,6 +6073,7 @@ msgid "The verification code is incorrect" msgstr "Ошибка кода подтверждения" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "Пожалуйста, отправьте через {} секунд" @@ -6018,31 +6081,28 @@ msgstr "Пожалуйста, отправьте через {} секунд" msgid "Children" msgstr "Узел" -#: common/serializers/common.py:98 -msgid "File" -msgstr "Файл" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "Недопустимый тип данных" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "Ошибка pk \"{pk_value}\" - объект не существует." -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "Неверный тип. Ожидается pk значение, получено {data_type}." -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "Недопустимый тип данных, ожидается список" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "Недопустимый выбор: {}" @@ -6151,11 +6211,15 @@ msgstr "Ваша учетная запись была успешно созда msgid "JumpServer - An open-source PAM" msgstr "JumpServer открытая система управления доступом" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "

Сервис Flower недоступен, пожалуйста, проверьте

" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -6166,13 +6230,14 @@ msgstr "" "Если вы видите эту страницу, значит, вы обратились не к порту, " "прослушиваемому Nginx. Удачи!" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" "Служба Websocket запущена на порту: {}, проверьте, настроен ли прокси-сервер " "nginx" -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -6204,11 +6269,11 @@ msgstr "ID ресурса" msgid "Tagged resource" msgstr "Связанные ресурсы" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "Не может содержать \":,\"" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "Тип ресурса" @@ -6233,6 +6298,7 @@ msgid "User message" msgstr "Сообщения пользователя" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} подписка" @@ -6271,14 +6337,18 @@ msgid "Waiting task start" msgstr "Ожидание запуска задачи" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "Задача {} не найдена" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "Ошибка параметров выполнения задачи {}" #: ops/api/job.py:66 +#, fuzzy, python-brace-format +#| msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" "Вход в актив { }({}) был отклонен, ограниченный правилами доступа ACL ({})" @@ -6558,6 +6628,7 @@ msgid "Celery Task Execution" msgstr "Выполнение задачи Celery" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "Модуль {} неприменим к этому активу" @@ -6852,6 +6923,7 @@ msgid "Name of the job" msgstr "Название задания" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "Текущую организацию ({}) нельзя удалить" @@ -6864,6 +6936,7 @@ msgstr "" "переключитесь на другую организацию перед удалением" #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "Организация содержит ресурсы ({}) и не может быть удалена" @@ -7038,6 +7111,7 @@ msgid "Asset permissions is about to expire" msgstr "Срок действия разрешений на активы истекает" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "разрешения на активы организации {}" @@ -7123,6 +7197,7 @@ msgid "Internal role, can't be update" msgstr "Встроенную роль нельзя изменить" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} хотя бы одна системная роль" @@ -7485,6 +7560,7 @@ msgid "Test success" msgstr "Успешное тестирование" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "Письмо отправлено {}, пожалуйста, проверьте" @@ -8476,7 +8552,7 @@ msgstr "ID арендатора" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "Регион" @@ -9227,19 +9303,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "Используйте протокол ldap:// или ldaps://" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "Не удаётся подключиться к хосту или порту: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "Указанный порт не используется службой LDAP: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "Пожалуйста, добавьте сертификат: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "Неизвестная ошибка: {}" @@ -9248,22 +9328,27 @@ msgid "Bind DN or Password incorrect" msgstr "Ошибка привязки: DN или пароль неверны" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "Пожалуйста, введите Bind DN: {}" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "Пожалуйста, введите пароль: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "Пожалуйста, введите правильный Bind DN и пароль: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "Неверный OU пользователя или фильтр: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "В сопоставлении атрибутов LDAP отсутствует: {}" @@ -9276,47 +9361,58 @@ msgid "LDAP authentication is not enabled" msgstr "LDAP аутентификация не включена" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "Ошибка (недопустимый адрес LDAP-сервера): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "Ошибка (недопустимый Bind DN): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "Ошибка (недопустимое сопоставление LDAP-атрибутов): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "" "Ошибка (недопустимый OU пользователя или фильтр поиска пользователей): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "Ошибка (LDAP аутентификация не включена): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "Ошибка (неизвестная): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "Успешно сопоставлено {} пользователей" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "Ошибка аутентификации (неверная конфигурация): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "Ошибка аутентификации (неверное имя пользователя или пароль): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "Ошибка аутентификации: (неизвестная): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "Успешная аутентификация: {}" @@ -9325,10 +9421,12 @@ msgid "No LDAP user was found" msgstr "Не удалось получить пользователей из LDAP" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "Всего {} , успешно {} , неудачно {}" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr ", отключено {}" @@ -9491,6 +9589,10 @@ msgstr "" msgid "More download" msgstr "Дополнительные загрузки" +#: templates/resource_download.html:34 +msgid "Tools and applications" +msgstr "Инструменты и приложения" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "Неверный zip файл" @@ -9502,6 +9604,7 @@ msgstr "" "недоступна в редакции сообщества" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "Не найдено удалённое приложение по пути: {}" @@ -9514,6 +9617,7 @@ msgid "Deleting the default storage is not allowed" msgstr "Нельзя удалить конфигурацию хранилища по умолчанию" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "Удаление хранилища, которое используется, невозможно: {}" @@ -9525,15 +9629,33 @@ msgstr "Хранилища команд" msgid "Invalid" msgstr "Недопустимый" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "Соединение отклонено" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "Тайм-аут соединения" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "Не удалось разрешить адрес" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "Не удалось подключиться к хосту" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "Неудачный тест: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "Успешное тестирование" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "Сбой теста: пожалуйста, проверьте конфигурацию" @@ -9552,6 +9674,7 @@ msgid "Session replay" msgstr "Запись сессий" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "Сессия не существует: {}" @@ -9559,7 +9682,7 @@ msgstr "Сессия не существует: {}" msgid "Session is finished or the protocol not supported" msgstr "Сессия завершена или протокол не поддерживается" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "У пользователя нет прав" @@ -9724,10 +9847,12 @@ msgstr "Хосты" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Недопустимый пакет Applet: отсутствует файл {}" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Не удалось загрузить platform.yml: {}" @@ -10342,6 +10467,7 @@ msgid "No asset or invalid asset" msgstr "Активы отсутствуют или отключены" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "Недопустимая конечная точка: путь {} удалён" @@ -10780,6 +10906,7 @@ msgid "Ticket already closed" msgstr "Заявка уже закрыта" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10800,6 +10927,7 @@ msgid "After change" msgstr "После изменения" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} заявка" @@ -10945,18 +11073,22 @@ msgid "Ticket applied info" msgstr "Информация о заявке" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "У вас новый билет от {}" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: Новая заявка - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "Ваша заявка была обработана, обработал - {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "Заявка обработана - {} ({})" @@ -11042,6 +11174,7 @@ msgstr "Запрос действий" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "Создано по заявке ({}-{})" @@ -11050,6 +11183,7 @@ msgid "The expiration date should be greater than the start date" msgstr "Срок действия должен быть больше времени начала" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "Разрешение с именем `{}` уже существует" @@ -11058,6 +11192,7 @@ msgid "Process map" msgstr "Схема процесса" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "Поток заявок `{}` не существует" @@ -11119,6 +11254,7 @@ msgid "Can not invite self" msgstr "Нельзя пригласить себя" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -11552,6 +11688,7 @@ msgid "Password does not match security rules" msgstr "Пароль не соответствует требованиям безопасности" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "Новый пароль не может совпадать с паролями за последние {} раз" @@ -12028,6 +12165,7 @@ msgid "Password invalid" msgstr "Неверное имя пользователя или пароль" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -12040,6 +12178,7 @@ msgid "Token invalid or expired" msgstr "Неверный или истёкший токен" #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" "Аутентификация пользователя происходит через {}, пожалуйста, измените пароль " @@ -12050,6 +12189,7 @@ msgid "* Your password does not meet the requirements" msgstr "* Ваш пароль не соответствует требованиям" #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* Новый пароль не может быть одним из последних {} паролей" @@ -12074,10 +12214,12 @@ msgid "Test connection successful" msgstr "Тестовое подключение прошло успешно" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "Ошибка при проверке соединения: {}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "" "Пользователь {} удалил активы, которые были освобождены в текущем ресурсе" @@ -12276,6 +12418,10 @@ msgstr "Синхронизируемые регионы" msgid "Get instances of region \"%s\" error, error: %s" msgstr "Произошла ошибка при получении экземпляров региона \"%s\", ошибка: %s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "Экземпляр" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -12420,10 +12566,6 @@ msgstr "Задача синхронизации" msgid "Sync instance task history" msgstr "История задач синхронизации экземпляра" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "Экземпляр" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "Детали синхронизации экземпляра" @@ -12744,6 +12886,10 @@ msgstr "Конечная точка API" msgid "Auto node classification" msgstr "Автоматическая классификация узлов" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "Доменное имя" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "URL аутентификации" @@ -12777,6 +12923,7 @@ msgid "The file is in JSON format" msgstr "Файл в формате JSON" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "Неверный IP-адрес: `{}`, {}" @@ -12938,33 +13085,17 @@ msgstr "Администратор безопасности" msgid "JDMC" msgstr "JDMC" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "Лицензия успешно импортирована" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "Лицензия недействительна" -msgid "Connection refused" -msgstr "Соединение отклонено" - -msgid "Connection timeout" -msgstr "Тайм-аут соединения" - -msgid "Unable to resolve the address" -msgstr "Не удалось разрешить адрес" - -msgid "Unable to connect to the host" -msgstr "Не удалось подключиться к хосту" - #~ msgid "Offline video player" #~ msgstr "Офлайн видеоплеер" -#~| msgid "Domain name" -#~ msgid "domain_name" -#~ msgstr "Доменное имя" - #~| msgid "Authenticate" #~ msgid "Certificate Auth" #~ msgstr "Аутентификация" diff --git a/apps/i18n/core/vi/LC_MESSAGES/django.po b/apps/i18n/core/vi/LC_MESSAGES/django.po index de97f2dfe..c4b041591 100644 --- a/apps/i18n/core/vi/LC_MESSAGES/django.po +++ b/apps/i18n/core/vi/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,6 +33,7 @@ msgid "Account not found" msgstr "Tài khoản không tìm thấy" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "Tham số 'action' phải là [{}]" @@ -117,10 +118,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "Thành công: %s, Thất bại: %s, Tổng số: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "Báo cáo phát hiện rủi ro {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -154,6 +157,8 @@ msgstr "" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "Mật khẩu" @@ -447,7 +452,7 @@ msgstr "" "Thao tác Vault thất bại, vui lòng thử lại hoặc kiểm tra thông tin tài khoản " "trên Vault." -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -479,7 +484,7 @@ msgstr "" msgid "Asset" msgstr "Tài sản" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -487,46 +492,46 @@ msgstr "Tài sản" msgid "Su from" msgstr "Switch from" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "Phiên bản" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "Tài khoản lịch sử" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "Có thể thay đổi mật khẩu" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "Nguồn" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "Mã nguồn" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "Ngày truy cập lần cuối" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "Access by" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "Ngày mật khẩu" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "Trạng thái đổi mật khẩu" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -547,35 +552,35 @@ msgstr "Trạng thái đổi mật khẩu" msgid "Account" msgstr "Tài khoản" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "Có thể xem mật khẩu tài khoản tài sản" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "Có thể xem lịch sử tài khoản tài sản" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "Có thể xem mật khẩu lịch sử tài khoản tài sản" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "Có thể xác minh tài khoản" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "Có thể đẩy tài khoản" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "Có thể xóa tài khoản" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "Phiên tài khoản" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "Hoạt động tài khoản" @@ -589,7 +594,7 @@ msgstr "Hoạt động tài khoản" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -637,8 +642,8 @@ msgstr "Mật văn" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "Tài khoản" @@ -908,6 +913,8 @@ msgstr "Mật khẩu trùng lặp" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "Tên đăng nhập" @@ -1045,13 +1052,13 @@ msgstr "" "Chính sách mật văn < - SEP -> Quy tắc mật khẩu < - SEP -> Đẩy tự động < - " "SEP -> Nền tảng < - SEP -> Tham số đẩy tài khoản < - SEP -> Mẫu tài khoản < " "- SEP -> Có thể xem mật khẩu mẫu tài khoản tài sản < - SEP -> Tên gọi khác < " -"- SEP -> Giống như khi người dùng đăng nhập < - SEP -> Tài khoản ảo < - SEP -" -"> Tên người dùng giống như của người dùng < - SEP -> Nhập tay tên người dùng/" -"mật khẩu để kết nối với tài khoản khi đăng nhập < - SEP -> Khi đăng nhập tài " -"sản, tài khoản có tên người dùng giống như tên người dùng sử dụng < - SEP -> " -"Tài khoản không sử dụng tên người dùng và mật khẩu khi kết nối với tài sản, " -"chỉ hỗ trợ tài sản loại web và loại tùy chỉnh < - SEP -> Thông báo kết quả " -"nhiệm vụ sao lưu tài khoản." +"- SEP -> Giống như khi người dùng đăng nhập < - SEP -> Tài khoản ảo < - SEP " +"-> Tên người dùng giống như của người dùng < - SEP -> Nhập tay tên người " +"dùng/mật khẩu để kết nối với tài khoản khi đăng nhập < - SEP -> Khi đăng " +"nhập tài sản, tài khoản có tên người dùng giống như tên người dùng sử dụng < " +"- SEP -> Tài khoản không sử dụng tên người dùng và mật khẩu khi kết nối với " +"tài sản, chỉ hỗ trợ tài sản loại web và loại tùy chỉnh < - SEP -> Thông báo " +"kết quả nhiệm vụ sao lưu tài khoản." #: accounts/models/base.py:44 accounts/serializers/account/template.py:32 #: accounts/serializers/automations/change_secret.py:50 @@ -1130,6 +1137,7 @@ msgid "Notification of account backup route task results" msgstr "Thông báo kết quả nhiệm vụ sao lưu tài khoản." #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" @@ -1137,6 +1145,7 @@ msgstr "" "{} - Nhiệm vụ sao lưu tài khoản đã hoàn tất, chi tiết xem trong tệp đính kèm." #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1151,6 +1160,7 @@ msgid "Notification of implementation result of encryption change plan" msgstr "Thông báo kết quả nhiệm vụ thay đổi mật khẩu." #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" @@ -1158,6 +1168,7 @@ msgstr "" "{} - Nhiệm vụ thay đổi mật khẩu đã hoàn tất, chi tiết xem trong tệp đính kèm." #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1212,6 +1223,7 @@ msgid "Change password and Add" msgstr "Thay đổi mật khẩu và thêm." #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "Thực thi không thành công: {}" @@ -1228,7 +1240,7 @@ msgid "Exist policy" msgstr "Tài khoản đã tồn tại chính sách" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1241,7 +1253,7 @@ msgstr "Thể loại" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1263,7 +1275,7 @@ msgstr "Tài sản không tồn tại" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "Dịch vụ thư mục" @@ -1306,7 +1318,7 @@ msgstr "Tài khoản yêu cầu" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "Thông tin đặc biệt" @@ -1386,7 +1398,7 @@ msgstr "Description" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "Số lượng tài khoản" @@ -1992,6 +2004,7 @@ msgid "Command group" msgstr "Nhóm lệnh" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "Biểu thức chính quy được tạo ra không chính xác: {}" @@ -2143,19 +2156,23 @@ msgid "Recipients" msgstr "Người nhận" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "Tổ chức `{}` không tồn tại." #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "Tất cả những người kiểm tra đều không thuộc tổ chức `{}`" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "Địa chỉ IP không hợp lệ: `{}`" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "Địa chỉ không hợp lệ: `{}`" @@ -2263,6 +2280,7 @@ msgid "You can't update the root node name" msgstr "Không thể sửa đổi tên nút gốc" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "Không thể xóa nút gốc ({})" @@ -2271,6 +2289,7 @@ msgid "Deletion failed and the node contains assets" msgstr "Xóa không thành công, nút chứa tài sản" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2287,10 +2306,12 @@ msgid "App Assets" msgstr "Assets" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "Nhiệm vụ: {} Hoàn thành" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr "- Nền tảng {} Ansible đã bị vô hiệu hóa, không thể thực hiện nhiệm vụ" @@ -2322,6 +2343,7 @@ msgid "No account" msgstr "Không có tài khoản" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "Tài sản, {}, Sử dụng tài khoản {}" @@ -2331,7 +2353,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "Không thể kết nối đến cổng {port} tại địa chỉ {address}" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "Xác thực thất bại" @@ -2437,7 +2460,8 @@ msgstr "Cloud" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Loại tùy chỉnh" @@ -2531,8 +2555,8 @@ msgid "" "
- ${USER} The username of the user" msgstr "" "Thư mục gốc SFTP, hỗ trợ các biến:
-${ACCOUNT} tên người dùng của tài " -"khoản đã kết nối
-${HOME} thư mục chính của tài khoản đã kết nối
-" -"${USER} tên người dùng của người dùng" +"khoản đã kết nối
-${HOME} thư mục chính của tài khoản đã kết nối
-$" +"{USER} tên người dùng của người dùng" #: assets/const/protocol.py:81 msgid "Console" @@ -2715,13 +2739,15 @@ msgstr "Dịch vụ đám mây" msgid "Port" msgstr "Cổng" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "Địa chỉ" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2733,13 +2759,13 @@ msgstr "Nền tảng" msgid "Zone" msgstr "Tên miền" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "Nút" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "Thu thập thông tin phần cứng tài sản" @@ -2927,7 +2953,7 @@ msgstr "Giá trị" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "Nhãn" @@ -3116,15 +3142,15 @@ msgstr "" "Tài sản trong cập nhật hàng loạt nền tảng, bỏ qua tài sản không phù hợp với " "loại nền tảng" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "Giao thức, định dạng là [\"Giao thức/Cổng\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "Giao thức, định dạng là Tên/Cổng" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3132,7 +3158,7 @@ msgstr "" "Tài khoản, định dạng là [{\"name\": \"x\", \"username\": \"x\", \"secret\": " "\"x\", \"secret_type\": \"password\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" @@ -3140,7 +3166,7 @@ msgstr "" "Đường dẫn nút, định dạng là [\"/Tổ chức/Tên nút\"], nếu nút không tồn tại, " "sẽ tạo nó" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3149,31 +3175,32 @@ msgstr "" msgid "Protocols" msgstr "Nhóm giao thức" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "Đường dẫn nút" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "Thông tin tự động hóa" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "Nền tảng không tồn tại" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "Cổng ngoài phạm vi (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "Giao thức là bắt buộc: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "Dữ liệu không hợp lệ" @@ -3560,14 +3587,17 @@ msgid "" msgstr "Khi thực hiện nhiệm vụ này tại chi tiết miền - cổng - kiểm tra kết nối" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "Tài sản đã bị vô hiệu hóa, bỏ qua: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "Tài sản có thể không hỗ trợ Ansible, bỏ qua: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "Vì lý do an toàn, không cho phép đẩy người dùng {}" @@ -3750,7 +3780,7 @@ msgid "Resource Type" msgstr "Loại tài nguyên" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "Tài nguyên" @@ -4321,6 +4351,7 @@ msgid "Permission expired" msgstr "Quyền truy cập đã hết hạn" #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "Hành động ACL là từ chối: {}({})" @@ -4350,11 +4381,13 @@ msgid "Facial comparison failed" msgstr "So sánh khuôn mặt thất bại" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "Người dùng hiện tại không hỗ trợ loại MFA: {}" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "Người dùng không tồn tại: {}" @@ -4363,6 +4396,7 @@ msgid "No user matched" msgstr "Không tìm thấy người dùng khớp" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4380,6 +4414,7 @@ msgid "Forgot password" msgstr "Quên mật khẩu" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "Mã xác minh có hiệu lực trong {} phút" @@ -4507,6 +4542,7 @@ msgid "Authentication failed password incorrect" msgstr "Xác thực không thành công (tên tài khoản hoặc mật khẩu không đúng)" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "Thời gian đăng nhập đã vượt quá {} phút, vui lòng đăng nhập lại" @@ -4596,6 +4632,7 @@ msgstr "" "{block_time} phút)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4604,6 +4641,7 @@ msgstr "" "lại sau {} phút)" #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4637,6 +4675,7 @@ msgid "Wait login confirm ticket for accept" msgstr "Đang chờ xử lý kiểm tra đăng nhập" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "Kiểm tra đăng nhập: {}" @@ -4821,6 +4860,7 @@ msgid "Clear phone number to disable" msgstr "Xóa số điện thoại để vô hiệu hóa." #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "Xác thực không thành công (Kiểm tra trước khi đăng nhập thất bại): {}" @@ -4839,6 +4879,7 @@ msgid "User is invalid" msgstr "Người dùng không hợp lệ" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4848,6 +4889,7 @@ msgstr "" "người dùng hiện tại là {}, vui lòng liên hệ với quản trị viên." #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "Phương thức MFA ({}) này chưa được kích hoạt" @@ -4917,6 +4959,7 @@ msgid "Connection token inactive" msgstr "Mã thông báo kết nối chưa được kích hoạt" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "Mã thông báo kết nối đã hết hạn: {}" @@ -5055,6 +5098,7 @@ msgstr "Organization" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} không được để trống" @@ -5533,6 +5577,7 @@ msgid "Redirecting" msgstr "Đang chuyển hướng" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "Đang chuyển hướng tới {} xác thực" @@ -5541,10 +5586,12 @@ msgid "Login timeout, please try again." msgstr "Thời gian đăng nhập đã hết, vui lòng đăng nhập lại." #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "Email người dùng đã tồn tại ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5725,7 +5772,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "ID không hợp lệ, phải là danh sách" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5755,6 +5802,7 @@ msgid "Updated by" msgstr "Người cập nhật cuối cùng" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "Dải cổng không hợp lệ, phải nằm trong khoảng {}-{}" @@ -5767,10 +5815,12 @@ msgid "Org ID" msgstr "Organization ID" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "Nội dung tập tin quá lớn (độ dài tối đa là `{}` byte)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "Lỗi phân tích tập tin: {}" @@ -5783,6 +5833,7 @@ msgid "Yes/No" msgstr "Có/Không" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "Số, tối thiểu {} tối đa {}" @@ -5791,6 +5842,7 @@ msgid "Phone number, format +8612345678901" msgstr "Số điện thoại, định dạng +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "Văn bản, độ dài tối đa {}" @@ -5799,6 +5851,7 @@ msgid "Long text, no length limit" msgstr "Văn bản dài, không giới hạn độ dài" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "Định dạng ngày giờ {}" @@ -5807,6 +5860,7 @@ msgid "Label, format [\"key:value\"]" msgstr "Nhãn, định dạng: [\"Khóa:Giá trị\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5815,6 +5869,7 @@ msgstr "" "buộc, tùy chọn có {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "Tùy chọn, tùy chọn có {}" @@ -5848,6 +5903,7 @@ msgid "Objects, format [\"id\", ...]" msgstr "nhiều liên kết, định dạng là [\"id\", ...]" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." @@ -5855,7 +5911,7 @@ msgstr "" "{} - Chưa thiết lập mật khẩu mã hóa - Vui lòng đến thông tin cá nhân -> Mật " "khẩu mã hóa tệp để thiết lập mật khẩu mã hóa" -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "Resource count" @@ -5980,6 +6036,7 @@ msgid "sp_id is 6 bits" msgstr "SP_id phải là 6 chữ số" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "Lỗi kết nối với máy chủ cổng, lỗi: {}" @@ -5992,6 +6049,10 @@ msgstr "Tệp SMS tùy chỉnh không hợp lệ" msgid "SMS sending failed[%s]: %s" msgstr "Gửi SMS thất bại[%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "Tài liệu" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "Aliyun" @@ -6013,6 +6074,7 @@ msgid "Custom type (File)" msgstr "Custom (File)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "Nhà cung cấp dịch vụ SMS không hỗ trợ: {}" @@ -6029,6 +6091,7 @@ msgid "The verification code is incorrect" msgstr "Mã xác thực sai" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "Vui lòng gửi lại sau {} giây" @@ -6036,31 +6099,28 @@ msgstr "Vui lòng gửi lại sau {} giây" msgid "Children" msgstr "Nút" -#: common/serializers/common.py:98 -msgid "File" -msgstr "Tài liệu" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "Dữ liệu không hợp lệ" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "PK không hợp lệ \"{pk_value}\" - Đối tượng không tồn tại" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "Loại lỗi. Mong đợi giá trị pk, nhận được {data_type}." -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "Loại dữ liệu lỗi, nên là danh sách" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "Tùy chọn không hợp lệ: {}" @@ -6166,11 +6226,15 @@ msgstr "Tài khoản của bạn đã được tạo thành công" msgid "JumpServer - An open-source PAM" msgstr "JumpServer" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "Dịch vụ Flower không khả dụng, vui lòng kiểm tra" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -6180,13 +6244,14 @@ msgstr "" "Luna, Koko.
Nếu bạn thấy trang này, chứng tỏ bạn đang truy cập " "không phải là cổng mà nginx lắng nghe, chúc bạn may mắn.
" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" "Dịch vụ Websocket hoạt động trên cổng: {}, vui lòng kiểm tra xem nginx có " "được cấu hình chuyển tiếp không" -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -6217,11 +6282,11 @@ msgstr "ID tài nguyên" msgid "Tagged resource" msgstr "Tài nguyên liên quan" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "Không thể chứa \":\"" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "Loại tài nguyên" @@ -6246,6 +6311,7 @@ msgid "User message" msgstr "Người dùng tin nhắn" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} Đăng ký" @@ -6284,14 +6350,17 @@ msgid "Waiting task start" msgstr "Chờ nhiệm vụ bắt đầu" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "Nhiệm vụ {} không tồn tại" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "Nhiệm vụ {} có tham số thực thi không hợp lệ" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" "Đăng nhập vào tài sản {}({}) bị từ chối, do bị giới hạn bởi quy tắc ACL tài " @@ -6570,6 +6639,7 @@ msgid "Celery Task Execution" msgstr "Thực hiện nhiệm vụ Celery" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "Mô-đun {} không áp dụng cho tài sản này" @@ -6854,6 +6924,7 @@ msgid "Name of the job" msgstr "Tên công việc" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "Tổ chức hiện tại ({}) không thể bị xóa" @@ -6866,6 +6937,7 @@ msgstr "" "chức khác trước khi thực hiện thao tác xóa" #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "Tổ chức có tài nguyên ({}) không thể bị xóa" @@ -7040,6 +7112,7 @@ msgid "Asset permissions is about to expire" msgstr "Quy tắc ủy quyền tài sản sẽ hết hạn" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "Tài sản ủy quyền của tổ chức ({})" @@ -7121,6 +7194,7 @@ msgid "Internal role, can't be update" msgstr "Nội bộ vai trò, không thể cập nhật" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} ít nhất một vai trò hệ thống" @@ -7483,6 +7557,7 @@ msgid "Test success" msgstr "Kiểm tra thành công" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "Email đã được gửi {}, vui lòng kiểm tra" @@ -8478,7 +8553,7 @@ msgstr "ID thuê bao" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "Khu vực" @@ -9221,19 +9296,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "Sử dụng giao thức ldap:// hoặc ldaps://" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "Máy chủ hoặc cổng không thể kết nối: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "Cổng không phải là cổng dịch vụ LDAP: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "Vui lòng thêm chứng chỉ: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "Lỗi không xác định: {}" @@ -9242,22 +9321,27 @@ msgid "Bind DN or Password incorrect" msgstr "Sai DN ràng buộc hoặc mật khẩu" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "Vui lòng nhập DN ràng buộc: {}" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "Vui lòng nhập mật khẩu: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "Vui lòng nhập DN ràng buộc và mật khẩu đúng: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "OU người dùng hoặc bộ lọc người dùng không hợp lệ: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "ánh xạ thuộc tính LDAP không bao gồm: {}" @@ -9270,46 +9354,57 @@ msgid "LDAP authentication is not enabled" msgstr "Xác thực LDAP chưa được kích hoạt" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "Lỗi (Địa chỉ máy chủ LDAP không hợp lệ): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "Lỗi (DN ràng buộc không hợp lệ): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "Lỗi (ánh xạ thuộc tính LDAP không hợp lệ): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "Lỗi (OU người dùng hoặc bộ lọc người dùng không hợp lệ): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "Lỗi (Xác thực LDAP chưa được kích hoạt): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "Lỗi (không xác định): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "Thành công khớp {} người dùng" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "Xác thực thất bại (lỗi cấu hình): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "Xác thực thất bại (tên người dùng hoặc mật khẩu không đúng): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "Xác thực thất bại: (không xác định): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "Xác thực thành công: {}" @@ -9318,10 +9413,12 @@ msgid "No LDAP user was found" msgstr "Không lấy được người dùng LDAP" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "Tổng cộng {} , thành công {} , thất bại {}" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr ", đã vô hiệu hóa {}" @@ -9483,6 +9580,12 @@ msgstr "" msgid "More download" msgstr "Tải xuống thêm" +#: templates/resource_download.html:34 +#, fuzzy +#| msgid "Apply applications" +msgid "Tools and applications" +msgstr "Người dùng hệ thống đã yêu cầu" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "Tệp zip không hợp lệ" @@ -9494,6 +9597,7 @@ msgstr "" "cộng đồng" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "Không tìm thấy ứng dụng từ xa trong đường dẫn: {}" @@ -9506,6 +9610,7 @@ msgid "Deleting the default storage is not allowed" msgstr "không cho phép xóa cấu hình lưu trữ mặc định" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "không thể xóa lưu trữ đang được sử dụng: {}" @@ -9517,15 +9622,33 @@ msgstr "lệnh lưu trữ" msgid "Invalid" msgstr "không hợp lệ" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "Kết nối bị từ chối" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "Hết thời gian kết nối" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "Không thể phân giải địa chỉ" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "Không thể kết nối đến máy chủ" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "kiểm tra thất bại: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "kiểm tra thành công" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "kiểm tra thất bại: vui lòng kiểm tra cấu hình" @@ -9544,6 +9667,7 @@ msgid "Session replay" msgstr "ghi lại phiên" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "phiên không tồn tại: {}" @@ -9551,7 +9675,7 @@ msgstr "phiên không tồn tại: {}" msgid "Session is finished or the protocol not supported" msgstr "phiên đã hoàn thành hoặc giao thức không được hỗ trợ" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "người dùng không có quyền" @@ -9716,10 +9840,12 @@ msgstr "Máy chủ" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Gói Applet không hợp lệ, thiếu tệp {}" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Tải platform.yml thất bại: {}" @@ -10125,8 +10251,8 @@ msgid "" msgstr "" "Gợi ý: Ứng dụng phát hành và dịch vụ Core giao tiếp với nhau. Nếu phát hành " "và dịch vụ Core nằm trong cùng một mạng con, nên điền địa chỉ nội bộ; nếu " -"không, vui lòng điền URL của trang hiện tại.
Ví dụ: " -"https://172.16.10.110 hoặc https://dev.example.com" +"không, vui lòng điền URL của trang hiện tại.
Ví dụ: https://" +"172.16.10.110 hoặc https://dev.example.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -10326,6 +10452,7 @@ msgid "No asset or invalid asset" msgstr "Không có tài sản hoặc tài sản chưa được kích hoạt" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "Điểm cuối không hợp lệ: Xóa đường dẫn `{}`" @@ -10755,6 +10882,7 @@ msgid "Ticket already closed" msgstr "Phiếu công việc đã đóng" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10775,6 +10903,7 @@ msgid "After change" msgstr "Sau khi thay đổi" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} Phiếu công việc" @@ -10920,18 +11049,22 @@ msgid "Ticket applied info" msgstr "Thông tin đơn xin công việc" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "Bạn có một công việc mới, người xin - {}" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: Phiếu công việc mới - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "Công việc của bạn đã được xử lý, người xử lý - {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "Công việc của bạn đã được xử lý, người xử lý - {} ({})" @@ -11017,6 +11150,7 @@ msgstr "Xin Action" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "Tạo công việc thông qua ({}-{})" @@ -11025,6 +11159,7 @@ msgid "The expiration date should be greater than the start date" msgstr "Thời gian hết hạn phải lớn hơn thời gian bắt đầu" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "Tên ủy quyền `{}` đã tồn tại" @@ -11033,6 +11168,7 @@ msgid "Process map" msgstr "Sơ đồ quy trình" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "Quy trình công việc `{}` không tồn tại" @@ -11093,6 +11229,7 @@ msgid "Can not invite self" msgstr "Không thể mời chính mình" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -11520,6 +11657,7 @@ msgid "Password does not match security rules" msgstr "Mật khẩu không đáp ứng quy tắc bảo mật" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "Mật khẩu mới không thể là một trong {} mật khẩu gần đây" @@ -12024,6 +12162,7 @@ msgid "Password invalid" msgstr "Tên người dùng hoặc mật khẩu không hợp lệ" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -12036,6 +12175,7 @@ msgid "Token invalid or expired" msgstr "Mã thông báo bị lỗi hoặc đã hết hạn." #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" "Nguồn xác thực người dùng đến từ {}, vui lòng thay đổi mật khẩu trong hệ " @@ -12046,6 +12186,7 @@ msgid "* Your password does not meet the requirements" msgstr "* Mật khẩu của bạn không đáp ứng yêu cầu." #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* Mật khẩu mới không được trùng với {} lần mật khẩu gần đây." @@ -12070,10 +12211,12 @@ msgid "Test connection successful" msgstr "Kiểm tra thành công." #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "Kiểm tra kết nối thất bại: {}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "Người dùng {} đã xóa tài sản đã được giải phóng hiện tại." @@ -12271,6 +12414,10 @@ msgstr "Đồng bộ khu vực" msgid "Get instances of region \"%s\" error, error: %s" msgstr "Gặp lỗi khi lấy实例 của khu vực \"%s\", lỗi: %s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "Thực thể" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -12415,10 +12562,6 @@ msgstr "Nhiệm vụ đồng bộ" msgid "Sync instance task history" msgstr "Lịch sử nhiệm vụ đồng bộ thực thể" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "Thực thể" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "Chi tiết thực thể đồng bộ" @@ -12739,6 +12882,10 @@ msgstr "Điểm cuối API" msgid "Auto node classification" msgstr "Phân loại nút tự động" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "Tên miền" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "Địa chỉ xác thực" @@ -12772,6 +12919,7 @@ msgid "The file is in JSON format" msgstr "Tập tin định dạng JSON" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "Địa chỉ IP không hợp lệ: `{}`, {}" @@ -12958,33 +13106,17 @@ msgstr "Quản trị viên bảo mật" msgid "JDMC" msgstr "JDMC" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "Nhập giấy phép thành công" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "Giấy phép không hợp lệ" -msgid "Connection refused" -msgstr "Kết nối bị từ chối" - -msgid "Connection timeout" -msgstr "Hết thời gian kết nối" - -msgid "Unable to resolve the address" -msgstr "Không thể phân giải địa chỉ" - -msgid "Unable to connect to the host" -msgstr "Không thể kết nối đến máy chủ" - #~ msgid "Offline video player" #~ msgstr "Trình phát video ngoại tuyến" -#~| msgid "Domain name" -#~ msgid "domain_name" -#~ msgstr "Tên miền" - #~| msgid "Authenticate" #~ msgid "Certificate Auth" #~ msgstr "Xác thực danh tính" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 042fb4a22..a55af9011 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -33,6 +33,7 @@ msgid "Account not found" msgstr "账号未找到" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "参数 'action' 必须是 [{}]" @@ -115,10 +116,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "成功: %s, 失败: %s, 总数: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "风险检测报告 {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -152,6 +155,8 @@ msgstr ">>> 开始执行测试网关账号可连接性任务" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "密码" @@ -443,7 +448,7 @@ msgid "" "Vault." msgstr "Vault 操作失败,请重试,或者检查 Vault 上的账号信息。" -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -475,7 +480,7 @@ msgstr "Vault 操作失败,请重试,或者检查 Vault 上的账号信息 msgid "Asset" msgstr "资产" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -483,46 +488,46 @@ msgstr "资产" msgid "Su from" msgstr "切换自" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "版本" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "历史账号" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "可改密" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "来源" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "来源 ID" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "上次访问日期" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "访问方式" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "密码日期" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "改密状态" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -543,35 +548,35 @@ msgstr "改密状态" msgid "Account" msgstr "账号" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "可以查看资产账号密码" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "可以查看资产历史账号" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "可以查看资产历史账号密码" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "可以验证账号" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "可以推送账号" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "可以移除账号" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "账号会话" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "账号活动" @@ -585,7 +590,7 @@ msgstr "账号活动" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -633,8 +638,8 @@ msgstr "密文" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "账号" @@ -904,6 +909,8 @@ msgstr "重复密码" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "用户名" @@ -1109,12 +1116,14 @@ msgid "Notification of account backup route task results" msgstr "账号备份任务结果通知" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" msgstr "{} - 账号备份任务已完成, 详情见附件" #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1128,12 +1137,14 @@ msgid "Notification of implementation result of encryption change plan" msgstr "改密计划任务结果通知" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" msgstr "{} - 改密任务已完成, 详情见附件" #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1187,6 +1198,7 @@ msgid "Change password and Add" msgstr "改密并添加" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "执行失败:{}" @@ -1203,7 +1215,7 @@ msgid "Exist policy" msgstr "账号存在策略" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1216,7 +1228,7 @@ msgstr "类别" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1238,7 +1250,7 @@ msgstr "资产不存在" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "目录服务" @@ -1281,7 +1293,7 @@ msgstr "必须指定至少一个资产或节点" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "特殊信息" @@ -1361,7 +1373,7 @@ msgstr "备注" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "账号数量" @@ -1933,6 +1945,7 @@ msgid "Command group" msgstr "命令组" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "生成的正则表达式有误: {}" @@ -2072,8 +2085,8 @@ msgid "" "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "support)" msgstr "" -"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" -"db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)" +"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, " +"2001:db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -2084,19 +2097,23 @@ msgid "Recipients" msgstr "接收人" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "组织 `{}` 不存在" #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "所有复核人都不属于组织 `{}`" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "IP 地址无效: `{}`" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "地址无效: `{}`" @@ -2105,8 +2122,8 @@ msgid "" "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " msgstr "" -"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" -"db8:2de::e13, 2001:db8:1a:1110::/64" +"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, " +"2001:db8:2de::e13, 2001:db8:1a:1110::/64" #: acls/serializers/rules/rules.py:48 audits/reporting.py:246 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -2190,6 +2207,7 @@ msgid "You can't update the root node name" msgstr "不能修改根节点名称" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "不能删除根节点 ({})" @@ -2198,6 +2216,7 @@ msgid "Deletion failed and the node contains assets" msgstr "删除失败,节点包含资产" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2214,10 +2233,12 @@ msgid "App Assets" msgstr "资产管理" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "任务:{} 完成" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - 平台 {} Ansible 已禁用, 无法执行任务" @@ -2249,6 +2270,7 @@ msgid "No account" msgstr "没有账号" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "资产, {}, 使用账号 {}" @@ -2258,7 +2280,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "无法连接到 {port} 上的端口 {address}" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "认证失败" @@ -2364,7 +2387,8 @@ msgstr "云服务" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "自定义类型" @@ -2632,13 +2656,15 @@ msgstr "云服务" msgid "Port" msgstr "端口" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "地址" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2650,13 +2676,13 @@ msgstr "平台" msgid "Zone" msgstr "网域" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "节点" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "收集资产硬件信息" @@ -2846,7 +2872,7 @@ msgstr "值" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "标签" @@ -3033,15 +3059,15 @@ msgid "" "type" msgstr "资产中批量更新平台,不符合平台类型跳过的资产" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "协议,格式为 [\"协议/端口\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "协议,格式为 名称/端口" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3049,13 +3075,13 @@ msgstr "" "账号,格式为 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" msgstr "节点路径,格式为 [\"/组织/节点名\"], 如果节点不存在,将创建它" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3064,31 +3090,32 @@ msgstr "节点路径,格式为 [\"/组织/节点名\"], 如果节点不存在 msgid "Protocols" msgstr "协议组" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "节点路径" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "自动化信息" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "平台不存在" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "端口超出范围 (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "协议是必填的: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "无效的数据" @@ -3423,14 +3450,17 @@ msgid "" msgstr "当在网域详情-网关-测试连接时执行该任务" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "资产已经被禁用, 跳过: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "资产或许不支持ansible, 跳过: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "为了安全,禁止推送用户 {}" @@ -3611,7 +3641,7 @@ msgid "Resource Type" msgstr "资源类型" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "资源" @@ -4176,6 +4206,7 @@ msgid "Permission expired" msgstr "授权已过期" #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "ACL 动作是拒绝: {}({})" @@ -4205,11 +4236,13 @@ msgid "Facial comparison failed" msgstr "人脸比对失败" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "当前用户不支持 MFA 类型: {}" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "用户不存在: {}" @@ -4218,6 +4251,7 @@ msgid "No user matched" msgstr "没有匹配到用户" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4234,6 +4268,7 @@ msgid "Forgot password" msgstr "忘记密码" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "验证码有效期为 {} 分钟" @@ -4357,6 +4392,7 @@ msgid "Authentication failed password incorrect" msgstr "认证失败 (用户名或密码不正确)" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "登录时长已超过 {} 分钟,请重新登录" @@ -4445,12 +4481,14 @@ msgstr "" "被临时 锁定 {block_time} 分钟)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" msgstr "账号已被锁定 (请联系管理员解锁或{}分钟后重试)" #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4481,6 +4519,7 @@ msgid "Wait login confirm ticket for accept" msgstr "等待登录复核处理" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "登录复核: {}" @@ -4662,6 +4701,7 @@ msgid "Clear phone number to disable" msgstr "清空手机号码禁用" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "认证失败 (登录前检查失败): {}" @@ -4678,6 +4718,7 @@ msgid "User is invalid" msgstr "无效的用户" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4685,6 +4726,7 @@ msgid "" msgstr "管理员已开启'仅允许从用户来源登录',当前用户来源为 {},请联系管理员。" #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "该 MFA ({}) 方式没有启用" @@ -4754,6 +4796,7 @@ msgid "Connection token inactive" msgstr "连接令牌未激活" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "连接令牌过期: {}" @@ -4890,6 +4933,7 @@ msgstr "组织名称" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 不能为空" @@ -4953,8 +4997,8 @@ msgid "" "Retention Period" msgstr "" "系统在连接资产或创建临时密码时,会生成相应的连接 Token 或临时密码记录。为了保" -"障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时" -"长”中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录" +"障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时长”" +"中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录" #: authentication/templates/authentication/_access_key_modal.html:6 msgid "API key list" @@ -5338,6 +5382,7 @@ msgid "Redirecting" msgstr "跳转中" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "正在跳转到 {} 认证" @@ -5346,10 +5391,12 @@ msgid "Login timeout, please try again." msgstr "登录超时,请重新登录" #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "用户邮箱已存在 ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5517,7 +5564,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "无效的ID,应为列表" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5547,6 +5594,7 @@ msgid "Updated by" msgstr "最后更新者" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "无效的端口范围,应该在 {}-{} 之内" @@ -5559,10 +5607,12 @@ msgid "Org ID" msgstr "组织 ID" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "文件内容太大 (最大长度 `{}` 字节)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "解析文件错误: {}" @@ -5575,6 +5625,7 @@ msgid "Yes/No" msgstr "是/否" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "数字,最小 {} 最大 {}" @@ -5583,6 +5634,7 @@ msgid "Phone number, format +8612345678901" msgstr "手机号,格式 +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "文本,最大长度 {}" @@ -5591,6 +5643,7 @@ msgid "Long text, no length limit" msgstr "长文本,无长度限制" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "日期时间格式 {}" @@ -5599,12 +5652,14 @@ msgid "Label, format [\"key:value\"]" msgstr "标签,格式: [\"键:值\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "选项,格式: 名称(值),名称是可选的,方便阅读,值是必填的,可选项有 {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "选项,可选项有 {}" @@ -5634,13 +5689,14 @@ msgid "Objects, format [\"id\", ...]" msgstr "多关联项,格式是 [\"id\", ...]" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." msgstr "" "{} - 未设置加密密码 - 请前往个人设置 - 偏好设置 - 文件加密密码中设置加密密码" -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "资源数量" @@ -5761,6 +5817,7 @@ msgid "sp_id is 6 bits" msgstr "SP_id 为6位" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "连接网关服务器错误,错误:{}" @@ -5773,6 +5830,10 @@ msgstr "自定义短信文件无效" msgid "SMS sending failed[%s]: %s" msgstr "短信发送失败[%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "文件" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "阿里云" @@ -5794,6 +5855,7 @@ msgid "Custom type (File)" msgstr "自定义 (文件)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "短信服务商不支持:{}" @@ -5810,6 +5872,7 @@ msgid "The verification code is incorrect" msgstr "验证码错误" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "请在 {} 秒后发送" @@ -5817,31 +5880,28 @@ msgstr "请在 {} 秒后发送" msgid "Children" msgstr "节点" -#: common/serializers/common.py:98 -msgid "File" -msgstr "文件" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "无效的数据" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "错误的 pk \"{pk_value}\" - 对象不存在" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "错误类型。期望 pk 值,收到 {data_type}。" -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "错误的数据类型,应该是列表" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "无效选项: {}" @@ -5943,11 +6003,15 @@ msgstr "你的账号已创建成功" msgid "JumpServer - An open-source PAM" msgstr "JumpServer 开源堡垒机" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "Flower 服务不可用,请检查" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -5956,11 +6020,12 @@ msgstr "" "
Luna是单独部署的一个程序,你需要部署luna,koko,
如果你看到了" "这个页面,证明你访问的不是nginx监听的端口,祝你好运
" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置" -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -5990,11 +6055,11 @@ msgstr "资源 ID" msgid "Tagged resource" msgstr "关联的资源" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "不能包含\":,\"" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "资源类型" @@ -6019,6 +6084,7 @@ msgid "User message" msgstr "用户消息" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} 订阅" @@ -6055,14 +6121,17 @@ msgid "Waiting task start" msgstr "等待任务开始" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "任务 {} 不存在" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "任务 {} 执行参数错误" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "登录资产 {}({}) 被拒绝,由登录资产规则 ACL ({}) 限制" @@ -6336,6 +6405,7 @@ msgid "Celery Task Execution" msgstr "Celery 任务执行" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "模块 {} 不适用于此资产" @@ -6608,6 +6678,7 @@ msgid "Name of the job" msgstr "Job 名称" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "当前组织 ({}) 不能被删除" @@ -6618,6 +6689,7 @@ msgid "" msgstr "LDAP 同步设置组织为当前组织,请切换其他组织后再进行删除操作" #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "组织存在资源 ({}) 不能被删除" @@ -6792,6 +6864,7 @@ msgid "Asset permissions is about to expire" msgstr "资产授权规则将要过期" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "组织 ({}) 的资产授权" @@ -6871,6 +6944,7 @@ msgid "Internal role, can't be update" msgstr "内部角色,不能更新" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} 至少有一个系统角色" @@ -7231,6 +7305,7 @@ msgid "Test success" msgstr "测试成功" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "邮件已经发送{}, 请检查" @@ -8179,7 +8254,7 @@ msgstr "租户 ID" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "地域" @@ -8869,19 +8944,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "使用 ldap:// 或 ldaps:// 协议" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "主机或端口不可连接: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "端口不是LDAP服务端口: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "请添加证书: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "未知错误: {}" @@ -8890,22 +8969,27 @@ msgid "Bind DN or Password incorrect" msgstr "绑定DN或密码错误" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "请输入绑定DN: {}" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "请输入密码: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "请输入正确的绑定DN和密码: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "不合法的用户OU或用户过滤器: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "LDAP属性映射没有包含: {}" @@ -8918,46 +9002,57 @@ msgid "LDAP authentication is not enabled" msgstr "LDAP认证没有启用" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "错误 (不合法的LDAP服务器地址): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "错误 (不合法的绑定DN): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "错误 (不合法的LDAP属性映射): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "错误 (不合法的用户OU或用户过滤器): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "错误 (没有启用LDAP认证): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "错误 (未知): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "成功匹配 {} 个用户" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "认证失败 (配置错误): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "认证失败 (用户名或密码不正确): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "认证失败: (未知): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "认证成功: {}" @@ -8966,10 +9061,12 @@ msgid "No LDAP user was found" msgstr "没有获取到 LDAP 用户" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "总共 {},成功 {},失败 {}" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr ", 禁用 {}" @@ -9126,6 +9223,10 @@ msgstr "客户端,目前用来唤起 特定客户端程序 连接资产" msgid "More download" msgstr "更多下载" +#: templates/resource_download.html:34 +msgid "Tools and applications" +msgstr "工具和应用" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "无效的 zip 文件" @@ -9135,6 +9236,7 @@ msgid "This is enterprise edition applet" msgstr "企业版远程应用,在社区版中不能使用" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "路径中未找到远程应用: {}" @@ -9147,6 +9249,7 @@ msgid "Deleting the default storage is not allowed" msgstr "不允许删除默认存储配置" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "无法删除正在使用的存储: {}" @@ -9158,15 +9261,33 @@ msgstr "命令存储" msgid "Invalid" msgstr "无效" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "连接被拒绝" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "连接超时" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "无法解析地址" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "无法连接到主机" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "测试失败: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "测试成功" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "测试失败:请检查配置" @@ -9185,6 +9306,7 @@ msgid "Session replay" msgstr "会话录像" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "会话不存在: {}" @@ -9192,7 +9314,7 @@ msgstr "会话不存在: {}" msgid "Session is finished or the protocol not supported" msgstr "会话已经完成或协议不支持" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "用户没有权限" @@ -9357,10 +9479,12 @@ msgstr "主机" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 无效,缺少文件 {}" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "加载 platform.yml 失败: {}" @@ -9784,9 +9908,9 @@ msgid "" "remote-desktop-services/rds-client-access-license\" " "target=\"_blank\">Detail" msgstr "" -"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" +"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9957,6 +10081,7 @@ msgid "No asset or invalid asset" msgstr "没有资产或资产未激活" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "端点无效: 移除路径 `{}`" @@ -10005,8 +10130,8 @@ msgid "" "If there are multiple hosts, use a comma (,) to separate them.
(For " "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" msgstr "" -"如果有多个主机,请用逗号 (,) 分隔它们。
(例如:http://www.jumpserver.a." -"com:9100,http://www.jumpserver.b.com:9100)" +"如果有多个主机,请用逗号 (,) 分隔它们。
(例如:http://" +"www.jumpserver.a.com:9100,http://www.jumpserver.b.com:9100)" #: terminal/serializers/storage.py:199 msgid "Index by date" @@ -10371,6 +10496,7 @@ msgid "Ticket already closed" msgstr "工单已经关闭" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10390,6 +10516,7 @@ msgid "After change" msgstr "变更后" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} 工单" @@ -10535,18 +10662,22 @@ msgid "Ticket applied info" msgstr "工单申请信息" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "你有一条来自 {} 的新工单" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: 新工单 - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "你的工单已被处理, 处理人 - {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "你的工单已被处理, 处理人 - {} ({})" @@ -10632,6 +10763,7 @@ msgstr "申请动作" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "通过工单创建 ({}-{})" @@ -10640,6 +10772,7 @@ msgid "The expiration date should be greater than the start date" msgstr "过期时间要大于开始时间" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "授权名称 `{}` 已存在" @@ -10648,6 +10781,7 @@ msgid "Process map" msgstr "流程图" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "工单流程 `{}` 不存在" @@ -10706,6 +10840,7 @@ msgid "Can not invite self" msgstr "不能邀请自己" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "该用户{}已是组织成员,无需重复邀请" @@ -11131,6 +11266,7 @@ msgid "Password does not match security rules" msgstr "密码不满足安全规则" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "新密码不能是最近 {} 次的密码" @@ -11565,6 +11701,7 @@ msgid "Password invalid" msgstr "用户名或密码无效" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -11575,6 +11712,7 @@ msgid "Token invalid or expired" msgstr "令牌错误或失效" #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "用户认证源来自 {}, 请去相应系统修改密码" @@ -11583,6 +11721,7 @@ msgid "* Your password does not meet the requirements" msgstr "* 您的密码不符合要求" #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* 新密码不能是最近 {} 次的密码" @@ -11605,10 +11744,12 @@ msgid "Test connection successful" msgstr "测试成功" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "测试连接失败:{}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "用户 {} 删除了当前资源已释放的资产" @@ -11806,6 +11947,10 @@ msgstr "同步地区" msgid "Get instances of region \"%s\" error, error: %s" msgstr "获取区域 \"%s\" 的实例错误,错误:%s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "实例" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11948,10 +12093,6 @@ msgstr "同步任务" msgid "Sync instance task history" msgstr "同步实例任务历史" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "实例" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "同步实例详情" @@ -12272,6 +12413,10 @@ msgstr "API 端点" msgid "Auto node classification" msgstr "自动节点分类" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "域名" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "认证地址" @@ -12305,6 +12450,7 @@ msgid "The file is in JSON format" msgstr "JSON 格式的文件" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "IP 地址无效: `{}`, {}" @@ -12460,28 +12606,13 @@ msgstr "安全管理员" msgid "JDMC" msgstr "" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "许可证导入成功" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "许可证无效" -msgid "Connection refused" -msgstr "连接被拒绝" - -msgid "Connection timeout" -msgstr "连接超时" - -msgid "Unable to resolve the address" -msgstr "无法解析地址" - -msgid "Unable to connect to the host" -msgstr "无法连接到主机" - #~ msgid "Offline video player" #~ msgstr "离线录像播放器" - -#~ msgid "domain_name" -#~ msgstr "域名" diff --git a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po index 9bd86ec3e..cb2cc3eee 100644 --- a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-22 11:19+0800\n" +"POT-Creation-Date: 2026-06-26 10:17+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -35,6 +35,7 @@ msgid "Account not found" msgstr "帳號未找到" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:134 +#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "參數 'action' 必須是 [{}]" @@ -117,10 +118,12 @@ msgid "Success: %s, Failed: %s, Total: %s" msgstr "成功: %s, 失敗: %s, 總數: %s" #: accounts/automations/check_account/manager.py:277 +#, python-brace-format msgid "Check account report of {}" msgstr "風險檢測報告 {}" #: accounts/automations/check_account/manager.py:283 +#, python-brace-format msgid "" "---\n" "Summary: \n" @@ -154,6 +157,8 @@ msgstr ">>> 開始執行測試閘道器帳號可連結性的任務" #: users/templates/users/_msg_user_created.html:13 #: users/templates/users/user_password_verify.html:18 #: xpack/plugins/cloud/serializers/account_attrs.py:43 +#: xpack/plugins/cloud/serializers/account_attrs.py:105 +#: xpack/plugins/cloud/serializers/account_attrs.py:112 msgid "Password" msgstr "密碼" @@ -445,7 +450,7 @@ msgid "" "Vault." msgstr "Vault 操作失敗,請重試,或檢查 Vault 上的帳號信息。" -#: accounts/models/account.py:85 +#: accounts/models/account.py:89 #: accounts/models/automations/check_account.py:59 #: accounts/models/automations/gather_account.py:17 #: accounts/serializers/account/account.py:228 @@ -477,7 +482,7 @@ msgstr "Vault 操作失敗,請重試,或檢查 Vault 上的帳號信息。" msgid "Asset" msgstr "資產" -#: accounts/models/account.py:89 accounts/models/template.py:16 +#: accounts/models/account.py:93 accounts/models/template.py:16 #: accounts/serializers/account/account.py:235 #: accounts/serializers/account/account.py:306 #: accounts/serializers/account/template.py:35 @@ -485,46 +490,46 @@ msgstr "資產" msgid "Su from" msgstr "切換自" -#: accounts/models/account.py:91 assets/const/protocol.py:195 +#: accounts/models/account.py:95 assets/const/protocol.py:195 #: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 #: terminal/models/virtualapp/virtualapp.py:21 msgid "Version" msgstr "版本" -#: accounts/models/account.py:94 +#: accounts/models/account.py:98 msgid "historical Account" msgstr "歷史帳號" -#: accounts/models/account.py:96 +#: accounts/models/account.py:100 msgid "Secret reset" msgstr "可改密" -#: accounts/models/account.py:97 accounts/serializers/account/account.py:230 +#: accounts/models/account.py:101 accounts/serializers/account/account.py:230 #: users/models/user/__init__.py:132 msgid "Source" msgstr "來源" -#: accounts/models/account.py:98 +#: accounts/models/account.py:102 msgid "Source ID" msgstr "來源 ID" -#: accounts/models/account.py:99 +#: accounts/models/account.py:103 msgid "Date last access" msgstr "上次訪問日期" -#: accounts/models/account.py:100 +#: accounts/models/account.py:104 msgid "Access by" msgstr "訪問方式" -#: accounts/models/account.py:101 +#: accounts/models/account.py:105 msgid "Date change secret" msgstr "密碼日期" -#: accounts/models/account.py:103 +#: accounts/models/account.py:107 msgid "Change secret status" msgstr "改密狀態" -#: accounts/models/account.py:107 +#: accounts/models/account.py:111 #: accounts/models/automations/check_account.py:64 #: accounts/serializers/account/account.py:296 #: accounts/serializers/account/service.py:13 @@ -545,35 +550,35 @@ msgstr "改密狀態" msgid "Account" msgstr "帳號" -#: accounts/models/account.py:113 +#: accounts/models/account.py:117 msgid "Can view asset account secret" msgstr "可以查看資產帳號密碼" -#: accounts/models/account.py:114 +#: accounts/models/account.py:118 msgid "Can view asset history account" msgstr "可以查看資產歷史帳號" -#: accounts/models/account.py:115 +#: accounts/models/account.py:119 msgid "Can view asset history account secret" msgstr "可以查看資產歷史帳號密碼" -#: accounts/models/account.py:116 +#: accounts/models/account.py:120 msgid "Can verify account" msgstr "可以驗證帳號" -#: accounts/models/account.py:117 +#: accounts/models/account.py:121 msgid "Can push account" msgstr "可以推送帳號" -#: accounts/models/account.py:118 +#: accounts/models/account.py:122 msgid "Can remove account" msgstr "可以移除帳號" -#: accounts/models/account.py:119 +#: accounts/models/account.py:123 msgid "Can view session" msgstr "帳號會話" -#: accounts/models/account.py:120 +#: accounts/models/account.py:124 msgid "Can view activity" msgstr "帳號活動" @@ -587,7 +592,7 @@ msgstr "帳號活動" #: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 #: assets/models/label.py:18 assets/models/platform.py:15 #: assets/models/platform.py:94 assets/models/zone.py:19 -#: assets/serializers/asset/common.py:174 assets/serializers/platform.py:159 +#: assets/serializers/asset/common.py:175 assets/serializers/platform.py:159 #: assets/serializers/platform.py:284 #: authentication/backends/passkey/models.py:10 #: authentication/models/ssh_key.py:12 authentication/notifications.py:17 @@ -635,8 +640,8 @@ msgstr "金鑰" #: accounts/models/application.py:21 acls/models/base.py:98 #: assets/models/automations/base.py:22 assets/models/cmd_filter.py:38 -#: assets/serializers/asset/common.py:148 -#: assets/serializers/asset/common.py:424 perms/serializers/permission.py:67 +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:425 perms/serializers/permission.py:67 #: perms/serializers/user_permission.py:87 rbac/tree.py:36 rbac/tree.py:51 msgid "Accounts" msgstr "帳號管理" @@ -906,6 +911,8 @@ msgstr "重複密碼" #: users/notifications.py:20 users/serializers/profile.py:190 #: users/templates/users/_msg_user_created.html:12 #: xpack/plugins/cloud/serializers/account_attrs.py:41 +#: xpack/plugins/cloud/serializers/account_attrs.py:103 +#: xpack/plugins/cloud/serializers/account_attrs.py:110 msgid "Username" msgstr "使用者名稱" @@ -1111,12 +1118,14 @@ msgid "Notification of account backup route task results" msgstr "帳號備份任務結果通知" #: accounts/notifications.py:23 accounts/notifications.py:48 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed. See the attachment " "for details" msgstr "{} - 帳號備份任務已完成, 詳情見附件" #: accounts/notifications.py:26 +#, python-brace-format msgid "" "{} - The account backup passage task has been completed: the encryption " "password has not been set - please go to personal information -> Basic file " @@ -1130,12 +1139,14 @@ msgid "Notification of implementation result of encryption change plan" msgstr "改密計劃任務結果通知" #: accounts/notifications.py:69 +#, python-brace-format msgid "" "{} - The encryption change task has been completed. See the attachment for " "details" msgstr "{} - 改密任務已完成, 詳情見附件" #: accounts/notifications.py:73 +#, python-brace-format msgid "" "{} - The encryption change task has been completed: the encryption password " "has not been set - please go to personal information -> set encryption " @@ -1189,6 +1200,7 @@ msgid "Change password and Add" msgstr "改密並添加" #: accounts/risk_handlers.py:127 +#, python-brace-format msgid "Execution failed: {}" msgstr "執行失敗:{}" @@ -1205,7 +1217,7 @@ msgid "Exist policy" msgstr "帳號存在策略" #: accounts/serializers/account/account.py:207 assets/models/label.py:21 -#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:146 #: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174 #: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27 #: settings/models.py:40 tickets/models/ticket/apply_application.py:13 @@ -1218,7 +1230,7 @@ msgstr "類別" #: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24 #: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27 #: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74 -#: assets/models/platform.py:96 assets/serializers/asset/common.py:146 +#: assets/models/platform.py:96 assets/serializers/asset/common.py:147 #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/reporting.py:221 audits/reporting.py:492 audits/serializers.py:76 #: audits/serializers.py:211 authentication/models/connection_token.py:67 @@ -1240,7 +1252,7 @@ msgstr "資產不存在" #: accounts/serializers/account/account.py:237 assets/const/category.py:15 #: assets/models/asset/common.py:180 assets/models/asset/ds.py:14 -#: assets/serializers/asset/common.py:181 +#: assets/serializers/asset/common.py:182 msgid "Directory service" msgstr "目錄服務" @@ -1283,7 +1295,7 @@ msgstr "資產或者節點至少選擇一項" #: accounts/serializers/account/account.py:490 #: accounts/serializers/account/base.py:75 #: accounts/serializers/account/base.py:94 -#: assets/serializers/asset/common.py:425 +#: assets/serializers/asset/common.py:426 msgid "Spec info" msgstr "特殊資訊" @@ -1363,7 +1375,7 @@ msgstr "備註" #: accounts/serializers/account/service.py:30 #: accounts/templates/accounts/backup_account_report.html:33 -#: assets/serializers/asset/common.py:153 +#: assets/serializers/asset/common.py:154 msgid "Accounts amount" msgstr "帳號數量" @@ -1936,6 +1948,7 @@ msgid "Command group" msgstr "命令組" #: acls/models/command_acl.py:86 +#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "生成的正則表達式有誤: {}" @@ -2075,8 +2088,8 @@ msgid "" "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " "support)" msgstr "" -"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" -"db8:2de::e13, 2001:db8:1a:1110::/64 (支持網域)" +"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, " +"2001:db8:2de::e13, 2001:db8:1a:1110::/64 (支持網域)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -2087,19 +2100,23 @@ msgid "Recipients" msgstr "接收人" #: acls/serializers/base.py:125 tickets/serializers/ticket/ticket.py:79 +#, python-brace-format msgid "The organization `{}` does not exist" msgstr "組織 `{}` 不存在" #: acls/serializers/base.py:131 +#, python-brace-format msgid "None of the reviewers belong to Organization `{}`" msgstr "所有覆核人都不屬於組織 `{}`" #: acls/serializers/rules/rules.py:22 #: xpack/plugins/cloud/serializers/task.py:163 +#, python-brace-format msgid "IP address invalid: `{}`" msgstr "IP 地址無效: `{}`" #: acls/serializers/rules/rules.py:35 +#, python-brace-format msgid "address invalid: `{}`" msgstr "地址無效: `{}`" @@ -2108,8 +2125,8 @@ msgid "" "With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " msgstr "" -"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:" -"db8:2de::e13, 2001:db8:1a:1110::/64" +"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, " +"2001:db8:2de::e13, 2001:db8:1a:1110::/64" #: acls/serializers/rules/rules.py:48 audits/reporting.py:246 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -2193,6 +2210,7 @@ msgid "You can't update the root node name" msgstr "不能修改根節點名稱" #: assets/api/node.py:65 +#, python-brace-format msgid "You can't delete the root node ({})" msgstr "不能刪除根節點 ({})" @@ -2201,6 +2219,7 @@ msgid "Deletion failed and the node contains assets" msgstr "刪除失敗,節點包含資產" #: assets/api/node.py:99 +#, python-brace-format msgid "Node {} is an ancestor of node {}, can't be added as its child" msgstr "" @@ -2217,10 +2236,12 @@ msgid "App Assets" msgstr "資產管理" #: assets/automations/base/manager.py:139 +#, python-brace-format msgid "Task: {} finished" msgstr "任務:{} 完成" #: assets/automations/base/manager.py:341 +#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - 平台 {} Ansible 已禁用, 無法執行任務" @@ -2252,6 +2273,7 @@ msgid "No account" msgstr "沒有帳號" #: assets/automations/ping_gateway/manager.py:36 +#, python-brace-format msgid "Asset, {}, using account {}" msgstr "資產, {}, 使用帳號 {}" @@ -2261,7 +2283,8 @@ msgid "Unable to connect to port {port} on {address}" msgstr "無法連接到 {port} 上的埠 {address}" #: assets/automations/ping_gateway/manager.py:58 -#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +#: authentication/middleware.py:94 terminal/api/component/storage.py:127 +#: xpack/plugins/cloud/providers/fc.py:47 #: xpack/plugins/cloud/providers/proxmox.py:29 msgid "Authentication failed" msgstr "認證失敗" @@ -2367,7 +2390,8 @@ msgstr "雲服務" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 +#: common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "自訂" @@ -2635,13 +2659,15 @@ msgstr "雲服務" msgid "Port" msgstr "埠" -#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:175 +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:176 #: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:69 msgid "Address" msgstr "地址" #: assets/models/asset/common.py:169 assets/models/platform.py:155 -#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:152 +#: assets/serializers/asset/common.py:270 +#: assets/serializers/asset/common.py:273 #: authentication/backends/passkey/models.py:12 #: authentication/serializers/connect_token_secret.py:130 #: perms/serializers/user_permission.py:26 xpack/plugins/cloud/models.py:402 @@ -2653,13 +2679,13 @@ msgstr "系統平台" msgid "Zone" msgstr "網域" -#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:177 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:178 #: assets/serializers/automations/base.py:21 ops/serializers/job.py:22 #: perms/serializers/permission.py:59 msgid "Nodes" msgstr "節點" -#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:426 +#: assets/models/asset/common.py:183 assets/serializers/asset/common.py:427 #: assets/serializers/asset/host.py:11 msgid "Gathered info" msgstr "收集資產硬體資訊" @@ -2849,7 +2875,7 @@ msgstr "值" #: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 #: assets/serializers/platform.py:160 #: authentication/serializers/connect_token_secret.py:136 -#: common/serializers/common.py:85 labels/serializers.py:45 +#: common/serializers/common.py:85 labels/serializers.py:56 #: settings/serializers/msg.py:91 xpack/plugins/cloud/models.py:407 msgid "Label" msgstr "標籤" @@ -3036,15 +3062,15 @@ msgid "" "type" msgstr "資產中批次更新平台,不符合平台類型跳過的資產" -#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 +#: assets/serializers/asset/common.py:37 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" msgstr "協定,格式為 [\"協定/連接埠\"]" -#: assets/serializers/asset/common.py:38 +#: assets/serializers/asset/common.py:39 msgid "Protocol, format is name/port" msgstr "協定,格式為 名稱/連接埠" -#: assets/serializers/asset/common.py:107 +#: assets/serializers/asset/common.py:108 msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" @@ -3052,13 +3078,13 @@ msgstr "" "帳號,格式為 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -#: assets/serializers/asset/common.py:135 +#: assets/serializers/asset/common.py:136 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" msgstr "節點路徑,格式為 [\"/組織/節點名稱\"], 如果節點不存在,將創建它" -#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 +#: assets/serializers/asset/common.py:148 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 #: authentication/serializers/connect_token_secret.py:77 #: perms/models/asset_permission.py:76 perms/serializers/permission.py:68 @@ -3067,31 +3093,32 @@ msgstr "節點路徑,格式為 [\"/組織/節點名稱\"], 如果節點不存 msgid "Protocols" msgstr "協議組" -#: assets/serializers/asset/common.py:149 -#: assets/serializers/asset/common.py:176 +#: assets/serializers/asset/common.py:150 +#: assets/serializers/asset/common.py:177 msgid "Node path" msgstr "節點路徑" -#: assets/serializers/asset/common.py:150 -#: assets/serializers/asset/common.py:173 -#: assets/serializers/asset/common.py:427 +#: assets/serializers/asset/common.py:151 +#: assets/serializers/asset/common.py:174 +#: assets/serializers/asset/common.py:428 msgid "Auto info" msgstr "自動化資訊" -#: assets/serializers/asset/common.py:272 +#: assets/serializers/asset/common.py:273 #: xpack/plugins/cloud/serializers/task.py:119 msgid "Platform not exist" msgstr "平台不存在" -#: assets/serializers/asset/common.py:308 +#: assets/serializers/asset/common.py:309 msgid "port out of range (0-65535)" msgstr "埠超出範圍 (0-65535)" -#: assets/serializers/asset/common.py:315 +#: assets/serializers/asset/common.py:316 +#, python-brace-format msgid "Protocol is required: {}" msgstr "協議是必填的: {}" -#: assets/serializers/asset/common.py:354 +#: assets/serializers/asset/common.py:355 labels/api.py:107 msgid "Invalid data" msgstr "無效的數據" @@ -3430,14 +3457,17 @@ msgid "" msgstr "當在網域詳情-網關-測試連接時,執行該任務" #: assets/tasks/utils.py:16 +#, python-brace-format msgid "Asset has been disabled, skipped: {}" msgstr "資產已經被禁用, 跳過: {}" #: assets/tasks/utils.py:20 +#, python-brace-format msgid "Asset may not be support ansible, skipped: {}" msgstr "資產或許不支持ansible, 跳過: {}" #: assets/tasks/utils.py:38 +#, python-brace-format msgid "For security, do not push user {}" msgstr "為了安全,禁止推送用戶 {}" @@ -3618,7 +3648,7 @@ msgid "Resource Type" msgstr "資源類型" #: audits/models.py:102 audits/models.py:105 audits/models.py:151 -#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:46 +#: audits/reporting.py:419 audits/serializers.py:108 labels/serializers.py:57 msgid "Resource" msgstr "資源" @@ -4183,6 +4213,7 @@ msgid "Permission expired" msgstr "授權已過期" #: authentication/api/connection_token.py:504 +#, python-brace-format msgid "ACL action is reject: {}({})" msgstr "ACL 動作是拒絕: {}({})" @@ -4212,11 +4243,13 @@ msgid "Facial comparison failed" msgstr "臉部比對失敗" #: authentication/api/mfa.py:61 +#, python-brace-format msgid "Current user not support mfa type: {}" msgstr "當前用戶不支持 MFA 類型: {}" #: authentication/api/password.py:37 terminal/api/session/session.py:347 #: users/views/profile/reset.py:63 +#, python-brace-format msgid "User does not exist: {}" msgstr "用戶不存在: {}" @@ -4225,6 +4258,7 @@ msgid "No user matched" msgstr "沒有匹配到用戶" #: authentication/api/password.py:41 +#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4241,6 +4275,7 @@ msgid "Forgot password" msgstr "忘記密碼" #: authentication/api/password.py:73 authentication/mfa/email.py:42 +#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "驗證碼有效期為 {} 分鐘" @@ -4364,6 +4399,7 @@ msgid "Authentication failed password incorrect" msgstr "認證失敗 (使用者名稱或密碼不正確)" #: authentication/confirm/relogin.py:11 +#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "登錄時長已超過 {} 分鐘,請重新登入" @@ -4452,12 +4488,14 @@ msgstr "" "號將被臨時 鎖定 {block_time} 分鐘)" #: authentication/errors/const.py:47 authentication/errors/const.py:55 +#, python-brace-format msgid "" "The account has been locked (please contact admin to unlock it or try again " "after {} minutes)" msgstr "帳號已被鎖定 (請聯絡管理員解鎖或{}分鐘後重試)" #: authentication/errors/const.py:51 +#, python-brace-format msgid "" "The address has been locked (please contact admin to unlock it or try again " "after {} minutes)" @@ -4488,6 +4526,7 @@ msgid "Wait login confirm ticket for accept" msgstr "等待登錄覆核處理" #: authentication/errors/const.py:67 +#, python-brace-format msgid "Login confirm ticket was {}" msgstr "登錄覆核: {}" @@ -4669,6 +4708,7 @@ msgid "Clear phone number to disable" msgstr "清空手機號碼禁用" #: authentication/middleware.py:95 settings/utils/ldap.py:714 +#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "認證失敗 (登錄前檢查失敗): {}" @@ -4685,6 +4725,7 @@ msgid "User is invalid" msgstr "無效的用戶" #: authentication/mixins.py:204 +#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4692,6 +4733,7 @@ msgid "" msgstr "管理員已開啟 '僅允許從用戶來源登入',當前用戶來源為 {},請聯繫管理員。" #: authentication/mixins.py:391 +#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "該 MFA ({}) 方式沒有啟用" @@ -4761,6 +4803,7 @@ msgid "Connection token inactive" msgstr "連接令牌未啟用" #: authentication/models/connection_token.py:174 +#, python-brace-format msgid "Connection token expired at: {}" msgstr "連接令牌過期: {}" @@ -4897,6 +4940,7 @@ msgstr "組織名稱" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 +#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 不能為空" @@ -5345,6 +5389,7 @@ msgid "Redirecting" msgstr "跳轉中" #: authentication/views/login.py:173 +#, python-brace-format msgid "Redirecting to {} authentication" msgstr "正在跳轉到 {} 認證" @@ -5353,10 +5398,12 @@ msgid "Login timeout, please try again." msgstr "登錄超時,請重新登入" #: authentication/views/login.py:245 +#, python-brace-format msgid "User email already exists ({})" msgstr "用戶信箱已存在 ({})" #: authentication/views/login.py:338 +#, python-brace-format msgid "" "Wait for {} confirm, You also can copy link to her/him
\n" " Don't close this page" @@ -5524,7 +5571,7 @@ msgid "Invalid ids for ids, should be a list" msgstr "無效的ID,應為列表" #: common/db/fields.py:589 common/db/fields.py:594 -#: common/serializers/fields.py:146 terminal/serializers/session.py:89 +#: common/serializers/fields.py:153 terminal/serializers/session.py:89 #: tickets/serializers/ticket/common.py:58 #: xpack/plugins/cloud/serializers/account_attrs.py:20 #: xpack/plugins/cloud/serializers/account_attrs.py:71 @@ -5554,6 +5601,7 @@ msgid "Updated by" msgstr "最後更新者" #: common/db/validators.py:9 +#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "無效的埠範圍,應該在 {}-{} 之內" @@ -5566,10 +5614,12 @@ msgid "Org ID" msgstr "組織 ID" #: common/drf/parsers/base.py:21 +#, python-brace-format msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "文件內容太大 (最大長度 `{}` 位元組)" #: common/drf/parsers/base.py:207 +#, python-brace-format msgid "Parse file error: {}" msgstr "解析文件錯誤: {}" @@ -5582,6 +5632,7 @@ msgid "Yes/No" msgstr "是/否" #: common/drf/renders/base.py:161 +#, python-brace-format msgid "Number, min {} max {}" msgstr "數字,最小 {} 最大 {}" @@ -5590,6 +5641,7 @@ msgid "Phone number, format +8612345678901" msgstr "手機號碼,格式 +8612345678901" #: common/drf/renders/base.py:170 +#, python-brace-format msgid "Text, max length {}" msgstr "文字,最大長度 {}" @@ -5598,6 +5650,7 @@ msgid "Long text, no length limit" msgstr "長文字,無長度限制" #: common/drf/renders/base.py:175 +#, python-brace-format msgid "Datetime format {}" msgstr "日期時間格式 {}" @@ -5606,12 +5659,14 @@ msgid "Label, format [\"key:value\"]" msgstr "標籤,格式: [\"鍵:值\"]" #: common/drf/renders/base.py:182 +#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "選項,格式: 名稱(值),名稱是可選的,方便閱讀,值是必填的,可選項有 {}" #: common/drf/renders/base.py:185 +#, python-brace-format msgid "Choices, options {}" msgstr "選項,可選項有 {}" @@ -5641,13 +5696,14 @@ msgid "Objects, format [\"id\", ...]" msgstr "多關聯項,格式是 [\"id\", ...]" #: common/drf/renders/base.py:301 +#, python-brace-format msgid "" "{} - Encryption password not set - Please go to Personal Settings → " "Preferences → File Encryption Password to set it." msgstr "" "{} - 未設置加密密碼 - 請前往個人設置 - 偏好設置 - 文件加密密碼中設置加密密碼" -#: common/drf/renders/mixins.py:37 labels/serializers.py:22 +#: common/drf/renders/mixins.py:37 labels/serializers.py:23 msgid "Resource count" msgstr "資源數量" @@ -5768,6 +5824,7 @@ msgid "sp_id is 6 bits" msgstr "SP_id 為6位" #: common/sdk/sms/cmpp2.py:214 +#, python-brace-format msgid "Failed to connect to the CMPP gateway server, err: {}" msgstr "連接網關伺服器錯誤,錯誤:{}" @@ -5780,6 +5837,10 @@ msgstr "自訂簡訊文件無效" msgid "SMS sending failed[%s]: %s" msgstr "簡訊發送失敗[%s]: %s" +#: common/sdk/sms/custom_file.py:47 common/serializers/common.py:98 +msgid "File" +msgstr "文件" + #: common/sdk/sms/endpoint.py:16 msgid "Alibaba cloud" msgstr "阿里雲" @@ -5801,6 +5862,7 @@ msgid "Custom type (File)" msgstr "自訂 (文件)" #: common/sdk/sms/endpoint.py:32 +#, python-brace-format msgid "SMS provider not support: {}" msgstr "簡訊服務商不支持:{}" @@ -5817,6 +5879,7 @@ msgid "The verification code is incorrect" msgstr "驗證碼錯誤" #: common/sdk/sms/exceptions.py:18 +#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "請在 {} 秒後發送" @@ -5824,31 +5887,28 @@ msgstr "請在 {} 秒後發送" msgid "Children" msgstr "節點" -#: common/serializers/common.py:98 -msgid "File" -msgstr "文件" - #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "无效的数据" -#: common/serializers/fields.py:147 +#: common/serializers/fields.py:154 #, python-brace-format msgid "Invalid pk \"{pk_value}\" - object does not exist." msgstr "錯誤的 pk \"{pk_value}\" - 對象不存在" -#: common/serializers/fields.py:148 +#: common/serializers/fields.py:155 #, python-brace-format msgid "Incorrect type. Expected pk value, received {data_type}." msgstr "錯誤類型。期望 pk 值,收到 {data_type}。" -#: common/serializers/fields.py:338 +#: common/serializers/fields.py:345 msgid "Invalid data type, should be list" msgstr "錯誤的數據類型,應該是列表" -#: common/serializers/fields.py:353 +#: common/serializers/fields.py:360 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 +#, python-brace-format msgid "Invalid choice: {}" msgstr "無效選項: {}" @@ -5950,11 +6010,15 @@ msgstr "你的帳號已創建成功" msgid "JumpServer - An open-source PAM" msgstr "JumpServer 開源堡壘機" +#: jumpserver/context_processor.py:31 +msgid "FIT2CLOUD" +msgstr "" + #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "Flower 服務不可用,請檢查" -#: jumpserver/views/other.py:30 +#: jumpserver/views/other.py:31 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, koko, " "configure nginx for url distribution,
If you see this page, " @@ -5963,11 +6027,12 @@ msgstr "" "
Luna是單獨部署的一個程序,你需要部署luna,koko,
如果你看到了" "這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" -#: jumpserver/views/other.py:78 +#: jumpserver/views/other.py:79 +#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "Websocket 服務運行在埠: {}, 請檢查nginx是否代理是否設置" -#: jumpserver/views/other.py:92 +#: jumpserver/views/other.py:93 msgid "" "
Koko is a separately deployed program, you need to deploy Koko, " "configure nginx for url distribution,
If you see this page, " @@ -5996,11 +6061,11 @@ msgstr "資源 ID" msgid "Tagged resource" msgstr "相關的資源" -#: labels/serializers.py:28 +#: labels/serializers.py:29 msgid "Cannot contain \":,\"" msgstr "不能包含\":,\"" -#: labels/serializers.py:43 +#: labels/serializers.py:54 msgid "Resource type" msgstr "資源類型" @@ -6025,6 +6090,7 @@ msgid "User message" msgstr "用戶消息" #: notifications/models/notification.py:21 +#, python-brace-format msgid "{} subscription" msgstr "{} 訂閱" @@ -6061,14 +6127,17 @@ msgid "Waiting task start" msgstr "等待任務開始" #: ops/api/celery.py:269 +#, python-brace-format msgid "Task {} not found" msgstr "任務 {} 不存在" #: ops/api/celery.py:276 +#, python-brace-format msgid "Task {} args or kwargs error" msgstr "任務 {} 執行參數錯誤" #: ops/api/job.py:66 +#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "登入資產 {}({}) 被拒絕,由登入資產規則 ACL ({}) 限制" @@ -6344,6 +6413,7 @@ msgid "Celery Task Execution" msgstr "Celery 任務執行" #: ops/models/job.py:82 +#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "模組 {} 不適用於此資產" @@ -6617,6 +6687,7 @@ msgid "Name of the job" msgstr "Job 名稱" #: orgs/api.py:62 +#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "當前組織 ({}) 不能被刪除" @@ -6627,6 +6698,7 @@ msgid "" msgstr "LDAP 同步設定組織為當前組織,請切換其他組織後再進行刪除操作" #: orgs/api.py:77 +#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "組織存在資源 ({}) 不能被刪除" @@ -6801,6 +6873,7 @@ msgid "Asset permissions is about to expire" msgstr "資產授權規則將要過期" #: perms/notifications.py:64 +#, python-brace-format msgid "asset permissions of organization {}" msgstr "組織 ({}) 的資產授權" @@ -6880,6 +6953,7 @@ msgid "Internal role, can't be update" msgstr "內部角色,不能更新" #: rbac/api/rolebinding.py:47 +#, python-brace-format msgid "{} at least one system role" msgstr "{} 至少有一個系統角色" @@ -7240,6 +7314,7 @@ msgid "Test success" msgstr "測試成功" #: settings/api/email.py:22 +#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "郵件已經發送{}, 請檢查" @@ -8190,7 +8265,7 @@ msgstr "租戶 ID" #: settings/serializers/feature.py:112 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:128 xpack/plugins/cloud/manager.py:132 -#: xpack/plugins/cloud/models.py:295 +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:295 msgid "Region" msgstr "地域" @@ -8879,19 +8954,23 @@ msgid "ldap:// or ldaps:// protocol is used." msgstr "使用 ldap:// 或 ldaps:// 協議" #: settings/utils/ldap.py:543 +#, python-brace-format msgid "Host or port is disconnected: {}" msgstr "主機或埠不可連接: {}" #: settings/utils/ldap.py:545 +#, python-brace-format msgid "The port is not the port of the LDAP service: {}" msgstr "埠不是LDAP服務埠: {}" #: settings/utils/ldap.py:547 +#, python-brace-format msgid "Please add certificate: {}" msgstr "請添加證書: {}" #: settings/utils/ldap.py:551 settings/utils/ldap.py:578 #: settings/utils/ldap.py:608 settings/utils/ldap.py:636 +#, python-brace-format msgid "Unknown error: {}" msgstr "未知錯誤: {}" @@ -8900,22 +8979,27 @@ msgid "Bind DN or Password incorrect" msgstr "綁定DN或密碼錯誤" #: settings/utils/ldap.py:572 +#, python-brace-format msgid "Please enter Bind DN: {}" msgstr "請輸入綁定DN: {}" #: settings/utils/ldap.py:574 +#, python-brace-format msgid "Please enter Password: {}" msgstr "請輸入密碼: {}" #: settings/utils/ldap.py:576 +#, python-brace-format msgid "Please enter correct Bind DN and Password: {}" msgstr "請輸入正確的綁定DN和密碼: {}" #: settings/utils/ldap.py:594 +#, python-brace-format msgid "Invalid User OU or User search filter: {}" msgstr "不合法的用戶OU或用戶過濾器: {}" #: settings/utils/ldap.py:625 +#, python-brace-format msgid "LDAP User attr map not include: {}" msgstr "LDAP屬性映射沒有包含: {}" @@ -8928,46 +9012,57 @@ msgid "LDAP authentication is not enabled" msgstr "LDAP認證沒有啟用" #: settings/utils/ldap.py:669 +#, python-brace-format msgid "Error (Invalid LDAP server): {}" msgstr "錯誤 (不合法的LDAP伺服器地址): {}" #: settings/utils/ldap.py:671 +#, python-brace-format msgid "Error (Invalid Bind DN): {}" msgstr "錯誤 (不合法的綁定DN): {}" #: settings/utils/ldap.py:673 +#, python-brace-format msgid "Error (Invalid LDAP User attr map): {}" msgstr "錯誤 (不合法的LDAP屬性映射): {}" #: settings/utils/ldap.py:675 +#, python-brace-format msgid "Error (Invalid User OU or User search filter): {}" msgstr "錯誤 (不合法的用戶OU或用戶過濾器): {}" #: settings/utils/ldap.py:677 +#, python-brace-format msgid "Error (Not enabled LDAP authentication): {}" msgstr "錯誤 (沒有啟用LDAP認證): {}" #: settings/utils/ldap.py:679 +#, python-brace-format msgid "Error (Unknown): {}" msgstr "錯誤 (未知): {}" #: settings/utils/ldap.py:682 +#, python-brace-format msgid "Succeed: Match {} users" msgstr "成功配對 {} 個用戶" #: settings/utils/ldap.py:712 +#, python-brace-format msgid "Authentication failed (configuration incorrect): {}" msgstr "認證失敗 (配置錯誤): {}" #: settings/utils/ldap.py:716 +#, python-brace-format msgid "Authentication failed (username or password incorrect): {}" msgstr "認證失敗 (使用者名稱或密碼不正確): {}" #: settings/utils/ldap.py:718 +#, python-brace-format msgid "Authentication failed (Unknown): {}" msgstr "認證失敗: (未知): {}" #: settings/utils/ldap.py:721 +#, python-brace-format msgid "Authentication success: {}" msgstr "認證成功: {}" @@ -8976,10 +9071,12 @@ msgid "No LDAP user was found" msgstr "沒有取得到 LDAP 用戶" #: settings/ws.py:237 +#, python-brace-format msgid "Total {}, success {}, failure {}" msgstr "總共 {},成功 {},失敗 {}" #: settings/ws.py:241 +#, python-brace-format msgid ", disabled {}" msgstr ",禁用 {}" @@ -9136,6 +9233,10 @@ msgstr "客戶端,目前用來喚起特定客戶端程式連接資產" msgid "More download" msgstr "更多下載" +#: templates/resource_download.html:34 +msgid "Tools and applications" +msgstr "工具與應用程式" + #: terminal/api/applet/applet.py:55 terminal/api/virtualapp/virtualapp.py:43 msgid "Invalid zip file" msgstr "無效的 zip 文件" @@ -9145,6 +9246,7 @@ msgid "This is enterprise edition applet" msgstr "企業版遠程應用,在社區版中不能使用" #: terminal/api/applet/applet.py:91 +#, python-brace-format msgid "Applet not found in path: {}" msgstr "在路徑中未找到遠程應用: {}" @@ -9157,6 +9259,7 @@ msgid "Deleting the default storage is not allowed" msgstr "不允許刪除默認儲存配置" #: terminal/api/component/storage.py:36 +#, python-brace-format msgid "Cannot delete storage that is being used: {}" msgstr "無法刪除正在使用的儲存: {}" @@ -9168,15 +9271,33 @@ msgstr "命令儲存" msgid "Invalid" msgstr "無效" -#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +#: terminal/api/component/storage.py:128 +msgid "Connection refused" +msgstr "連線被拒絕" + +#: terminal/api/component/storage.py:129 +msgid "Connection timeout" +msgstr "連線逾時" + +#: terminal/api/component/storage.py:130 +msgid "Unable to resolve the address" +msgstr "無法解析位址" + +#: terminal/api/component/storage.py:131 +msgid "Unable to connect to the host" +msgstr "無法連線到主機" + +#: terminal/api/component/storage.py:139 terminal/api/component/storage.py:140 +#: terminal/tasks.py:208 +#, python-brace-format msgid "Test failure: {}" msgstr "測試失敗: {}" -#: terminal/api/component/storage.py:135 +#: terminal/api/component/storage.py:151 msgid "Test successful" msgstr "測試成功" -#: terminal/api/component/storage.py:137 +#: terminal/api/component/storage.py:153 msgid "Test failure: Please check configuration" msgstr "測試失敗:請檢查配置" @@ -9195,6 +9316,7 @@ msgid "Session replay" msgstr "會話錄影" #: terminal/api/session/session.py:339 +#, python-brace-format msgid "Session does not exist: {}" msgstr "會話不存在: {}" @@ -9202,7 +9324,7 @@ msgstr "會話不存在: {}" msgid "Session is finished or the protocol not supported" msgstr "會話已經完成或協議不支持" -#: terminal/api/session/session.py:355 +#: terminal/api/session/session.py:355 tickets/api/ticket.py:142 msgid "User does not have permission" msgstr "用戶沒有權限" @@ -9367,10 +9489,12 @@ msgstr "主機" #: terminal/models/applet/applet.py:102 #: terminal/models/virtualapp/virtualapp.py:66 +#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 無效,缺少文件 {}" #: terminal/models/applet/applet.py:121 +#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "載入 platform.yml 失敗: {}" @@ -9793,9 +9917,9 @@ msgid "" "remote-desktop-services/rds-client-access-license\" " "target=\"_blank\">Detail" msgstr "" -"如果不存在,RDS將處於試用模式,試用期為 120 天。詳情" +"如果不存在,RDS將處於試用模式,試用期為 120 天。詳情" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9966,6 +10090,7 @@ msgid "No asset or invalid asset" msgstr "沒有資產或資產未激活" #: terminal/serializers/storage.py:23 +#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "端點無效: 移除路徑 `{}`" @@ -10014,8 +10139,8 @@ msgid "" "If there are multiple hosts, use a comma (,) to separate them.
(For " "example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" msgstr "" -"如果有多個主機,請用逗號 (,) 分隔它們。
(例如:http://www.jumpserver.a." -"com:9100,http://www.jumpserver.b.com:9100)" +"如果有多個主機,請用逗號 (,) 分隔它們。
(例如:http://" +"www.jumpserver.a.com:9100,http://www.jumpserver.b.com:9100)" #: terminal/serializers/storage.py:199 msgid "Index by date" @@ -10380,6 +10505,7 @@ msgid "Ticket already closed" msgstr "工單已經關閉" #: tickets/handlers/apply_asset.py:40 +#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10399,6 +10525,7 @@ msgid "After change" msgstr "變更後" #: tickets/handlers/base.py:96 +#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} 工單" @@ -10544,18 +10671,22 @@ msgid "Ticket applied info" msgstr "工單申請資訊" #: tickets/notifications.py:116 +#, python-brace-format msgid "You have a new ticket from {}" msgstr "你有一條來自 {} 的新工單" #: tickets/notifications.py:120 +#, python-brace-format msgid "{}: New Ticket - {} ({})" msgstr "{}: 新工單 - {} ({})" #: tickets/notifications.py:168 +#, python-brace-format msgid "Your ticket has been processed, processor - {}" msgstr "你的工單已被處理, 處理人 - {}" #: tickets/notifications.py:172 +#, python-brace-format msgid "Ticket has processed - {} ({})" msgstr "你的工單已被處理, 處理人 - {} ({})" @@ -10641,6 +10772,7 @@ msgstr "申請動作" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 +#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "通過工單創建 ({}-{})" @@ -10649,6 +10781,7 @@ msgid "The expiration date should be greater than the start date" msgstr "過期時間要大於開始時間" #: tickets/serializers/ticket/common.py:89 +#, python-brace-format msgid "Permission named `{}` already exists" msgstr "授權名稱 `{}` 已存在" @@ -10657,6 +10790,7 @@ msgid "Process map" msgstr "流程圖" #: tickets/serializers/ticket/ticket.py:91 +#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "工單流程 `{}` 不存在" @@ -10715,6 +10849,7 @@ msgid "Can not invite self" msgstr "不能邀請自己" #: users/api/user.py:180 +#, python-brace-format msgid "" "This user {} is already a member of the organization. No need to invite again" msgstr "" @@ -11141,6 +11276,7 @@ msgid "Password does not match security rules" msgstr "密碼不滿足安全規則" #: users/serializers/profile.py:33 +#, python-brace-format msgid "The new password cannot be the last {} passwords" msgstr "新密碼不能是最近 {} 次的密碼" @@ -11581,6 +11717,7 @@ msgid "Password invalid" msgstr "使用者名稱或密碼無效" #: users/views/profile/reset.py:66 +#, python-brace-format msgid "" "Non-local users can log in only from third-party platforms and cannot change " "their passwords: {}" @@ -11591,6 +11728,7 @@ msgid "Token invalid or expired" msgstr "令牌錯誤或失效" #: users/views/profile/reset.py:204 +#, python-brace-format msgid "User auth from {}, go there change password" msgstr "用戶認證源來自 {}, 請去相應系統修改密碼" @@ -11599,6 +11737,7 @@ msgid "* Your password does not meet the requirements" msgstr "* 您的密碼不符合要求" #: users/views/profile/reset.py:217 +#, python-brace-format msgid "* The new password cannot be the last {} passwords" msgstr "* 新密碼不能是最近 {} 次的密碼" @@ -11623,10 +11762,12 @@ msgid "Test connection successful" msgstr "測試成功" #: xpack/plugins/cloud/api.py:75 +#, python-brace-format msgid "Test connection failed: {}" msgstr "測試連接失敗:{}" #: xpack/plugins/cloud/api.py:203 +#, python-brace-format msgid "User {} deleted the current resource and released the assets" msgstr "" "User {} deleted the assets that have been released by the current resource" @@ -11826,6 +11967,10 @@ msgid "Get instances of region \"%s\" error, error: %s" msgstr "" "An error occurred while getting the instances of Region \"%s\", Error: %s" +#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:292 +msgid "Instance" +msgstr "實例" + #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11970,10 +12115,6 @@ msgstr "同步任務" msgid "Sync instance task history" msgstr "同步實例任務歷史" -#: xpack/plugins/cloud/models.py:292 -msgid "Instance" -msgstr "實例" - #: xpack/plugins/cloud/models.py:309 msgid "Sync instance detail" msgstr "同步實例詳情" @@ -12294,6 +12435,10 @@ msgstr "API 端點" msgid "Auto node classification" msgstr "自動節點分類" +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "domain_name" +msgstr "域名" + #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "認證地址" @@ -12327,6 +12472,7 @@ msgid "The file is in JSON format" msgstr "JSON 格式的文件" #: xpack/plugins/cloud/serializers/account_attrs.py:200 +#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "IP 地址無效: `{}`, {}" @@ -12482,32 +12628,17 @@ msgstr "安全管理員" msgid "JDMC" msgstr "" -#: xpack/plugins/license/api.py:55 +#: xpack/plugins/license/api.py:54 msgid "License import successfully" msgstr "許可證匯入成功" -#: xpack/plugins/license/api.py:56 +#: xpack/plugins/license/api.py:55 msgid "Invalid license" msgstr "許可證無效" -msgid "Connection refused" -msgstr "連線被拒絕" - -msgid "Connection timeout" -msgstr "連線逾時" - -msgid "Unable to resolve the address" -msgstr "無法解析位址" - -msgid "Unable to connect to the host" -msgstr "無法連線到主機" - #~ msgid "Offline video player" #~ msgstr "離線錄影播放器" -#~ msgid "domain_name" -#~ msgstr "域名" - #~ msgid "Certificate Auth" #~ msgstr "憑證" diff --git a/apps/templates/resource_download.html b/apps/templates/resource_download.html index f0ea3d04b..647cd315d 100644 --- a/apps/templates/resource_download.html +++ b/apps/templates/resource_download.html @@ -31,7 +31,7 @@ p { {% endif %}