diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 974afd266..b72fb308a 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,23 +18,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "" #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "" @@ -117,12 +116,10 @@ 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" @@ -145,7 +142,7 @@ msgstr "" #: authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -154,8 +151,6 @@ 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 "" @@ -535,7 +530,7 @@ msgstr "" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -625,7 +620,7 @@ msgstr "" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -905,8 +900,6 @@ 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 "" @@ -1021,7 +1014,7 @@ msgid "Verify asset account" msgstr "" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1103,14 +1096,12 @@ 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 " @@ -1122,14 +1113,12 @@ 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 " @@ -1181,7 +1170,6 @@ msgid "Change password and Add" msgstr "" #: accounts/risk_handlers.py:127 -#, python-brace-format msgid "Execution failed: {}" msgstr "" @@ -1278,15 +1266,15 @@ msgstr "" msgid "Spec info" msgstr "" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 @@ -1310,7 +1298,7 @@ msgstr "" msgid "User" msgstr "" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1854,7 +1842,7 @@ msgstr "" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1899,7 +1887,6 @@ msgid "Command group" msgstr "" #: acls/models/command_acl.py:86 -#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "" @@ -2048,23 +2035,19 @@ msgid "Recipients" msgstr "" #: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79 -#, python-brace-format msgid "The organization `{}` does not exist" msgstr "" #: acls/serializers/base.py:132 -#, 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 "" @@ -2150,7 +2133,6 @@ 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 "" @@ -2171,12 +2153,10 @@ msgid "App Assets" msgstr "Assets" #: assets/automations/base/manager.py:139 -#, python-brace-format msgid "Task: {} finished" msgstr "" #: assets/automations/base/manager.py:340 -#, python-brace-format msgid " - Platform {} ansible disabled" msgstr "" @@ -2208,7 +2188,6 @@ msgid "No account" msgstr "" #: assets/automations/ping_gateway/manager.py:36 -#, python-brace-format msgid "Asset, {}, using account {}" msgstr "" @@ -2322,8 +2301,7 @@ msgstr "Cloud" msgid "Web" msgstr "" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "" @@ -3035,11 +3013,10 @@ msgid "port out of range (0-65535)" msgstr "" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "" @@ -3356,17 +3333,14 @@ 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 "" @@ -3780,40 +3754,39 @@ msgstr "" msgid "This action require verify your MFA" msgstr "" -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "" -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "" -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "" -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "" -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "" -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "" -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "" -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "" @@ -3823,13 +3796,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "" @@ -3838,7 +3809,6 @@ msgid "No user matched" msgstr "" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -3854,7 +3824,6 @@ msgid "Forgot password" msgstr "" #: authentication/api/password.py:70 authentication/mfa/email.py:42 -#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "" @@ -3926,7 +3895,6 @@ msgid "Authentication failed password incorrect" msgstr "" #: authentication/confirm/relogin.py:11 -#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "" @@ -4013,14 +3981,12 @@ 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)" @@ -4052,7 +4018,6 @@ msgid "Wait login confirm ticket for accept" msgstr "" #: authentication/errors/const.py:67 -#, python-brace-format msgid "Login confirm ticket was {}" msgstr "" @@ -4234,7 +4199,6 @@ msgid "Clear phone number to disable" msgstr "" #: authentication/middleware.py:96 settings/utils/ldap.py:714 -#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "" @@ -4250,7 +4214,6 @@ msgid "User is invalid" msgstr "" #: authentication/mixins.py:195 -#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4258,7 +4221,6 @@ msgid "" msgstr "" #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "" @@ -4327,7 +4289,6 @@ msgid "Connection token inactive" msgstr "" #: authentication/models/connection_token.py:174 -#, python-brace-format msgid "Connection token expired at: {}" msgstr "" @@ -4464,7 +4425,6 @@ msgstr "Organization" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 -#, python-brace-format msgid "The {} cannot be empty" msgstr "" @@ -4837,7 +4797,6 @@ msgid "Redirecting" msgstr "" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "" @@ -4846,12 +4805,10 @@ 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" @@ -5043,7 +5000,6 @@ msgid "Updated by" msgstr "" #: common/db/validators.py:9 -#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "" @@ -5056,12 +5012,10 @@ 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 "" @@ -5074,7 +5028,6 @@ msgid "Yes/No" msgstr "" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "" @@ -5083,24 +5036,20 @@ msgid "Long text, no length limit" msgstr "" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "" @@ -5137,7 +5086,6 @@ msgid "Objects, format [\"id\", ...]" msgstr "" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -5223,7 +5171,6 @@ 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 "" @@ -5236,10 +5183,6 @@ 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 "" @@ -5261,7 +5204,6 @@ msgid "Custom type (File)" msgstr "Custom (File)" #: common/sdk/sms/endpoint.py:32 -#, python-brace-format msgid "SMS provider not support: {}" msgstr "" @@ -5278,7 +5220,6 @@ msgid "The verification code is incorrect" msgstr "" #: common/sdk/sms/exceptions.py:18 -#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "" @@ -5286,6 +5227,10 @@ msgstr "" msgid "Children" msgstr "" +#: common/serializers/common.py:98 +msgid "File" +msgstr "" + #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "" @@ -5307,11 +5252,10 @@ msgstr "" #: common/serializers/fields.py:353 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 -#, python-brace-format msgid "Invalid choice: {}" msgstr "" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "" @@ -5407,10 +5351,6 @@ msgstr "" msgid "JumpServer - An open-source PAM" msgstr "JumpServer" -#: jumpserver/context_processor.py:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "" @@ -5423,7 +5363,6 @@ msgid "" msgstr "" #: jumpserver/views/other.py:78 -#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" @@ -5479,7 +5418,6 @@ msgid "User message" msgstr "" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "" @@ -5516,17 +5454,14 @@ 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:65 -#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" @@ -5809,7 +5744,6 @@ msgid "Celery Task Execution" msgstr "" #: ops/models/job.py:82 -#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "" @@ -6080,7 +6014,6 @@ msgid "Name of the job" msgstr "" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "" @@ -6091,7 +6024,6 @@ msgid "" msgstr "" #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "" @@ -6248,7 +6180,7 @@ msgid "today" msgstr "" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "" @@ -6265,7 +6197,6 @@ msgid "Asset permissions is about to expire" msgstr "" #: perms/notifications.py:64 -#, python-brace-format msgid "asset permissions of organization {}" msgstr "" @@ -6333,7 +6264,6 @@ msgid "Internal role, can't be update" msgstr "" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "" @@ -6507,7 +6437,7 @@ msgstr "" msgid "App ops" msgstr "Ops" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "" @@ -6550,8 +6480,8 @@ msgstr "Organizations" msgid "Ticket comment" msgstr "" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "" @@ -6627,14 +6557,13 @@ msgstr "" msgid "Chat AI is not enabled" msgstr "" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "" #: settings/api/email.py:22 -#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "" @@ -7462,7 +7391,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "" @@ -7511,53 +7440,69 @@ msgstr "" msgid "DeepSeek Model" msgstr "" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -7565,11 +7510,11 @@ msgstr "" msgid "Virtual app" msgstr "" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -8101,23 +8046,19 @@ 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 "" @@ -8126,27 +8067,22 @@ 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 "" @@ -8159,57 +8095,46 @@ 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 "" @@ -8218,12 +8143,10 @@ 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 "" @@ -8419,7 +8342,6 @@ msgid "This is enterprise edition applet" msgstr "" #: terminal/api/applet/applet.py:91 -#, python-brace-format msgid "Applet not found in path: {}" msgstr "" @@ -8432,7 +8354,6 @@ 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 "" @@ -8445,7 +8366,6 @@ msgid "Invalid" msgstr "" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "" @@ -8472,7 +8392,6 @@ msgid "Session replay" msgstr "" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "" @@ -8480,7 +8399,7 @@ msgstr "" msgid "Session is finished or the protocol not supported" msgstr "" -#: terminal/api/session/session.py:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "" @@ -8645,12 +8564,10 @@ msgstr "" #: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 -#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "" #: terminal/models/applet/applet.py:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "" @@ -9177,7 +9094,6 @@ msgid "No asset or invalid asset" msgstr "" #: terminal/serializers/storage.py:23 -#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "" @@ -9556,7 +9472,6 @@ msgid "Ticket already closed" msgstr "" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -9575,7 +9490,6 @@ msgid "After change" msgstr "" #: tickets/handlers/base.py:96 -#, python-brace-format msgid "{} {} the ticket" msgstr "" @@ -9715,22 +9629,18 @@ msgid "Ticket applied info" msgstr "" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" 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 "" @@ -9760,7 +9670,6 @@ msgstr "" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 -#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "" @@ -9769,7 +9678,6 @@ 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 "" @@ -9778,7 +9686,6 @@ msgid "Process map" msgstr "" #: tickets/serializers/ticket/ticket.py:91 -#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "" @@ -10233,7 +10140,6 @@ 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 "" @@ -10656,7 +10562,6 @@ 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: {}" @@ -10667,7 +10572,6 @@ msgid "Token invalid or expired" msgstr "" #: users/views/profile/reset.py:204 -#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" @@ -10676,7 +10580,6 @@ 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 "" @@ -10699,12 +10602,10 @@ 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 "" @@ -10902,10 +10803,6 @@ msgstr "" msgid "Get instances of region \"%s\" error, error: %s" msgstr "" -#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:290 -msgid "Instance" -msgstr "" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11048,6 +10945,10 @@ msgstr "" msgid "Sync instance task history" msgstr "" +#: xpack/plugins/cloud/models.py:290 +msgid "Instance" +msgstr "" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "" @@ -11368,10 +11269,6 @@ 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 "" @@ -11405,7 +11302,6 @@ msgid "The file is in JSON format" msgstr "" #: xpack/plugins/cloud/serializers/account_attrs.py:200 -#, python-brace-format msgid "IP address invalid `{}`, {}" msgstr "" diff --git a/apps/i18n/core/es/LC_MESSAGES/django.po b/apps/i18n/core/es/LC_MESSAGES/django.po index 33070e97e..2218d044e 100644 --- a/apps/i18n/core/es/LC_MESSAGES/django.po +++ b/apps/i18n/core/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,23 +18,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "La cuenta ya existe" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "No se encontraron activos válidos disponibles para crear una cuenta." #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "Cuenta no encontrada" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "El parámetro 'action' debe ser [{}]" @@ -104,11 +103,9 @@ msgstr "" "Éxito: %s, Fallo: %s, Total: %s \n" "--- \n" "Resumen: \n" -"Normal: {}, Contraseñas débiles: {}, Contraseñas filtradas: {}, Contraseñas " -"duplicadas: {}, Sin contraseña: {}, Tiempo consumido: {} segundos. \n" +"Normal: {}, Contraseñas débiles: {}, Contraseñas filtradas: {}, Contraseñas duplicadas: {}, Sin contraseña: {}, Tiempo consumido: {} segundos. \n" "{} no puede estar vacío. \n" -">>>> Comienza la tarea de probar la conectividad de la cuenta del portal de " -"pruebas. \n" +">>>> Comienza la tarea de probar la conectividad de la cuenta del portal de pruebas. \n" "Contraseña \n" "Clave SSH \n" "Clave de acceso \n" @@ -138,23 +135,18 @@ 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" -"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " -"secret: {}, using time: {}s" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no secret: {}, using time: {}s" msgstr "" "---\n" "Resumen: \n" -"Normales: {}, Contraseñas débiles: {}, Contraseñas filtradas: {}, " -"Contraseñas duplicadas: {}, Sin contraseña: {}, Tiempo transcurrido: {} " -"segundos" +"Normales: {}, Contraseñas débiles: {}, Contraseñas filtradas: {}, Contraseñas duplicadas: {}, Sin contraseña: {}, Tiempo transcurrido: {} segundos" #: accounts/automations/push_account/manager.py:33 msgid "Secret cannot be empty" @@ -170,12 +162,12 @@ msgstr "" #: accounts/const/account.py:6 #: accounts/serializers/automations/change_secret.py:36 -#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 -#: authentication/confirm/password.py:27 authentication/const.py:13 -#: authentication/forms.py:28 +#: audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:25 authentication/confirm/password.py:27 +#: authentication/const.py:13 authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -184,8 +176,6 @@ 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" @@ -243,7 +233,8 @@ msgstr "Descubrir" msgid "Template" msgstr "Plantilla" -#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:76 +#: accounts/const/account.py:32 ops/const.py:47 +#: xpack/plugins/cloud/const.py:76 msgid "Skip" msgstr "Omitir" @@ -477,8 +468,8 @@ msgid "" "Vault operation failed. Please retry or check your account information on " "Vault." msgstr "" -"La operación de Vault ha fallado, por favor inténtalo de nuevo o verifica la " -"información de la cuenta en Vault." +"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/automations/check_account.py:59 @@ -567,7 +558,7 @@ msgstr "Estado de cambio de contraseña" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -635,9 +626,11 @@ msgstr "Actividad de cuenta" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:39 settings/models.py:188 #: settings/serializers/msg.py:90 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 #: terminal/models/component/endpoint.py:107 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:86 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -647,7 +640,8 @@ msgstr "Actividad de cuenta" #: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:279 xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/serializers/task.py:77 msgid "Name" msgstr "Nombre" @@ -657,7 +651,7 @@ msgstr "Ícono" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -681,16 +675,19 @@ msgstr "Grupo IP" #: accounts/models/application.py:23 #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:25 -#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "Fecha de último uso" #: accounts/models/application.py:24 acls/models/base.py:43 #: assets/models/asset/common.py:182 authentication/models/access_key.py:24 #: authentication/models/connection_token.py:60 -#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23 +#: authentication/models/ssh_key.py:13 +#: authentication/serializers/ssh_key.py:23 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:30 #: terminal/models/component/endpoint.py:118 #: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 #: tickets/const.py:37 @@ -924,8 +921,8 @@ msgstr "Contraseña duplicada" #: accounts/templates/accounts/gather_account_report.html:118 #: accounts/templates/accounts/push_account_report.html:79 #: accounts/templates/accounts/push_account_report.html:119 -#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204 -#: authentication/forms.py:21 authentication/forms.py:23 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 +#: audits/models.py:204 authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:10 #: authentication/serializers/connect_token_secret.py:43 #: authentication/serializers/connect_token_secret.py:53 @@ -937,8 +934,6 @@ 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" @@ -986,8 +981,8 @@ msgid "" "Perform checks and analyses based on the security of account passwords, " "including password strength, leakage, etc." msgstr "" -"Análisis de seguridad de la contraseña, que incluye la fortaleza de la misma " -"y posibles filtraciones." +"Análisis de seguridad de la contraseña, que incluye la fortaleza de la misma" +" y posibles filtraciones." #: accounts/models/automations/check_account.py:151 msgid "Check if the account and password are repeated" @@ -1004,7 +999,8 @@ msgstr "Verifique si la contraseña es una contraseña común" #: accounts/models/automations/check_account.py:158 msgid "Check whether the account password is a commonly leaked password." msgstr "" -"Verifique si la contraseña es una contraseña que ha sido comúnmente filtrada." +"Verifique si la contraseña es una contraseña que ha sido comúnmente " +"filtrada." #: accounts/models/automations/gather_account.py:19 msgid "Address login" @@ -1059,7 +1055,7 @@ msgid "Verify asset account" msgstr "Verificación de cuentas" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1125,14 +1121,14 @@ msgstr "el nombre de usuario es el mismo que el del usuario" #: accounts/models/virtual.py:37 msgid "Non-asset account, Input username/password on connect" msgstr "" -"conectar la cuenta introduciendo manualmente el nombre de usuario/contraseña " -"al iniciar sesión" +"conectar la cuenta introduciendo manualmente el nombre de usuario/contraseña" +" al iniciar sesión" #: accounts/models/virtual.py:38 msgid "The account username name same with user on connect" msgstr "" -"al iniciar sesión en activos, la cuenta de nombre de usuario es la misma que " -"la del usuario" +"al iniciar sesión en activos, la cuenta de nombre de usuario es la misma que" +" la del usuario" #: accounts/models/virtual.py:39 msgid "" @@ -1147,7 +1143,6 @@ 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" @@ -1156,22 +1151,20 @@ 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 " "encryption password for preference settings" msgstr "" "{} - la tarea de respaldo de cuenta ha finalizado: no se ha establecido " -"contraseña de cifrado - por favor ve a información personal -> configuración " -"de preferencias para establecer la contraseña de cifrado de archivos" +"contraseña de cifrado - por favor ve a información personal -> configuración" +" de preferencias para establecer la contraseña de cifrado de archivos" #: accounts/notifications.py:58 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" @@ -1180,15 +1173,14 @@ 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 " "password in preferences" msgstr "" "{} - la tarea de cambio de contraseña ha finalizado: no se ha establecido " -"contraseña de cifrado - por favor ve a información personal -> configuración " -"de preferencias para establecer la contraseña de cifrado" +"contraseña de cifrado - por favor ve a información personal -> configuración" +" de preferencias para establecer la contraseña de cifrado" #: accounts/notifications.py:86 msgid "Gather account change information" @@ -1236,7 +1228,6 @@ 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: {}" @@ -1270,9 +1261,9 @@ msgstr "Categoría" #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/serializers.py:76 audits/serializers.py:211 #: authentication/models/connection_token.py:67 -#: authentication/serializers/connect_token_secret.py:138 ops/models/job.py:155 -#: perms/serializers/user_permission.py:28 terminal/models/applet/applet.py:40 -#: terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:138 +#: ops/models/job.py:155 perms/serializers/user_permission.py:28 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:152 terminal/serializers/applet.py:30 #: terminal/serializers/session.py:33 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -1333,21 +1324,22 @@ msgstr "Seleccionar al menos un activo o nodo" msgid "Spec info" msgstr "Información especial" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 -#: audits/models.py:97 audits/models.py:179 audits/models.py:296 -#: audits/serializers.py:212 authentication/models/connection_token.py:38 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:55 audits/models.py:97 audits/models.py:179 +#: audits/models.py:296 audits/serializers.py:212 +#: authentication/models/connection_token.py:38 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: authentication/notifications.py:16 authentication/notifications.py:55 #: notifications/models/notification.py:12 @@ -1365,7 +1357,7 @@ msgstr "ID" msgid "User" msgstr "Usuario" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1380,8 +1372,8 @@ msgid "" "* If no username is required for authentication, enter null. For AD " "accounts, use the format username@domain." msgstr "" -"Sugerencia: Si no se requiere nombre de usuario para la autenticación, puede " -"dejarse como null; si es una cuenta AD, el formato es username@domain" +"Sugerencia: Si no se requiere nombre de usuario para la autenticación, puede" +" dejarse como null; si es una cuenta AD, el formato es username@domain" #: accounts/serializers/account/service.py:15 #: authentication/serializers/token.py:23 @@ -1390,11 +1382,11 @@ msgstr "Lista blanca de IP" #: accounts/serializers/account/service.py:28 #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 -#: ops/models/job.py:165 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:44 terminal/models/applet/applet.py:46 -#: terminal/models/applet/applet.py:383 terminal/models/applet/host.py:143 -#: terminal/models/component/endpoint.py:29 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:165 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:44 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:383 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:29 #: terminal/models/component/endpoint.py:117 #: terminal/models/session/session.py:44 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1440,23 +1432,20 @@ msgid "" "length is the length of the password, and the range is 8 to 30.\n" "lowercase indicates whether the password contains lowercase letters, \n" "uppercase indicates whether it contains uppercase letters,\n" -"digit indicates whether it contains numbers, and symbol indicates whether it " -"contains special symbols.\n" -"exclude_symbols is used to exclude specific symbols. You can fill in the " -"symbol characters to be excluded (up to 16). \n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" "If you do not need to exclude symbols, you can leave it blank.\n" -"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" msgstr "" -"La longitud se refiere a la extensión de la contraseña, que debe estar entre " -"8 y 30. lowercase indica si la contraseña incluye letras minúsculas, " +"La longitud se refiere a la extensión de la contraseña, que debe estar entre" +" 8 y 30. lowercase indica si la contraseña incluye letras minúsculas, " "uppercase indica si contiene letras mayúsculas, digit señala si incluye " "números, y symbol indica la presencia de caracteres especiales. " -"exclude_symbols se utiliza para excluir símbolos específicos; puedes indicar " -"hasta 16 caracteres a excluir. Si no es necesario excluir ningún símbolo, " -"puedes dejarlo en blanco. Por defecto: {\"length\": 16, \"lowercase\": true, " -"\"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": " -"\"\"}" +"exclude_symbols se utiliza para excluir símbolos específicos; puedes indicar" +" hasta 16 caracteres a excluir. Si no es necesario excluir ningún símbolo, " +"puedes dejarlo en blanco. Por defecto: {\"length\": 16, \"lowercase\": true," +" \"uppercase\": true, \"digit\": true, \"symbol\": true, " +"\"exclude_symbols\": \"\"}" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" @@ -1482,10 +1471,10 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"Actualmente sólo se admite el inicio de sesión con AD/LDAP. Orden de validez " -"de las contraseñas para cuentas con el mismo nombre: contraseña de cuenta " -"existente en activos > contraseña de inicio de sesión > entrada manual
" -"Por motivos de seguridad, se recomienda establecer la opción de " +"Actualmente sólo se admite el inicio de sesión con AD/LDAP. Orden de validez" +" de las contraseñas para cuentas con el mismo nombre: contraseña de cuenta " +"existente en activos > contraseña de inicio de sesión > entrada manual
" +" Por motivos de seguridad, se recomienda establecer la opción de " "configuración CACHE_LOGIN_PASSWORD_ENABLED=true; es necesario reiniciar el " "servicio para activarla" @@ -1590,12 +1579,9 @@ msgstr "Ejecución automatizada de cuentas" #: accounts/tasks/automation.py:36 msgid "" -"Unified execution entry for account automation tasks: when the system " -"performs tasks \n" -" such as account push, password change, account verification, account " -"collection, \n" -" and gateway account verification, all tasks are executed through " -"this unified entry" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" msgstr "" "Punto de entrada único para tareas automatizadas de cuentas, cuando el " "sistema ejecute el envío de cuentas, cambio de contraseña, verificación de " @@ -1615,29 +1601,22 @@ msgstr "" #: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "" -"Limpiar periódicamente los registros de cambio de contraseña y los registros " -"de notificación" +"Limpiar periódicamente los registros de cambio de contraseña y los registros" +" de notificación" #: accounts/tasks/automation.py:118 msgid "" -"The system will periodically clean up unnecessary password change and push " -"records, \n" -" including their associated change tasks, execution logs, assets, and " -"accounts. When any \n" -" of these associated items are deleted, the corresponding password " -"change and push records \n" -" become invalid. Therefore, to maintain a clean and efficient " -"database, the system will \n" -" clean up expired records at 2 a.m daily, based on the interval " -"specified by \n" -" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " -"This periodic cleanup \n" -" mechanism helps free up storage space and enhances the security and " -"overall performance \n" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" " of data management" msgstr "" -"El sistema limpiará regularmente los registros de cambio de contraseña y los " -"registros de notificación que ya no se necesiten, incluyendo aquellos " +"El sistema limpiará regularmente los registros de cambio de contraseña y los" +" registros de notificación que ya no se necesiten, incluyendo aquellos " "relacionados con tareas de cambio de contraseña, registros de ejecución, " "activos y cuentas. Cuando se elimina cualquiera de estos elementos " "relacionados, los registros de cambio de contraseña y notificación " @@ -1676,8 +1655,7 @@ msgstr "" #: accounts/tasks/remove_account.py:28 msgid "" -"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " -"accounts' this \n" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" " task will be executed" msgstr "" "En la consola - recopilar cuentas - al hacer clic en sincronizar " @@ -1689,19 +1667,16 @@ msgstr "Limpiar cuentas históricas" #: accounts/tasks/remove_account.py:52 msgid "" -"Each time an asset account is updated, a historical account is generated, so " -"it is \n" -" necessary to clean up the asset account history. The system will " -"clean up excess account \n" -" records at 2 a.m. daily based on the configuration in the \"System " -"settings - Features - \n" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" " Account storage - Record limit" msgstr "" "Debido a que cada actualización de una cuenta de activo genera cuentas " "históricas, es necesario limpiar las cuentas históricas de activos. El " "sistema realizará la limpieza de los registros de cuentas que excedan los " -"límites establecidos en la configuración del almacenamiento de cuentas a las " -"2 de la mañana todos los días" +"límites establecidos en la configuración del almacenamiento de cuentas a las" +" 2 de la mañana todos los días" #: accounts/tasks/remove_account.py:89 msgid "Remove historical accounts that are out of range." @@ -1713,8 +1688,7 @@ msgstr "Sincronizar información con cuentas relacionadas" #: accounts/tasks/template.py:14 msgid "" -"When clicking 'Sync new secret to accounts' in 'Console - Account - " -"Templates - \n" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" " Accounts' this task will be executed" msgstr "" "Cuando se clickea en sincronizar al actualizar información de cuentas en la " @@ -1729,8 +1703,8 @@ msgid "" "When clicking 'Sync' in 'System Settings - Features - Account Storage' this " "task will be executed" msgstr "" -"Cando se clickea en sincronizar en la configuración del sistema - ajustes de " -"funciones - almacenamiento de cuentas, se ejecuta esta tarea" +"Cando se clickea en sincronizar en la configuración del sistema - ajustes de" +" funciones - almacenamiento de cuentas, se ejecuta esta tarea" #: accounts/tasks/verify_account.py:49 msgid "Verify asset account availability" @@ -1741,15 +1715,9 @@ msgid "" "When clicking 'Test' in 'Console - Asset details - Accounts' this task will " "be executed" msgstr "" -"Al hacer clic en \"Prueba de ejecución de la tarea\" en la consola - " -"Detalles del activo - Cuenta, puedes probar la conectividad de la cuenta, " -"eliminar la cuenta, establecer la fecha de inicio, la fecha de finalización, " -"el nombre de la tarea, el tiempo de ejecución, el número de tipos y el ID de " -"ejecución de la tarea. \n" +"Al hacer clic en \"Prueba de ejecución de la tarea\" en la consola - Detalles del activo - Cuenta, puedes probar la conectividad de la cuenta, eliminar la cuenta, establecer la fecha de inicio, la fecha de finalización, el nombre de la tarea, el tiempo de ejecución, el número de tipos y el ID de ejecución de la tarea. \n" "\n" -"Estimado/a, ¡Hola! A continuación se presentan las situaciones en las que la " -"modificación de clave o el envío de la cuenta del activo han fallado. Por " -"favor, verifica y gestiona esto a la brevedad. \n" +"Estimado/a, ¡Hola! A continuación se presentan las situaciones en las que la modificación de clave o el envío de la cuenta del activo han fallado. Por favor, verifica y gestiona esto a la brevedad. \n" "\n" "Número de activos \n" "Número de activos exitosos \n" @@ -1896,8 +1864,8 @@ msgstr "No se encontró la cuenta perdida" #: accounts/utils.py:55 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." msgstr "" "Si la contraseña comienza con `{{` y termina con `}}`, esa contraseña no " "está permitida." @@ -1960,7 +1928,8 @@ msgstr "" "prioridad)" #: acls/models/base.py:41 acls/serializers/base.py:57 -#: assets/models/cmd_filter.py:81 audits/models.py:99 audits/serializers.py:107 +#: assets/models/cmd_filter.py:81 audits/models.py:99 +#: audits/serializers.py:107 #: authentication/serializers/connect_token_secret.py:131 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:63 perms/serializers/permission.py:85 @@ -1984,7 +1953,7 @@ msgstr "Usuario" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -2029,10 +1998,8 @@ msgid "Command group" msgstr "Grupo de comandos" #: acls/models/command_acl.py:86 -#, fuzzy, python-brace-format -#| msgid "The generated regular expression is incorrect: {}" msgid "The generated regular expression is incorrect: {}" -msgstr "La expresión regular generada es incorrecta" +msgstr "La expresión regular generada es incorrecta: {}" #: acls/models/command_acl.py:103 #: terminal/templates/terminal/_msg_command_warning.html:22 @@ -2137,7 +2104,8 @@ msgstr "Nombre de ACL" #: acls/notifications.py:24 acls/notifications.py:77 #: acls/templates/acls/asset_login_reminder.html:13 #: acls/templates/acls/user_login_reminder.html:11 -#: terminal/models/session/session.py:34 terminal/models/session/sharing.py:116 +#: terminal/models/session/session.py:34 +#: terminal/models/session/sharing.py:116 #: terminal/templates/terminal/_msg_command_warning.html:16 msgid "Login from" msgstr "Fuente de inicio de sesión" @@ -2170,8 +2138,8 @@ msgid "" "support)" msgstr "" "* El asterisco indica que se coincide con todos. Por ejemplo: 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 " -"(soporta dominio)" +"192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64" +" (soporta dominio)" #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -2182,23 +2150,19 @@ msgid "Recipients" msgstr "Destinatario" #: acls/serializers/base.py:126 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:132 -#, 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: `{}`" @@ -2260,8 +2224,8 @@ msgid "" "the asset. If you did not authorize this login or if you notice any " "suspicious activity, please take the necessary actions immediately." msgstr "" -"Le solicitamos que revise esta actividad de inicio de sesión para garantizar " -"la seguridad y el uso correcto de los activos. Si no ha autorizado este " +"Le solicitamos que revise esta actividad de inicio de sesión para garantizar" +" la seguridad y el uso correcto de los activos. Si no ha autorizado este " "inicio de sesión o ha detectado alguna actividad sospechosa, por favor tome " "las medidas necesarias de inmediato." @@ -2295,7 +2259,6 @@ 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 ({})" @@ -2316,12 +2279,10 @@ 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:340 -#, python-brace-format msgid " - Platform {} ansible disabled" msgstr "" "- Plataforma {} Ansible está deshabilitada, no se pueden ejecutar tareas" @@ -2354,7 +2315,6 @@ 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 {}" @@ -2377,8 +2337,8 @@ msgstr "Conexión fallida" #: assets/automations/ping_gateway/manager.py:118 msgid ">>> Start executing the task to test gateway connectivity" msgstr "" -">>> Comenzando a ejecutar la tarea de conectividad de la puerta de enlace de " -"prueba" +">>> Comenzando a ejecutar la tarea de conectividad de la puerta de enlace de" +" prueba" #: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48 #: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42 @@ -2470,8 +2430,7 @@ msgstr "Servicio en la nube" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Tipo personalizado" @@ -2564,8 +2523,8 @@ msgid "" "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"Directorio raíz de SFTP, admite variables:
- ${ACCOUNT} nombre de usuario " -"de la cuenta conectada
- ${HOME} directorio principal de la cuenta " +"Directorio raíz de SFTP, admite variables:
- ${ACCOUNT} nombre de usuario" +" de la cuenta conectada
- ${HOME} directorio principal de la cuenta " "conectada
- ${USER} nombre de usuario del usuario" #: assets/const/protocol.py:81 @@ -2587,8 +2546,8 @@ msgstr "Seguro" #: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the " -"security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " @@ -2694,10 +2653,8 @@ msgstr "" "iniciar el modo de clúster y ejecute la cantidad correspondiente." #: assets/const/protocol.py:276 -#, fuzzy -#| msgid "Name strategy" msgid "Namespace" -msgstr "Estrategia de nombre de host" +msgstr "Espacio de nombres" #: assets/const/protocol.py:288 msgid "Safe mode" @@ -3178,8 +3135,8 @@ msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" msgstr "" -"Ruta del nodo, formato de [\"/organización/nombre del nodo\"], si el nodo no " -"existe, se creará" +"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 #: authentication/serializers/connect_token_secret.py:30 @@ -3211,11 +3168,10 @@ msgid "port out of range (0-65535)" msgstr "El puerto está fuera de rango (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "El acuerdo es obligatorio: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "Datos no válidos" @@ -3226,46 +3182,35 @@ msgstr "Base de datos predeterminada" #: assets/serializers/asset/database.py:23 msgid "CA cert help text" msgstr "" -"El campo Nombre Común (CN) ha sido descontinuado, por favor utiliza el campo " -"Nombre Alternativo de Sujeto (SAN) para la validación del nombre de dominio, " -"a fin de mejorar la seguridad." +"El campo Nombre Común (CN) ha sido descontinuado, por favor utiliza el campo" +" Nombre Alternativo de Sujeto (SAN) para la validación del nombre de " +"dominio, a fin de mejorar la seguridad." #: assets/serializers/asset/database.py:24 msgid "Postgresql ssl model help text" msgstr "" -"Preferir: No me importa la encriptación, pero si el servidor la soporta, " -"estoy dispuesto a aceptar el costo de la encriptación.\n" -"Requerir: Quiero que mis datos estén encriptados, acepto el costo. Confío en " -"que la red garantizará que siempre me conecte al servidor que deseo.\n" -"Verificar CA: Quiero que mis datos estén encriptados, acepto el costo. " -"Quiero asegurarme de que estoy conectado al servidor en el que confío.\n" -"Verificar completo: Quiero que mis datos estén encriptados, acepto el costo. " -"Quiero estar seguro de que estoy conectado al servidor en el que confío y " -"que es el servidor que he especificado." +"Preferir: No me importa la encriptación, pero si el servidor la soporta, estoy dispuesto a aceptar el costo de la encriptación.\n" +"Requerir: Quiero que mis datos estén encriptados, acepto el costo. Confío en que la red garantizará que siempre me conecte al servidor que deseo.\n" +"Verificar CA: Quiero que mis datos estén encriptados, acepto el costo. Quiero asegurarme de que estoy conectado al servidor en el que confío.\n" +"Verificar completo: Quiero que mis datos estén encriptados, acepto el costo. Quiero estar seguro de que estoy conectado al servidor en el que confío y que es el servidor que he especificado." #: assets/serializers/asset/ds.py:18 msgid "" -"The domain part used by the directory service (e.g., AD) and appended to the " -"username during login, such as example.com in user@example.com." +"The domain part used by the directory service (e.g., AD) and appended to the" +" 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" +"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" "\n" "El módulo {} no es aplicable a este activo. \n" "\n" -"Al ejecutar tareas de sincronización en la nube, ya sea manualmente o en un " -"horario establecido, se debe realizar esta tarea. \n" +"Al ejecutar tareas de sincronización en la nube, ya sea manualmente o en un horario establecido, se debe realizar esta tarea. \n" "\n" -"Diariamente, el sistema limpiará los registros generados durante la " -"ejecución de la sincronización en la nube, de acuerdo con la configuración " -"en \"Configuraciones del sistema - Tareas - Limpieza periódica - Días de " -"retención del historial de tareas de sincronización en la nube\"." +"Diariamente, el sistema limpiará los registros generados durante la ejecución de la sincronización en la nube, de acuerdo con la configuración en \"Configuraciones del sistema - Tareas - Limpieza periódica - Días de retención del historial de tareas de sincronización en la nube\"." #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" msgstr "" "Si el servidor no puede acceder directamente a la dirección API, necesitas " "configurar un proxy HTTP. Por ejemplo http(s)://host:port" @@ -3502,8 +3447,7 @@ msgstr "Recoger información del activo." #: assets/tasks/gather_facts.py:25 msgid "" -"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " -"this task \n" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" " will be executed" msgstr "" "Al hacer clic en actualizar información de hardware en los detalles del " @@ -3523,10 +3467,8 @@ msgstr "Verificar la cantidad de activos bajo el nodo." #: assets/tasks/nodes_amount.py:18 msgid "" -"Manually verifying asset quantities updates the asset count for nodes under " -"the \n" -" current organization. This task will be called in the following two " -"cases: when updating \n" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" " nodes and when the number of nodes exceeds 100" msgstr "" "Actualización manual de la cantidad de activos en los nodos de la " @@ -3535,7 +3477,8 @@ msgstr "" #: assets/tasks/nodes_amount.py:34 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" +"The task of self-checking is already running and cannot be started " +"repeatedly" msgstr "" "El programa de autocomprobación ya está en funcionamiento y no se puede " "iniciar de nuevo." @@ -3546,8 +3489,7 @@ msgstr "Comprobación periódica de la cantidad de activos en los nodos." #: assets/tasks/nodes_amount.py:42 msgid "" -"Schedule the check_node_assets_amount_task to periodically update the asset " -"count of \n" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" " all nodes under all organizations" msgstr "" "Llamada programada a la tarea check_node_assets_amount_task para actualizar " @@ -3576,24 +3518,21 @@ msgstr "Pruebas de conectividad de la puerta de enlace." #: assets/tasks/ping_gateway.py:23 msgid "" -"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " -"be executed" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" msgstr "" "Esta tarea se ejecuta al probar la conexión en el detalle del dominio - " "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 {}" @@ -3606,7 +3545,8 @@ msgid "App Audits" msgstr "Auditoría de registros." #: audits/backends/db.py:17 -msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" msgstr "" "El contenido del texto es demasiado largo. Por favor, utilice Elasticsearch " "para almacenar los registros de operaciones." @@ -3701,8 +3641,8 @@ msgstr "Terminar" #: audits/const.py:47 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:65 -#: terminal/serializers/session.py:181 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:65 terminal/serializers/session.py:181 msgid "Terminal" msgstr "Terminal" @@ -3738,7 +3678,8 @@ msgstr "Registro de auditoría de trabajos" #: audits/models.py:57 audits/models.py:107 audits/models.py:182 #: audits/models.py:333 authentication/models/connection_token.py:62 -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:111 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:111 msgid "Remote addr" msgstr "Dirección remota" @@ -3976,17 +3917,14 @@ msgstr "Limpiar el registro de tareas de auditoría de activos" #: audits/tasks.py:135 msgid "" -"Since the system generates login logs, operation logs, file upload logs, " -"activity \n" -" logs, Celery execution logs, session recordings, command records, " -"and password change \n" -" logs, it will perform cleanup of records that exceed the time limit " -"according to the \n" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" " 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" msgstr "" "Debido a que el sistema genera registros de inicio de sesión, registros de " -"acción, registros de carga de archivos, registros de actividad, registros de " -"ejecución de celery, grabaciones de sesión y registros de comandos, además " +"acción, registros de carga de archivos, registros de actividad, registros de" +" ejecución de celery, grabaciones de sesión y registros de comandos, además " "de registros de cambio de contraseña, el sistema realizará una limpieza " "según la configuración del sistema en la lista de tareas, limpiando " "diariamente a las 2 de la madrugada los elementos que excedan el tiempo" @@ -3997,22 +3935,21 @@ msgstr "Subir archivos FTP al almacenamiento externo." #: audits/tasks.py:157 msgid "" -"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " -"management will be \n" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" " synchronized to external storage" msgstr "" -"Si se ha configurado SERVER_REPLAY_STORAGE, los archivos subidos a través de " -"la gestión de archivos se sincronizarán con el almacenamiento externo. Se " -"pueden crear hasta 10 claves de acceso. El valor del parámetro debe contener " -"%s. Esta acción requiere la verificación de su MFA, por favor, habilite y " -"configure primero. No se permite el uso de tokens de conexión reutilizables, " -"ya que la configuración global no está activada. La cuenta anónima no admite " -"el activo actual. La autorización ha expirado. La acción de ACL es rechazar: " -"{}({}). La acción de ACL es revisión. La acción de ACL es verificación " -"facial. Las reglas de inicio de sesión del activo no son compatibles con el " -"activo actual. La acción de ACL es reconocimiento facial en línea. No hay " -"características faciales disponibles. La comparación facial ha fallado. El " -"usuario actual no admite el tipo de MFA: {}." +"Si se ha configurado SERVER_REPLAY_STORAGE, los archivos subidos a través de" +" la gestión de archivos se sincronizarán con el almacenamiento externo. Se " +"pueden crear hasta 10 claves de acceso. El valor del parámetro debe contener" +" %s. Esta acción requiere la verificación de su MFA, por favor, habilite y " +"configure primero. No se permite el uso de tokens de conexión reutilizables," +" ya que la configuración global no está activada. La cuenta anónima no " +"admite el activo actual. La autorización ha expirado. La acción de ACL es " +"rechazar: {}({}). La acción de ACL es revisión. La acción de ACL es " +"verificación facial. Las reglas de inicio de sesión del activo no son " +"compatibles con el activo actual. La acción de ACL es reconocimiento facial " +"en línea. No hay características faciales disponibles. La comparación facial" +" ha fallado. El usuario actual no admite el tipo de MFA: {}." #: authentication/api/access_key.py:39 msgid "Access keys can be created at most 10" @@ -4029,44 +3966,43 @@ msgstr "" "Esta operación requiere la verificación de su MFA, por favor, habilítelo y " "configúrelo primero." -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "" "No se permite el uso de tokens de conexión reutilizables, no se han " "habilitado configuraciones globales." -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "Las cuentas anónimas no son compatibles con los activos actuales." -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "La autorización ha expirado." -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "La acción de ACL es rechazar: {}({})" -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "La acción de ACL es revisar." -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "La acción de ACL es verificación facial." -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "" "La regla de inicio de sesión del activo no es compatible con los activos " "actuales." -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "La acción de ACL es verificación facial en línea." -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "No hay características faciales disponibles." @@ -4076,13 +4012,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "El usuario no existe: {}" @@ -4091,7 +4025,6 @@ msgid "No user matched" msgstr "No se encontró coincidencia con el usuario" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4109,7 +4042,6 @@ msgid "Forgot password" msgstr "Olvidé la contraseña" #: authentication/api/password.py:70 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." @@ -4118,10 +4050,8 @@ msgid "App Authentication" msgstr "Gestión de autenticación" #: authentication/backends/cas/views.py:19 -#, fuzzy -#| msgid "Error" msgid "CAS Error" -msgstr "Error" +msgstr "Error CAS" #: authentication/backends/custom.py:60 #: authentication/backends/oauth2/backends.py:158 @@ -4140,7 +4070,8 @@ msgstr "Token inválido. La cadena de símbolos no debe contener espacios." msgid "" "Invalid token header. Sign string should not contain invalid characters." msgstr "" -"Token inválido. La cadena de símbolos no debe contener caracteres no válidos." +"Token inválido. La cadena de símbolos no debe contener caracteres no " +"válidos." #: authentication/backends/oauth2/views.py:73 msgid "OAuth2 Error" @@ -4154,8 +4085,8 @@ msgstr "Error de OpenID" #: authentication/backends/saml2/views.py:285 msgid "Please check if a user with the same username or email already exists" msgstr "" -"Por favor, verifica si ya existe un usuario con el mismo nombre de usuario o " -"correo electrónico" +"Por favor, verifica si ya existe un usuario con el mismo nombre de usuario o" +" correo electrónico" #: authentication/backends/passkey/api.py:40 msgid "Only register passkey for local user" @@ -4186,7 +4117,6 @@ 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 " @@ -4278,7 +4208,6 @@ 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)" @@ -4287,7 +4216,6 @@ 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)" @@ -4298,8 +4226,8 @@ msgstr "" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" msgstr "" "{error} también puede intentar {times_try} veces (la cuenta se bloqueará " "temporalmente por {block_time} minutos)" @@ -4322,7 +4250,6 @@ 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: {}" @@ -4429,12 +4356,12 @@ msgstr "Por favor, introduzca el código de seguridad dinámico." #: authentication/mfa/base.py:32 msgid "" -"The two-factor code you entered has either already been used or has expired. " -"Please request a new one." +"The two-factor code you entered has either already been used or has expired." +" Please request a new one." msgstr "" "El código de verificación de doble autenticación que ingresó ha sido " -"utilizado o ha expirado. Por favor, solicite un nuevo código de verificación " -"de doble autenticación." +"utilizado o ha expirado. Por favor, solicite un nuevo código de verificación" +" de doble autenticación." #: authentication/mfa/custom.py:21 msgid "MFA Custom code invalid" @@ -4514,47 +4441,34 @@ msgid "Clear phone number to disable" msgstr "Limpiar número de teléfono para desactivar" #: authentication/middleware.py:96 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): {}" +"Error de autenticación (fallo en la verificación antes de iniciar sesión): " +"{}" #: authentication/mixins.py:166 -#, fuzzy -#| msgid "" -#| "The administrator has enabled \"Only allow existing users to log in\", \n" -#| " and the current user is not in the user list. Please " -#| "contact the administrator." msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please " -"contact the administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" -"El administrador ha habilitado 'solo permitir que los usuarios existentes " -"inicien sesión', el usuario actual no está en la lista, por favor contacta " -"al administrador." +"El administrador ha activado 'solo permitir el inicio de sesión de usuarios " +"existentes', el usuario actual no está en la lista de usuarios, por favor " +"contacta al administrador." #: authentication/mixins.py:178 msgid "User is invalid" msgstr "Usuario no válido" #: authentication/mixins.py:195 -#, fuzzy, python-brace-format -#| msgid "" -#| "The administrator has enabled 'Only allow login from user source'. \n" -#| " The current user source is {}. Please contact the " -#| "administrator." msgid "" " The administrator has enabled 'Only allow login from user source'. \n" -" The current user source is {}. Please contact the " -"administrator. " +" The current user source is {}. Please contact the administrator. " msgstr "" -"El administrador ha habilitado 'solo permitir acceso desde la fuente del " -"usuario'; la fuente actual del usuario es {}, por favor contacte al " -"administrador." +"El administrador ha activado 'solo permitir el inicio de sesión desde la " +"fuente de usuarios', la fuente del usuario actual es {}, por favor contacta " +"al administrador." #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "El método MFA ({}) no está habilitado" @@ -4623,7 +4537,6 @@ 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: {}" @@ -4760,7 +4673,6 @@ 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" @@ -4778,8 +4690,8 @@ msgstr "Tipo de creación" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be " -"downloaded once" +"Please download the private key after creation. Each private key can only be" +" downloaded once" msgstr "" "Después de la creación, descargue la clave privada, cada clave privada solo " "tiene una oportunidad de descarga." @@ -4796,9 +4708,9 @@ msgid "Is valid" msgstr "¿Es válida?" #: authentication/serializers/token.py:131 ops/models/adhoc.py:26 -#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 rbac/models/role.py:31 -#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 -#: settings/serializers/auth/oauth2.py:37 +#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 msgid "Scope" msgstr "Rango" @@ -4808,11 +4720,11 @@ msgstr "Eliminar sesiones expiradas" #: authentication/tasks.py:21 msgid "" -"Since user logins create sessions, the system will clean up expired sessions " -"every 24 hours" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" msgstr "" -"Debido a que el usuario inicia sesión en el sistema, se generará una sesión, " -"y el sistema limpiará cada 24 horas las sesiones que ya hayan expirado." +"Debido a que el usuario inicia sesión en el sistema, se generará una sesión," +" y el sistema limpiará cada 24 horas las sesiones que ya hayan expirado." #: authentication/tasks.py:30 msgid "Clean expired temporary, connection tokens" @@ -4828,8 +4740,8 @@ msgid "" "Retention Period" msgstr "" "El sistema genera el correspondiente Token de conexión o registro de " -"contraseña temporal al conectar activos o crear contraseñas temporales. Para " -"garantizar la seguridad del sistema y controlar la cantidad de datos " +"contraseña temporal al conectar activos o crear contraseñas temporales. Para" +" garantizar la seguridad del sistema y controlar la cantidad de datos " "almacenados, el sistema limpiará automáticamente todos los registros de " "Token expirados a las 2 de la mañana según la configuración en " "\"Configuraciones de seguridad > Seguridad de contraseñas > Duración de " @@ -5172,7 +5084,6 @@ msgid "Redirecting" msgstr "Redirigiendo" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "Redirigiendo a la autenticación de {}" @@ -5181,18 +5092,15 @@ 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" msgstr "" -"Esperando la confirmación de {}, también puedes copiar el enlace y " -"enviárselo a él/ella
\n" +"Esperando la confirmación de {}, también puedes copiar el enlace y enviárselo a él/ella
\n" "No cierres esta página" #: authentication/views/login.py:343 @@ -5209,8 +5117,8 @@ msgstr "Cerrar sesión con éxito, regresando a la página de inicio de sesión" #: authentication/views/mixins.py:28 msgid "" -"For your safety, automatic redirection login is not supported on the client. " -"If you need to open it in the client, please log in again" +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" msgstr "" "Por su seguridad, la aplicación no soporta el inicio de sesión automático. " "Si necesita abrir la aplicación, por favor inicie sesión de nuevo" @@ -5251,7 +5159,8 @@ msgstr "" #: common/api/action.py:80 msgid "Request file format may be wrong" -msgstr "Formato de archivo subido incorrecto o archivo de otro tipo de recurso" +msgstr "" +"Formato de archivo subido incorrecto o archivo de otro tipo de recurso" #: common/const/choices.py:40 msgid "China" @@ -5341,8 +5250,8 @@ msgstr "Campo cifrado" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" "El campo JSON de muchos a muchos es inválido, debería ser {'type': 'all'} o " @@ -5388,7 +5297,6 @@ 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 {}-{}" @@ -5401,13 +5309,11 @@ 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: {}" @@ -5420,7 +5326,6 @@ msgid "Yes/No" msgstr "Sí/No" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "Texto, longitud máxima {}" @@ -5429,17 +5334,14 @@ msgid "Long text, no length limit" msgstr "Texto largo, sin límite de longitud" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "Número, mínimo {} máximo {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "Formato de fecha y hora {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5448,7 +5350,6 @@ msgstr "" "lectura, el valor es obligatorio, las opciones son {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "Opciones, las opciones son {}" @@ -5480,8 +5381,7 @@ msgstr "" "es opcional para facilitar la lectura, el id es obligatorio." #: common/drf/renders/base.py:173 -msgid "" -"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" msgstr "" "Etiquetas, formato: [\"clave:valor\", ...], si la etiqueta no existe, se " "creará." @@ -5491,7 +5391,6 @@ msgid "Objects, format [\"id\", ...]" msgstr "Múltiples elementos relacionados, el formato es [\"id\", ...]." #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -5584,7 +5483,6 @@ 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: {}" @@ -5597,10 +5495,6 @@ 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" @@ -5622,7 +5516,6 @@ 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: {}" @@ -5639,7 +5532,6 @@ 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" @@ -5647,6 +5539,10 @@ 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" @@ -5668,11 +5564,10 @@ msgstr "Tipo de datos incorrecto, debería ser una lista" #: common/serializers/fields.py:353 #: 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: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "Etiqueta" @@ -5691,10 +5586,8 @@ msgstr "Enviar archivo adjunto en el correo electrónico" #: common/tasks.py:81 msgid "" -"When an account password is changed or an account backup generates " -"attachments, \n" -" this task needs to be executed for sending emails and handling " -"attachments" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" msgstr "" "Cuando la cuenta cambia de contraseña, los archivos adjuntos de respaldo de " "la cuenta necesitan que se ejecute esta tarea para el envío de correos y " @@ -5731,8 +5624,7 @@ msgstr "Enviar código de verificación por SMS" #: common/utils/verify_code.py:19 msgid "" -"When resetting a password, forgetting a password, or verifying MFA, this " -"task needs to \n" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" " be executed to send SMS messages" msgstr "" "Al restablecer la contraseña, olvidar la contraseña o validar mfa, se debe " @@ -5775,26 +5667,16 @@ 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:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "" "El servicio de Flower no está disponible. Por favor, verifica. \n" "\n" -"Luna es un programa que se despliega de manera independiente; necesitas " -"implementar Luna y Koko. Si estás viendo esta página, significa que no estás " -"accediendo al puerto que escucha nginx. ¡Buena suerte!\n" +"Luna es un programa que se despliega de manera independiente; necesitas implementar Luna y Koko. Si estás viendo esta página, significa que no estás accediendo al puerto que escucha nginx. ¡Buena suerte!\n" "\n" -"El servicio Websocket se ejecuta en el puerto: {}, por favor verifica si " -"nginx está configurado correctamente para el proxy.\n" +"El servicio Websocket se ejecuta en el puerto: {}, por favor verifica si nginx está configurado correctamente para el proxy.\n" "\n" -"Koko es un programa que se despliega de manera independiente; necesitas " -"implementar Koko y asegurarte de que la configuración de nginx esté " -"encaminando. Si estás viendo esta página, significa que no estás accediendo " -"al puerto que escucha nginx. ¡Buena suerte!\n" +"Koko es un programa que se despliega de manera independiente; necesitas implementar Koko y asegurarte de que la configuración de nginx esté encaminando. Si estás viendo esta página, significa que no estás accediendo al puerto que escucha nginx. ¡Buena suerte!\n" "\n" "Gestión de etiquetas \n" "Color \n" @@ -5819,7 +5701,6 @@ msgstr "" "accediendo al puerto que escucha Nginx, ¡buena suerte!" #: jumpserver/views/other.py:78 -#, 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 " @@ -5881,7 +5762,6 @@ msgid "User message" msgstr "Usuario Mensaje" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} Suscripción" @@ -5895,8 +5775,7 @@ msgstr "Publicar Mensaje Interno" #: notifications/notifications.py:49 msgid "" -"This task needs to be executed for sending internal messages for system " -"alerts, \n" +"This task needs to be executed for sending internal messages for system alerts, \n" " work orders, and other notifications" msgstr "" "Ejecutar esta tarea cuando el sistema requiera enviar mensajes internos, " @@ -5920,19 +5799,18 @@ 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:65 -#, 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" +" de acceso al recurso {}." #: ops/api/job.py:88 #, python-brace-format @@ -5956,8 +5834,8 @@ msgstr "Falta permiso de subida para el activo ({asset})" #: ops/api/job.py:185 msgid "Duplicate file exists" msgstr "" -"Existen archivos con el mismo nombre. El tamaño del archivo excede el límite " -"máximo. Por favor, seleccione un archivo de menos de {limit}MB. Se está " +"Existen archivos con el mismo nombre. El tamaño del archivo excede el límite" +" máximo. Por favor, seleccione un archivo de menos de {limit}MB. Se está " "creando la tarea, no se puede interrumpir; por favor, inténtelo más tarde. " "No se permite eliminar el playbook de otros. El playbook actual está en uso " "por un trabajo. Contenido de archivo no soportado. Ruta de archivo no " @@ -6144,12 +6022,14 @@ msgid "Periodic run" msgstr "Ejecutar periódicamente" #: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 -#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:63 +#: settings/serializers/auth/ldap.py:81 +#: settings/serializers/auth/ldap_ha.py:63 msgid "Interval" msgstr "Intervalo" #: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 -#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:60 +#: settings/serializers/auth/ldap.py:78 +#: settings/serializers/auth/ldap_ha.py:60 msgid "Crontab" msgstr "Crontab" @@ -6227,7 +6107,6 @@ 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." @@ -6296,9 +6175,9 @@ msgid "" "referenced in the script using {{ jms_name }}" msgstr "" "Nombre de la variable utilizada en el script, con el prefijo fijo jms_ + el " -"nombre de la variable ingresada, por ejemplo, si el nombre de la variable es " -"name, la variable de entorno generada será jms_name. Al hacer referencia en " -"el script, se utiliza {{ jms_name }}" +"nombre de la variable ingresada, por ejemplo, si el nombre de la variable es" +" name, la variable de entorno generada será jms_name. Al hacer referencia en" +" el script, se utiliza {{ jms_name }}" #: ops/models/variable.py:16 ops/serializers/variable.py:32 msgid "Default Value" @@ -6419,10 +6298,8 @@ msgstr "Crear o actualizar tareas programadas" #: ops/tasks.py:134 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, tasks will be " -"registered or the parameters \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" " of scheduled tasks will be updated" msgstr "" "Con cada iteración de versión, pueden añadirse nuevas tareas o modificarse " @@ -6435,26 +6312,14 @@ msgstr "Detección periódica del rendimiento del servicio." #: ops/tasks.py:149 msgid "" -"Check every hour whether each component is offline and whether the CPU, " -"memory, \n" -" and disk usage exceed the thresholds, and send an alert message to " -"the administrator" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" msgstr "" -"Cada hora, se verifica si los componentes están fuera de línea, así como si " -"el uso de CPU, memoria y disco duro supera el umbral, enviando un mensaje de " -"advertencia al administrador. \n" +"Cada hora, se verifica si los componentes están fuera de línea, así como si el uso de CPU, memoria y disco duro supera el umbral, enviando un mensaje de advertencia al administrador. \n" "Limpiar trabajos anormales. \n" -"Debido a que el centro de trabajos ejecuta comandos rápidos, el playbook " -"puede generar excepciones; el estado de las tareas no se actualiza como " -"completado. El sistema ejecutará cada hora la limpieza de trabajos anormales " -"que no se hayan completado en más de 3 horas, marcando las tareas como " -"fallidas. \n" +"Debido a que el centro de trabajos ejecuta comandos rápidos, el playbook puede generar excepciones; el estado de las tareas no se actualiza como completado. El sistema ejecutará cada hora la limpieza de trabajos anormales que no se hayan completado en más de 3 horas, marcando las tareas como fallidas. \n" "Limpiar el historial de ejecución del centro de trabajos. \n" -"Debido a que el centro de trabajos ejecuta comandos rápidos y playbooks, se " -"generan registros de ejecución. El sistema limpiará, según la configuración " -"en sistema-configuración-tareas-lista-limpieza regular-historial de " -"ejecución del centro de trabajos, los registros que superen el tiempo de " -"almacenamiento todos los días a las 2 a.m. \n" +"Debido a que el centro de trabajos ejecuta comandos rápidos y playbooks, se generan registros de ejecución. El sistema limpiará, según la configuración en sistema-configuración-tareas-lista-limpieza regular-historial de ejecución del centro de trabajos, los registros que superen el tiempo de almacenamiento todos los días a las 2 a.m. \n" "Lista de tareas. \n" "Nombre de usuario del usuario actual en JumpServer. \n" "ID del activo en JumpServer. \n" @@ -6472,12 +6337,9 @@ msgstr "Limpiar trabajos excepcionales" #: ops/tasks.py:161 msgid "" -"Due to exceptions caused by executing adhoc and playbooks in the Job " -"Center, \n" -" which result in the task status not being updated, the system will " -"clean up abnormal jobs \n" -" that have not been completed for more than 3 hours every hour and " -"mark these tasks as \n" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" " failed" msgstr "" "Debido a la ejecución de comandos rápidos en el centro de trabajos, el " @@ -6491,18 +6353,15 @@ msgstr "Limpiar historial de ejecución del centro de trabajos" #: ops/tasks.py:176 msgid "" -"Due to the execution of adhoc and playbooks in the Job Center, execution " -"records will \n" -" be generated. The system will clean up records that exceed the " -"retention period every day \n" -" at 2 a.m., based on the configuration of 'System Settings - Tasks - " -"Regular clean-up - \n" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" " Job execution retention days'" msgstr "" "Debido a la ejecución de comandos rápidos en el centro de trabajos, el " -"playbook generará registros de ejecución, el sistema limpiará cada día a las " -"2 de la mañana los registros que superen el tiempo de conservación según la " -"configuración del sistema - lista de tareas - limpieza programada - " +"playbook generará registros de ejecución, el sistema limpiará cada día a las" +" 2 de la mañana los registros que superen el tiempo de conservación según la" +" configuración del sistema - lista de tareas - limpieza programada - " "configuración del historial de ejecución del centro de trabajos" #: ops/templates/ops/celery_task_log.html:4 @@ -6546,7 +6405,6 @@ msgid "Name of the job" msgstr "Nombre del trabajo" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "La organización actual ({}) no puede ser eliminada." @@ -6556,11 +6414,10 @@ msgid "" "another organization before deleting" msgstr "" "La configuración de sincronización LDAP establece la organización como la " -"actual; por favor, cambie a otra organización antes de realizar la operación " -"de eliminación." +"actual; por favor, cambie a otra organización antes de realizar la operación" +" de eliminación." #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "La organización tiene recursos ({}) que no pueden ser eliminados." @@ -6578,7 +6435,8 @@ msgstr "Por favor, seleccione una organización antes de guardar." #: terminal/notifications.py:294 #: terminal/templates/terminal/_msg_command_warning.html:27 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:62 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:62 msgid "Organization" msgstr "Organización" @@ -6717,7 +6575,7 @@ msgid "today" msgstr "Hoy" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "Días" @@ -6734,7 +6592,6 @@ 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 ({})" @@ -6743,8 +6600,8 @@ msgid "" "Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " "choices: @ALL, @SPEC, @USER, @ANON, @INPUT" msgstr "" -"Cuenta, formato [\"@cuentaVirtual\", \"root\", \"%idDePlantilla\"], opciones " -"virtuales: @TODOS, @ESPECIFICO, @USUARIO, @ANON, @ENTRADA" +"Cuenta, formato [\"@cuentaVirtual\", \"root\", \"%idDePlantilla\"], opciones" +" virtuales: @TODOS, @ESPECIFICO, @USUARIO, @ANON, @ENTRADA" #: perms/serializers/permission.py:49 msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" @@ -6760,18 +6617,14 @@ msgstr "La regla de autorización de activos de verificación ha caducado" #: perms/tasks.py:30 msgid "" -"The cache of organizational collections, which have completed user " -"authorization tree \n" -" construction, will expire. Therefore, expired collections need to be " -"cleared from the \n" -" cache, and this task will be executed periodically based on the time " -"interval specified \n" -" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " -"config.txt" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" msgstr "" -"El conjunto de organizaciones que ha completado la construcción del árbol de " -"autorización de usuarios está almacenado en caché y expirará, por lo que es " -"necesario limpiar los conjuntos caducados de la caché. Esta tarea debe " +"El conjunto de organizaciones que ha completado la construcción del árbol de" +" autorización de usuarios está almacenado en caché y expirará, por lo que es" +" necesario limpiar los conjuntos caducados de la caché. Esta tarea debe " "ejecutarse periódicamente según el intervalo de tiempo definido en el " "archivo de configuración config.txt bajo PERM_EXPIRED_CHECK_PERIODIC" @@ -6781,17 +6634,14 @@ msgstr "Enviar notificaciones de expiración de permisos de activos" #: perms/tasks.py:51 msgid "" -"Check every day at 10 a.m. and send a notification message to users " -"associated with \n" -" assets whose authorization is about to expire, as well as to the " -"organization's \n" -" administrators, 3 days in advance, to remind them that the asset " -"authorization will \n" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" " expire in a few days" msgstr "" "Cada día a las 10 de la mañana, se verificará y se enviará un mensaje a los " -"usuarios asociados y a los administradores de la organización con respecto a " -"la autorización de activos que está a punto de expirar, avisando con tres " +"usuarios asociados y a los administradores de la organización con respecto a" +" la autorización de activos que está a punto de expirar, avisando con tres " "días de anticipación que el activo expirará en pocos días" #: perms/templates/perms/_msg_item_permissions_expire.html:7 @@ -6813,7 +6663,6 @@ msgid "Internal role, can't be update" msgstr "Rol interno, no se puede actualizar" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} debe tener al menos un rol del sistema" @@ -6989,7 +6838,7 @@ msgstr "Cambio de contraseña de cuenta" msgid "App ops" msgstr "Centro de tareas" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "Función" @@ -7032,8 +6881,8 @@ msgstr "Gestión de organizaciones" msgid "Ticket comment" msgstr "Comentarios de órdenes de trabajo" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "Orden de trabajo" @@ -7046,22 +6895,16 @@ msgid "View permission tree" msgstr "Ver árbol de autorizaciones" #: rbac/tree.py:189 -#, fuzzy -#| msgid "Access key" msgid "Access token" -msgstr "Clave de acceso" +msgstr "Token de acceso" #: rbac/tree.py:190 -#, fuzzy -#| msgid "Access key" msgid "View access token" -msgstr "Clave de acceso" +msgstr "Ver token de acceso" #: rbac/tree.py:191 -#, fuzzy -#| msgid "Access key" msgid "Revoke access token" -msgstr "Clave de acceso" +msgstr "Revocar token de acceso" #: reports/views.py:20 msgid "User login report" @@ -7115,14 +6958,13 @@ msgstr "Envío de correo electrónico exitoso" msgid "Chat AI is not enabled" msgstr "Chat AI no está habilitado" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 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." @@ -7309,7 +7151,8 @@ msgstr "Enlace para recuperar la contraseña" #: settings/serializers/auth/base.py:38 msgid "The URL for Forgotten Password on the user login page" msgstr "" -"URL para recuperar la contraseña en la página de inicio de sesión de usuarios" +"URL para recuperar la contraseña en la página de inicio de sesión de " +"usuarios" #: settings/serializers/auth/base.py:41 msgid "Login redirection" @@ -7330,8 +7173,7 @@ msgid "" "When you create a user, you associate the user to the organization of your " "choice. Users always belong to the Default organization." msgstr "" -"Al crear un usuario, lo asociarás con la organización que elijas. Los " -"usuarios siempre pertenecen a la organización Default. \n" +"Al crear un usuario, lo asociarás con la organización que elijas. Los usuarios siempre pertenecen a la organización Default. \n" "CAS \n" "Dirección del servidor \n" "Dirección de callback \n" @@ -7340,26 +7182,20 @@ msgstr "" "Atributo de nombre de usuario \n" "Habilitar mapeo de atributos \n" "Mapear atributos \n" -"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de " -"usuario del servicio CAS, y `value` es el nombre del atributo de usuario de " -"JumpServer. \n" +"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de usuario del servicio CAS, y `value` es el nombre del atributo de usuario de JumpServer. \n" "Crear usuario (si no existe) \n" -"Después de una autenticación exitosa del usuario, si el usuario no existe, " -"se creará automáticamente. \n" +"Después de una autenticación exitosa del usuario, si el usuario no existe, se creará automáticamente. \n" "Habilitar autenticación de DingTalk \n" -"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de " -"usuario de JumpServer, y `value` es el nombre del atributo de usuario del " -"servicio DingTalk. \n" -"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de " -"usuario de JumpServer, y `value` es el nombre del atributo de usuario del " -"servicio FeiShu." +"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de usuario de JumpServer, y `value` es el nombre del atributo de usuario del servicio DingTalk. \n" +"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de usuario de JumpServer, y `value` es el nombre del atributo de usuario del servicio FeiShu." #: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 msgid "CAS" msgstr "CAS" #: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 -#: settings/serializers/auth/ldap_ha.py:27 settings/serializers/auth/oidc.py:61 +#: settings/serializers/auth/ldap_ha.py:27 +#: settings/serializers/auth/oidc.py:61 msgid "Server" msgstr "Dirección del servidor" @@ -7384,9 +7220,11 @@ msgstr "Atributo de nombre de usuario" msgid "Enable attributes map" msgstr "Habilitar mapeo de atributos" -#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 -#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:49 +#: settings/serializers/auth/ldap.py:67 +#: settings/serializers/auth/ldap_ha.py:49 #: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 #: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 #: settings/serializers/auth/wecom.py:18 @@ -7433,29 +7271,21 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Lark service user attribute name" msgstr "" -"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de " -"usuario de JumpServer y `value` es el nombre del atributo de usuario del " -"servicio Lark. \n" +"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de usuario de JumpServer y `value` es el nombre del atributo de usuario del servicio Lark. \n" "LDAP \n" "Dominio del servicio LDAP \n" "DN de vinculación \n" "Administrador del directorio vinculado \n" "Contraseña de vinculación \n" "OU de usuario \n" -"Base de búsqueda de usuario; si hay múltiples OU, se pueden separar con el " -"símbolo `|` \n" +"Base de búsqueda de usuario; si hay múltiples OU, se pueden separar con el símbolo `|` \n" "Filtro de usuario \n" "Las opciones posibles son (cn o uid o sAMAccountName=%(user)s) \n" -"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de " -"usuario de JumpServer y `value` es el nombre del atributo de usuario del " -"servicio LDAP. \n" +"Mapeo de atributos de usuario, donde `key` es el nombre del atributo de usuario de JumpServer y `value` es el nombre del atributo de usuario del servicio LDAP. \n" "Tiempo de espera para la conexión (segundos) \n" "Tiempo de espera para el caché de User DN (segundos) \n" -"Se puede almacenar en caché el User DN obtenido durante la autenticación del " -"inicio de sesión del usuario, lo que puede mejorar considerablemente la " -"velocidad de autenticación del usuario. \n" -"Si la estructura del OU de usuario ha cambiado, haga clic en enviar para " -"limpiar el caché de User DN. \n" +"Se puede almacenar en caché el User DN obtenido durante la autenticación del inicio de sesión del usuario, lo que puede mejorar considerablemente la velocidad de autenticación del usuario. \n" +"Si la estructura del OU de usuario ha cambiado, haga clic en enviar para limpiar el caché de User DN. \n" "Cantidad de paginación de búsqueda (registros)" #: settings/serializers/auth/ldap.py:42 settings/serializers/auth/ldap.py:108 @@ -7466,23 +7296,28 @@ msgstr "LDAP" msgid "LDAP server URI" msgstr "Nombre de dominio del servicio LDAP" -#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31 +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 msgid "Bind DN" msgstr "DN de enlace" -#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32 +#: settings/serializers/auth/ldap.py:50 +#: settings/serializers/auth/ldap_ha.py:32 msgid "Binding Distinguished Name" msgstr "Administrador del directorio de enlace" -#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36 +#: settings/serializers/auth/ldap.py:54 +#: settings/serializers/auth/ldap_ha.py:36 msgid "Binding password" msgstr "Contraseña de enlace" -#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39 +#: settings/serializers/auth/ldap.py:57 +#: settings/serializers/auth/ldap_ha.py:39 msgid "Search OU" msgstr "OU de usuario" -#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41 +#: settings/serializers/auth/ldap.py:59 +#: settings/serializers/auth/ldap_ha.py:41 msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" @@ -7490,41 +7325,48 @@ msgstr "" "Biblioteca de búsqueda de usuarios, si hay múltiples OUs, se pueden separar " "con el símbolo `|`" -#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45 +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 msgid "Search filter" msgstr "Filtro de usuario" -#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46 +#: settings/serializers/auth/ldap.py:64 +#: settings/serializers/auth/ldap_ha.py:46 #, python-format msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" msgstr "Las posibles opciones son (cn o uid o sAMAccountName=%(user)s)" -#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51 +#: settings/serializers/auth/ldap.py:69 +#: settings/serializers/auth/ldap_ha.py:51 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" msgstr "" "Mapeo de atributos de usuario, donde `key` es el nombre del atributo del " -"usuario en JumpServer, y `value` es el nombre del atributo del usuario en el " -"servicio LDAP" +"usuario en JumpServer, y `value` es el nombre del atributo del usuario en el" +" servicio LDAP" -#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67 +#: settings/serializers/auth/ldap.py:85 +#: settings/serializers/auth/ldap_ha.py:67 msgid "Connect timeout (s)" msgstr "Tiempo de espera de conexión (segundos)" -#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70 +#: settings/serializers/auth/ldap.py:88 +#: settings/serializers/auth/ldap_ha.py:70 msgid "Strict sync" msgstr "Modo estricto" -#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71 +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 msgid "" "In strict mode, users not found in LDAP will be disabled during full or " "automatic sync" msgstr "" -"Después de activar el modo estricto, la sincronización completa o automática " -"desactivará a los usuarios no encontrados en el LDAP del sistema." +"Después de activar el modo estricto, la sincronización completa o automática" +" desactivará a los usuarios no encontrados en el LDAP del sistema." -#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76 +#: settings/serializers/auth/ldap.py:94 +#: settings/serializers/auth/ldap_ha.py:76 msgid "User DN cache timeout (s)" msgstr "Tiempo de espera para la caché de User DN (segundos)" @@ -7535,8 +7377,8 @@ msgid "" "cache
If the user OU structure has been adjusted, click Submit to clear " "the user DN cache" msgstr "" -"Se puede almacenar en caché el User DN obtenido durante la autenticación del " -"usuario, lo que puede mejorar significativamente la velocidad de " +"Se puede almacenar en caché el User DN obtenido durante la autenticación del" +" usuario, lo que puede mejorar significativamente la velocidad de " "autenticación.
Si hay algún ajuste en la estructura del OU del usuario, " "simplemente haga clic en enviar para limpiar la caché de User DN" @@ -7557,13 +7399,13 @@ msgstr "Nombre de dominio del servicio LDAP HA" #: settings/serializers/auth/ldap_ha.py:78 msgid "" "Caching the User DN obtained during user login authentication can " -"effectivelyimprove the speed of user authentication., 0 means no cache
If " -"the user OU structure has been adjusted, click Submit to clear the user DN " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " "cache" msgstr "" "Se puede almacenar en caché el User DN consultado durante la autenticación " -"del inicio de sesión del usuario, lo que puede mejorar significativamente la " -"velocidad de autenticación del usuario.
Si la estructura de la OU del " +"del inicio de sesión del usuario, lo que puede mejorar significativamente la" +" velocidad de autenticación del usuario.
Si la estructura de la OU del " "usuario se modifica, simplemente haga clic en enviar para limpiar la caché " "del User DN." @@ -7609,9 +7451,11 @@ msgid "End session endpoint" msgstr "Dirección del punto final de cierre de sesión" #: settings/serializers/auth/oauth2.py:57 -msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" msgstr "" -"Cuando el usuario cierra sesión, también se desconectará del servidor OAuth2." +"Cuando el usuario cierra sesión, también se desconectará del servidor " +"OAuth2." #: settings/serializers/auth/oauth2.py:62 msgid "" @@ -7622,8 +7466,8 @@ msgstr "" "usuario de JumpServer y `value` es el nombre del atributo de usuario del " "servicio OAuth2." -#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:117 -#: settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:117 settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "Actualizar siempre la información del usuario." @@ -7761,7 +7605,8 @@ msgid "OTP in RADIUS" msgstr "Utilizar Radius OTP" #: settings/serializers/auth/radius.py:24 -msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" msgstr "" "* Usar OTP en RADIUS significa que los usuarios pueden aprovechar RADIUS " "como método de MFA" @@ -7796,8 +7641,8 @@ msgid "" "name and the `value` is the JumpServer user attribute name" msgstr "" "Mapeo de atributos de usuario, donde `key` es el nombre del atributo de " -"usuario del servicio SAML2 y `value` es el nombre del atributo de usuario de " -"JumpServer" +"usuario del servicio SAML2 y `value` es el nombre del atributo de usuario de" +" JumpServer" #: settings/serializers/auth/saml2.py:43 msgid "When the user signs out, they also be logged out from the SAML2 server" @@ -7875,9 +7720,9 @@ msgstr "Tipo de negocio (Application id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." msgstr "" "La plantilla debe incluir {code} y la longitud de la plantilla más la firma " "no puede exceder 67 caracteres. Por ejemplo, su código de verificación es " @@ -7931,23 +7776,16 @@ msgstr "URL del sitio actual" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service " -"and is usually used in links in system emails" +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" msgstr "" -"URL del sitio es la dirección externa accesible del servicio actual del " -"producto, que frecuentemente se utiliza en los enlaces de los correos del " -"sistema. \n" -"URL de la guía del usuario. Al iniciar sesión por primera vez, después de " -"modificar el perfil, se redirige a esta dirección, que puede ser un wiki u " -"otro documento explicativo. \n" -"Nombre de visualización de la organización global, por defecto es " -"\"Organización Global\". \n" +"URL del sitio es la dirección externa accesible del servicio actual del producto, que frecuentemente se utiliza en los enlaces de los correos del sistema. \n" +"URL de la guía del usuario. Al iniciar sesión por primera vez, después de modificar el perfil, se redirige a esta dirección, que puede ser un wiki u otro documento explicativo. \n" +"Nombre de visualización de la organización global, por defecto es \"Organización Global\". \n" "Enlace de documentos. \n" -"La URL del documento se refiere a la dirección en la barra de navegación " -"superior, Ayuda - Documentos. \n" +"La URL del documento se refiere a la dirección en la barra de navegación superior, Ayuda - Documentos. \n" "Enlace de soporte. \n" -"La URL de soporte se refiere a la dirección en la barra de navegación " -"superior, Ayuda - Soporte. \n" +"La URL de soporte se refiere a la dirección en la barra de navegación superior, Ayuda - Soporte. \n" "El nombre de la organización ya existe. \n" "Limpieza programada. \n" "Registro de inicio de sesión (días). \n" @@ -8055,8 +7893,8 @@ msgstr "" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days" msgstr "" -"Días de retención de los registros de notificaciones de cambio de contraseña " -"de cuenta" +"Días de retención de los registros de notificaciones de cambio de contraseña" +" de cuenta" #: settings/serializers/feature.py:23 settings/serializers/msg.py:69 msgid "Subject" @@ -8106,7 +7944,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "Región" @@ -8156,58 +7994,74 @@ msgstr "Modelo GPT" msgid "DeepSeek Model" msgstr "Modelo DeepSeek" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "Modelo personalizado" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "¿Deseas usar un modelo personalizado?" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "Modelo GPT personalizado" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "Modelo DeepSeek personalizado" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "Aprobación sin inicio de sesión" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "" "Permitir la aprobación directa de tickets sin necesidad de iniciar sesión" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "Intervalo de tiempo" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "" "Periodo de autorización predeterminado para la solicitud de activos del " "ticket" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "Tiempo" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "Unidad" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "Ciclo de ejecución" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "Ejecución de comandos por lotes" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "" -"Permite a los usuarios ejecutar comandos por lotes en el escritorio - Centro " -"de trabajo - Adhoc" +"Permite a los usuarios ejecutar comandos por lotes en el escritorio - Centro" +" de trabajo - Adhoc" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "Lista negra de comandos del centro de trabajo" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "Lista negra de comandos del centro de trabajo" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -8215,11 +8069,11 @@ msgstr "Lista negra de comandos del centro de trabajo" msgid "Virtual app" msgstr "Aplicación virtual" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "Aplicación virtual" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -8242,8 +8096,8 @@ msgstr "Servicio" #: settings/serializers/msg.py:34 msgid "The user to be used for email server authentication" msgstr "" -"Nombre de usuario para iniciar sesión en el servidor de correo. Generalmente " -"es tu dirección de correo electrónico" +"Nombre de usuario para iniciar sesión en el servidor de correo. Generalmente" +" es tu dirección de correo electrónico" #: settings/serializers/msg.py:39 msgid "" @@ -8260,7 +8114,8 @@ msgstr "Remitente" #: settings/serializers/msg.py:43 msgid "Sender email address (default to using the `Account`)" msgstr "" -"Dirección de correo electrónico del remitente (utiliza `cuenta` por defecto)." +"Dirección de correo electrónico del remitente (utiliza `cuenta` por " +"defecto)." #: settings/serializers/msg.py:47 msgid "The recipient is used for testing the email server's connectivity" @@ -8301,8 +8156,8 @@ msgstr "" #: settings/serializers/msg.py:70 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" msgstr "Saludo del correo" #: settings/serializers/msg.py:74 users/notifications.py:18 @@ -8350,8 +8205,8 @@ msgstr "Tiempo de expiración de la contraseña del usuario (días)" #: settings/serializers/security.py:19 msgid "User password expiration (day)" msgstr "" -"Si el usuario no actualiza la contraseña durante este periodo, la contraseña " -"del usuario expirará y perderá validez. Un correo recordatorio sobre la " +"Si el usuario no actualiza la contraseña durante este periodo, la contraseña" +" del usuario expirará y perderá validez. Un correo recordatorio sobre la " "expiración de la contraseña se enviará automáticamente al usuario por el " "sistema (diariamente) dentro de los 5 días previos a la expiración de la " "contraseña." @@ -8384,27 +8239,20 @@ msgid "" "Tip: When the user resets the password, it cannot be the previous n " "historical passwords of the user" msgstr "" -"Sugerencia: Al restablecer la contraseña, no se puede utilizar una " -"contraseña que el usuario haya usado en ocasiones anteriores. \n" +"Sugerencia: Al restablecer la contraseña, no se puede utilizar una contraseña que el usuario haya usado en ocasiones anteriores. \n" "Longitud mínima de la contraseña. \n" "Longitud mínima de la contraseña del administrador. \n" "Debe incluir números. \n" "Debe incluir caracteres especiales. \n" -"Cuando el número de intentos fallidos de inicio de sesión del usuario " -"alcance el límite, se prohibirá el inicio de sesión durante este " -"intervalo. \n" +"Cuando el número de intentos fallidos de inicio de sesión del usuario alcance el límite, se prohibirá el inicio de sesión durante este intervalo. \n" "Limitar el número de intentos fallidos de inicio de sesión del usuario. \n" "Prohibir el intervalo de inicio de sesión del usuario (minutos). \n" "Lista blanca de IP para inicio de sesión. \n" "Lista negra de IP para inicio de sesión. \n" "Solo un dispositivo puede iniciar sesión. \n" -"Cuando el usuario inicia sesión en un nuevo dispositivo, otros dispositivos " -"que ya están conectados se desconectarán automáticamente. \n" +"Cuando el usuario inicia sesión en un nuevo dispositivo, otros dispositivos que ya están conectados se desconectarán automáticamente. \n" "Solo usuarios existentes pueden iniciar sesión. \n" -"Si está habilitado, los usuarios que no existen no podrán iniciar sesión; si " -"está deshabilitado, se permitirá el inicio de sesión de otros métodos de " -"autenticación distintos del local y se creará automáticamente un usuario (si " -"el usuario no existe). \n" +"Si está habilitado, los usuarios que no existen no podrán iniciar sesión; si está deshabilitado, se permitirá el inicio de sesión de otros métodos de autenticación distintos del local y se creará automáticamente un usuario (si el usuario no existe). \n" "Inicio de sesión solo desde el origen del usuario." #: settings/serializers/security.py:41 @@ -8428,8 +8276,8 @@ msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." msgstr "" -"Cuando el número de intentos fallidos de inicio de sesión alcance el límite, " -"se prohibirá el inicio de sesión durante este intervalo" +"Cuando el número de intentos fallidos de inicio de sesión alcance el límite," +" se prohibirá el inicio de sesión durante este intervalo" #: settings/serializers/security.py:70 settings/serializers/security.py:80 msgid "Login failures count" @@ -8471,9 +8319,9 @@ msgid "" "exist)" msgstr "" "Si está habilitado, los usuarios inexistentes no podrán iniciar sesión; si " -"está deshabilitado, los usuarios de otros métodos de autenticación, salvo la " -"autenticación local, podrán iniciar sesión y se crearán automáticamente (si " -"el usuario no existe)" +"está deshabilitado, los usuarios de otros métodos de autenticación, salvo la" +" autenticación local, podrán iniciar sesión y se crearán automáticamente (si" +" el usuario no existe)" #: settings/serializers/security.py:110 msgid "Only from source login" @@ -8481,8 +8329,8 @@ msgstr "Solo se permite el inicio de sesión desde fuentes de usuarios" #: settings/serializers/security.py:112 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" @@ -8584,7 +8432,8 @@ msgstr "Activar código de verificación para inicio de sesión" #: settings/serializers/security.py:170 msgid "Enable CAPTCHA to prevent robot authentication" msgstr "" -"Habilitar el código de verificación para prevenir el inicio de sesión de bots" +"Habilitar el código de verificación para prevenir el inicio de sesión de " +"bots" #: settings/serializers/security.py:173 msgid "Suspicious Login Verification" @@ -8592,9 +8441,9 @@ msgstr "Notificación de inicio de sesión desde una ubicación diferente" #: settings/serializers/security.py:175 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" msgstr "" "Se evalúa si la dirección IP de inicio de sesión pertenece a una ciudad de " "inicio habitual; si la cuenta inicia sesión desde una ciudad poco familiar, " @@ -8651,8 +8500,8 @@ msgstr "Tiempo máximo de inactividad de conexión (min)" #: settings/serializers/security.py:228 msgid "If idle time more than it, disconnect connection." msgstr "" -"Sugerencia: si no se realizan operaciones durante más de esta configuración, " -"la conexión se desconectará" +"Sugerencia: si no se realizan operaciones durante más de esta configuración," +" la conexión se desconectará" #: settings/serializers/security.py:231 msgid "Session expire at browser closed" @@ -8674,8 +8523,8 @@ msgid "" "number of active sessions for the current asset (RDP protocol only)." msgstr "" "Cuando el usuario conecta un activo, se muestra la cantidad de sesiones en " -"línea del activo actual en la ventana de selección de cuenta (solo protocolo " -"RDP)" +"línea del activo actual en la ventana de selección de cuenta (solo protocolo" +" RDP)" #: settings/serializers/security.py:245 msgid "Max online time (hour)" @@ -8735,8 +8584,8 @@ msgstr "Registro de componentes" #: settings/serializers/terminal.py:28 msgid "" -"Allow component register, after all component setup, you should disable this " -"for security" +"Allow component register, after all component setup, you should disable this" +" for security" msgstr "" "¿Se permite el registro de componentes? Después de que todos los terminales " "se inicien, por razones de seguridad, debería estar cerrado" @@ -8752,8 +8601,8 @@ msgstr "" msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in " -"after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" msgstr "" "* Permitir que los usuarios accedan al componente KoKo a través de " "autenticación con clave pública
Si el servicio de autenticación de " @@ -8771,22 +8620,22 @@ msgstr "Cantidad de activos por página" #: settings/serializers/terminal.py:55 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" msgstr "" -"* Puede configurar la dirección y el puerto del servicio de forma individual " -"en el punto de servicio
Si está habilitado, la página de Luna mostrará " +"* Puede configurar la dirección y el puerto del servicio de forma individual" +" en el punto de servicio
Si está habilitado, la página de Luna mostrará " "el método para iniciar el cliente de la base de datos al conectar activos" #: settings/serializers/terminal.py:63 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" -"* Puede configurar la dirección y el puerto del servicio de forma individual " -"en el punto de servicio
Si está habilitado, la página de Luna mostrará " +"* Puede configurar la dirección y el puerto del servicio de forma individual" +" en el punto de servicio
Si está habilitado, la página de Luna mostrará " "un botón para descargar el archivo RDP y el método para iniciar el cliente " "RDP al conectar activos" @@ -8797,7 +8646,8 @@ msgstr "Conexión del cliente" #: settings/serializers/terminal.py:72 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to assets" +"Luna page will display the SSH client launch method when connecting to " +"assets" msgstr "" "* Permite la conexión a los componentes de KoKo a través de un cliente " "SSH
Si está habilitado, la página de Luna mostrará el método para " @@ -8813,8 +8663,8 @@ msgstr "Herramientas en la consola" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools " -"in the workbench" +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" msgstr "" "*! Si está habilitado, los usuarios con permisos RBAC podrán utilizar todas " "las herramientas en la consola" @@ -8841,12 +8691,11 @@ msgstr "Tarea de importación cíclica de usuarios LDAP registrada" #: settings/tasks/ldap.py:117 msgid "" -"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " -"sync task \n" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" -"Cuando se producen cambios en los parámetros de sincronización automática de " -"LDAP, como los parámetros de Crontab, se volverá a registrar o actualizará " +"Cuando se producen cambios en los parámetros de sincronización automática de" +" LDAP, como los parámetros de Crontab, se volverá a registrar o actualizará " "la tarea de sincronización ldap invocando esta tarea" #: settings/tasks/ldap.py:131 @@ -8855,8 +8704,7 @@ msgstr "Tarea de importación cíclica de usuarios LDAP HA registrada." #: settings/tasks/ldap.py:133 msgid "" -"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " -"LDAP HA sync task \n" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" "Cuando cambian los parámetros de sincronización automática de LDAP HA, como " @@ -8884,24 +8732,19 @@ 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 -#, fuzzy, python-brace-format -#| msgid "Please add certificate: {}" msgid "Please add certificate: {}" -msgstr "Por favor, añada el certificado" +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: {}" @@ -8910,27 +8753,22 @@ 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: {}" @@ -8943,58 +8781,47 @@ 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: {}" @@ -9003,12 +8830,10 @@ 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 {}" @@ -9084,8 +8909,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 @@ -9100,8 +8925,8 @@ msgstr "" #: templates/_message.html:26 msgid "Your password will at" msgstr "" -"Por favor haga clic en este enlace " -" para actualizarla" +"Por favor haga clic en este enlace" +" para actualizarla" #: templates/_message.html:27 #, python-format @@ -9109,8 +8934,8 @@ msgid "" "please click this link to " "update your password." msgstr "" -"Por favor, haz clic en el enlace para actualizar tu contraseña" +"Por favor, haz clic en el " +"enlace para actualizar tu contraseña" #: templates/_message.html:37 #, python-format @@ -9150,46 +8975,38 @@ msgid "Home page" msgstr "Cliente" #: templates/redirect_confirm.html:42 -#, fuzzy -#| msgid "" -#| "You are about to be redirected to an external website. Please confirm " -#| "that you trust this link: " msgid "You are about to be redirected to an external website." -msgstr "" -"Está a punto de ser redirigido a un sitio web externo, por favor confirme " -"que confía en este enlace." +msgstr "Estás a punto de ser redirigido a un sitio web externo" #: templates/redirect_confirm.html:45 msgid "Please confirm that you trust this link: " -msgstr "" +msgstr "Por favor, asegúrate de confiar en el siguiente enlace:" #: templates/redirect_confirm.html:55 msgid "Back" -msgstr "" +msgstr "Regresar" #: templates/redirect_confirm.html:70 msgid "Redirecting you to the Desktop App ( JumpServer Client )" -msgstr "" +msgstr "Redirigiendo a la aplicación de escritorio (Cliente JumpServer)" #: templates/redirect_confirm.html:73 msgid "You can safely close this window and return to the application." -msgstr "" +msgstr "Puedes cerrar esta ventana y regresar a la aplicación." #: templates/resource_download.html:20 templates/resource_download.html:36 #: users/const.py:84 msgid "Client" msgstr "" -"Cliente JumpServer, actualmente se utiliza para invocar programas de cliente " -"específicos para conectar activos, actualmente solo se admiten clientes RDP " -"y SSH, Telnet se admitirá en el futuro." +"Cliente JumpServer, actualmente se utiliza para invocar programas de cliente" +" específicos para conectar activos, actualmente solo se admiten clientes RDP" +" y SSH, Telnet se admitirá en el futuro." #: templates/resource_download.html:22 -#, fuzzy -#| msgid "JumpServer Client, currently used to launch the client" msgid "JumpServerClient, currently used to launch the client" msgstr "" -"JumpServer Client: actualmente se utiliza para iniciar programas de cliente " -"específicos y conectarlos a los activos." +"Cliente JumpServer, actualmente utilizado para invocar un programa cliente " +"específico para conectar activos" #: templates/resource_download.html:36 msgid "Microsoft" @@ -9236,7 +9053,6 @@ 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: {}" @@ -9250,7 +9066,6 @@ 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: {}" @@ -9263,7 +9078,6 @@ msgid "Invalid" msgstr "inválido" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "Prueba fallida: {}" @@ -9290,7 +9104,6 @@ msgid "Session replay" msgstr "Grabación de sesiones" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "La sesión no existe: {}" @@ -9298,7 +9111,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:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "El usuario no tiene permiso" @@ -9463,12 +9276,10 @@ msgstr "host" #: terminal/models/applet/applet.py:94 #: 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:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Error al cargar platform.yml: {}" @@ -9516,8 +9327,7 @@ msgstr "Fecha de sincronización" #: terminal/models/applet/host.py:28 msgid "Using same account" msgstr "" -"Utiliza la misma cuenta para inicializar el despliegue de la aplicación en " -"los siguientes puertos: \n" +"Utiliza la misma cuenta para inicializar el despliegue de la aplicación en los siguientes puertos: \n" "Puerto HTTPS \n" "Puerto HTTP \n" "Puerto SSH \n" @@ -9828,19 +9638,16 @@ msgstr "Dirección del servicio Core" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" "Nota: Se utiliza para la comunicación entre el publicador de aplicaciones y " -"el servicio Core. Si el publicador y el servicio Core están en la misma red, " -"se recomienda ingresar la dirección de la red interna, de lo contrario, " +"el servicio Core. Si el publicador y el servicio Core están en la misma red," +" se recomienda ingresar la dirección de la red interna, de lo contrario, " "ingrese la URL del sitio actual.
Por ejemplo: https://172.16.10.110 o " "https://dev.jumpserver.com" @@ -9855,12 +9662,13 @@ msgstr "Licencia RDS ya existente" #: terminal/serializers/applet_host.py:50 msgid "" "If not exist, the RDS will be in trial mode, and the trial period is 120 " -"days. Detail" +"days. Detail" msgstr "" "Si no existe, RDS estará en modo de prueba, con un período de prueba de 120 " -"días. Más detalles" +"días. Más " +"detalles" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9880,8 +9688,8 @@ msgid "" "login connected, previous session will be disconnected." msgstr "" "Nota: Un usuario de RDS solo puede tener una sesión activa a la vez. Si se " -"establece esto, la sesión anterior se desconectará la próxima vez que inicie " -"sesión." +"establece esto, la sesión anterior se desconectará la próxima vez que inicie" +" sesión." #: terminal/serializers/applet_host.py:65 msgid "RDS Max Disconnection Time (ms)" @@ -9904,8 +9712,8 @@ msgstr "" #: terminal/serializers/applet_host.py:74 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." msgstr "" "Nota: Establece el tiempo de cierre de sesión de las sesiones de RemoteAPP " "después de cerrar todas las aplicaciones RemoteApp (0 milisegundos, cerrar " @@ -9918,11 +9726,11 @@ msgstr "Estado de carga" #: terminal/serializers/applet_host.py:97 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" "Estas cuentas se utilizan para conectar aplicaciones publicadas, y " "actualmente se dividen en dos tipos:
Una es dedicada, donde cada " @@ -10001,8 +9809,8 @@ msgstr "" #: terminal/serializers/endpoint.py:54 msgid "" -"The assets within this IP range or Host, the following endpoint will be used " -"for the connection" +"The assets within this IP range or Host, the following endpoint will be used" +" for the connection" msgstr "" "Los activos dentro de este rango de IP o de este host se conectarán " "utilizando el siguiente punto final." @@ -10047,7 +9855,6 @@ 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 `{}`" @@ -10275,8 +10082,7 @@ msgstr "Eliminación de sesiones desconectadas." #: terminal/tasks.py:45 msgid "" -"Check every 10 minutes for asset connection sessions that have been inactive " -"for 3 \n" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" " minutes and mark these sessions as completed" msgstr "" "Cada 10 minutos, se revisan las sesiones de conexión de activos inactivos " @@ -10288,8 +10094,7 @@ msgstr "Subir la grabación de la sesión al almacenamiento externo." #: terminal/tasks.py:70 terminal/tasks.py:104 msgid "" -"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " -"and \n" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" " recordings will be uploaded to external storage" msgstr "" "Si se ha configurado SERVER_REPLAY_STORAGE, los archivos subidos a través " @@ -10307,8 +10112,7 @@ msgstr "Despliegue de la aplicación" #: terminal/tasks.py:126 msgid "" -"When deploying from the remote application publisher details page, and the " -"'Deploy' \n" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" " button is clicked, this task will be executed" msgstr "" "Despliegue del publicador, al hacer clic en desplegar, ejecutar esta acción" @@ -10319,8 +10123,7 @@ msgstr "Instalar aplicación" #: terminal/tasks.py:140 msgid "" -"When the 'Deploy' button is clicked in the 'Remote Application' section of " -"the remote \n" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" " application publisher details page, this task will be executed" msgstr "" "Al hacer clic en desplegar en los detalles del publicador de la aplicación " @@ -10332,12 +10135,11 @@ msgstr "Desinstalar aplicación" #: terminal/tasks.py:155 msgid "" -"When the 'Uninstall' button is clicked in the 'Remote Application' section " -"of the \n" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" " remote application publisher details page, this task will be executed" msgstr "" -"Al hacer clic en desinstalar en los detalles del publicador de la aplicación " -"remota, ejecutar esta acción" +"Al hacer clic en desinstalar en los detalles del publicador de la aplicación" +" remota, ejecutar esta acción" #: terminal/tasks.py:167 msgid "Generate applet host accounts" @@ -10345,8 +10147,7 @@ msgstr "Recopilar cuentas en la aplicación remota" #: terminal/tasks.py:170 msgid "" -"When a remote publishing server is created and an account needs to be " -"created \n" +"When a remote publishing server is created and an account needs to be created \n" " automatically, this task will be executed" msgstr "" "Al crear un publicador remoto, ejecutar esta acción si se necesita crear " @@ -10359,17 +10160,14 @@ msgstr "" #: terminal/tasks.py:186 msgid "" -"Check every day at midnight whether the external storage for commands and " -"recordings \n" -" is accessible. If it is not accessible, send a notification to the " -"recipients specified \n" -" in 'System Settings - Notifications - Subscription - Storage - " -"Connectivity'" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" msgstr "" "Verificar diariamente a las 00:00 la conectividad de los comandos y el " "almacenamiento externo de grabaciones; si no es conectable, enviar a: " -"Configuración del sistema - Configuración de notificaciones - Suscripción de " -"mensajes - receptores de la configuración de almacenamiento de comandos y " +"Configuración del sistema - Configuración de notificaciones - Suscripción de" +" mensajes - receptores de la configuración de almacenamiento de comandos y " "grabaciones" #: terminal/templates/terminal/_msg_command_alert.html:10 @@ -10378,8 +10176,8 @@ msgstr "Ver" #: terminal/templates/terminal/_msg_command_warning.html:5 msgid "" -"We would like to inform you that a command alert has been triggered with the " -"following details:" +"We would like to inform you that a command alert has been triggered with the" +" following details:" msgstr "" "Queremos informarle que se ha activado la alerta de comando, los detalles " "son los siguientes:" @@ -10456,13 +10254,12 @@ msgid "Ticket already closed" msgstr "El ticket ya ha sido cerrado" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" msgstr "" -"Creado a través de un ticket, Título del ticket: {}, Solicitante del ticket: " -"{}, Persona encargada del ticket: {}, ID del ticket: {}" +"Creado a través de un ticket, Título del ticket: {}, Solicitante del ticket:" +" {}, Persona encargada del ticket: {}, ID del ticket: {}" #: tickets/handlers/base.py:84 msgid "Change field" @@ -10477,7 +10274,6 @@ 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" @@ -10617,23 +10413,18 @@ msgid "Ticket applied info" msgstr "Información de solicitud de la orden de trabajo" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" msgstr "Tienes una nueva orden de trabajo, solicitante - {}" #: tickets/notifications.py:120 -#, fuzzy, python-brace-format -#| msgid "{}: New Ticket - {} ({})" msgid "{}: New Ticket - {} ({})" -msgstr "Nueva orden de trabajo - {} ({})" +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 - {} ({})" @@ -10663,7 +10454,6 @@ 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 ({}-{})" @@ -10672,7 +10462,6 @@ 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" @@ -10681,7 +10470,6 @@ 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" @@ -10733,7 +10521,8 @@ msgstr "Este usuario no tiene autorización para aprobar esta orden de trabajo" #: users/api/user.py:64 msgid "Cannot delete the admin user. Please disable it instead." -msgstr "No se puede eliminar el usuario administrador. Por favor, desactívelo." +msgstr "" +"No se puede eliminar el usuario administrador. Por favor, desactívelo." #: users/api/user.py:162 msgid "Can not invite self" @@ -10857,8 +10646,8 @@ msgstr "" #: users/forms/profile.py:69 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" "Para proteger su seguridad y la de la empresa, asegúrese de resguardar " @@ -11064,8 +10853,8 @@ msgstr "Nombre del tema del terminal" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files, " -"account password change results files" +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" msgstr "" "Contraseña de cifrado de archivos, utilice esta contraseña para descifrar " "cuando el correo enviado por el sistema contenga archivos adjuntos.
Ej: " @@ -11092,7 +10881,8 @@ msgstr "Carga asíncrona del árbol de activos" msgid "Connect default open method" msgstr "Forma predeterminada de apertura de conexión" -#: users/serializers/preference/luna.py:34 xpack/plugins/interface/models.py:41 +#: users/serializers/preference/luna.py:34 +#: xpack/plugins/interface/models.py:41 #: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "Tema" @@ -11160,7 +10950,6 @@ 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" @@ -11174,8 +10963,8 @@ msgstr "Rol del sistema" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across " -"all organizations" +"System roles are roles at the system level, and they will take effect across" +" all organizations" msgstr "" "El rol del sistema es un rol a nivel de sistema que se aplicará en toda la " "organización" @@ -11254,8 +11043,8 @@ msgid "" "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -"Origen del usuario identifica el lugar de creación del usuario, puede ser AD " -"u otra fuente. Las configuraciones de seguridad pueden restringir a los " +"Origen del usuario identifica el lugar de creación del usuario, puede ser AD" +" u otra fuente. Las configuraciones de seguridad pueden restringir a los " "usuarios para que solo inicien sesión en el sistema desde fuentes " "específicas." @@ -11281,10 +11070,11 @@ msgstr "Hay clave pública" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for more" +"* For security, only a partial of users is displayed. You can search for " +"more" msgstr "" -"* Por razones de seguridad, solo se muestran algunos usuarios. Puedes buscar " -"más" +"* Por razones de seguridad, solo se muestran algunos usuarios. Puedes buscar" +" más" #: users/serializers/user.py:461 msgid "name not unique" @@ -11293,8 +11083,7 @@ msgstr "Nombres duplicados" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" "El administrador ha habilitado 'solo permitir que los usuarios existentes " "inicien sesión', el usuario actual no está en la lista, por favor contacta " @@ -11306,13 +11095,12 @@ msgstr "Limpiar sesiones de usuario vencidas" #: users/signal_handlers.py:181 msgid "" -"After logging in via the web, a user session record is created. At 2 a.m. " -"every day, \n" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" " the system cleans up inactive user devices" msgstr "" -"Después de iniciar sesión en la web, se generará un registro en línea de las " -"sesiones de usuario. A las 2 de la mañana, se limpiarán los dispositivos de " -"usuario que no están en línea." +"Después de iniciar sesión en la web, se generará un registro en línea de las" +" sesiones de usuario. A las 2 de la mañana, se limpiarán los dispositivos de" +" usuario que no están en línea." #: users/tasks.py:26 msgid "Check password expired" @@ -11320,8 +11108,7 @@ msgstr "Verificar si la contraseña ha vencido" #: users/tasks.py:28 msgid "" -"Check every day at 10 AM whether the passwords of users in the system are " -"expired, \n" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" " and send a notification 5 days in advance" msgstr "" "Cada día a las 10 de la mañana se verifica si las contraseñas de los " @@ -11334,10 +11121,8 @@ msgstr "Verificación periódica del vencimiento de contraseñas" #: users/tasks.py:48 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if passwords have expired" msgstr "" "Con cada iteración de la versión, pueden añadirse nuevas tareas o " @@ -11351,8 +11136,7 @@ msgstr "Verificar si el usuario ha vencido" #: users/tasks.py:69 msgid "" -"Check every day at 2 p.m whether the users in the system are expired, and " -"send a \n" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" " notification 5 days in advance" msgstr "" "Cada día a las 2 de la tarde se verifica si los usuarios en el sistema han " @@ -11364,10 +11148,8 @@ msgstr "Detección periódica de vencimiento de usuarios" #: users/tasks.py:92 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if users have expired" msgstr "" "Con cada iteración de la versión, pueden añadirse nuevas tareas o " @@ -11381,10 +11163,8 @@ msgstr "Verificación de usuarios no activos" #: users/tasks.py:113 msgid "" -"At 2 p.m. every day, according to the configuration in \"System Settings - " -"Security - \n" -" Auth security - Auto disable threshold\" users who have not logged " -"in or whose API keys \n" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" " have not been used for a long time will be disabled" msgstr "" "Todos los días a las 2 de la tarde, conforme a la configuración del sistema " @@ -11454,15 +11234,15 @@ msgstr "Haga clic aquí para establecer la contraseña." #: users/templates/users/forgot_password.html:46 msgid "Input your email account, that will send a email to your" msgstr "" -"Ingrese su correo electrónico, se enviará un correo de restablecimiento a su " -"bandeja de entrada." +"Ingrese su correo electrónico, se enviará un correo de restablecimiento a su" +" bandeja de entrada." #: users/templates/users/forgot_password.html:49 msgid "" "Enter your mobile number and a verification code will be sent to your phone" msgstr "" -"Introduce tu número de teléfono, el código de verificación será enviado a tu " -"móvil" +"Introduce tu número de teléfono, el código de verificación será enviado a tu" +" móvil" #: users/templates/users/forgot_password.html:71 msgid "Email account" @@ -11532,8 +11312,8 @@ msgstr "Vincular verificador MFA" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" msgstr "" "Utilice la aplicación de verificación MFA para escanear el siguiente código " "QR y obtener el código de 6 dígitos" @@ -11568,9 +11348,9 @@ msgid "" "After installation, click the next step to enter the binding page (if " "installed, go to the next step directly)." msgstr "" -"Una vez completada la instalación, haga clic en siguiente para ingresar a la " -"página de vinculación (si ya está instalada, vaya directamente al siguiente " -"paso)" +"Una vez completada la instalación, haga clic en siguiente para ingresar a la" +" página de vinculación (si ya está instalada, vaya directamente al siguiente" +" paso)" #: users/templates/users/user_password_verify.html:8 #: users/templates/users/user_password_verify.html:9 @@ -11618,7 +11398,8 @@ msgstr "MFA(OTP) habilitado con éxito" #: users/views/profile/otp.py:135 msgid "OTP enable success, return login page" -msgstr "MFA(OTP) habilitado con éxito, regrese a la página de inicio de sesión" +msgstr "" +"MFA(OTP) habilitado con éxito, regrese a la página de inicio de sesión" #: users/views/profile/otp.py:177 msgid "Disable OTP" @@ -11638,10 +11419,9 @@ 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: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" msgstr "" "Usuarios no locales sólo pueden iniciar sesión desde plataformas de " "terceros, no se admite el cambio de contraseña: {}" @@ -11651,7 +11431,6 @@ 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 " @@ -11662,15 +11441,14 @@ 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" #: users/views/profile/reset.py:239 msgid "Reset password success, return to login page" msgstr "" -"La contraseña se ha restablecido con éxito, regrese a la página de inicio de " -"sesión." +"La contraseña se ha restablecido con éxito, regrese a la página de inicio de" +" sesión." #: xpack/apps.py:8 msgid "XPACK" @@ -11681,20 +11459,18 @@ msgid "" "Based on the current task configuration, assets that do not match the " "strategy will skipped." msgstr "" -"Según la configuración de la tarea actual, los activos que no cumplen con la " -"política serán omitidos." +"Según la configuración de la tarea actual, los activos que no cumplen con la" +" política serán omitidos." #: xpack/plugins/cloud/api.py:73 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." @@ -11751,10 +11527,8 @@ msgid "Volcengine" msgstr "Volcano Engine" #: xpack/plugins/cloud/const.py:22 -#, fuzzy -#| msgid "Huawei Cloud" msgid "State Cloud" -msgstr "Huawei Cloud" +msgstr "Nube Tianyi" #: xpack/plugins/cloud/const.py:24 msgid "VMware" @@ -11894,10 +11668,6 @@ 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:290 -msgid "Instance" -msgstr "Instancia" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -12042,11 +11812,16 @@ msgstr "Tarea de sincronización" msgid "Sync instance task history" msgstr "Historial de tareas de sincronización de instancia" +#: xpack/plugins/cloud/models.py:290 +msgid "Instance" +msgstr "Instancia" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "Detalles de la instancia sincronizada" -#: xpack/plugins/cloud/models.py:319 xpack/plugins/cloud/serializers/task.py:79 +#: xpack/plugins/cloud/models.py:319 +#: xpack/plugins/cloud/serializers/task.py:79 msgid "Rule relation" msgstr "Relación de condiciones" @@ -12102,7 +11877,8 @@ msgstr "Coincidencia de regla" msgid "Rule value" msgstr "Valor de regla" -#: xpack/plugins/cloud/models.py:395 xpack/plugins/cloud/serializers/task.py:82 +#: xpack/plugins/cloud/models.py:395 +#: xpack/plugins/cloud/serializers/task.py:82 msgid "Strategy rule" msgstr "Condición" @@ -12118,7 +11894,8 @@ msgstr "Atributos de acción" msgid "Action value" msgstr "Valor de acción" -#: xpack/plugins/cloud/models.py:422 xpack/plugins/cloud/serializers/task.py:85 +#: xpack/plugins/cloud/models.py:422 +#: xpack/plugins/cloud/serializers/task.py:85 msgid "Strategy action" msgstr "Acción" @@ -12377,12 +12154,6 @@ msgstr "Punto final de API" msgid "Auto node classification" msgstr "Clasificación automática de nodos" -#: xpack/plugins/cloud/serializers/account_attrs.py:108 -#, fuzzy -#| msgid "Domain name" -msgid "domain_name" -msgstr "Nombre de dominio" - #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "Dirección de autenticación" @@ -12396,8 +12167,6 @@ msgid "User domain" msgstr "Dominio del usuario" #: xpack/plugins/cloud/serializers/account_attrs.py:157 -#, fuzzy -#| msgid "Project" msgid "Project ID" msgstr "proyecto" @@ -12418,7 +12187,6 @@ 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: `{}`, {}" @@ -12467,8 +12235,8 @@ msgstr "Número de instancias" #: xpack/plugins/cloud/tasks.py:33 msgid "" -"Execute this task when manually or scheduled cloud synchronization tasks are " -"performed" +"Execute this task when manually or scheduled cloud synchronization tasks are" +" performed" msgstr "" "Ejecutar esta tarea al realizar una acción manual o programada de " "sincronización en la nube." @@ -12481,10 +12249,8 @@ msgstr "" #: xpack/plugins/cloud/tasks.py:52 msgid "" -"Every day, according to the configuration in \"System Settings - Tasks - " -"Regular \n" -" clean-up - Cloud sync task history retention days\" the system will " -"clean up the execution \n" +"Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" " records generated by cloud synchronization" msgstr "" "Todos los días, el sistema limpiará los registros generados durante el " @@ -12540,26 +12306,3 @@ msgstr "Importación de licencia exitosa" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "Licencia no válida" - -#~ msgid "" -#~ "CAS login was successful, but no corresponding local user was found in " -#~ "the system, and automatic user creation is disabled in the CAS " -#~ "authentication configuration. Login failed." -#~ msgstr "" -#~ "El inicio de sesión en CAS fue exitoso, pero el sistema no encontró " -#~ "ningún usuario local y la función de creación automática de usuarios no " -#~ "está habilitada en la configuración de autenticación de CAS, por lo que " -#~ "el inicio de sesión ha fallado." - -#~ msgid "Invalid token or cache refreshed." -#~ msgstr "El token de actualización o la caché son inválidos." - -#~ msgid "Create user" -#~ msgstr "Crear usuario (si no existe)" - -#~ msgid "" -#~ "After successful user authentication, if the user does not exist, " -#~ "automatically create the user" -#~ msgstr "" -#~ "Después de la autenticación exitosa del usuario, si el usuario no existe, " -#~ "se crea automáticamente" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 646ead347..973a6ce44 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,23 +18,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "アカウントはすでに存在しています" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "アカウント作成に使用できる有効な資産が見つかりませんでした。" #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "アカウントが見つかりません" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "パラメータ 'action' は [{}] でなければなりません。" @@ -117,22 +116,18 @@ 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" -"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " -"secret: {}, using time: {}s" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no secret: {}, using time: {}s" msgstr "" "---\n" "概要: \n" -"通常: {}, 弱いパスワード: {}, 漏洩したパスワード: {}, 繰り返しのパスワード: " -"{}, パスワードなし: {}, 時間: {}秒" +"通常: {}, 弱いパスワード: {}, 漏洩したパスワード: {}, 繰り返しのパスワード: {}, パスワードなし: {}, 時間: {}秒" #: accounts/automations/push_account/manager.py:33 msgid "Secret cannot be empty" @@ -144,12 +139,12 @@ msgstr ">>> ゲートウェイ接続のテストタスクを開始する" #: accounts/const/account.py:6 #: accounts/serializers/automations/change_secret.py:36 -#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 -#: authentication/confirm/password.py:27 authentication/const.py:13 -#: authentication/forms.py:28 +#: audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:25 authentication/confirm/password.py:27 +#: authentication/const.py:13 authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -158,8 +153,6 @@ 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 "パスワード" @@ -217,7 +210,8 @@ msgstr "発見" msgid "Template" msgstr "テンプレート" -#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:76 +#: accounts/const/account.py:32 ops/const.py:47 +#: xpack/plugins/cloud/const.py:76 msgid "Skip" msgstr "スキップ" @@ -450,9 +444,7 @@ msgstr "Amazon Secrets Manager" msgid "" "Vault operation failed. Please retry or check your account information on " "Vault." -msgstr "" -"Vault 操作に失敗しました。再試行するか、Vault のアカウント情報を確認してくだ" -"さい。" +msgstr "Vault 操作に失敗しました。再試行するか、Vault のアカウント情報を確認してください。" #: accounts/models/account.py:85 #: accounts/models/automations/check_account.py:59 @@ -556,7 +548,7 @@ msgstr "変更状態" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -624,9 +616,11 @@ msgstr "アカウントの活動" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:39 settings/models.py:188 #: settings/serializers/msg.py:90 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 #: terminal/models/component/endpoint.py:107 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:86 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -636,7 +630,8 @@ msgstr "アカウントの活動" #: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:279 xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/serializers/task.py:77 msgid "Name" msgstr "名前" @@ -646,7 +641,7 @@ msgstr "アイコン" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -670,16 +665,19 @@ msgstr "IP グループ" #: accounts/models/application.py:23 #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:25 -#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "最後に使用した日付" #: accounts/models/application.py:24 acls/models/base.py:43 #: assets/models/asset/common.py:182 authentication/models/access_key.py:24 #: authentication/models/connection_token.py:60 -#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23 +#: authentication/models/ssh_key.py:13 +#: authentication/serializers/ssh_key.py:23 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:30 #: terminal/models/component/endpoint.py:118 #: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 #: tickets/const.py:37 @@ -913,8 +911,8 @@ msgstr "パスワードの重複" #: accounts/templates/accounts/gather_account_report.html:118 #: accounts/templates/accounts/push_account_report.html:79 #: accounts/templates/accounts/push_account_report.html:119 -#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204 -#: authentication/forms.py:21 authentication/forms.py:23 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 +#: audits/models.py:204 authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:10 #: authentication/serializers/connect_token_secret.py:43 #: authentication/serializers/connect_token_secret.py:53 @@ -926,8 +924,6 @@ 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 "ユーザー名" @@ -961,9 +957,7 @@ msgstr "確認されたアカウント" msgid "" "Perform checks and analyses based on automatically discovered account " "results, including user groups, public keys, sudoers, and other information." -msgstr "" -"自動発見されたアカウントの結果に基づいてチェック分析を行います。これには、" -"ユーザーグループ、公開鍵、sudoersなどの情報が含まれます。" +msgstr "自動発見されたアカウントの結果に基づいてチェック分析を行います。これには、ユーザーグループ、公開鍵、sudoersなどの情報が含まれます。" #: accounts/models/automations/check_account.py:142 msgid "Check the strength of your account and password" @@ -973,9 +967,7 @@ msgstr "あなたのアカウントとパスワードの強度をチェックし msgid "" "Perform checks and analyses based on the security of account passwords, " "including password strength, leakage, etc." -msgstr "" -"アカウントパスワードの安全性に対するチェック分析を行います。これには、パス" -"ワードの強度や漏洩状況などが含まれます。" +msgstr "アカウントパスワードの安全性に対するチェック分析を行います。これには、パスワードの強度や漏洩状況などが含まれます。" #: accounts/models/automations/check_account.py:151 msgid "Check if the account and password are repeated" @@ -991,8 +983,7 @@ msgstr "アカウントのパスワードが一般的なパスワードでない #: accounts/models/automations/check_account.py:158 msgid "Check whether the account password is a commonly leaked password." -msgstr "" -"アカウントのパスワードが広く知られている漏洩パスワードでないか確認します。" +msgstr "アカウントのパスワードが広く知られている漏洩パスワードでないか確認します。" #: accounts/models/automations/gather_account.py:19 msgid "Address login" @@ -1047,7 +1038,7 @@ msgid "Verify asset account" msgstr "アカウントの確認" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1112,8 +1103,7 @@ msgstr "ユーザーと同じユーザー名" #: accounts/models/virtual.py:37 msgid "Non-asset account, Input username/password on connect" -msgstr "" -"アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" +msgstr "アセットアカウントではない場合、接続時にユーザー名/パスワードを入力します" #: accounts/models/virtual.py:38 msgid "The account username name same with user on connect" @@ -1123,54 +1113,44 @@ msgstr "接続時にユーザー名と同じユーザー名を使用します" msgid "" "Connect asset without using a username and password, and it only supports " "web-based and custom-type assets" -msgstr "" -"ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタ" -"イプのアセットのみをサポートします" +msgstr "ユーザー名とパスワードを使用せずにアセットに接続します。Webベースとカスタムタイプのアセットのみをサポートします" #: accounts/notifications.py:13 accounts/notifications.py:39 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 "" -"{} -アカウントバックアップの通過タスクが完了しました。詳細は添付ファイルをご" -"覧ください" +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 " "encryption password for preference settings" msgstr "" -"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定" -"されていません-個人情報にアクセスしてください-> プリファレンス設定の基本的な" -"ファイル暗号化パスワードの設定" +"{} -アカウントのバックアップ通過タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> " +"プリファレンス設定の基本的なファイル暗号化パスワードの設定" #: accounts/notifications.py:58 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 " "password in preferences" msgstr "" -"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人" -"情報にアクセスしてください-> 環境設定で暗号化パスワードを設定する" +"{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人情報にアクセスしてください-> 環境設定で暗号化パスワードを設定する" #: accounts/notifications.py:86 msgid "Gather account change information" @@ -1217,7 +1197,6 @@ msgid "Change password and Add" msgstr "パスワードを変更して追加する" #: accounts/risk_handlers.py:127 -#, python-brace-format msgid "Execution failed: {}" msgstr "実行失敗:{}" @@ -1251,9 +1230,9 @@ msgstr "カテゴリ" #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/serializers.py:76 audits/serializers.py:211 #: authentication/models/connection_token.py:67 -#: authentication/serializers/connect_token_secret.py:138 ops/models/job.py:155 -#: perms/serializers/user_permission.py:28 terminal/models/applet/applet.py:40 -#: terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:138 +#: ops/models/job.py:155 perms/serializers/user_permission.py:28 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:152 terminal/serializers/applet.py:30 #: terminal/serializers/session.py:33 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -1276,8 +1255,7 @@ msgstr "ディレクトリサービス" #: accounts/serializers/account/account.py:278 #, python-brace-format msgid "Account already exists. Field(s): {fields} must be unique." -msgstr "" -"アカウントは既に存在します。フィールド:{fields}は一意でなければなりません。" +msgstr "アカウントは既に存在します。フィールド:{fields}は一意でなければなりません。" #: accounts/serializers/account/account.py:285 msgid "Has secret" @@ -1315,21 +1293,22 @@ msgstr "少なくとも1つのアセットまたはノードを選択します msgid "Spec info" msgstr "特別情報" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 -#: audits/models.py:97 audits/models.py:179 audits/models.py:296 -#: audits/serializers.py:212 authentication/models/connection_token.py:38 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:55 audits/models.py:97 audits/models.py:179 +#: audits/models.py:296 audits/serializers.py:212 +#: authentication/models/connection_token.py:38 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: authentication/notifications.py:16 authentication/notifications.py:55 #: notifications/models/notification.py:12 @@ -1347,7 +1326,7 @@ msgstr "ID" msgid "User" msgstr "ユーザー" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1362,8 +1341,7 @@ msgid "" "* If no username is required for authentication, enter null. For AD " "accounts, use the format username@domain." msgstr "" -"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの" -"場合は、`username@domain`のようになります。" +"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの場合は、`username@domain`のようになります。" #: accounts/serializers/account/service.py:15 #: authentication/serializers/token.py:23 @@ -1372,11 +1350,11 @@ msgstr "Access IP" #: accounts/serializers/account/service.py:28 #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 -#: ops/models/job.py:165 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:44 terminal/models/applet/applet.py:46 -#: terminal/models/applet/applet.py:383 terminal/models/applet/host.py:143 -#: terminal/models/component/endpoint.py:29 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:165 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:44 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:383 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:29 #: terminal/models/component/endpoint.py:117 #: terminal/models/session/session.py:44 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1422,21 +1400,17 @@ msgid "" "length is the length of the password, and the range is 8 to 30.\n" "lowercase indicates whether the password contains lowercase letters, \n" "uppercase indicates whether it contains uppercase letters,\n" -"digit indicates whether it contains numbers, and symbol indicates whether it " -"contains special symbols.\n" -"exclude_symbols is used to exclude specific symbols. You can fill in the " -"symbol characters to be excluded (up to 16). \n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" "If you do not need to exclude symbols, you can leave it blank.\n" -"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" msgstr "" -"length はパスワードの長さで、範囲は 8 ~ 30 です。小文字はパスワードに小文字" -"が含まれるかどうかを示し、大文字はパスワードに大文字が含まれるかどうかを示し" -"ます。digit は数字が含まれているかどうかを示し、symbol は特殊記号が含まれてい" -"るかどうかを示します。exclude_symbols は、特定のシンボルを除外するために使用" -"します (最大 16 文字)。シンボルを除外する必要がない場合は、空白のままにするこ" -"とができます。デフォルト: {\"長さ\": 16、\"小文字\": true、\"大文字\": true、" -"\"数字\": true、\"シンボル\": true、\"exclude_symbols\": \"\"}" +"length はパスワードの長さで、範囲は 8 ~ 30 " +"です。小文字はパスワードに小文字が含まれるかどうかを示し、大文字はパスワードに大文字が含まれるかどうかを示します。digit " +"は数字が含まれているかどうかを示し、symbol は特殊記号が含まれているかどうかを示します。exclude_symbols " +"は、特定のシンボルを除外するために使用します (最大 16 文字)。シンボルを除外する必要がない場合は、空白のままにすることができます。デフォルト: " +"{\"長さ\": 16、\"小文字\": true、\"大文字\": true、\"数字\": true、\"シンボル\": " +"true、\"exclude_symbols\": \"\"}" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" @@ -1458,10 +1432,8 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: " -"資産シークレット内の同じアカウント > ログインシークレット > 手動入力.
" -"セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定して" -"ください。 " +"現在、AD/LDAPからのログインのみをサポートしています。シークレットの優先順位: 資産シークレット内の同じアカウント > ログインシークレット > " +"手動入力.
セキュリティのために、「config CACHE_LOGIN_PASSWORD_ENABLED」をtrueに設定してください。 " #: accounts/serializers/automations/backup.py:19 msgid "Zip Encrypt Password" @@ -1503,8 +1475,7 @@ msgstr "実行前通知" msgid "" "Secret parameter settings, currently only effective for assets of the host " "type." -msgstr "" -"パラメータ設定は現在、AIX LINUX UNIX タイプの資産に対してのみ有効です。" +msgstr "パラメータ設定は現在、AIX LINUX UNIX タイプの資産に対してのみ有効です。" #: accounts/serializers/automations/change_secret.py:88 msgid "* Please enter the correct password length" @@ -1563,16 +1534,11 @@ msgstr "アカウント実行の自動化" #: accounts/tasks/automation.py:36 msgid "" -"Unified execution entry for account automation tasks: when the system " -"performs tasks \n" -" such as account push, password change, account verification, account " -"collection, \n" -" and gateway account verification, all tasks are executed through " -"this unified entry" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" msgstr "" -"アカウント自動化タスクの一元的な実行入口で、システムがアカウントのプッシュ、" -"パスワードの変更、アカウントの確認、アカウントの収集、ゲートウェイアカウント" -"のバリデーションタスクを実行する際、統一して現行のタスクを実行します" +"アカウント自動化タスクの一元的な実行入口で、システムがアカウントのプッシュ、パスワードの変更、アカウントの確認、アカウントの収集、ゲートウェイアカウントのバリデーションタスクを実行する際、統一して現行のタスクを実行します" #: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" @@ -1588,30 +1554,18 @@ msgstr "パスワード変更記録とプッシュ記録を定期的にクリア #: accounts/tasks/automation.py:118 msgid "" -"The system will periodically clean up unnecessary password change and push " -"records, \n" -" including their associated change tasks, execution logs, assets, and " -"accounts. When any \n" -" of these associated items are deleted, the corresponding password " -"change and push records \n" -" become invalid. Therefore, to maintain a clean and efficient " -"database, the system will \n" -" clean up expired records at 2 a.m daily, based on the interval " -"specified by \n" -" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " -"This periodic cleanup \n" -" mechanism helps free up storage space and enhances the security and " -"overall performance \n" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" " of data management" msgstr "" -"システムは定期的に不要なパスワード変更記録とプッシュ記録をクリーンアップしま" -"す。これには、関連するパスワード変更タスク、実行記録、資産、アカウントが含ま" -"れます。これらの関連項目のいずれかが削除されると、対応するパスワード変更記録" -"とプッシュ記録は無効となります。したがって、データベースの整理と高速運用のた" -"めに、システム設定ファイルの config.txt の PERM_EXPIRED_CHECK_PERIODIC の時間" -"間隔に従って毎日午前2時に時間を超えた記録をクリーニングします。この定期的なク" -"リーニングメカニズムは、ストレージスペースの解放とデータ管理のセキュリティと" -"パフォーマンスの向上の両方に役立ちます" +"システムは定期的に不要なパスワード変更記録とプッシュ記録をクリーンアップします。これには、関連するパスワード変更タスク、実行記録、資産、アカウントが含まれます。これらの関連項目のいずれかが削除されると、対応するパスワード変更記録とプッシュ記録は無効となります。したがって、データベースの整理と高速運用のために、システム設定ファイルの" +" config.txt の PERM_EXPIRED_CHECK_PERIODIC " +"の時間間隔に従って毎日午前2時に時間を超えた記録をクリーニングします。この定期的なクリーニングメカニズムは、ストレージスペースの解放とデータ管理のセキュリティとパフォーマンスの向上の両方に役立ちます" #: accounts/tasks/push_account.py:40 accounts/tasks/push_account.py:54 msgid "Push accounts to assets" @@ -1621,9 +1575,7 @@ msgstr "アカウントをアセットにプッシュ:" msgid "" "Whenever an account is created or modified and needs pushing to assets, run " "this task" -msgstr "" -"アカウントを作成または変更し、アセットにプッシュする必要があるたびに、このタ" -"スクを実行します。" +msgstr "アカウントを作成または変更し、アセットにプッシュする必要があるたびに、このタスクを実行します。" #: accounts/tasks/push_account.py:62 accounts/tasks/push_account.py:104 msgid "Change secret accounts to assets" @@ -1637,12 +1589,9 @@ msgstr "アカウントパスワードを変更し、資産に送信する際に #: accounts/tasks/remove_account.py:28 msgid "" -"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " -"accounts' this \n" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" " task will be executed" -msgstr "" -"コントロールパネル-オートメーション-アカウント収集-収集したアカウント-同期削" -"除をクリックすると、このタスクが実行されます" +msgstr "コントロールパネル-オートメーション-アカウント収集-収集したアカウント-同期削除をクリックすると、このタスクが実行されます" #: accounts/tasks/remove_account.py:50 msgid "Clean historical accounts" @@ -1650,18 +1599,13 @@ msgstr "過去のアカウントをクリアする" #: accounts/tasks/remove_account.py:52 msgid "" -"Each time an asset account is updated, a historical account is generated, so " -"it is \n" -" necessary to clean up the asset account history. The system will " -"clean up excess account \n" -" records at 2 a.m. daily based on the configuration in the \"System " -"settings - Features - \n" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" " Account storage - Record limit" msgstr "" -"資産アカウントを更新するたびに、歴史的なアカウントが生成されるため、資産アカ" -"ウントの履歴をクリーニングする必要があります。システムは、アカウントストレー" -"ジ-レコード制限の設定に基づき、毎日午前2時に超過した数量のアカウントレコード" -"をクリーニングします" +"資産アカウントを更新するたびに、歴史的なアカウントが生成されるため、資産アカウントの履歴をクリーニングする必要があります。システムは、アカウントストレージ-" +"レコード制限の設定に基づき、毎日午前2時に超過した数量のアカウントレコードをクリーニングします" #: accounts/tasks/remove_account.py:89 msgid "Remove historical accounts that are out of range." @@ -1673,12 +1617,9 @@ msgstr "関連するアカウントへの情報の同期" #: accounts/tasks/template.py:14 msgid "" -"When clicking 'Sync new secret to accounts' in 'Console - Account - " -"Templates - \n" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" " Accounts' this task will be executed" -msgstr "" -"コントロールパネル-アカウントテンプレート-アカウント-同期アカウント情報更新を" -"クリックして同期すると、このタスクが実行されます" +msgstr "コントロールパネル-アカウントテンプレート-アカウント-同期アカウント情報更新をクリックして同期すると、このタスクが実行されます" #: accounts/tasks/vault.py:33 msgid "Sync secret to vault" @@ -1688,9 +1629,7 @@ msgstr "秘密をVaultに同期する" msgid "" "When clicking 'Sync' in 'System Settings - Features - Account Storage' this " "task will be executed" -msgstr "" -"システム設定-機能設定-アカウントストレージをクリックして同期すると、このタス" -"クが実行されます" +msgstr "システム設定-機能設定-アカウントストレージをクリックして同期すると、このタスクが実行されます" #: accounts/tasks/verify_account.py:49 msgid "Verify asset account availability" @@ -1700,9 +1639,7 @@ msgstr "アセット アカウントの可用性を確認する" msgid "" "When clicking 'Test' in 'Console - Asset details - Accounts' this task will " "be executed" -msgstr "" -"コントロールパネル-資産詳細-アカウントをクリックしてテストを実行すると、この" -"タスクが実行されます" +msgstr "コントロールパネル-資産詳細-アカウントをクリックしてテストを実行すると、このタスクが実行されます" #: accounts/tasks/verify_account.py:58 msgid "Verify accounts connectivity" @@ -1844,10 +1781,9 @@ msgstr "失われたアカウントが見つかりません" #: accounts/utils.py:55 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." -msgstr "" -"パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." +msgstr "パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。" #: accounts/utils.py:63 msgid "private key invalid or passphrase error" @@ -1905,7 +1841,8 @@ msgid "1-100, the lower the value will be match first" msgstr "1-100、低い値は最初に一致します" #: acls/models/base.py:41 acls/serializers/base.py:57 -#: assets/models/cmd_filter.py:81 audits/models.py:99 audits/serializers.py:107 +#: assets/models/cmd_filter.py:81 audits/models.py:99 +#: audits/serializers.py:107 #: authentication/serializers/connect_token_secret.py:131 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:63 perms/serializers/permission.py:85 @@ -1929,7 +1866,7 @@ msgstr "ユーザー" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1974,7 +1911,6 @@ msgid "Command group" msgstr "コマンドグループ" #: acls/models/command_acl.py:86 -#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "生成された正規表現が正しくありません: {}" @@ -2081,7 +2017,8 @@ msgstr "ACL名" #: acls/notifications.py:24 acls/notifications.py:77 #: acls/templates/acls/asset_login_reminder.html:13 #: acls/templates/acls/user_login_reminder.html:11 -#: terminal/models/session/session.py:34 terminal/models/session/sharing.py:116 +#: terminal/models/session/session.py:34 +#: terminal/models/session/sharing.py:116 #: terminal/templates/terminal/_msg_command_warning.html:16 msgid "Login from" msgstr "ログイン元" @@ -2113,9 +2050,9 @@ 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" @@ -2126,23 +2063,19 @@ msgid "Recipients" msgstr "受信者" #: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79 -#, python-brace-format msgid "The organization `{}` does not exist" msgstr "組織 '{}'は存在しません" #: acls/serializers/base.py:132 -#, 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 "無効な住所: `{}`" @@ -2151,8 +2084,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 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -2202,9 +2135,7 @@ msgid "" "the asset. If you did not authorize this login or if you notice any " "suspicious activity, please take the necessary actions immediately." msgstr "" -"資産のセキュリティと適切な使用を確保するために、ログイン活動を確認してくださ" -"い。このログインを承認していない場合や、不審な活動に気付いた場合は、直ちに必" -"要な措置を講じてください。" +"資産のセキュリティと適切な使用を確保するために、ログイン活動を確認してください。このログインを承認していない場合や、不審な活動に気付いた場合は、直ちに必要な措置を講じてください。" #: acls/templates/acls/asset_login_reminder.html:20 #: acls/templates/acls/user_login_reminder.html:19 @@ -2222,9 +2153,7 @@ msgstr "ユーザー詳細" #: assets/api/asset/asset.py:153 msgid "Cannot create asset directly, you should create a host or other" -msgstr "" -"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま" -"す" +msgstr "資産を直接作成することはできません。ホストまたはその他を作成する必要があります" #: assets/api/asset/asset.py:157 msgid "The number of assets exceeds the limit of 5000" @@ -2235,7 +2164,6 @@ 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 "ルートノード ({}) を削除できません。" @@ -2256,12 +2184,10 @@ msgid "App Assets" msgstr "アプリ資産" #: assets/automations/base/manager.py:139 -#, python-brace-format msgid "Task: {} finished" msgstr "タスク:{} 完了" #: assets/automations/base/manager.py:340 -#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - プラットフォーム {} ansible 無効" @@ -2293,7 +2219,6 @@ msgid "No account" msgstr "アカウントなし" #: assets/automations/ping_gateway/manager.py:36 -#, python-brace-format msgid "Asset, {}, using account {}" msgstr "資産, {}, アカウントを使用 {}" @@ -2407,8 +2332,7 @@ msgstr "クラウド サービス" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "カスタムタイプ" @@ -2485,9 +2409,8 @@ msgstr "openssh 5.x または 6.x などの古い SSH バージョン" #: assets/const/protocol.py:53 msgid "Netcat help text" msgstr "" -"netcat (nc) をプロキシ ツールとして使用し、プロキシ サーバーからターゲット ホ" -"ストに接続を転送します。 SSH ネイティブ エージェント オプション (-W) がサポー" -"トされていない環境、またはより柔軟なタイムアウト制御が必要な環境に最適です。" +"netcat (nc) をプロキシ ツールとして使用し、プロキシ サーバーからターゲット ホストに接続を転送します。 SSH ネイティブ エージェント " +"オプション (-W) がサポートされていない環境、またはより柔軟なタイムアウト制御が必要な環境に最適です。" #: assets/const/protocol.py:64 msgid "SFTP root" @@ -2500,9 +2423,7 @@ msgid "" "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントの" -"ユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}" -"ユーザーのユーザー名" +"SFTPルートディレクトリ、サポート変数:
-${ACCOUNT}接続されたアカウントのユーザー名
-${HOME}接続されたアカウントのホームディレクトリ
-${USER}ユーザーのユーザー名" #: assets/const/protocol.py:81 msgid "Console" @@ -2523,20 +2444,17 @@ msgstr "セキュリティ" #: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the " -"security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " "via TLS.
NLA
This mode uses TLS encryption and requires the username " "and password to be given in advance" msgstr "" -"接続のセキュリティ層:
Any
クライアントとサーバーの両方でサポートされて" -"いるセキュリティプロトコルに基づいて、セキュリティモードを自動的に選択します" -"
RDP
レガシーRDP暗号化。このモードは、通常、古い Windowsサーバーや標準" -"のWindowsログイン画面が必要な場合に使用されます
TLS
TLSによって実装され" -"たRDP認証と暗号化
NLA
このモードはTLS暗号化を使用し、事前にユーザー名と" -"パスワードを提供する必要があります
" +"接続のセキュリティ層:
Any
クライアントとサーバーの両方でサポートされているセキュリティプロトコルに基づいて、セキュリティモードを自動的に選択します
RDP
レガシーRDP暗号化。このモードは、通常、古い" +" " +"Windowsサーバーや標準のWindowsログイン画面が必要な場合に使用されます
TLS
TLSによって実装されたRDP認証と暗号化
NLA
このモードはTLS暗号化を使用し、事前にユーザー名とパスワードを提供する必要があります
" #: assets/const/protocol.py:106 msgid "AD domain" @@ -2618,15 +2536,11 @@ msgstr "クラスターモードを起動" #: assets/const/protocol.py:257 msgid "Enable if this Redis instance is part of a cluster" -msgstr "" -"このRedisインスタンスがクラスターの一部である場合、クラスターモードを有効にし" -"ます。" +msgstr "このRedisインスタンスがクラスターの一部である場合、クラスターモードを有効にします。" #: assets/const/protocol.py:276 -#, fuzzy -#| msgid "Name strategy" msgid "Namespace" -msgstr "ホスト名戦略" +msgstr "ネームスペース" #: assets/const/protocol.py:288 msgid "Safe mode" @@ -2636,9 +2550,7 @@ msgstr "安全モード" msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." -msgstr "" -"安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへ" -"のアクセスなど、一部の操作が無効になります" +msgstr "安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへのアクセスなど、一部の操作が無効になります" #: assets/const/protocol.py:295 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 @@ -3082,9 +2994,7 @@ msgstr "%(value)s は偶数ではありません" msgid "" "Batch update platform in assets, skipping assets that do not meet platform " "type" -msgstr "" -"プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" -"ラットフォーム" +msgstr "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プラットフォーム" #: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" @@ -3098,17 +3008,13 @@ msgstr "契約書、形式は 名前/ポート" msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -msgstr "" -"アカウント、形式は [{\"name\": \"x\", \"username\": \"x\", \"secret\": " -"\"x\", \"secret_type\": \"パスワード\"}]" +msgstr "アカウント、形式は [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", \"secret_type\": \"パスワード\"}]" #: assets/serializers/asset/common.py:135 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" -msgstr "" -"ノードパス、形式は [\"/組織/ノード名\"]、もしノードが存在しない場合、それを作" -"成します" +msgstr "ノードパス、形式は [\"/組織/ノード名\"]、もしノードが存在しない場合、それを作成します" #: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 @@ -3140,11 +3046,10 @@ msgid "port out of range (0-65535)" msgstr "ポート番号が範囲外です (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "プロトコルが必要です: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "無効なデータ" @@ -3155,45 +3060,33 @@ msgstr "デフォルト・データベース" #: assets/serializers/asset/database.py:23 msgid "CA cert help text" msgstr "" -" Common Name (CN) フィールドは廃止されました。RFC 5280に基づき、Subject " -"Alternative Name (SAN) フィールドを使用してドメイン名を確認し、セキュリティを" -"強化してください" +" Common Name (CN) フィールドは廃止されました。RFC 5280に基づき、Subject Alternative Name (SAN) " +"フィールドを使用してドメイン名を確認し、セキュリティを強化してください" #: assets/serializers/asset/database.py:24 msgid "Postgresql ssl model help text" msgstr "" -"Prefer:私は暗号化に関心はありませんが、サーバーが暗号化をサポートしているな" -"ら、私は暗号化のコストを支払うことを喜んでいます。\n" -"Require:私のデータを暗号化してほしい、そのコストを受け入れます。私はネット" -"ワークが私が接続したいサーバーに常に接続できるように保証してくれると信じてい" -"ます。\n" -"Verify CA:私はデータが暗号化され、コストを受け入れます。私が信頼するサーバー" -"に接続されていることを確認したい。\n" -"Verify Full:私はデータが暗号化され、コストを受け入れます。私が信頼するサー" -"バーに接続されていること、そしてそれが私が指定したサーバーであることを確認し" -"たい" +"Prefer:私は暗号化に関心はありませんが、サーバーが暗号化をサポートしているなら、私は暗号化のコストを支払うことを喜んでいます。\n" +"Require:私のデータを暗号化してほしい、そのコストを受け入れます。私はネットワークが私が接続したいサーバーに常に接続できるように保証してくれると信じています。\n" +"Verify CA:私はデータが暗号化され、コストを受け入れます。私が信頼するサーバーに接続されていることを確認したい。\n" +"Verify Full:私はデータが暗号化され、コストを受け入れます。私が信頼するサーバーに接続されていること、そしてそれが私が指定したサーバーであることを確認したい" #: assets/serializers/asset/ds.py:18 msgid "" -"The domain part used by the directory service (e.g., AD) and appended to the " -"username during login, such as example.com in user@example.com." +"The domain part used by the directory service (e.g., AD) and appended to the" +" username during login, such as example.com in user@example.com." msgstr "" -"ドメイン名(Domain Name)は、ディレクトリサービス(例えばAD)にログインする際" -"に、ユーザー名の後に付加されるドメインの部分であり、例えば user@example.com " -"の場合、example.com にあたります。 \n" +"ドメイン名(Domain Name)は、ディレクトリサービス(例えばAD)にログインする際に、ユーザー名の後に付加されるドメインの部分であり、例えば user@example.com の場合、example.com にあたります。 \n" "モジュール {} は、この資産には適用されません。 \n" -"手動または定期的なクラウド同期タスクを実行する際には、このタスクを実行しま" -"す。 \n" -"毎日、システムは「システム設定-タスク-定期清掃-クラウド同期タスク履歴保持日" -"数」の設定に基づいて、クラウド同期中に生成された記録をクリーンアップします。" +"手動または定期的なクラウド同期タスクを実行する際には、このタスクを実行します。 \n" +"毎日、システムは「システム設定-タスク-定期清掃-クラウド同期タスク履歴保持日数」の設定に基づいて、クラウド同期中に生成された記録をクリーンアップします。" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" msgstr "" -"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要" -"があります。例: http(s)://host:port" +"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要があります。例: http(s)://host:port" #: assets/serializers/asset/gpt.py:24 msgid "HTTP proxy" @@ -3277,9 +3170,7 @@ msgstr "タイプ" msgid "" "A gateway is a network proxy for a zone, and when connecting assets within " "the zone, the connection is routed through the gateway." -msgstr "" -"ゲートウェイはドメインのネットワーク代理であり、ドメイン内のリソースに接続す" -"る際には、接続はゲートウェイを通してルーティングされます。" +msgstr "ゲートウェイはドメインのネットワーク代理であり、ドメイン内のリソースに接続する際には、接続はゲートウェイを通してルーティングされます。" #: assets/serializers/gateway.py:19 msgid "The platform must start with Gateway" @@ -3345,9 +3236,7 @@ msgstr "アドレスからのポート" msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." -msgstr "" -"このプロトコルはプライマリであり、資産を追加するときに設定する必要がありま" -"す。また、プライマリプロトコルは1つしかありません" +msgstr "このプロトコルはプライマリであり、資産を追加するときに設定する必要があります。また、プライマリプロトコルは1つしかありません" #: assets/serializers/platform.py:104 msgid "This protocol is required, and it must be set when adding assets." @@ -3357,14 +3246,11 @@ msgstr "このプロトコルは必須であり、資産を追加するときに msgid "" "This protocol is default, when adding assets, it will be displayed by " "default." -msgstr "" -"このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されま" -"す" +msgstr "このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されます" #: assets/serializers/platform.py:110 msgid "This protocol is public, asset will show this protocol to user" -msgstr "" -"このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" +msgstr "このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します" #: assets/serializers/platform.py:163 msgid "Help text" @@ -3384,9 +3270,8 @@ msgid "" "another, similar to logging in with a regular account and then switching to " "root" msgstr "" -"資産にアクセスする際にアカウントでログインし、その後自動的に別のアカウントに" -"切り替えます。これは、通常のアカウントでログインした後に root に切り替えるの" -"と似ています" +"資産にアクセスする際にアカウントでログインし、その後自動的に別のアカウントに切り替えます。これは、通常のアカウントでログインした後に root " +"に切り替えるのと似ています" #: assets/serializers/platform.py:211 msgid "Assets can be connected using a zone gateway" @@ -3426,12 +3311,9 @@ msgstr "資産情報の収集" #: assets/tasks/gather_facts.py:25 msgid "" -"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " -"this task \n" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" " will be executed" -msgstr "" -"コントロールパネル資産詳細-基本設定をクリックしてハードウェア情報を更新する" -"と、このタスクが実行されます" +msgstr "コントロールパネル資産詳細-基本設定をクリックしてハードウェア情報を更新すると、このタスクが実行されます" #: assets/tasks/gather_facts.py:44 msgid "Update assets hardware info: " @@ -3447,21 +3329,16 @@ msgstr "ノード下のアセット数を確認する" #: assets/tasks/nodes_amount.py:18 msgid "" -"Manually verifying asset quantities updates the asset count for nodes under " -"the \n" -" current organization. This task will be called in the following two " -"cases: when updating \n" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" " nodes and when the number of nodes exceeds 100" -msgstr "" -"手動で資産数を校正して現在の組織のノード資産数を更新する;ノードを更新する、" -"ノード数が100を超えると、このタスクが呼び出されます" +msgstr "手動で資産数を校正して現在の組織のノード資産数を更新する;ノードを更新する、ノード数が100を超えると、このタスクが呼び出されます" #: assets/tasks/nodes_amount.py:34 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" -msgstr "" -"セルフチェックのタスクはすでに実行されており、繰り返し開始することはできませ" -"ん" +"The task of self-checking is already running and cannot be started " +"repeatedly" +msgstr "セルフチェックのタスクはすでに実行されており、繰り返し開始することはできません" #: assets/tasks/nodes_amount.py:40 msgid "Periodic check the amount of assets under the node" @@ -3469,12 +3346,9 @@ msgstr "ノードの下にあるアセットの数を定期的に確認する" #: assets/tasks/nodes_amount.py:42 msgid "" -"Schedule the check_node_assets_amount_task to periodically update the asset " -"count of \n" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" " all nodes under all organizations" -msgstr "" -"check_node_assets_amount_taskタスクを定期的に呼び出し、すべての組織のすべての" -"ノードの資産数を更新します" +msgstr "check_node_assets_amount_taskタスクを定期的に呼び出し、すべての組織のすべてのノードの資産数を更新します" #: assets/tasks/ping.py:20 assets/tasks/ping.py:30 msgid "Test assets connectivity" @@ -3484,9 +3358,7 @@ msgstr "アセット接続のテスト。" msgid "" "When clicking 'Test Asset Connectivity' in 'Asset Details - Basic Settings' " "this task will be executed" -msgstr "" -"資産詳細-基本設定をクリックして資産の接続性をテストすると、このタスクが実行さ" -"れます" +msgstr "資産詳細-基本設定をクリックして資産の接続性をテストすると、このタスクが実行されます" #: assets/tasks/ping.py:46 msgid "Test if the assets under the node are connectable " @@ -3499,24 +3371,19 @@ msgstr "ゲートウェイ接続のテスト。" #: assets/tasks/ping_gateway.py:23 msgid "" -"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " -"be executed" -msgstr "" -"ネットワーク詳細-ゲートウェイ-接続テストを実行する際に、このタスクを実行しま" -"す" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" +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 "セキュリティのために、ユーザー {} をプッシュしないでください" @@ -3529,7 +3396,8 @@ msgid "App Audits" msgstr "監査" #: audits/backends/db.py:17 -msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" msgstr "文章の内容が長すぎる。Elasticsearchで操作履歴を保存する" #: audits/backends/db.py:78 @@ -3622,8 +3490,8 @@ msgstr "終了" #: audits/const.py:47 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:65 -#: terminal/serializers/session.py:181 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:65 terminal/serializers/session.py:181 msgid "Terminal" msgstr "ターミナル" @@ -3659,7 +3527,8 @@ msgstr "業務監査" #: audits/models.py:57 audits/models.py:107 audits/models.py:182 #: audits/models.py:333 authentication/models/connection_token.py:62 -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:111 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:111 msgid "Remote addr" msgstr "リモートaddr" @@ -3897,18 +3766,13 @@ msgstr "資産監査セッションタスクログのクリーンアップ" #: audits/tasks.py:135 msgid "" -"Since the system generates login logs, operation logs, file upload logs, " -"activity \n" -" logs, Celery execution logs, session recordings, command records, " -"and password change \n" -" logs, it will perform cleanup of records that exceed the time limit " -"according to the \n" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" " 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" msgstr "" -"システムはログインログ、操作ログ、ファイルアップロードログ、アクティビティロ" -"グ、セルリー実行ログ、セッション録画、コマンド記録、パスワード変更ログを生成" -"します。システムは、システム設定-タスクリスト-定期クリーニング設定に基づき、" -"毎日午前2時に時間を超えたものをクリーニングします" +"システムはログインログ、操作ログ、ファイルアップロードログ、アクティビティログ、セルリー実行ログ、セッション録画、コマンド記録、パスワード変更ログを生成します。システムは、システム設定-" +"タスクリスト-定期クリーニング設定に基づき、毎日午前2時に時間を超えたものをクリーニングします" #: audits/tasks.py:155 msgid "Upload FTP file to external storage" @@ -3916,12 +3780,10 @@ msgstr "外部ストレージへのFTPファイルのアップロード" #: audits/tasks.py:157 msgid "" -"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " -"management will be \n" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" " synchronized to external storage" msgstr "" -"SERVER_REPLAY_STORAGEが設定されている場合は、ファイルマネージャーでアップロー" -"ドしたファイルを外部ストレージに同期します" +"SERVER_REPLAY_STORAGEが設定されている場合は、ファイルマネージャーでアップロードしたファイルを外部ストレージに同期します" #: authentication/api/access_key.py:39 msgid "Access keys can be created at most 10" @@ -3936,42 +3798,39 @@ msgstr "パラメータの値には必ず %s が含まれます" msgid "This action require verify your MFA" msgstr "この操作には、MFAを検証する必要があります" -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" -msgstr "" -"再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効に" -"なっていません" +msgstr "再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効になっていません" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "匿名アカウントはこのプロパティではサポートされていません" -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "承認の有効期限が切れています" -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "ACL アクションは拒否です: {}({})" -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "ACL アクションはレビューです" -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "ACL Action は顔認証です" -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "資産ログインルールは現在の資産をサポートしていません" -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "ACL Action は顔オンラインです" -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "利用可能な顔の特徴はありません" @@ -3981,13 +3840,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "ユーザーが存在しない: {}" @@ -3996,13 +3853,10 @@ msgid "No user matched" msgstr "ユーザーにマッチしなかった" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" -msgstr "" -"ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ" -"さい。" +msgstr "ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してください。" #: authentication/api/password.py:69 #: authentication/templates/authentication/login.html:399 @@ -4014,7 +3868,6 @@ msgid "Forgot password" msgstr "パスワードを忘れた" #: authentication/api/password.py:70 authentication/mfa/email.py:42 -#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "認証コードの有効時間は {} 分" @@ -4023,10 +3876,8 @@ msgid "App Authentication" msgstr "認証" #: authentication/backends/cas/views.py:19 -#, fuzzy -#| msgid "Error" msgid "CAS Error" -msgstr "間違い" +msgstr "CAS エラー" #: authentication/backends/custom.py:60 #: authentication/backends/oauth2/backends.py:158 @@ -4044,8 +3895,7 @@ msgstr "無効なトークンヘッダー。記号文字列にはスペースを #: authentication/backends/drf.py:69 msgid "" "Invalid token header. Sign string should not contain invalid characters." -msgstr "" -"無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" +msgstr "無効なトークンヘッダー。署名文字列に無効な文字を含めることはできません。" #: authentication/backends/oauth2/views.py:73 msgid "OAuth2 Error" @@ -4058,9 +3908,7 @@ msgstr "OpenID エラー" #: authentication/backends/oidc/views.py:174 #: authentication/backends/saml2/views.py:285 msgid "Please check if a user with the same username or email already exists" -msgstr "" -"同じユーザー名またはメールアドレスのユーザーが既に存在するかどうかを確認して" -"ください" +msgstr "同じユーザー名またはメールアドレスのユーザーが既に存在するかどうかを確認してください" #: authentication/backends/passkey/api.py:40 msgid "Only register passkey for local user" @@ -4091,7 +3939,6 @@ msgid "Authentication failed password incorrect" msgstr "認証に失敗しました (ユーザー名またはパスワードが正しくありません)" #: authentication/confirm/relogin.py:11 -#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "ログイン時間が {} 分を超えました。もう一度ログインしてください" @@ -4176,36 +4023,27 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 " -"{times_try} 回試すこともできます (アカウントは {block_time} 分の間一時的に" -"ロックされます)" +"入力したユーザー名またはパスワードが正しくありません。再度入力してください。 {times_try} 回試すこともできます (アカウントは " +"{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 "" -"アカウントがロックされています (管理者に連絡してロックを解除するか、 {} 分後" -"にもう一度お試しください)" +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)" -msgstr "" -"IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行" -"してください)" +msgstr "IP がロックされています (管理者に連絡してロックを解除するか、{} 分後に再試行してください)" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" -msgstr "" -"{error} {times_try} 回も試すことができます (アカウントは {block_time} 分の間" -"一時的にロックされます)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" +msgstr "{error} {times_try} 回も試すことができます (アカウントは {block_time} 分の間一時的にロックされます)" #: authentication/errors/const.py:63 msgid "MFA required" @@ -4224,7 +4062,6 @@ msgid "Wait login confirm ticket for accept" msgstr "受け入れのためのログイン確認チケットを待つ" #: authentication/errors/const.py:67 -#, python-brace-format msgid "Login confirm ticket was {}" msgstr "ログイン確認チケットは {} でした" @@ -4294,8 +4131,7 @@ msgstr "ログインする前にパスワードを変更する必要がありま #: authentication/errors/redirect.py:101 authentication/mixins.py:448 msgid "Your password has expired, please reset before logging in" -msgstr "" -"パスワードの有効期限が切れました。ログインする前にリセットしてください。" +msgstr "パスワードの有効期限が切れました。ログインする前にリセットしてください。" #: authentication/forms.py:34 msgid "Auto-login" @@ -4330,11 +4166,9 @@ msgstr "セキュリティコードを入力してください" #: authentication/mfa/base.py:32 msgid "" -"The two-factor code you entered has either already been used or has expired. " -"Please request a new one." -msgstr "" -"入力された二重認証コードは既に使用されたか、期限切れです。新しい二重認証コー" -"ドを申請してください。" +"The two-factor code you entered has either already been used or has expired." +" Please request a new one." +msgstr "入力された二重認証コードは既に使用されたか、期限切れです。新しい二重認証コードを申請してください。" #: authentication/mfa/custom.py:21 msgid "MFA Custom code invalid" @@ -4346,8 +4180,7 @@ msgstr "カスタム MFA 検証コード" #: authentication/mfa/custom.py:57 msgid "MFA custom global enabled, cannot disable" -msgstr "" -"カスタム MFA はグローバルに有効になっており、無効にすることはできません" +msgstr "カスタム MFA はグローバルに有効になっており、無効にすることはできません" #: authentication/mfa/email.py:11 msgid "Email verify code invalid" @@ -4410,44 +4243,26 @@ msgid "Clear phone number to disable" msgstr "無効にする電話番号をクリアする" #: authentication/middleware.py:96 settings/utils/ldap.py:714 -#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "認証に失敗しました (ログインチェックが失敗する前): {}" #: authentication/mixins.py:166 -#, fuzzy -#| msgid "" -#| "The administrator has enabled \"Only allow existing users to log in\", \n" -#| " and the current user is not in the user list. Please " -#| "contact the administrator." msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please " -"contact the administrator." -msgstr "" -"管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザー" -"はユーザーリストにありません。管理者に連絡してください。" +" and the current user is not in the user list. Please contact the administrator." +msgstr "管理者は「既存のユーザーのみログインを許可」に設定しています。現在のユーザーはユーザーリストに含まれていません。管理者に連絡してください。" #: authentication/mixins.py:178 msgid "User is invalid" msgstr "無効なユーザーです" #: authentication/mixins.py:195 -#, fuzzy, python-brace-format -#| msgid "" -#| "The administrator has enabled 'Only allow login from user source'. \n" -#| " The current user source is {}. Please contact the " -#| "administrator." msgid "" " The administrator has enabled 'Only allow login from user source'. \n" -" The current user source is {}. Please contact the " -"administrator. " -msgstr "" -"管理者は「ユーザーソースからのみログインを許可」をオンにしており、現在のユー" -"ザーソースは {} です。管理者に連絡してください。" +" The current user source is {}. Please contact the administrator. " +msgstr "管理者は「ユーザーソースからのみログインを許可」に設定しています。現在のユーザーのソースは {} です。管理者に連絡してください。" #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "MFAタイプ ({}) が有効になっていない" @@ -4516,7 +4331,6 @@ msgid "Connection token inactive" msgstr "接続トークンがアクティブ化されていません" #: authentication/models/connection_token.py:174 -#, python-brace-format msgid "Connection token expired at: {}" msgstr "接続トークンの有効期限: {}" @@ -4653,7 +4467,6 @@ msgstr "組織名" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 -#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 空にしてはならない" @@ -4671,11 +4484,9 @@ msgstr "タイプを作成" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be " -"downloaded once" -msgstr "" -"作成完了後、秘密鍵をダウンロードしてください。各秘密鍵のダウンロードは一度き" -"りです" +"Please download the private key after creation. Each private key can only be" +" downloaded once" +msgstr "作成完了後、秘密鍵をダウンロードしてください。各秘密鍵のダウンロードは一度きりです" #: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 #: users/serializers/profile.py:130 users/serializers/profile.py:160 @@ -4689,9 +4500,9 @@ msgid "Is valid" msgstr "有効です" #: authentication/serializers/token.py:131 ops/models/adhoc.py:26 -#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 rbac/models/role.py:31 -#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 -#: settings/serializers/auth/oauth2.py:37 +#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 msgid "Scope" msgstr "スコープ" @@ -4701,11 +4512,9 @@ msgstr "期限切れのセッションをクリアする" #: authentication/tasks.py:21 msgid "" -"Since user logins create sessions, the system will clean up expired sessions " -"every 24 hours" -msgstr "" -"ユーザーがシステムにログインするとセッションが生成されます。システムは24時間" -"ごとに期限切れのセッションをクリーニングします" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" +msgstr "ユーザーがシステムにログインするとセッションが生成されます。システムは24時間ごとに期限切れのセッションをクリーニングします" #: authentication/tasks.py:30 msgid "Clean expired temporary, connection tokens" @@ -4720,11 +4529,8 @@ msgid "" "configured under System settings > Security > User password > Token " "Retention Period" msgstr "" -"システムは、資産に接続するか、一時的なパスワードを作成する際に、対応する接続" -"トークンまたは一時パスワードの記録を生成します。システムの安全性を確保し、" -"データストレージの量を管理するために、システムは「セキュリティ設定 > パスワー" -"ドの安全性 > トークン保持期間」の設定に基づいて、毎日午前2時にすべての期限切" -"れトークンの記録を自動的にクリーンアップします。" +"システムは、資産に接続するか、一時的なパスワードを作成する際に、対応する接続トークンまたは一時パスワードの記録を生成します。システムの安全性を確保し、データストレージの量を管理するために、システムは「セキュリティ設定" +" > パスワードの安全性 > トークン保持期間」の設定に基づいて、毎日午前2時にすべての期限切れトークンの記録を自動的にクリーンアップします。" #: authentication/templates/authentication/_access_key_modal.html:6 msgid "API key list" @@ -4806,9 +4612,7 @@ msgstr "アカウントにリモートログイン動作があります。注意 msgid "" "If you suspect that the login behavior is abnormal, please modify the " "account password in time." -msgstr "" -"ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変" -"更してください。" +msgstr "ログイン動作が異常であると疑われる場合は、時間内にアカウントのパスワードを変更してください。" #: authentication/templates/authentication/_msg_oauth_bind.html:6 msgid "Your account has just been bound to" @@ -4822,9 +4626,7 @@ msgstr "操作が独自のものでない場合は、パスワードをバイン msgid "" "Please click the link below to reset your password, if not your request, " "concern your account security" -msgstr "" -"下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場" -"合は、アカウントのセキュリティに関係します。" +msgstr "下のリンクをクリックしてパスワードをリセットしてください。リクエストがない場合は、アカウントのセキュリティに関係します。" #: authentication/templates/authentication/_msg_reset_password.html:10 msgid "Click here reset password" @@ -4867,9 +4669,7 @@ msgstr "ブラウザ" msgid "" "If the password update was not initiated by you, your account may have " "security issues" -msgstr "" -"パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題があ" -"る可能性があります" +msgstr "パスワードの更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" #: authentication/templates/authentication/_msg_rest_password_success.html:13 #: authentication/templates/authentication/_msg_rest_public_key_success.html:13 @@ -4884,9 +4684,7 @@ msgstr "公開鍵が正常に更新されました" msgid "" "If the public key update was not initiated by you, your account may have " "security issues" -msgstr "" -"公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可" -"能性があります" +msgstr "公開鍵の更新が開始されなかった場合、アカウントにセキュリティ上の問題がある可能性があります" #: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 #: templates/flash_message_standalone.html:28 tickets/const.py:19 @@ -4901,9 +4699,7 @@ msgstr "再試行" msgid "" "Configuration file has problems and cannot be logged in. Please contact the " "administrator or view latest docs" -msgstr "" -"設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のド" -"キュメントを参照してください。" +msgstr "設定ファイルに問題があり、ログインできません。管理者に連絡するか、最新のドキュメントを参照してください。" #: authentication/templates/authentication/login.html:314 msgid "If you are administrator, you can update the config resolve it, set" @@ -4949,9 +4745,7 @@ msgstr "コピー成功" msgid "" "This page is not served over HTTPS. Please use HTTPS to ensure security of " "your credentials." -msgstr "" -"このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリ" -"ティを確保してください。" +msgstr "このページはHTTPSで提供されていません。HTTPSを使用して、資格情報のセキュリティを確保してください。" #: authentication/templates/authentication/passkey.html:177 msgid "Do you want to retry ?" @@ -5047,7 +4841,6 @@ msgid "Redirecting" msgstr "リダイレクト" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "{} 認証へのリダイレクト" @@ -5056,12 +4849,10 @@ 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" @@ -5083,11 +4874,9 @@ msgstr "ログアウト成功、ログインページを返す" #: authentication/views/mixins.py:28 msgid "" -"For your safety, automatic redirection login is not supported on the client. " -"If you need to open it in the client, please log in again" -msgstr "" -"安全のため、クライアントでの自動リダイレクトログインはサポートされていませ" -"ん。クライアントで開く必要がある場合は、再度ログインしてください" +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" +msgstr "安全のため、クライアントでの自動リダイレクトログインはサポートされていません。クライアントで開く必要がある場合は、再度ログインしてください" #: authentication/views/slack.py:36 authentication/views/slack.py:124 msgid "Slack Error" @@ -5213,13 +5002,12 @@ msgstr "Secret Keyを使用したフィールドの暗号化" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 " -"{'type':'ids','ids':[]}或 #タイプ:属性、属性:[#名前:ip、照合:正確、" -"値:1.1.1.1}" +"JSON言語多对多字段无效,应为 #「タイプ」:「すべて」#「すべて」或 {'type':'ids','ids':[]}或 " +"#タイプ:属性、属性:[#名前:ip、照合:正確、値:1.1.1.1}" #: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" @@ -5260,7 +5048,6 @@ msgid "Updated by" msgstr "によって更新" #: common/db/validators.py:9 -#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "無効なポート範囲です。{}-{} のような範囲内である必要があります" @@ -5273,12 +5060,10 @@ 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 "解析ファイルエラー: {}" @@ -5291,7 +5076,6 @@ msgid "Yes/No" msgstr "はい/いいえ" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "テキスト、最大長 {}" @@ -5300,26 +5084,20 @@ msgid "Long text, no length limit" msgstr "長文テキスト、長さ制限なし" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "数字、最小 {} 最大 {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "日付時刻形式 {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" -msgstr "" -"選択、形式: 名前(値)、名前はオプショナルで、読みやすいように、値は必須です。" -"選択肢は {}" +msgstr "選択、形式: 名前(値)、名前はオプショナルで、読みやすいように、値は必須です。選択肢は {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "オプション、可能なオプションは {}" @@ -5334,9 +5112,7 @@ msgstr "タグ、形式: [\"キー:値\"]" #: common/drf/renders/base.py:165 msgid "" "Object, format name(id), name is optional for human read, id is requisite" -msgstr "" -"関連項目、形式: 名前(id)、名前はオプショナルで、読みやすいように、idは必須で" -"す" +msgstr "関連項目、形式: 名前(id)、名前はオプショナルで、読みやすいように、idは必須です" #: common/drf/renders/base.py:167 msgid "Object, format id" @@ -5346,28 +5122,21 @@ msgstr "関連項目、形式は id" msgid "" "Objects, format [\"name(id)\", ...], name is optional for human read, id is " "requisite" -msgstr "" -"多関連項目、形式: [\"名前(id)\", ...]、名前はオプショナルで、読みやすいよう" -"に、idは必須です" +msgstr "多関連項目、形式: [\"名前(id)\", ...]、名前はオプショナルで、読みやすいように、idは必須です" #: common/drf/renders/base.py:173 -msgid "" -"Labels, format [\"key:value\", ...], if label not exists, will create it" -msgstr "" -"タグ、形式: [\"キー:値\", ...]、もしタグが存在しない場合、それを作成します" +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" +msgstr "タグ、形式: [\"キー:値\", ...]、もしタグが存在しない場合、それを作成します" #: common/drf/renders/base.py:175 msgid "Objects, format [\"id\", ...]" msgstr "多関連項目、形式は [\"id\", ...]" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" -msgstr "" -"{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワード" -"に暗号化パスワードを設定してください" +msgstr "{} - 暗号化パスワードが設定されていません-個人情報->ファイル暗号化パスワードに暗号化パスワードを設定してください" #: common/drf/renders/mixins.py:37 labels/serializers.py:22 msgid "Resource count" @@ -5426,9 +5195,7 @@ msgstr "サポートされていません Elasticsearch8" msgid "" "Connection failed: Self-signed certificate used. Please check server " "certificate configuration" -msgstr "" -"接続失敗:自己署名証明書が使用されています,サーバーの証明書設定を確認してく" -"ださい" +msgstr "接続失敗:自己署名証明書が使用されています,サーバーの証明書設定を確認してください" #: common/sdk/im/exceptions.py:23 msgid "Network error, please contact system administrator" @@ -5451,7 +5218,6 @@ 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 "接続ゲートウェイサーバエラー, 非: {}" @@ -5464,10 +5230,6 @@ 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 "アリ雲" @@ -5489,7 +5251,6 @@ msgid "Custom type (File)" msgstr "カスタム(ファイル)" #: common/sdk/sms/endpoint.py:32 -#, python-brace-format msgid "SMS provider not support: {}" msgstr "SMSプロバイダーはサポートしていません: {}" @@ -5506,7 +5267,6 @@ msgid "The verification code is incorrect" msgstr "確認コードが正しくありません" #: common/sdk/sms/exceptions.py:18 -#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "{} 秒待ってから送信してください" @@ -5514,6 +5274,10 @@ msgstr "{} 秒待ってから送信してください" msgid "Children" msgstr "ノード" +#: common/serializers/common.py:98 +msgid "File" +msgstr "書類" + #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "無効なデータ" @@ -5535,11 +5299,10 @@ msgstr "間違ったデータ タイプです。リストにする必要があ #: common/serializers/fields.py:353 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 -#, python-brace-format msgid "Invalid choice: {}" msgstr "無効なオプション: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "ラベル" @@ -5558,14 +5321,10 @@ msgstr "メールの添付ファイルを送信" #: common/tasks.py:81 msgid "" -"When an account password is changed or an account backup generates " -"attachments, \n" -" this task needs to be executed for sending emails and handling " -"attachments" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" msgstr "" -"アカウントのパスワードを変更したり、アカウントのバックアップが添付ファイルを" -"生成したりすると、メールと添付ファイルを送信するためのタスクを実行する必要が" -"あります" +"アカウントのパスワードを変更したり、アカウントのバックアップが添付ファイルを生成したりすると、メールと添付ファイルを送信するためのタスクを実行する必要があります" #: common/tasks.py:104 msgid "Upload account backup to external storage" @@ -5575,9 +5334,7 @@ msgstr " セッション映像を外部ストレージにアップロードす msgid "" "When performing an account backup, this task needs to be executed to " "external storage (SFTP)" -msgstr "" -"アカウントのバックアップを実行するときに外部ストレージ(sftp)にアクセスする" -"ため、このタスクを実行します" +msgstr "アカウントのバックアップを実行するときに外部ストレージ(sftp)にアクセスするため、このタスクを実行します" #: common/utils/ip/geoip/utils.py:37 msgid "Invalid ip" @@ -5598,12 +5355,9 @@ msgstr "SMS 認証コードを送信する" #: common/utils/verify_code.py:19 msgid "" -"When resetting a password, forgetting a password, or verifying MFA, this " -"task needs to \n" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" " be executed to send SMS messages" -msgstr "" -"パスワードをリセットするか、パスワードを忘れるか、mfaを検証するときにSMSを送" -"信する必要がある場合、このタスクを実行します" +msgstr "パスワードをリセットするか、パスワードを忘れるか、mfaを検証するときにSMSを送信する必要がある場合、このタスクを実行します" #: common/validators.py:16 msgid "Special char not allowed" @@ -5642,10 +5396,6 @@ msgstr "アカウントが正常に作成されました" msgid "JumpServer - An open-source PAM" msgstr "JumpServer オープンソースの要塞ホスト" -#: jumpserver/context_processor.py:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "

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

" @@ -5656,17 +5406,13 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要" -"があります。urlディストリビューションにnginxを設定します。
この" -"ページが表示されている場合は、nginxリスニングポートにアクセスしていないことを" -"証明してください。頑張ってください。" +"
" +"Lunaは個別にデプロイされたプログラムです。Luna、kokoをデプロイする必要があります。urlディストリビューションにnginxを設定します。
" +" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" #: jumpserver/views/other.py:78 -#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" -msgstr "" -"Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要がありま" -"す。" +msgstr "Websocket サーバーはport: {}で実行されます。nginxでプロキシする必要があります。" #: jumpserver/views/other.py:92 msgid "" @@ -5674,10 +5420,8 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要が" -"あります。URL配布用にnginxを設定します。
このページが表示されて" -"いる場合は、nginxリスニングポートにアクセスしていないことを証明してください。" -"頑張ってください。" +"
Kokoは個別にデプロイされているプログラムです。Kokoをデプロイする必要があります。URL配布用にnginxを設定します。
" +" このページが表示されている場合は、nginxリスニングポートにアクセスしていないことを証明してください。頑張ってください。" #: labels/apps.py:8 msgid "App Labels" @@ -5724,7 +5468,6 @@ msgid "User message" msgstr "ユーザメッセージ" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} 購読" @@ -5738,8 +5481,7 @@ msgstr "投稿サイトニュース" #: notifications/notifications.py:49 msgid "" -"This task needs to be executed for sending internal messages for system " -"alerts, \n" +"This task needs to be executed for sending internal messages for system alerts, \n" " work orders, and other notifications" msgstr "システムの警告やチケットなどを送信するためには、このタスクを実行します" @@ -5761,36 +5503,28 @@ msgid "Waiting task start" msgstr "タスク開始待ち" #: ops/api/celery.py:269 -#, fuzzy, python-brace-format -#| msgid "Task {} not found" msgid "Task {} not found" -msgstr "タスクは存在しません" +msgstr "タスク {} は存在しません。" #: ops/api/celery.py:276 -#, fuzzy, python-brace-format -#| msgid "Task {} args or kwargs error" msgid "Task {} args or kwargs error" -msgstr "タスク実行パラメータエラー" +msgstr "タスク {} の実行パラメータが誤っています。" #: ops/api/job.py:65 -#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" -msgstr "" +msgstr "ログイン資産 {}({}) が拒否されました。ログイン資産ルール ACL ({}) によって制限されています。" #: ops/api/job.py:88 #, python-brace-format msgid "" "Asset ({asset}) must have at least one of the following protocols added: " "SSH, SFTP, or WinRM" -msgstr "" -"資産({asset})には、少なくともSSH、SFTP、WinRMのいずれか一つのプロトコルを追加" -"する必要があります" +msgstr "資産({asset})には、少なくともSSH、SFTP、WinRMのいずれか一つのプロトコルを追加する必要があります" #: ops/api/job.py:89 #, python-brace-format msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" -msgstr "" -"資産({asset})の認証にはSSH、SFTP、またはWinRMプロトコルが不足しています" +msgstr "資産({asset})の認証にはSSH、SFTP、またはWinRMプロトコルが不足しています" #: ops/api/job.py:90 #, python-brace-format @@ -5805,9 +5539,7 @@ msgstr "重複したファイルが存在する" #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" -msgstr "" -"ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択し" -"てください。" +msgstr "ファイルサイズが最大制限を超えています。{limit}MB より小さいファイルを選択してください。" #: ops/api/job.py:273 msgid "" @@ -5978,12 +5710,14 @@ msgid "Periodic run" msgstr "定期的なパフォーマンス" #: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 -#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:63 +#: settings/serializers/auth/ldap.py:81 +#: settings/serializers/auth/ldap_ha.py:63 msgid "Interval" msgstr "間隔" #: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 -#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:60 +#: settings/serializers/auth/ldap.py:78 +#: settings/serializers/auth/ldap_ha.py:60 msgid "Crontab" msgstr "含む" @@ -6061,7 +5795,6 @@ msgid "Celery Task Execution" msgstr "Celery タスク実行" #: ops/models/job.py:82 -#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "モジュール {} はこの資産には適用できません。" @@ -6129,9 +5862,8 @@ msgid "" "the resulting environment variable will be jms_name, and it can be " "referenced in the script using {{ jms_name }}" msgstr "" -"スクリプトで使用する変数名は、固定接頭辞 jms_ + 入力された変数名となります。" -"例えば、変数名が name の場合、最終的に生成される環境変数は jms_name となりま" -"す。スクリプト内で引用する際は {{ jms_name }} を使用します。" +"スクリプトで使用する変数名は、固定接頭辞 jms_ + 入力された変数名となります。例えば、変数名が name の場合、最終的に生成される環境変数は " +"jms_name となります。スクリプト内で引用する際は {{ jms_name }} を使用します。" #: ops/models/variable.py:16 ops/serializers/variable.py:32 msgid "Default Value" @@ -6211,8 +5943,7 @@ msgid "" "Each item is on a separate line, with each line separated by a colon. The " "part before the colon is the display content, and the part after the colon " "is the value." -msgstr "" -"各項目を一行ごとに、各行は英語のコロンで前の表示内容と後の値を分割できます" +msgstr "各項目を一行ごとに、各行は英語のコロンで前の表示内容と後の値を分割できます" #: ops/tasks.py:54 msgid "Run ansible task" @@ -6222,9 +5953,7 @@ msgstr "Ansible タスクを実行する" msgid "" "Execute scheduled adhoc and playbooks, periodically invoking the task for " "execution" -msgstr "" -"タイムスケジュールのショートカットコマンドやplaybookを実行するときは、このタ" -"スクを呼び出します" +msgstr "タイムスケジュールのショートカットコマンドやplaybookを実行するときは、このタスクを呼び出します" #: ops/tasks.py:88 msgid "Run ansible task execution" @@ -6232,9 +5961,7 @@ msgstr "Ansible タスクの実行を開始する" #: ops/tasks.py:91 msgid "Execute the task when manually adhoc or playbooks" -msgstr "" -"手動でショートカットコマンドやplaybookを実行するときは、このタスクを実行しま" -"す" +msgstr "手動でショートカットコマンドやplaybookを実行するときは、このタスクを実行します" #: ops/tasks.py:106 msgid "Clear celery periodic tasks" @@ -6250,15 +5977,11 @@ msgstr "定期的なタスクの作成または更新" #: ops/tasks.py:134 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, tasks will be " -"registered or the parameters \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" " of scheduled tasks will be updated" msgstr "" -"バージョンがアップグレードされると、新しいタスクが追加され、タスクの名前や実" -"行時間が変更される可能性があるため、システムが起動すると、タスクを登録した" -"り、タスクのパラメータを更新したりします" +"バージョンがアップグレードされると、新しいタスクが追加され、タスクの名前や実行時間が変更される可能性があるため、システムが起動すると、タスクを登録したり、タスクのパラメータを更新したりします" #: ops/tasks.py:147 msgid "Periodic check service performance" @@ -6266,13 +5989,10 @@ msgstr "サービスのパフォーマンスを定期的に確認する" #: ops/tasks.py:149 msgid "" -"Check every hour whether each component is offline and whether the CPU, " -"memory, \n" -" and disk usage exceed the thresholds, and send an alert message to " -"the administrator" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" msgstr "" -"毎時、各コンポーネントがオフラインになっていないか、CPU、メモリ、ディスク使用" -"率が閾値を超えていないかをチェックし、管理者にメッセージで警告を送ります" +"毎時、各コンポーネントがオフラインになっていないか、CPU、メモリ、ディスク使用率が閾値を超えていないかをチェックし、管理者にメッセージで警告を送ります" #: ops/tasks.py:159 msgid "Clean up unexpected jobs" @@ -6280,17 +6000,12 @@ msgstr "例外ジョブのクリーンアップ" #: ops/tasks.py:161 msgid "" -"Due to exceptions caused by executing adhoc and playbooks in the Job " -"Center, \n" -" which result in the task status not being updated, the system will " -"clean up abnormal jobs \n" -" that have not been completed for more than 3 hours every hour and " -"mark these tasks as \n" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" " failed" msgstr "" -"ショートカットコマンドやplaybookを実行するジョブセンターでは異常が発生し、タ" -"スクの状態が更新されないことがあります。そのため、システムは毎時間、3時間以上" -"終了していない異常なジョブをクリーニングし、タスクを失敗とマークします" +"ショートカットコマンドやplaybookを実行するジョブセンターでは異常が発生し、タスクの状態が更新されないことがあります。そのため、システムは毎時間、3時間以上終了していない異常なジョブをクリーニングし、タスクを失敗とマークします" #: ops/tasks.py:174 msgid "Clean job_execution db record" @@ -6298,18 +6013,13 @@ msgstr "ジョブセンター実行履歴のクリーンアップ" #: ops/tasks.py:176 msgid "" -"Due to the execution of adhoc and playbooks in the Job Center, execution " -"records will \n" -" be generated. The system will clean up records that exceed the " -"retention period every day \n" -" at 2 a.m., based on the configuration of 'System Settings - Tasks - " -"Regular clean-up - \n" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" " Job execution retention days'" msgstr "" -"ショートカットコマンドやplaybookを実行するジョブセンターでは、実行レコードが" -"生成されます。システムは、システム設定-タスクリスト-定期的なクリーニング-ジョ" -"ブセンター実行履歴の設定に基づき、毎日午前2時に保存期間を超過したレコードをク" -"リーニングします。" +"ショートカットコマンドやplaybookを実行するジョブセンターでは、実行レコードが生成されます。システムは、システム設定-タスクリスト-" +"定期的なクリーニング-ジョブセンター実行履歴の設定に基づき、毎日午前2時に保存期間を超過したレコードをクリーニングします。" #: ops/templates/ops/celery_task_log.html:4 msgid "Task log" @@ -6352,7 +6062,6 @@ msgid "Name of the job" msgstr "ジョブの名前" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "現在の組織 ({}) は削除できません" @@ -6360,11 +6069,9 @@ msgstr "現在の組織 ({}) は削除できません" msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" -msgstr "" -"LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" +msgstr "LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "組織のリソース ({}) は削除できません" @@ -6382,7 +6089,8 @@ msgstr "組織を選択してから保存してください" #: terminal/notifications.py:294 #: terminal/templates/terminal/_msg_command_warning.html:27 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:62 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:62 msgid "Organization" msgstr "組織" @@ -6521,7 +6229,7 @@ msgid "today" msgstr "今日" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "日" @@ -6538,7 +6246,6 @@ msgid "Asset permissions is about to expire" msgstr "資産権限の有効期限が近づいています" #: perms/notifications.py:64 -#, python-brace-format msgid "asset permissions of organization {}" msgstr "組織 {} の資産権限" @@ -6547,8 +6254,8 @@ msgid "" "Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " "choices: @ALL, @SPEC, @USER, @ANON, @INPUT" msgstr "" -"アカウント、形式 [\"@バーチャルアカウント\", \"root\", \"%テンプレートid\"], " -"バーチャルオプション: @ALL, @SPEC, @USER, @ANON, @INPUT" +"アカウント、形式 [\"@バーチャルアカウント\", \"root\", \"%テンプレートid\"], バーチャルオプション: @ALL, " +"@SPEC, @USER, @ANON, @INPUT" #: perms/serializers/permission.py:49 msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" @@ -6564,19 +6271,12 @@ msgstr "アセット認証ルールの有効期限が切れていることを確 #: perms/tasks.py:30 msgid "" -"The cache of organizational collections, which have completed user " -"authorization tree \n" -" construction, will expire. Therefore, expired collections need to be " -"cleared from the \n" -" cache, and this task will be executed periodically based on the time " -"interval specified \n" -" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " -"config.txt" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" msgstr "" -"利用者権限ツリーの組織集合キャッシュは期限切れになるため、期限切れの集合を" -"キャッシュからクリアする必要があります。このActionは、システム設定ファイル" -"config.txt中のPERM_EXPIRED_CHECK_PERIODICの時間間隔に基づいて定期的に実行され" -"ます" +"利用者権限ツリーの組織集合キャッシュは期限切れになるため、期限切れの集合をキャッシュからクリアする必要があります。このActionは、システム設定ファイルconfig.txt中のPERM_EXPIRED_CHECK_PERIODICの時間間隔に基づいて定期的に実行されます" #: perms/tasks.py:49 msgid "Send asset permission expired notification" @@ -6584,16 +6284,12 @@ msgstr "アセット許可の有効期限通知を送信する" #: perms/tasks.py:51 msgid "" -"Check every day at 10 a.m. and send a notification message to users " -"associated with \n" -" assets whose authorization is about to expire, as well as to the " -"organization's \n" -" administrators, 3 days in advance, to remind them that the asset " -"authorization will \n" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" " expire in a few days" msgstr "" -"毎日午前10時にチェックを行い、資産の承認が近く期限切れになる利用者及びその組" -"織の管理者に、資産が何日で期限切れになるかを3日前に通知を送ります" +"毎日午前10時にチェックを行い、資産の承認が近く期限切れになる利用者及びその組織の管理者に、資産が何日で期限切れになるかを3日前に通知を送ります" #: perms/templates/perms/_msg_item_permissions_expire.html:7 #: perms/templates/perms/_msg_permed_items_expire.html:7 @@ -6614,7 +6310,6 @@ msgid "Internal role, can't be update" msgstr "内部ロール、更新できません" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} 少なくとも1つのシステムロール" @@ -6730,8 +6425,7 @@ msgstr "全ての組織" msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" -msgstr "" -"ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" +msgstr "ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" #: rbac/models/rolebinding.py:207 msgid "Organization role binding" @@ -6789,7 +6483,7 @@ msgstr "アカウントの秘密の変更" msgid "App ops" msgstr "アプリ操作" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "機能" @@ -6832,8 +6526,8 @@ msgstr "アプリ組織" msgid "Ticket comment" msgstr "チケットコメント" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "チケット" @@ -6846,22 +6540,16 @@ msgid "View permission tree" msgstr "権限ツリーの表示" #: rbac/tree.py:189 -#, fuzzy -#| msgid "Access key" msgid "Access token" -msgstr "アクセスキー" +msgstr "アクセストークン" #: rbac/tree.py:190 -#, fuzzy -#| msgid "Access key" msgid "View access token" -msgstr "アクセスキー" +msgstr "アクセストークンを表示" #: rbac/tree.py:191 -#, fuzzy -#| msgid "Access key" msgid "Revoke access token" -msgstr "アクセスキー" +msgstr "アクセストークンを取り消す" #: reports/views.py:20 msgid "User login report" @@ -6915,14 +6603,13 @@ msgstr "メール送信成功" msgid "Chat AI is not enabled" msgstr "チャットAIがオンになっていない" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "テストの成功" #: settings/api/email.py:22 -#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "{}に送信されたテストメールを確認してください" @@ -6933,9 +6620,7 @@ msgstr "SMTP設定のテスト" #: settings/api/ldap.py:92 msgid "" "Users are not synchronized, please click the user synchronization button" -msgstr "" -"ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてくださ" -"い。" +msgstr "ユーザーは同期されていません。「ユーザーを同期」ボタンをクリックしてください。" #: settings/api/sms.py:142 msgid "Invalid SMS platform" @@ -7096,9 +6781,7 @@ msgid "" "information, the system will automatically create the user using this email " "suffix" msgstr "" -"第三者ユーザーの認証が成功した後、第三者認証サービスプラットフォームがユー" -"ザーのメール情報を返さなかった場合、システムは自動的にこのメールのサフィック" -"スでユーザーを作成します" +"第三者ユーザーの認証が成功した後、第三者認証サービスプラットフォームがユーザーのメール情報を返さなかった場合、システムは自動的にこのメールのサフィックスでユーザーを作成します" #: settings/serializers/auth/base.py:37 msgid "Forgot Password URL" @@ -7117,24 +6800,21 @@ msgid "" "Should an flash page be displayed before the user is redirected to third-" "party authentication when the administrator enables third-party redirect " "authentication" -msgstr "" -"管理者が第三者へのリダイレクトの認証を有効にした場合、ユーザーが第三者の認証" -"にリダイレクトされる前に Flash ページを表示するかどうか" +msgstr "管理者が第三者へのリダイレクトの認証を有効にした場合、ユーザーが第三者の認証にリダイレクトされる前に Flash ページを表示するかどうか" #: settings/serializers/auth/base.py:55 msgid "" "When you create a user, you associate the user to the organization of your " "choice. Users always belong to the Default organization." -msgstr "" -"ユーザーを作成するときは、そのユーザーを選択した組織に関連付けます。ユーザー" -"は常にデフォルト組織に属します。" +msgstr "ユーザーを作成するときは、そのユーザーを選択した組織に関連付けます。ユーザーは常にデフォルト組織に属します。" #: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 msgid "CAS" msgstr "CAS" #: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 -#: settings/serializers/auth/ldap_ha.py:27 settings/serializers/auth/oidc.py:61 +#: settings/serializers/auth/ldap_ha.py:27 +#: settings/serializers/auth/oidc.py:61 msgid "Server" msgstr "LDAPサーバー" @@ -7159,9 +6839,11 @@ msgstr "ユーザー名のプロパティ" msgid "Enable attributes map" msgstr "属性マップの有効化" -#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 -#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:49 +#: settings/serializers/auth/ldap.py:67 +#: settings/serializers/auth/ldap_ha.py:49 #: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 #: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 #: settings/serializers/auth/wecom.py:18 @@ -7173,8 +6855,7 @@ msgid "" "User attribute mapping, where the `key` is the CAS service user attribute " "name and the `value` is the JumpServer user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は CAS サービスのユーザー属性名で、" -"`value` は JumpServer のユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は CAS サービスのユーザー属性名で、`value` は JumpServer のユーザー属性名です" #: settings/serializers/auth/dingtalk.py:16 msgid "Dingtalk" @@ -7185,16 +6866,15 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the DingTalk service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は ディントーク サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は ディントーク " +"サービスのユーザー属性名です" #: settings/serializers/auth/feishu.py:20 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the FeiShu service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は フェイシュ サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は フェイシュ サービスのユーザー属性名です" #: settings/serializers/auth/lark.py:13 users/models/user/_source.py:24 msgid "Lark" @@ -7205,8 +6885,7 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Lark service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は Lark サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は Lark サービスのユーザー属性名です" #: settings/serializers/auth/ldap.py:42 settings/serializers/auth/ldap.py:108 msgid "LDAP" @@ -7216,63 +6895,71 @@ msgstr "LDAP" msgid "LDAP server URI" msgstr "FIDOサーバーID" -#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31 +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 msgid "Bind DN" msgstr "DN のバインド" -#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32 +#: settings/serializers/auth/ldap.py:50 +#: settings/serializers/auth/ldap_ha.py:32 msgid "Binding Distinguished Name" msgstr "バインドディレクトリ管理者" -#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36 +#: settings/serializers/auth/ldap.py:54 +#: settings/serializers/auth/ldap_ha.py:36 msgid "Binding password" msgstr "古いパスワード" -#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39 +#: settings/serializers/auth/ldap.py:57 +#: settings/serializers/auth/ldap_ha.py:39 msgid "Search OU" msgstr "システムアーキテクチャ" -#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41 +#: settings/serializers/auth/ldap.py:59 +#: settings/serializers/auth/ldap_ha.py:41 msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" -msgstr "" -"ユーザー検索ライブラリ、複数のOUがある場合は`|`の記号で分けることができます" +msgstr "ユーザー検索ライブラリ、複数のOUがある場合は`|`の記号で分けることができます" -#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45 +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 msgid "Search filter" msgstr "ユーザー検索フィルター" -#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46 +#: settings/serializers/auth/ldap.py:64 +#: settings/serializers/auth/ldap_ha.py:46 #, python-format msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" msgstr "選択は (cnまたはuidまたはsAMAccountName)=%(user)s)" -#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51 +#: settings/serializers/auth/ldap.py:69 +#: settings/serializers/auth/ldap_ha.py:51 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は LDAP サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は LDAP サービスのユーザー属性名です" -#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67 +#: settings/serializers/auth/ldap.py:85 +#: settings/serializers/auth/ldap_ha.py:67 msgid "Connect timeout (s)" msgstr "接続タイムアウト (秒)" -#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70 +#: settings/serializers/auth/ldap.py:88 +#: settings/serializers/auth/ldap_ha.py:70 msgid "Strict sync" msgstr "厳格モード" -#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71 +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 msgid "" "In strict mode, users not found in LDAP will be disabled during full or " "automatic sync" -msgstr "" -"厳格モードを有効にすると、LDAPに見つからないユーザーの全権または自動同期が無" -"効になります。" +msgstr "厳格モードを有効にすると、LDAPに見つからないユーザーの全権または自動同期が無効になります。" -#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76 +#: settings/serializers/auth/ldap.py:94 +#: settings/serializers/auth/ldap_ha.py:76 msgid "User DN cache timeout (s)" msgstr "User DN キャッシュの有効期限 (秒)" @@ -7283,9 +6970,8 @@ msgid "" "cache
If the user OU structure has been adjusted, click Submit to clear " "the user DN cache" msgstr "" -"ユーザーがログイン認証時にクエリした User DN をキャッシュすると、ユーザー認証" -"の速度を効果的に改善できます。
ユーザーの OU 構造が調整された場合は、提出" -"をクリックしてユーザーの DN キャッシュをクリアできます。" +"ユーザーがログイン認証時にクエリした User DN をキャッシュすると、ユーザー認証の速度を効果的に改善できます。
ユーザーの OU " +"構造が調整された場合は、提出をクリックしてユーザーの DN キャッシュをクリアできます。" #: settings/serializers/auth/ldap.py:102 #: settings/serializers/auth/ldap_ha.py:84 @@ -7304,13 +6990,12 @@ msgstr "LDAP HA サービスドメイン名" #: settings/serializers/auth/ldap_ha.py:78 msgid "" "Caching the User DN obtained during user login authentication can " -"effectivelyimprove the speed of user authentication., 0 means no cache
If " -"the user OU structure has been adjusted, click Submit to clear the user DN " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " "cache" msgstr "" -"ユーザーがログイン認証時にクエリされた User DN をキャッシュすることで、ユー" -"ザー認証の速度を効果的に向上させることができます
ユーザーの OU 構造が調整" -"された場合は、送信をクリックして User DN のキャッシュをクリアできます" +"ユーザーがログイン認証時にクエリされた User DN をキャッシュすることで、ユーザー認証の速度を効果的に向上させることができます
ユーザーの " +"OU 構造が調整された場合は、送信をクリックして User DN のキャッシュをクリアできます" #: settings/serializers/auth/oauth2.py:19 #: settings/serializers/auth/oauth2.py:22 @@ -7354,7 +7039,8 @@ msgid "End session endpoint" msgstr "プロバイダーのセッション終了エンドポイント" #: settings/serializers/auth/oauth2.py:57 -msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" msgstr "ユーザーがログアウトすると、OAuth2 サーバからもログアウトします" #: settings/serializers/auth/oauth2.py:62 @@ -7362,11 +7048,11 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OAuth2 service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は OAuth2 サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は OAuth2 " +"サービスのユーザー属性名です" -#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:117 -#: settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:117 settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "常にユーザーを更新" @@ -7399,8 +7085,7 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OIDC service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は OIDC サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は OIDC サービスのユーザー属性名です" #: settings/serializers/auth/oidc.py:45 msgid "Enable PKCE" @@ -7418,9 +7103,7 @@ msgstr "Keycloakを使用する" msgid "" "Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " "Protocol" -msgstr "" -"Keycloak を OpenID Connect サーバとして使用するか、標準的な OpenID Connect プ" -"ロトコルを使用する" +msgstr "Keycloak を OpenID Connect サーバとして使用するか、標準的な OpenID Connect プロトコルを使用する" #: settings/serializers/auth/oidc.py:64 msgid "Realm name" @@ -7487,9 +7170,7 @@ msgid "" "The hostname can using passkey auth, If not set, will use request host and " "the request host in DOMAINS, If multiple domains, use comma to separate" msgstr "" -"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストと" -"DOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切り" -"ます" +"パスキー認証を使用できるホスト名、設定されていない場合は、リクエストホストとDOMAINSのリクエストホストを使用します。複数のドメインの場合は、カンマで区切ります" #: settings/serializers/auth/passkey.py:22 msgid "FIDO Server name" @@ -7500,10 +7181,9 @@ msgid "OTP in RADIUS" msgstr "Radius のOTP" #: settings/serializers/auth/radius.py:24 -msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" -msgstr "" -"* RADIUSでOTPを使用するということは、ユーザーはRADIUSをMFAの方法として使用す" -"ることができる" +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgstr "* RADIUSでOTPを使用するということは、ユーザーはRADIUSをMFAの方法として使用することができる" #: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 msgid "SAML2" @@ -7533,9 +7213,7 @@ msgstr "SP 証明書" msgid "" "User attribute mapping, where the `key` is the SAML2 service user attribute " "name and the `value` is the JumpServer user attribute name" -msgstr "" -"ユーザー属性マッピング(`key`はSAML2サービスのユーザー属性名、`value`は" -"JumpServerのユーザー属性名)" +msgstr "ユーザー属性マッピング(`key`はSAML2サービスのユーザー属性名、`value`はJumpServerのユーザー属性名)" #: settings/serializers/auth/saml2.py:43 msgid "When the user signs out, they also be logged out from the SAML2 server" @@ -7546,8 +7224,7 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Slack service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は Slack サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は Slack サービスのユーザー属性名です" #: settings/serializers/auth/sms.py:18 msgid "Enable Short Message Service (SMS)" @@ -7612,13 +7289,11 @@ msgstr "ビジネス・タイプ(Application id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." msgstr "" -"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未" -"満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わない" -"でください。" +"テンプレートには{code}を含める必要があり、署名+テンプレートの長さは67ワード未満です。たとえば、認証コードは{code}で、有効期間は5分です。他の人には言わないでください。" #: settings/serializers/auth/sms.py:94 #, python-brace-format @@ -7639,8 +7314,7 @@ msgstr "SSO Token認証の有効化" #: settings/serializers/auth/sso.py:17 msgid "Other service can using SSO token login to JumpServer without password" -msgstr "" -"他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" +msgstr "他のサービスはパスワードなしでJumpServerへのSSOトークンログインを使用できます" #: settings/serializers/auth/sso.py:20 msgid "SSO auth key TTL" @@ -7656,8 +7330,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the WeCom service user attribute name" msgstr "" -"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、" -"`value` は エンタープライズ WeChat サービスのユーザー属性名です" +"ユーザー属性のマッピング、ここで `key` は JumpServer のユーザー属性名で、`value` は エンタープライズ WeChat " +"サービスのユーザー属性名です" #: settings/serializers/basic.py:11 msgid "Site URL" @@ -7665,11 +7339,9 @@ msgstr "サイトURL" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service " -"and is usually used in links in system emails" -msgstr "" -"サイトURLは、現在の製品サービスの外部からアクセス可能なアドレスであり、通常は" -"システムメール内のリンクに使用されます" +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" +msgstr "サイトURLは、現在の製品サービスの外部からアクセス可能なアドレスであり、通常はシステムメール内のリンクに使用されます" #: settings/serializers/basic.py:18 msgid "User guide url" @@ -7694,9 +7366,7 @@ msgstr "ドキュメントリンク" #: settings/serializers/basic.py:27 msgid "" "Document URL refers to the address in the top navigation bar Help - Document" -msgstr "" -"ドキュメントURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - ド" -"キュメント" +msgstr "ドキュメントURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - ドキュメント" #: settings/serializers/basic.py:30 msgid "Support URL" @@ -7705,8 +7375,7 @@ msgstr "サポートリンク" #: settings/serializers/basic.py:31 msgid "" "Support URL refers to the address in the top navigation bar Help - Support" -msgstr "" -"サポートURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - サポート" +msgstr "サポートURLは、上部ナビゲーションバーのアドレスを指します。ヘルプ - サポート" #: settings/serializers/basic.py:44 msgid "Organization name already exists" @@ -7757,8 +7426,7 @@ msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." msgstr "" -"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (デー" -"タベースのバックアップに影響し、OSS などには影響しません)" +"この期間を超えるセッション、録音、およびコマンド レコードは削除されます (データベースのバックアップに影響し、OSS などには影響しません)" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days" @@ -7796,9 +7464,8 @@ msgid "" "accounts that exceed the predetermined number. If the value reaches or " "exceeds 999 (default), no historical account deletion will be performed" msgstr "" -"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、" -"所定の数を超える履歴アカウントを確認して削除します。 値が 999 以上の場合、履" -"歴アカウントの削除は実行されません。" +"特定の値が 999 未満の場合、システムは毎晩自動的にタスクを実行します。つまり、所定の数を超える履歴アカウントを確認して削除します。 値が 999 " +"以上の場合、履歴アカウントの削除は実行されません。" #: settings/serializers/feature.py:89 msgid "Mount Point" @@ -7811,7 +7478,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "リージョン" @@ -7860,55 +7527,69 @@ msgstr "GPTモデル" msgid "DeepSeek Model" msgstr "DeepSeekモデル" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "カスタムモデル" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "カスタムモデルの使用有無" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "カスタムGPTモデル" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "カスタムDeepSeekモデル" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "ログイン承認なし" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "ログインせずに直接承認チケットを許可します" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "期間" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "ワークオーダーの資産申請に対するデフォルトの承認時間帯" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "時" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "単位" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "ユーザーの実行" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "バッチコマンド実行" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" -msgstr "" -"ユーザーがワークベンチ - ジョブセンター - Adhocでバッチコマンドを実行すること" -"を許可します" +msgstr "ユーザーがワークベンチ - ジョブセンター - Adhocでバッチコマンドを実行することを許可します" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "コマンドフィルタリング" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "コマンドフィルタリング" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -7916,17 +7597,15 @@ msgstr "コマンドフィルタリング" msgid "Virtual app" msgstr "仮想アプリケーション" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "仮想アプリケーション" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." -msgstr "" -"仮想アプリケーションで、リモートアプリケーションのサーバーとしてLinuxオペレー" -"ティングシステムを使用できます。" +msgstr "仮想アプリケーションで、リモートアプリケーションのサーバーとしてLinuxオペレーティングシステムを使用できます。" #: settings/serializers/msg.py:24 msgid "SMTP" @@ -7942,17 +7621,13 @@ msgstr "サービス" #: settings/serializers/msg.py:34 msgid "The user to be used for email server authentication" -msgstr "" -"メールサーバーにログインするためのユーザー名。通常、これはあなたのメールアド" -"レスです" +msgstr "メールサーバーにログインするためのユーザー名。通常、これはあなたのメールアドレスです" #: settings/serializers/msg.py:39 msgid "" "Password to use for the email server. It is used in conjunction with " "`Account` when authenticating to the email server" -msgstr "" -"電子メールサーバーに使用するパスワードです。電子メールサーバーに認証を行う際" -"に、`アカウント`と一緒に使用されます。" +msgstr "電子メールサーバーに使用するパスワードです。電子メールサーバーに認証を行う際に、`アカウント`と一緒に使用されます。" #: settings/serializers/msg.py:42 msgid "Sender" @@ -7972,9 +7647,7 @@ msgid "" "server. In most email documentation this type of TLS connection is referred " "to as SSL. It is generally used on port 465" msgstr "" -"SMTPサーバーとの通信時に、暗黙のTLS(安全)接続を使用するかどうか。ほとんどの" -"メール文書では、このタイプのTLS接続はSSLと呼ばれます。通常、ポート465を使用し" -"ます" +"SMTPサーバーとの通信時に、暗黙のTLS(安全)接続を使用するかどうか。ほとんどのメール文書では、このタイプのTLS接続はSSLと呼ばれます。通常、ポート465を使用します" #: settings/serializers/msg.py:55 msgid "Use TLS" @@ -7984,9 +7657,7 @@ msgstr "TLSの使用" msgid "" "Whether to use a TLS (secure) connection when talking to the SMTP server. " "This is used for explicit TLS connections, generally on port 587" -msgstr "" -"SMTPサーバーとの通信時に、TLS(安全)接続を使用するかどうか。これは明示的な" -"TLS接続を使用します、通常ポート587を使用します" +msgstr "SMTPサーバーとの通信時に、TLS(安全)接続を使用するかどうか。これは明示的なTLS接続を使用します、通常ポート587を使用します" #: settings/serializers/msg.py:65 msgid "Subject prefix" @@ -7994,11 +7665,9 @@ msgstr "件名プレフィックス" #: settings/serializers/msg.py:70 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" -msgstr "" -"ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを" -"正常に作成)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" +msgstr "ヒント: ユーザーを作成するときに、メールの件名を送信します (例: アカウントを正常に作成)" #: settings/serializers/msg.py:74 users/notifications.py:18 msgid "Honorific" @@ -8006,17 +7675,14 @@ msgstr "ユーザー敬語の作成" #: settings/serializers/msg.py:75 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" -msgstr "" -"ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" +msgstr "ヒント: ユーザーを作成するときは、メールの敬語を送信します (例: こんにちは)" #: settings/serializers/msg.py:81 #, python-brace-format msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" -msgstr "" -"ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}" -"{email}ラベルをサポートします。" +msgstr "ヒント:ユーザーの作成時にパスワード設定メールの内容を送信し、{username}{name}{email}ラベルをサポートします。" #: settings/serializers/msg.py:85 msgid "Tips: Email signature (eg:jumpserver)" @@ -8033,9 +7699,7 @@ msgstr "グループ化されていないノードを表示" #: settings/serializers/other.py:12 msgid "Perm single to ungroup node" msgstr "" -"グループ化されていないノードに個別に許可された資産を配置し、資産が存在する" -"ノードが表示されないようにしますが、そのノードが許可されていないという質問に" -"質問" +"グループ化されていないノードに個別に許可された資産を配置し、資産が存在するノードが表示されないようにしますが、そのノードが許可されていないという質問に質問" #: settings/serializers/security.py:19 msgid "User password expiration (day)" @@ -8047,10 +7711,8 @@ msgid "" "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" msgstr "" -"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有" -"効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) 以内に、パスワー" -"ドの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信さ" -"れます。" +"ユーザーがその期間中にパスワードを更新しなかった場合、ユーザーパスワードの有効期限が切れます。パスワードの有効期限が切れる前の5日 (毎日) " +"以内に、パスワードの有効期限が切れるリマインダーメールがシステムからユーザーに自動的に送信されます。" #: settings/serializers/security.py:28 msgid "User expired tokens record keep days" @@ -8060,8 +7722,7 @@ msgstr "ユーザーの期限切れトークン保持日数" msgid "" "Retention period (in days) for expired user tokens before automatic cleanup." msgstr "" -"システムは、毎日のクリーンアップタスクにおいて、ユーザーの期限切れトークンの" -"記録を永久に削除する前に、これらの記録を保持する日数を設定します。" +"システムは、毎日のクリーンアップタスクにおいて、ユーザーの期限切れトークンの記録を永久に削除する前に、これらの記録を保持する日数を設定します。" #: settings/serializers/security.py:33 msgid "Recent password count" @@ -8071,9 +7732,7 @@ msgstr "繰り返された履歴パスワードの数" msgid "" "Tip: When the user resets the password, it cannot be the previous n " "historical passwords of the user" -msgstr "" -"ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワード" -"にすることはできません" +msgstr "ヒント: ユーザーがパスワードをリセットすると、ユーザーの前のnの履歴パスワードにすることはできません" #: settings/serializers/security.py:41 msgid "Minimum length (User)" @@ -8095,9 +7754,7 @@ msgstr "特別な" msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." -msgstr "" -"ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログイン" -"はできません。" +msgstr "ユーザーが限られた回数だけログインできなかった場合、この時間間隔ではログインはできません。" #: settings/serializers/security.py:70 settings/serializers/security.py:80 msgid "Login failures count" @@ -8123,9 +7780,7 @@ msgstr "単一デバイスログインのみ" msgid "" "After the user logs in on the new device, other logged-in devices will " "automatically log out" -msgstr "" -"ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動" -"的にログアウトします。" +msgstr "ユーザーが新しいデバイスにログインすると、ログインしている他のデバイスは自動的にログアウトします。" #: settings/serializers/security.py:102 msgid "Only exist user login" @@ -8138,9 +7793,8 @@ msgid "" "are allowed to log in and automatically create users (if the user does not " "exist)" msgstr "" -"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、" -"ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的" -"に作成されます (ユーザーが存在しない場合)。" +"有効にすると、存在しないユーザーはログインできなくなります。無効にすると、ローカル認証方法を除く他の認証方法のユーザーはログインでき、ユーザーが自動的に作成されます" +" (ユーザーが存在しない場合)。" #: settings/serializers/security.py:110 msgid "Only from source login" @@ -8148,14 +7802,13 @@ msgstr "ソースログインからのみ" #: settings/serializers/security.py:112 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効" -"な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべ" -"ての認証方法を特定の順序で認証します。 、直接ログインできます" +"これが有効な場合、ユーザーはログイン時にソースに対してのみ認証されます。無効な場合、ユーザーはログイン時に、いずれかの認証方法が成功する限り、有効なすべての認証方法を特定の順序で認証します。" +" 、直接ログインできます" #: settings/serializers/security.py:123 #: users/templates/users/mfa_setting.html:160 @@ -8210,8 +7863,7 @@ msgstr "ログインページのMFA" #: settings/serializers/security.py:155 msgid "Eu security regulations(GDPR) require MFA to be on the login page" -msgstr "" -"Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" +msgstr "Euセキュリティ規制 (GDPR) では、MFAがログインページにある必要があります" #: settings/serializers/security.py:159 msgid "Verify code TTL (second)" @@ -8229,9 +7881,7 @@ msgstr "ログイン動的コードの有効化" msgid "" "The password and additional code are sent to a third party authentication " "system for verification" -msgstr "" -"パスワードと追加コードは、検証のためにサードパーティの認証システムに送信され" -"ます" +msgstr "パスワードと追加コードは、検証のためにサードパーティの認証システムに送信されます" #: settings/serializers/security.py:169 msgid "Login CAPTCHA" @@ -8247,13 +7897,11 @@ msgstr "リモートログイン保護" #: settings/serializers/security.py:175 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" msgstr "" -"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断" -"します。アカウントが共通のログイン都市からログインしている場合、システムはリ" -"モートログインリマインダーを送信します" +"システムは、ログインIPアドレスが共通のログイン都市に属しているかどうかを判断します。アカウントが共通のログイン都市からログインしている場合、システムはリモートログインリマインダーを送信します" #: settings/serializers/security.py:181 msgid "Auto Disable Threshold (day)" @@ -8263,9 +7911,7 @@ msgstr "未使用のユーザータイムアウト(日)" msgid "" "Detect infrequent users daily and disable them if they exceed the " "predetermined time limit" -msgstr "" -"毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効に" -"します" +msgstr "毎日、頻度の低いユーザーを検出し、予め決められた時間制限を超えた場合は無効にします" #: settings/serializers/security.py:202 msgid "Watermark" @@ -8323,9 +7969,7 @@ msgstr "ユーザーに資産のオンラインセッション情報の閲覧を msgid "" "When a user connects to an asset, the account selection popup displays the " "number of active sessions for the current asset (RDP protocol only)." -msgstr "" -"ユーザーが資産に接続するとき、アカウント選択のポップアップに現在の資産のオン" -"ラインセッション数を表示(rdpプロトコルのみ)" +msgstr "ユーザーが資産に接続するとき、アカウント選択のポップアップに現在の資産のオンラインセッション数を表示(rdpプロトコルのみ)" #: settings/serializers/security.py:245 msgid "Max online time (hour)" @@ -8346,8 +7990,7 @@ msgstr "セッション共有" #: settings/serializers/security.py:253 msgid "Enabled, Allows user active session to be shared with other users" -msgstr "" -"ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" +msgstr "ユーザーのアクティブなセッションを他のユーザーと共有できるようにします。" #: settings/serializers/security.py:259 msgid "Insecure command alert" @@ -8380,30 +8023,24 @@ msgstr "ターミナルレジスタの有効化" #: settings/serializers/terminal.py:28 msgid "" -"Allow component register, after all component setup, you should disable this " -"for security" -msgstr "" -"ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティ" -"のためにこれを無効にする必要があります" +"Allow component register, after all component setup, you should disable this" +" for security" +msgstr "ターミナルレジスタを許可し、すべてのターミナルセットアップの後、セキュリティのためにこれを無効にする必要があります" #: settings/serializers/terminal.py:34 msgid "" "* Allow users to log in to the KoKo component via password authentication" -msgstr "" -"* パスワード認証を通じてユーザがKoKoコンポーネントにログインできるように許可" -"する" +msgstr "* パスワード認証を通じてユーザがKoKoコンポーネントにログインできるように許可する" #: settings/serializers/terminal.py:40 msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in " -"after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" msgstr "" -"* 公開鍵認証でユーザがKoKoコンポーネントにログインできるように許可する
第" -"三者認証サービス(例:AD/LDAP)が有効化されている場合、ユーザがAD/LDAPサーバ" -"から削除された後に再度ログインするのを防ぐためにこのオプションを無効化するべ" -"きです。" +"* " +"公開鍵認証でユーザがKoKoコンポーネントにログインできるように許可する
第三者認証サービス(例:AD/LDAP)が有効化されている場合、ユーザがAD/LDAPサーバから削除された後に再度ログインするのを防ぐためにこのオプションを無効化するべきです。" #: settings/serializers/terminal.py:47 msgid "Asset sorting" @@ -8415,23 +8052,21 @@ msgstr "ページサイズを一覧表示" #: settings/serializers/terminal.py:55 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" msgstr "" -"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。" -"
有効化した場合、Luna ページでは資産への接続時にDBクライアントの起動方法" -"を表示します。" +"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。
有効化した場合、Luna " +"ページでは資産への接続時にDBクライアントの起動方法を表示します。" #: settings/serializers/terminal.py:63 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" -"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。" -"
有効化した場合、Luna ページでは資産への接続時にrdp ファイルのダウンロー" -"ドボタンとRDPクライアントの起動方法を表示します。" +"* サーバエンドポイントでは、サービスアドレスとポートを個別に設定できます。
有効化した場合、Luna ページでは資産への接続時にrdp " +"ファイルのダウンロードボタンとRDPクライアントの起動方法を表示します。" #: settings/serializers/terminal.py:70 msgid "Client connection" @@ -8440,11 +8075,11 @@ msgstr "クライアント接続" #: settings/serializers/terminal.py:72 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to assets" +"Luna page will display the SSH client launch method when connecting to " +"assets" msgstr "" -"* SSHクライアント経由でKoKo コンポーネントに接続できるように許可する
有効" -"化した場合、Luna ページでは資産への接続時にSSHクライアントの起動方法を表示し" -"ます。" +"* SSHクライアント経由でKoKo コンポーネントに接続できるように許可する
有効化した場合、Luna " +"ページでは資産への接続時にSSHクライアントの起動方法を表示します。" #: settings/serializers/tool.py:10 msgid "Tool" @@ -8456,11 +8091,9 @@ msgstr "ワークベンチのツール" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools " -"in the workbench" -msgstr "" -"* RBAC権限を持つユーザは、ワークベンチのすべてのツールを使用できるようにしま" -"す" +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" +msgstr "* RBAC権限を持つユーザは、ワークベンチのすべてのツールを使用できるようにします" #: settings/tasks/ldap.py:67 msgid "Periodic import ldap user" @@ -8470,9 +8103,7 @@ msgstr "LDAP ユーザーを定期的にインポートする" msgid "" "When LDAP auto-sync is configured, this task will be invoked to synchronize " "users" -msgstr "" -"LDAPの自動同期が設定されている場合、このActionを呼び出して利用者の同期を行い" -"ます" +msgstr "LDAPの自動同期が設定されている場合、このActionを呼び出して利用者の同期を行います" #: settings/tasks/ldap.py:77 msgid "Periodic import ldap ha user" @@ -8484,13 +8115,10 @@ msgstr "登録サイクルLDAPユーザータスクのインポート" #: settings/tasks/ldap.py:117 msgid "" -"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " -"sync task \n" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" -"LDAPの自動同期パラメーターが変更された場合、たとえばCrontabパラメーターが変更" -"され、ldap同期Actionの再登録または更新が必要になった場合、そのActionはこの" -"Actionを呼び出します" +"LDAPの自動同期パラメーターが変更された場合、たとえばCrontabパラメーターが変更され、ldap同期Actionの再登録または更新が必要になった場合、そのActionはこのActionを呼び出します" #: settings/tasks/ldap.py:131 msgid "Registration periodic import ldap ha user task" @@ -8498,12 +8126,11 @@ msgstr "LDAP HA ユーザーの定期インポートタスクの登録" #: settings/tasks/ldap.py:133 msgid "" -"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " -"LDAP HA sync task \n" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" -"LDAP HA自動同期パラメーターが変更された場合、Crontabパラメーターなど、ldap ha" -"同期Actionを再登録または更新する際にはこのActionを呼び出します" +"LDAP HA自動同期パラメーターが変更された場合、Crontabパラメーターなど、ldap " +"ha同期Actionを再登録または更新する際にはこのActionを呼び出します" #: settings/templates/ldap/_msg_import_ldap_user.html:2 msgid "Sync task finish" @@ -8526,23 +8153,19 @@ 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 "不明なエラー: {}" @@ -8551,27 +8174,22 @@ 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マップは含まれません: {}" @@ -8584,57 +8202,46 @@ 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 "認証成功: {}" @@ -8643,12 +8250,10 @@ 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 "無効 {}" @@ -8659,9 +8264,7 @@ msgstr "インポート" #: templates/_csv_import_modal.html:12 msgid "Download the imported template or use the exported CSV file format" -msgstr "" -"インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形" -"式を使用する" +msgstr "インポートしたテンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" #: templates/_csv_import_modal.html:13 msgid "Download the import template" @@ -8677,9 +8280,7 @@ msgstr "ファイルを選択してください" #: templates/_csv_update_modal.html:12 msgid "Download the update template or use the exported CSV file format" -msgstr "" -"更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用す" -"る" +msgstr "更新テンプレートをダウンロードするか、エクスポートしたCSVファイル形式を使用する" #: templates/_csv_update_modal.html:13 msgid "Download the update template" @@ -8735,8 +8336,8 @@ msgid "" "Your password has expired, please click this link update password." msgstr "" -"あなたのパスワードは期限切れです。こ" -"ちらのリンクをクリックしてパスワードを更新してください。" +"あなたのパスワードは期限切れです。こちらのリンクをクリックしてパスワードを更新してください。" #: templates/_message.html:26 msgid "Your password will at" @@ -8748,8 +8349,8 @@ msgid "" "please click this link to " "update your password." msgstr "" -"パスワードを更新するには、こちらのリ" -"ンクをクリックしてください。" +"パスワードを更新するには、こちらのリンクをクリックしてください。" #: templates/_message.html:37 #, python-format @@ -8757,8 +8358,8 @@ msgid "" "Your information was incomplete. Please click this link to complete your information." msgstr "" -"あなたの情報が不完全です。こちらのリンク" -"をクリックして、情報を完全にしてください。" +"あなたの情報が不完全です。こちらのリンクをクリックして、情報を完全にしてください。" #: templates/_message.html:48 #, python-format @@ -8767,8 +8368,7 @@ msgid "" "href=\"%(user_pubkey_update)s\"> this link to update" msgstr "" "あなたのSSHキーは設定されていないか、無効です。こちらのリンクをクリックして更新してくだ" -"さい。" +"href=\"%(user_pubkey_update)s\">こちらのリンクをクリックして更新してください。" #: templates/_mfa_login_field.html:29 #: users/templates/users/forgot_password.html:101 @@ -8790,29 +8390,24 @@ msgid "Home page" msgstr "ホームページ" #: templates/redirect_confirm.html:42 -#, fuzzy -#| msgid "" -#| "You are about to be redirected to an external website. Please confirm " -#| "that you trust this link: " msgid "You are about to be redirected to an external website." -msgstr "" -"外部サイトに転送されますので、そのリンクを信頼できることを確認してください。" +msgstr "外部サイトに移動します" #: templates/redirect_confirm.html:45 msgid "Please confirm that you trust this link: " -msgstr "" +msgstr "以下のリンクを信頼していることを確認してください:" #: templates/redirect_confirm.html:55 msgid "Back" -msgstr "" +msgstr "戻る" #: templates/redirect_confirm.html:70 msgid "Redirecting you to the Desktop App ( JumpServer Client )" -msgstr "" +msgstr "デスクトップアプリケーション (JumpServer クライアント) にリダイレクトしています。" #: templates/redirect_confirm.html:73 msgid "You can safely close this window and return to the application." -msgstr "" +msgstr "このウィンドウを閉じてアプリケーションに戻ることができます。" #: templates/resource_download.html:20 templates/resource_download.html:36 #: users/const.py:84 @@ -8820,12 +8415,8 @@ msgid "Client" msgstr "クライアント" #: templates/resource_download.html:22 -#, fuzzy -#| msgid "JumpServer Client, currently used to launch the client" msgid "JumpServerClient, currently used to launch the client" -msgstr "" -"JumpServerクライアントは、特定のクライアントプログラムを起動してアセットに接" -"続するために使用されます。" +msgstr "JumpServerクライアントは、特定のクライアントプログラムを呼び起こして資産に接続するために使用されます" #: templates/resource_download.html:36 msgid "Microsoft" @@ -8839,9 +8430,7 @@ msgstr "公式" msgid "" "macOS needs to download the client to connect RDP asset, which comes with " "Windows" -msgstr "" -"MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロード" -"する必要があります" +msgstr "MacOSは、Windowsに付属のRDPアセットを接続するためにクライアントをダウンロードする必要があります" #: templates/resource_download.html:46 msgid "Windows Remote application publisher tools" @@ -8851,9 +8440,7 @@ msgstr "Windowsリモートアプリケーション発行者ツール" msgid "" "OpenSSH is a program used to connect remote applications in the Windows " "Remote Application Publisher" -msgstr "" -"OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続する" -"プログラムです" +msgstr "OpenSSHはリモートアプリケーションをWindowsリモートアプリケーションで接続するプログラムです" #: templates/resource_download.html:54 msgid "Offline video player" @@ -8870,7 +8457,6 @@ msgid "This is enterprise edition applet" msgstr "これはエンタープライズ版アプレットです" #: terminal/api/applet/applet.py:91 -#, python-brace-format msgid "Applet not found in path: {}" msgstr "パスにアプレットが見つかりません: {}" @@ -8883,7 +8469,6 @@ 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 "使用中のストレージは削除できません: {}" @@ -8896,7 +8481,6 @@ msgid "Invalid" msgstr "無効" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "テスト失敗: {}" @@ -8923,7 +8507,6 @@ msgid "Session replay" msgstr "セッション再生" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "セッションが存在しません: {}" @@ -8931,7 +8514,7 @@ msgstr "セッションが存在しません: {}" msgid "Session is finished or the protocol not supported" msgstr "セッションが終了したか、プロトコルがサポートされていません" -#: terminal/api/session/session.py:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "ユーザーに権限がありません" @@ -9096,12 +8679,10 @@ msgstr "ホスト" #: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 -#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "無効なアプレット パッケージ、ファイル {} がありません" #: terminal/models/applet/applet.py:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "platform.ymlのロードに失敗しました:{}" @@ -9447,21 +9028,16 @@ msgstr "コア サービス アドレス" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" -"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリー" -"ス マシンとコア サービスが同じネットワーク セグメント上にある場合は、イントラ" -"ネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト " -"URL を入力します。
例: https://172.16.10.110 または https://" -"dev.jumpserver.com" +"ヒント: アプリケーション リリース マシンは、コア サービスと通信します。リリース マシンとコア サービスが同じネットワーク " +"セグメント上にある場合は、イントラネット アドレスを入力することをお勧めします。それ以外の場合は、現在のサイト URL を入力します。
例: " +"https://172.16.10.110 または https://dev.jumpserver.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -9474,12 +9050,12 @@ msgstr "既存の RDS 証明書" #: terminal/serializers/applet_host.py:50 msgid "" "If not exist, the RDS will be in trial mode, and the trial period is 120 " -"days. Detail" +"days. Detail" msgstr "" -"存在しない場合、RDSは試用モードで、試用期間は120日間です。詳細" +"存在しない場合、RDSは試用モードで、試用期間は120日間です。詳細" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9497,9 +9073,7 @@ msgstr "RDS シングル ユーザー シングル セッション" msgid "" "Tips: A RDS user can have only one session at a time. If set, when next " "login connected, previous session will be disconnected." -msgstr "" -"ヒント:RDSユーザーは一度に一つのセッションしか持てません。設定されている場" -"合、次回のログイン接続時に、前回のセッションが切断されます" +msgstr "ヒント:RDSユーザーは一度に一つのセッションしか持てません。設定されている場合、次回のログイン接続時に、前回のセッションが切断されます" #: terminal/serializers/applet_host.py:65 msgid "RDS Max Disconnection Time (ms)" @@ -9509,9 +9083,7 @@ msgstr "最大切断時間(ミリ秒)" msgid "" "Tips: Set the maximum duration for keeping a disconnected session active on " "the server (log off the session after 60000 milliseconds)." -msgstr "" -"ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時" -"間を設定します(60000ミリ秒後にセッションをログオフ)。" +msgstr "ヒント:サーバー上で切断されたセッションがアクティブな状態で維持される最大時間を設定します(60000ミリ秒後にセッションをログオフ)。" #: terminal/serializers/applet_host.py:72 msgid "RDS Remote App Logoff Time Limit (ms)" @@ -9519,11 +9091,10 @@ msgstr "RDSリモートアプリケーションのログアウト時間制限( #: terminal/serializers/applet_host.py:74 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." msgstr "" -"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ" -"時間を設定します(0ミリ秒、セッションを即座にログオフ)。" +"ヒント:すべてのRemoteAppプログラムを閉じた後、RemoteAppセッションのログオフ時間を設定します(0ミリ秒、セッションを即座にログオフ)。" #: terminal/serializers/applet_host.py:83 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -9532,17 +9103,13 @@ msgstr "ロードステータス" #: terminal/serializers/applet_host.py:97 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" -"これらのアカウントは、公開されたアプリケーションに接続するために使用されま" -"す。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専" -"用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公" -"開されています。アプリケーションが複数のオープンをサポートしていない場合、お" -"よび特別なものが使用されている場合、公開アカウントが使用されます。" +"これらのアカウントは、公開されたアプリケーションに接続するために使用されます。アカウントは現在、2つのタイプに分類されています。1つは、各アカウントに専用のアカウントで、各ユーザーにはプライベートアカウントがあります。もう1つは公開されています。アプリケーションが複数のオープンをサポートしていない場合、および特別なものが使用されている場合、公開アカウントが使用されます。" #: terminal/serializers/applet_host.py:104 msgid "The number of public accounts created automatically" @@ -9554,9 +9121,8 @@ msgid "" "please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " "restart the service to enable it." msgstr "" -"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項" -"目 CACHE_LOGIN_PASSWORD_ENABLED=true を設定してサービスを再起動して有効にして" -"ください。" +"同じアカウントを使用してホストに接続します。セキュリティ上の理由から、構成項目 CACHE_LOGIN_PASSWORD_ENABLED=true " +"を設定してサービスを再起動して有効にしてください。" #: terminal/serializers/applet_host.py:164 msgid "Install applets" @@ -9605,24 +9171,19 @@ msgid "" "access address of the current browser will be used (the default endpoint " "does not allow modification of the host)" msgstr "" -"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラ" -"ウザのアクセス アドレスが使用されます (デフォルトのエンドポイントではホストの" -"変更は許可されません)。" +"アセットに接続するときにアクセスされるホスト アドレス。空の場合は、現在のブラウザのアクセス アドレスが使用されます " +"(デフォルトのエンドポイントではホストの変更は許可されません)。" #: terminal/serializers/endpoint.py:54 msgid "" -"The assets within this IP range or Host, the following endpoint will be used " -"for the connection" -msgstr "" -"この IP 範囲またはホスト内の資産は、以下のエンドポイントを使用して接続されま" -"す。" +"The assets within this IP range or Host, the following endpoint will be used" +" for the connection" +msgstr "この IP 範囲またはホスト内の資産は、以下のエンドポイントを使用して接続されます。" #: terminal/serializers/endpoint.py:55 msgid "" "If asset IP addresses under different endpoints conflict, use asset labels" -msgstr "" -"異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用" -"して実装します" +msgstr "異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用して実装します" #: terminal/serializers/session.py:35 terminal/serializers/session.py:63 msgid "Can replay" @@ -9657,7 +9218,6 @@ msgid "No asset or invalid asset" msgstr "アセットが存在しないか、アセットがアクティブ化されていません" #: terminal/serializers/storage.py:23 -#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "エンドポイントが無効: パス '{}' を削除" @@ -9706,8 +9266,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" @@ -9738,9 +9298,7 @@ msgid "" "set as the default storage, will make new Component use the current storage " "by default, without affecting existing Component" msgstr "" -"デフォルトのストレージとして設定すると、新しいコンポーネントが現在のストレー" -"ジをデフォルトで使用するようになりますが、既存のコンポーネントには影響しませ" -"ん" +"デフォルトのストレージとして設定すると、新しいコンポーネントが現在のストレージをデフォルトで使用するようになりますが、既存のコンポーネントには影響しません" #: terminal/serializers/task.py:9 msgid "Session id" @@ -9885,12 +9443,9 @@ msgstr "オフライン セッションをクリアする" #: terminal/tasks.py:45 msgid "" -"Check every 10 minutes for asset connection sessions that have been inactive " -"for 3 \n" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" " minutes and mark these sessions as completed" -msgstr "" -"毎10分ごとに、3分間非活動状態の資産接続セッションを確認し、これらのセッション" -"を完了とマークします" +msgstr "毎10分ごとに、3分間非活動状態の資産接続セッションを確認し、これらのセッションを完了とマークします" #: terminal/tasks.py:68 msgid "Upload session replay to external storage" @@ -9898,12 +9453,9 @@ msgstr "セッションの記録を外部ストレージにアップロードす #: terminal/tasks.py:70 terminal/tasks.py:104 msgid "" -"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " -"and \n" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" " recordings will be uploaded to external storage" -msgstr "" -"SERVER_REPLAY_STORAGEが設定されている場合、ファイル管理を通じてアップロードさ" -"れたファイルを外部ストレージに同期します" +msgstr "SERVER_REPLAY_STORAGEが設定されている場合、ファイル管理を通じてアップロードされたファイルを外部ストレージに同期します" #: terminal/tasks.py:102 msgid "Upload session replay part file to external storage" @@ -9915,8 +9467,7 @@ msgstr "アプリケーション マシンの展開を実行する" #: terminal/tasks.py:126 msgid "" -"When deploying from the remote application publisher details page, and the " -"'Deploy' \n" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" " button is clicked, this task will be executed" msgstr "デプロイメントシステムの展開時に、このActionが実行されます" @@ -9926,12 +9477,9 @@ msgstr "アプリをインストールする" #: terminal/tasks.py:140 msgid "" -"When the 'Deploy' button is clicked in the 'Remote Application' section of " -"the remote \n" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" " application publisher details page, this task will be executed" -msgstr "" -"リモートアプリケーションの詳細-リモートアプリケーションの展開時に、このAction" -"が実行されます" +msgstr "リモートアプリケーションの詳細-リモートアプリケーションの展開時に、このActionが実行されます" #: terminal/tasks.py:152 msgid "Uninstall applet" @@ -9939,12 +9487,9 @@ msgstr "アプリをアンインストールする" #: terminal/tasks.py:155 msgid "" -"When the 'Uninstall' button is clicked in the 'Remote Application' section " -"of the \n" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" " remote application publisher details page, this task will be executed" -msgstr "" -"リモートアプリケーションの詳細-リモートアプリケーションのアンインストール時" -"に、このActionが実行されます" +msgstr "リモートアプリケーションの詳細-リモートアプリケーションのアンインストール時に、このActionが実行されます" #: terminal/tasks.py:167 msgid "Generate applet host accounts" @@ -9952,12 +9497,9 @@ msgstr "リモートアプリケーション上のアカウントを収集する #: terminal/tasks.py:170 msgid "" -"When a remote publishing server is created and an account needs to be " -"created \n" +"When a remote publishing server is created and an account needs to be created \n" " automatically, this task will be executed" -msgstr "" -"リモートパブリッシャーを作成した後、自動でアカウントを作成する必要がある場" -"合、このActionが実行されます" +msgstr "リモートパブリッシャーを作成した後、自動でアカウントを作成する必要がある場合、このActionが実行されます" #: terminal/tasks.py:184 msgid "Check command replay storage connectivity" @@ -9965,16 +9507,12 @@ msgstr "チェックコマンドと録画ストレージの接続性" #: terminal/tasks.py:186 msgid "" -"Check every day at midnight whether the external storage for commands and " -"recordings \n" -" is accessible. If it is not accessible, send a notification to the " -"recipients specified \n" -" in 'System Settings - Notifications - Subscription - Storage - " -"Connectivity'" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" msgstr "" -"毎日午前0時に、コマンドと映像の外部ストレージが接続可能かどうかを確認します。" -"接続できない場合は、システム設定-通知設定-メッセージ訂閱-コマンドと映像スト" -"レージ設定の受け取り人に送信します" +"毎日午前0時に、コマンドと映像の外部ストレージが接続可能かどうかを確認します。接続できない場合は、システム設定-通知設定-メッセージ訂閱-" +"コマンドと映像ストレージ設定の受け取り人に送信します" #: terminal/templates/terminal/_msg_command_alert.html:10 msgid "view" @@ -9982,11 +9520,9 @@ msgstr "表示" #: terminal/templates/terminal/_msg_command_warning.html:5 msgid "" -"We would like to inform you that a command alert has been triggered with the " -"following details:" -msgstr "" -"コマンドアラートがトリガーされましたのでお知らせいたします。詳細は以下の通り" -"です:" +"We would like to inform you that a command alert has been triggered with the" +" following details:" +msgstr "コマンドアラートがトリガーされましたのでお知らせいたします。詳細は以下の通りです:" #: terminal/templates/terminal/_msg_command_warning.html:7 msgid "Alert details" @@ -10002,9 +9538,7 @@ msgid "" "organization’s security policies. If you did not authorize this action or " "notice anything unusual, please take the necessary actions immediately." msgstr "" -"このコマンドの実行状況をチェックし、あなたの組織のセキュリティポリシーに適合" -"していることを確認してください。もしこの操作が認可されていない場合や、異常を" -"発見した場合は、直ちに必要な措置を講じてください。" +"このコマンドの実行状況をチェックし、あなたの組織のセキュリティポリシーに適合していることを確認してください。もしこの操作が認可されていない場合や、異常を発見した場合は、直ちに必要な措置を講じてください。" #: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" @@ -10059,13 +9593,10 @@ msgid "Ticket already closed" msgstr "チケットはすでに閉じています" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" -msgstr "" -"チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: " -"{}" +msgstr "チケットのタイトル: {} チケット申請者: {} チケットプロセッサ: {} チケットID: {}" #: tickets/handlers/base.py:84 msgid "Change field" @@ -10080,7 +9611,6 @@ msgid "After change" msgstr "変更後" #: tickets/handlers/base.py:96 -#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} チケット" @@ -10220,23 +9750,18 @@ msgid "Ticket applied info" msgstr "チケット適用情報" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" msgstr "新しいチケットがあります- {}" #: tickets/notifications.py:120 -#, fuzzy, python-brace-format -#| msgid "{}: New Ticket - {} ({})" msgid "{}: New Ticket - {} ({})" -msgstr "新しいチケット- {} ({})" +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 "チケットが処理済み- {} ({})" @@ -10266,7 +9791,6 @@ msgstr "申請アクション" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 -#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "チケットで作成 ({}-{})" @@ -10275,7 +9799,6 @@ 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 "'{}'という名前の権限は既に存在します" @@ -10284,7 +9807,6 @@ msgid "Process map" msgstr "フローチャート" #: tickets/serializers/ticket/ticket.py:91 -#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "チケットフロー '{}'が存在しない" @@ -10312,9 +9834,7 @@ msgstr "承認" #: tickets/views/approve.py:44 msgid "" "This ticket does not exist, the process has ended, or this link has expired" -msgstr "" -"このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効に" -"なっています" +msgstr "このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効になっています" #: tickets/views/approve.py:72 msgid "Click the button below to approve or reject" @@ -10442,8 +9962,7 @@ msgid "" "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入りま" -"す。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" +"有効にすると、次回のログイン時にマルチファクタ認証バインドプロセスに入ります。(個人情報->クイック修正->MFAマルチファクタ認証の設定)で直接バインド!" #: users/forms/profile.py:60 msgid "* Enable MFA to make the account more secure." @@ -10451,12 +9970,11 @@ msgstr "* アカウントをより安全にするためにMFAを有効にしま #: users/forms/profile.py:69 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" -"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報" -"を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" +"あなたとあなたの会社を保護するために、アカウント、パスワード、キーの機密情報を適切に保管してください。(例: 複雑なパスワードの設定、MFAの有効化)" #: users/forms/profile.py:76 msgid "Finish" @@ -10658,12 +10176,10 @@ msgstr "ターミナルテーマ名" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files, " -"account password change results files" +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" msgstr "" -"ファイル暗号化パスワードは、システムから送信されるメールにファイルの添付が含" -"まれている場合、このパスワードで解読します。
例:アカウントのバックアップ" -"ファイル、アカウントのパスワード変更結果ファイル" +"ファイル暗号化パスワードは、システムから送信されるメールにファイルの添付が含まれている場合、このパスワードで解読します。
例:アカウントのバックアップファイル、アカウントのパスワード変更結果ファイル" #: users/serializers/preference/lina.py:39 users/serializers/profile.py:41 msgid "The newly set password is inconsistent" @@ -10685,7 +10201,8 @@ msgstr "非同期ロード資産ツリー" msgid "Connect default open method" msgstr "デフォルトの接続オープン方法" -#: users/serializers/preference/luna.py:34 xpack/plugins/interface/models.py:41 +#: users/serializers/preference/luna.py:34 +#: xpack/plugins/interface/models.py:41 #: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "テーマ" @@ -10716,9 +10233,7 @@ msgid "" "remote computer to fit the window size of the client computer when the " "window is resized." msgstr "" -"ウィンドウサイズを調整したときに、クライアントコンピューターがリモートコン" -"ピューター上の内容をクライアントコンピューターのウィンドウサイズに合うように" -"拡大または縮小するかどうかを決定します。" +"ウィンドウサイズを調整したときに、クライアントコンピューターがリモートコンピューター上の内容をクライアントコンピューターのウィンドウサイズに合うように拡大または縮小するかどうかを決定します。" # msgid "" # "Determines whether the client computer should scale the content on the " @@ -10761,7 +10276,6 @@ 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 "新しいパスワードを最後の {} 個のパスワードにすることはできません" @@ -10775,10 +10289,9 @@ msgstr "システムの役割" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across " -"all organizations" -msgstr "" -"システムロールはシステムレベルのロールであり、すべての組織で有効になります" +"System roles are roles at the system level, and they will take effect across" +" all organizations" +msgstr "システムロールはシステムレベルのロールであり、すべての組織で有効になります" #: users/serializers/user.py:61 msgid "Org roles" @@ -10852,9 +10365,7 @@ msgid "" "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -"ユーザソースはユーザの作成場所を表し、ADや他のソースになる可能性があります。" -"セキュリティ設定で特定のソースからしかシステムにログインできないようにユーザ" -"を制限することができます。" +"ユーザソースはユーザの作成場所を表し、ADや他のソースになる可能性があります。セキュリティ設定で特定のソースからしかシステムにログインできないようにユーザを制限することができます。" #: users/serializers/user.py:260 msgid "Is org admin" @@ -10878,10 +10389,9 @@ msgstr "公開鍵があります" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for more" -msgstr "" -"* あなたの安全のために、一部のユーザーのみを表示します。より多くのユーザーを" -"検索することができます" +"* For security, only a partial of users is displayed. You can search for " +"more" +msgstr "* あなたの安全のために、一部のユーザーのみを表示します。より多くのユーザーを検索することができます" #: users/serializers/user.py:461 msgid "name not unique" @@ -10890,11 +10400,8 @@ msgstr "名前が一意ではない" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." -msgstr "" -"管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザー" -"はユーザーリストにありません。管理者に連絡してください。" +" and the current user is not in the user list. Please contact the administrator." +msgstr "管理者は「既存のユーザーのみログインを許可」をオンにしており、現在のユーザーはユーザーリストにありません。管理者に連絡してください。" #: users/signal_handlers.py:179 msgid "Clean up expired user sessions" @@ -10902,12 +10409,9 @@ msgstr "期限切れのユーザー・セッションのパージ" #: users/signal_handlers.py:181 msgid "" -"After logging in via the web, a user session record is created. At 2 a.m. " -"every day, \n" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" " the system cleans up inactive user devices" -msgstr "" -"webでログインすると、利用者のセッションのオンライン記録が生じます。毎日午前2" -"時に、オンラインではない利用者デバイスをクリアします" +msgstr "webでログインすると、利用者のセッションのオンライン記録が生じます。毎日午前2時に、オンラインではない利用者デバイスをクリアします" #: users/tasks.py:26 msgid "Check password expired" @@ -10915,12 +10419,9 @@ msgstr "パスワードの有効期限が切れていることを確認する" #: users/tasks.py:28 msgid "" -"Check every day at 10 AM whether the passwords of users in the system are " -"expired, \n" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" " and send a notification 5 days in advance" -msgstr "" -"毎日午前10時にチェックし、システム内の利用者のパスワードが期限切れになってい" -"るかどうかを確認し、5日前に通知を送ります" +msgstr "毎日午前10時にチェックし、システム内の利用者のパスワードが期限切れになっているかどうかを確認し、5日前に通知を送ります" #: users/tasks.py:46 msgid "Periodic check password expired" @@ -10928,15 +10429,11 @@ msgstr "定期認証パスワードの有効期限" #: users/tasks.py:48 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if passwords have expired" msgstr "" -"バージョンが進化するにつれて、新たなActionが追加されたり、Actionの名前、実行" -"時間が変更されたりする可能性があります。そのため、システムが起動するときに、" -"パスワードの期限切れを確認するActionのパラメータを登録または更新します" +"バージョンが進化するにつれて、新たなActionが追加されたり、Actionの名前、実行時間が変更されたりする可能性があります。そのため、システムが起動するときに、パスワードの期限切れを確認するActionのパラメータを登録または更新します" #: users/tasks.py:67 msgid "Check user expired" @@ -10944,12 +10441,9 @@ msgstr "ユーザーの有効期限が切れていることを確認する" #: users/tasks.py:69 msgid "" -"Check every day at 2 p.m whether the users in the system are expired, and " -"send a \n" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" " notification 5 days in advance" -msgstr "" -"毎日午前10時に確認し、システム内のユーザーが期限切れになっているか確認し、5日" -"前に通知を送信します" +msgstr "毎日午前10時に確認し、システム内のユーザーが期限切れになっているか確認し、5日前に通知を送信します" #: users/tasks.py:90 msgid "Periodic check user expired" @@ -10957,15 +10451,11 @@ msgstr "ユーザーの有効期限の定期的な検出" #: users/tasks.py:92 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if users have expired" msgstr "" -"バージョンのイテレーションに伴い、新たなタスクが追加されたり、タスクの名称、" -"実行時間が変更される可能性があるため、システム起動時に、登録または更新された" -"ユーザーが期限切れのタスクのパラメータをチェックします" +"バージョンのイテレーションに伴い、新たなタスクが追加されたり、タスクの名称、実行時間が変更される可能性があるため、システム起動時に、登録または更新されたユーザーが期限切れのタスクのパラメータをチェックします" #: users/tasks.py:111 msgid "Check unused users" @@ -10973,15 +10463,12 @@ msgstr "未使用のユーザーのチェック" #: users/tasks.py:113 msgid "" -"At 2 p.m. every day, according to the configuration in \"System Settings - " -"Security - \n" -" Auth security - Auto disable threshold\" users who have not logged " -"in or whose API keys \n" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" " have not been used for a long time will be disabled" msgstr "" -"毎日午前2時、システム設定-セキュリティ設定-非アクティブユーザー自動無効化設定" -"に基づき、長時間ログインしないユーザーやapi_keyを使用しないユーザーを無効にし" -"ます" +"毎日午前2時、システム設定-セキュリティ設定-" +"非アクティブユーザー自動無効化設定に基づき、長時間ログインしないユーザーやapi_keyを使用しないユーザーを無効にします" #: users/tasks.py:157 msgid "The user has not logged in recently and has been disabled." @@ -10995,8 +10482,7 @@ msgstr "アカウントの有効期限は" msgid "" "In order not to affect your normal work, please contact the administrator " "for confirmation." -msgstr "" -"通常の作業に影響を与えないように、確認のために管理者に連絡してください。" +msgstr "通常の作業に影響を与えないように、確認のために管理者に連絡してください。" #: users/templates/users/_msg_password_expire_reminder.html:7 msgid "Your password will expire in" @@ -11006,9 +10492,7 @@ msgstr "パスワードは" msgid "" "For your account security, please click on the link below to update your " "password in time" -msgstr "" -"アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間" -"内に更新してください" +msgstr "アカウントのセキュリティについては、下のリンクをクリックしてパスワードを時間内に更新してください" #: users/templates/users/_msg_password_expire_reminder.html:11 msgid "Click here update password" @@ -11016,8 +10500,7 @@ msgstr "ここをクリック更新パスワード" #: users/templates/users/_msg_password_expire_reminder.html:15 msgid "If your password has expired, please click the link below to" -msgstr "" -"パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" +msgstr "パスワードの有効期限が切れている場合は、以下のリンクをクリックしてください" #: users/templates/users/_msg_reset_mfa.html:7 msgid "Your MFA has been reset by site administrator" @@ -11118,11 +10601,9 @@ msgstr "ワンタイムパスワード認証子のバインド" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" -msgstr "" -"MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コード" -"でスキャンします。" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" +msgstr "MFA Authenticatorアプリケーションを使用して、次のqrコードを6ビット検証コードでスキャンします。" #: users/templates/users/user_otp_enable_bind.html:22 #: users/templates/users/user_verify_mfa.html:27 @@ -11137,9 +10618,7 @@ msgstr "アプリのインストール" msgid "" "Download and install the MFA Authenticator application on your phone or " "applet of WeChat" -msgstr "" -"携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウン" -"ロードしてインストールします" +msgstr "携帯電話またはWeChatのアプレットにMFA Authenticatorアプリケーションをダウンロードしてインストールします" #: users/templates/users/user_otp_enable_install_app.html:18 msgid "Android downloads" @@ -11153,9 +10632,7 @@ msgstr "IPhoneのダウンロード" msgid "" "After installation, click the next step to enter the binding page (if " "installed, go to the next step directly)." -msgstr "" -"インストール後、次のステップをクリックしてバインディングページに入ります (イ" -"ンストールされている場合は、次のステップに直接進みます)。" +msgstr "インストール後、次のステップをクリックしてバインディングページに入ります (インストールされている場合は、次のステップに直接進みます)。" #: users/templates/users/user_password_verify.html:8 #: users/templates/users/user_password_verify.html:9 @@ -11170,8 +10647,7 @@ msgstr "認証" msgid "" "The account protection has been opened, please complete the following " "operations according to the prompts" -msgstr "" -"アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" +msgstr "アカウント保護が開始されました。プロンプトに従って次の操作を完了してください" #: users/templates/users/user_verify_mfa.html:17 msgid "Open MFA Authenticator and enter the 6-bit dynamic code" @@ -11191,8 +10667,7 @@ msgstr "すでにバインド済み" #: users/views/profile/otp.py:107 msgid "MFA already bound, disable first, then bound" -msgstr "" -"MFAはすでにバインドされており、最初に無効にしてからバインドされています。" +msgstr "MFAはすでにバインドされており、最初に無効にしてからバインドされています。" #: users/views/profile/otp.py:134 msgid "OTP enable success" @@ -11219,20 +10694,16 @@ 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: {}" -msgstr "" -"ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが" -"許可され、パスワードの変更はサポートされていません: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" +msgstr "ローカル以外のユーザーは、サードパーティ プラットフォームからのログインのみが許可され、パスワードの変更はサポートされていません: {}" #: users/views/profile/reset.py:188 users/views/profile/reset.py:199 msgid "Token invalid or expired" msgstr "トークンが無効または期限切れ" #: users/views/profile/reset.py:204 -#, python-brace-format msgid "User auth from {}, go there change password" msgstr "ユーザー認証ソース {}, 対応するシステムにパスワードを変更してください" @@ -11241,7 +10712,6 @@ 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 "* 新しいパスワードを最後の {} パスワードにすることはできません" @@ -11264,12 +10734,10 @@ 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 "ユーザー {} が現在のリソースを削除し、アセットを解放しました" @@ -11326,10 +10794,8 @@ msgid "Volcengine" msgstr "Volcengine" #: xpack/plugins/cloud/const.py:22 -#, fuzzy -#| msgid "Huawei Cloud" msgid "State Cloud" -msgstr "華為雲" +msgstr "天翼クラウド" #: xpack/plugins/cloud/const.py:24 msgid "VMware" @@ -11469,10 +10935,6 @@ msgstr "地域を同期する" msgid "Get instances of region \"%s\" error, error: %s" msgstr "地域 \"%s\" のインスタンスを取得できませんでした、エラー:%s" -#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:290 -msgid "Instance" -msgstr "インスタンス" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11483,9 +10945,7 @@ msgstr "インスタンス \"%s\" の同期に失敗しました" msgid "" "The updated platform of asset \"%s\" is inconsistent with the original " "platform type. Skip platform and protocol updates" -msgstr "" -"更新された資産 \"%s\" のプラットフォームタイプと元のタイプは一致しません。プ" -"ラットフォームとプロトコルの更新をスキップ" +msgstr "更新された資産 \"%s\" のプラットフォームタイプと元のタイプは一致しません。プラットフォームとプロトコルの更新をスキップ" #: xpack/plugins/cloud/manager.py:443 #, python-format @@ -11617,11 +11077,16 @@ msgstr "同期タスク" msgid "Sync instance task history" msgstr "インスタンスタスク履歴の同期" +#: xpack/plugins/cloud/models.py:290 +msgid "Instance" +msgstr "インスタンス" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "同期インスタンスの詳細" -#: xpack/plugins/cloud/models.py:319 xpack/plugins/cloud/serializers/task.py:79 +#: xpack/plugins/cloud/models.py:319 +#: xpack/plugins/cloud/serializers/task.py:79 msgid "Rule relation" msgstr "条件関係" @@ -11677,7 +11142,8 @@ msgstr "ルール一致" msgid "Rule value" msgstr "ルール値" -#: xpack/plugins/cloud/models.py:395 xpack/plugins/cloud/serializers/task.py:82 +#: xpack/plugins/cloud/models.py:395 +#: xpack/plugins/cloud/serializers/task.py:82 msgid "Strategy rule" msgstr "戦略ルール" @@ -11693,7 +11159,8 @@ msgstr "アクション属性" msgid "Action value" msgstr "アクション値" -#: xpack/plugins/cloud/models.py:422 xpack/plugins/cloud/serializers/task.py:85 +#: xpack/plugins/cloud/models.py:422 +#: xpack/plugins/cloud/serializers/task.py:85 msgid "Strategy action" msgstr "戦略アクション" @@ -11937,12 +11404,6 @@ msgstr "APIエンドポイント" msgid "Auto node classification" msgstr "オートノード分類" -#: xpack/plugins/cloud/serializers/account_attrs.py:108 -#, fuzzy -#| msgid "Domain name" -msgid "domain_name" -msgstr "ドメイン名" - #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "認証アドレス" @@ -11956,10 +11417,8 @@ msgid "User domain" msgstr "ユーザードメイン" #: xpack/plugins/cloud/serializers/account_attrs.py:157 -#, fuzzy -#| msgid "Project" msgid "Project ID" -msgstr "project" +msgstr "プロジェクト" #: xpack/plugins/cloud/serializers/account_attrs.py:164 msgid "Cert File" @@ -11978,7 +11437,6 @@ 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アドレスが無効: '{}', {}" @@ -11992,9 +11450,8 @@ msgid "" "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." msgstr "" -"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが" -"実行されると、有効な IP アドレスのみが同期されます。
ポートが0の場合、す" -"べてのIPアドレスが有効です。" +"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが実行されると、有効な IP アドレスのみが同期されます。 " +"
ポートが0の場合、すべてのIPアドレスが有効です。" #: xpack/plugins/cloud/serializers/account_attrs.py:227 msgid "Hostname prefix" @@ -12026,10 +11483,9 @@ msgstr "インスタンス数" #: xpack/plugins/cloud/tasks.py:33 msgid "" -"Execute this task when manually or scheduled cloud synchronization tasks are " -"performed" -msgstr "" -"手動または定期的なクラウド同期タスクを実行する際に、このタスクを実行します。" +"Execute this task when manually or scheduled cloud synchronization tasks are" +" performed" +msgstr "手動または定期的なクラウド同期タスクを実行する際に、このタスクを実行します。" #: xpack/plugins/cloud/tasks.py:50 msgid "Period clean sync instance task execution" @@ -12037,14 +11493,11 @@ msgstr "同期インスタンス タスクの実行記録を定期的にクリ #: xpack/plugins/cloud/tasks.py:52 msgid "" -"Every day, according to the configuration in \"System Settings - Tasks - " -"Regular \n" -" clean-up - Cloud sync task history retention days\" the system will " -"clean up the execution \n" +"Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" " records generated by cloud synchronization" msgstr "" -"毎日、システムは「システム設定-タスク-定期的掃除-クラウド同期タスク履歴保持日" -"数」の設定に基づいて、クラウド同期実行中に生成された記録を整理します。" +"毎日、システムは「システム設定-タスク-定期的掃除-クラウド同期タスク履歴保持日数」の設定に基づいて、クラウド同期実行中に生成された記録を整理します。" #: xpack/plugins/interface/api.py:52 msgid "Restore default successfully." @@ -12094,40 +11547,3 @@ msgstr "ライセンスのインポートに成功" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "ライセンスが無効です" - -#~ msgid "" -#~ "CAS login was successful, but no corresponding local user was found in " -#~ "the system, and automatic user creation is disabled in the CAS " -#~ "authentication configuration. Login failed." -#~ msgstr "" -#~ "CASへのログインに成功しましたが、システムはローカルユーザーを見つけられ" -#~ "ず、CAS認証設定で自動ユーザー作成機能が有効になっていないため、ログインに" -#~ "失敗しました。" - -#~ msgid "Invalid token or cache refreshed." -#~ msgstr "無効なトークンまたはキャッシュの更新。" - -#~ msgid "Create user" -#~ msgstr "そうでない場合はユーザーを作成" - -#~ msgid "" -#~ "After successful user authentication, if the user does not exist, " -#~ "automatically create the user" -#~ msgstr "" -#~ "ユーザー認証が成功した後、ユーザーが存在しない場合、自動的にユーザーが作成" -#~ "されます" - -#~ msgid "Watermark console content" -#~ msgstr "管理ページのウォーターマークカスタム内容" - -#~ msgid "Watermark font size" -#~ msgstr "フォントサイズ" - -#~ msgid "Watermark height" -#~ msgstr "単一ウォーターマークの高さ" - -#~ msgid "Watermark width" -#~ msgstr "単一ウォーターマークの幅" - -#~ msgid "Watermark rotate" -#~ msgstr "ウォーターマークの回転角度" diff --git a/apps/i18n/core/ko/LC_MESSAGES/django.po b/apps/i18n/core/ko/LC_MESSAGES/django.po index 35744ba66..3fc603e7f 100644 --- a/apps/i18n/core/ko/LC_MESSAGES/django.po +++ b/apps/i18n/core/ko/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,23 +18,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "계정이 이미 존재합니다" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "계정 생성을 위한 유효한 자산을 찾을 수 없습니다." #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "계정을 찾을 수 없습니다" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "파라미터 'action'은 [{}] 여야 합니다" @@ -117,22 +116,18 @@ 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" -"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " -"secret: {}, using time: {}s" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no secret: {}, using time: {}s" msgstr "" "---\n" "요약: \n" -"정상: {}, 약한 비밀번호: {}, 유출된 비밀번호: {}, 중복 비밀번호: {}, 비밀번" -"호 없음: {}, 소요 시간: {}초" +"정상: {}, 약한 비밀번호: {}, 유출된 비밀번호: {}, 중복 비밀번호: {}, 비밀번호 없음: {}, 소요 시간: {}초" #: accounts/automations/push_account/manager.py:33 msgid "Secret cannot be empty" @@ -144,12 +139,12 @@ msgstr ">>> 테스트 게이트웨이 계정 연결성 작업 시작" #: accounts/const/account.py:6 #: accounts/serializers/automations/change_secret.py:36 -#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 -#: authentication/confirm/password.py:27 authentication/const.py:13 -#: authentication/forms.py:28 +#: audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:25 authentication/confirm/password.py:27 +#: authentication/const.py:13 authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -158,8 +153,6 @@ 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 "비밀번호" @@ -217,7 +210,8 @@ msgstr "발견" msgid "Template" msgstr "템플릿" -#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:76 +#: accounts/const/account.py:32 ops/const.py:47 +#: xpack/plugins/cloud/const.py:76 msgid "Skip" msgstr "건너뛰기" @@ -450,8 +444,7 @@ msgstr "Amazon Secrets Manager" msgid "" "Vault operation failed. Please retry or check your account information on " "Vault." -msgstr "" -"Vault 작업이 실패했습니다. 다시 시도하거나 Vault의 계정 정보를 확인하십시오." +msgstr "Vault 작업이 실패했습니다. 다시 시도하거나 Vault의 계정 정보를 확인하십시오." #: accounts/models/account.py:85 #: accounts/models/automations/check_account.py:59 @@ -540,7 +533,7 @@ msgstr "비밀번호 변경 상태" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -608,9 +601,11 @@ msgstr "계정 활동" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:39 settings/models.py:188 #: settings/serializers/msg.py:90 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 #: terminal/models/component/endpoint.py:107 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:86 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -620,7 +615,8 @@ msgstr "계정 활동" #: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:279 xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/serializers/task.py:77 msgid "Name" msgstr "이름" @@ -630,7 +626,7 @@ msgstr "아이콘" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -654,16 +650,19 @@ msgstr "IP 그룹" #: accounts/models/application.py:23 #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:25 -#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "최종 사용 날짜" #: accounts/models/application.py:24 acls/models/base.py:43 #: assets/models/asset/common.py:182 authentication/models/access_key.py:24 #: authentication/models/connection_token.py:60 -#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23 +#: authentication/models/ssh_key.py:13 +#: authentication/serializers/ssh_key.py:23 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:30 #: terminal/models/component/endpoint.py:118 #: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 #: tickets/const.py:37 @@ -897,8 +896,8 @@ msgstr "중복 비밀번호" #: accounts/templates/accounts/gather_account_report.html:118 #: accounts/templates/accounts/push_account_report.html:79 #: accounts/templates/accounts/push_account_report.html:119 -#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204 -#: authentication/forms.py:21 authentication/forms.py:23 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 +#: audits/models.py:204 authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:10 #: authentication/serializers/connect_token_secret.py:43 #: authentication/serializers/connect_token_secret.py:53 @@ -910,8 +909,6 @@ 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 "사용자 이름" @@ -945,9 +942,7 @@ msgstr "검사에서 발견된 계정" msgid "" "Perform checks and analyses based on automatically discovered account " "results, including user groups, public keys, sudoers, and other information." -msgstr "" -"자동 발견된 계정 결과에 따른 검사와 분석, 사용자 그룹, 공개 키, sudoers 등 정" -"보 포함." +msgstr "자동 발견된 계정 결과에 따른 검사와 분석, 사용자 그룹, 공개 키, sudoers 등 정보 포함." #: accounts/models/automations/check_account.py:142 msgid "Check the strength of your account and password" @@ -957,8 +952,7 @@ msgstr "귀하의 계정 및 비밀번호 강도 점검" msgid "" "Perform checks and analyses based on the security of account passwords, " "including password strength, leakage, etc." -msgstr "" -"계정 비밀번호의 보안성을 점검하고 분석, 비밀번호 강도, 유출 상황 등을 포함" +msgstr "계정 비밀번호의 보안성을 점검하고 분석, 비밀번호 강도, 유출 상황 등을 포함" #: accounts/models/automations/check_account.py:151 msgid "Check if the account and password are repeated" @@ -1029,7 +1023,7 @@ msgid "Verify asset account" msgstr "계정 검증" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1104,54 +1098,45 @@ msgstr "자산 로그인 시 사용자 이름과 사용자의 사용자 이름 msgid "" "Connect asset without using a username and password, and it only supports " "web-based and custom-type assets" -msgstr "" -"자산 연결 시 사용자 이름과 암호를 사용하지 않는 계정, 웹 타입과 사용자 정의 " -"타입의 자산만 지원" +msgstr "자산 연결 시 사용자 이름과 암호를 사용하지 않는 계정, 웹 타입과 사용자 정의 타입의 자산만 지원" #: accounts/notifications.py:13 accounts/notifications.py:39 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 "" -"{} - 계정 백업 작업이 완료되었습니다. 자세한 내용은 첨부파일을 참조하십시오." +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 " "encryption password for preference settings" msgstr "" -"{} - 계정 백업 작업이 완료되었습니다: 암호화 비밀번호가 설정되지 않았습니다 " -"- 개인 정보 -> 기본 설정에서 파일 암호화 비밀번호를 설정해 주시기 바랍니다." +"{} - 계정 백업 작업이 완료되었습니다: 암호화 비밀번호가 설정되지 않았습니다 - 개인 정보 -> 기본 설정에서 파일 암호화 비밀번호를" +" 설정해 주시기 바랍니다." #: accounts/notifications.py:58 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 "" -"{} - 비밀번호 변경 작업이 완료되었습니다. 자세한 내용은 첨부파일을 참조하십시" -"오." +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 " "password in preferences" msgstr "" -"{} - 비밀번호 변경 작업이 완료되었습니다: 암호화 비밀번호가 설정되지 않았습니" -"다 - 개인 정보 -> 기본 설정에서 암호화 비밀번호를 설정해 주시기 바랍니다." +"{} - 비밀번호 변경 작업이 완료되었습니다: 암호화 비밀번호가 설정되지 않았습니다 - 개인 정보 -> 기본 설정에서 암호화 비밀번호를 " +"설정해 주시기 바랍니다." #: accounts/notifications.py:86 msgid "Gather account change information" @@ -1198,7 +1183,6 @@ msgid "Change password and Add" msgstr "비밀번호 변경 및 추가" #: accounts/risk_handlers.py:127 -#, python-brace-format msgid "Execution failed: {}" msgstr "실행 실패: {}" @@ -1232,9 +1216,9 @@ msgstr "카테고리" #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/serializers.py:76 audits/serializers.py:211 #: authentication/models/connection_token.py:67 -#: authentication/serializers/connect_token_secret.py:138 ops/models/job.py:155 -#: perms/serializers/user_permission.py:28 terminal/models/applet/applet.py:40 -#: terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:138 +#: ops/models/job.py:155 perms/serializers/user_permission.py:28 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:152 terminal/serializers/applet.py:30 #: terminal/serializers/session.py:33 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -1295,21 +1279,22 @@ msgstr "자산 또는 노드 중 최소 하나 선택" msgid "Spec info" msgstr "특별 정보" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 -#: audits/models.py:97 audits/models.py:179 audits/models.py:296 -#: audits/serializers.py:212 authentication/models/connection_token.py:38 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:55 audits/models.py:97 audits/models.py:179 +#: audits/models.py:296 audits/serializers.py:212 +#: authentication/models/connection_token.py:38 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: authentication/notifications.py:16 authentication/notifications.py:55 #: notifications/models/notification.py:12 @@ -1327,7 +1312,7 @@ msgstr "ID" msgid "User" msgstr "사용자" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1342,8 +1327,7 @@ msgid "" "* If no username is required for authentication, enter null. For AD " "accounts, use the format username@domain." msgstr "" -"提示: 인증 시 사용자 이름이 필요하지 않다면 null로 입력할 수 있으며, AD 계정" -"의 경우 형식은 username@domain입니다." +"提示: 인증 시 사용자 이름이 필요하지 않다면 null로 입력할 수 있으며, AD 계정의 경우 형식은 username@domain입니다." #: accounts/serializers/account/service.py:15 #: authentication/serializers/token.py:23 @@ -1352,11 +1336,11 @@ msgstr "IP 화이트리스트" #: accounts/serializers/account/service.py:28 #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 -#: ops/models/job.py:165 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:44 terminal/models/applet/applet.py:46 -#: terminal/models/applet/applet.py:383 terminal/models/applet/host.py:143 -#: terminal/models/component/endpoint.py:29 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:165 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:44 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:383 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:29 #: terminal/models/component/endpoint.py:117 #: terminal/models/session/session.py:44 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1402,22 +1386,17 @@ msgid "" "length is the length of the password, and the range is 8 to 30.\n" "lowercase indicates whether the password contains lowercase letters, \n" "uppercase indicates whether it contains uppercase letters,\n" -"digit indicates whether it contains numbers, and symbol indicates whether it " -"contains special symbols.\n" -"exclude_symbols is used to exclude specific symbols. You can fill in the " -"symbol characters to be excluded (up to 16). \n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" "If you do not need to exclude symbols, you can leave it blank.\n" -"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" msgstr "" -"길이는 비밀번호 길이로, 8에서 30 사이의 범위를 작성하십시오. lowercase는 비밀" -"번호에 소문자가 포함되는지 여부를 나타내며, uppercase는 대문자가 포함되는지 " -"여부를 나타냅니다. digit은 숫자가 포함되는지 여부를 나타내고, symbol은 특수 " -"기호의 포함 여부를 의미합니다. exclude_symbols는 특정 기호를 제외하는 데 사용" -"되며, 제외할 기호 문자를 최대 16개까지 입력할 수 있습니다. 기호를 제외할 필요" -"가 없으면 빈 칸으로 두십시오. 기본값: {\"length\": 16, \"lowercase\": true, " -"\"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": " -"\"\"}" +"길이는 비밀번호 길이로, 8에서 30 사이의 범위를 작성하십시오. lowercase는 비밀번호에 소문자가 포함되는지 여부를 나타내며, " +"uppercase는 대문자가 포함되는지 여부를 나타냅니다. digit은 숫자가 포함되는지 여부를 나타내고, symbol은 특수 기호의 " +"포함 여부를 의미합니다. exclude_symbols는 특정 기호를 제외하는 데 사용되며, 제외할 기호 문자를 최대 16개까지 입력할 수" +" 있습니다. 기호를 제외할 필요가 없으면 빈 칸으로 두십시오. 기본값: {\"length\": 16, \"lowercase\": " +"true, \"uppercase\": true, \"digit\": true, \"symbol\": true, " +"\"exclude_symbols\": \"\"}" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" @@ -1431,9 +1410,7 @@ msgstr "계정을 자산으로 자동 푸시할지 여부" msgid "" "Associated platform, you can configure push parameters. If not associated, " "default parameters will be used" -msgstr "" -"연관된 플랫폼, 푸시 매개변수를 구성할 수 있으며, 연관되지 않을 경우 기본 매개" -"변수를 사용합니다" +msgstr "연관된 플랫폼, 푸시 매개변수를 구성할 수 있으며, 연관되지 않을 경우 기본 매개변수를 사용합니다" #: accounts/serializers/account/virtual.py:24 msgid "" @@ -1441,10 +1418,9 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"현재는 AD/LDAP 로그인 방식의 사용자만 지원됩니다. 동일 이름 계정의 비밀번호 " -"적용 순서: 자산에 존재하는 동일 이름 계정의 비밀번호 > 로그인 비밀번호 > 수" -"동 입력
안전을 위해 구성 항목 CACHE_LOGIN_PASSWORD_ENABLED=true로 설정" -"하고, 서비스를 재시작해야 활성화됩니다." +"현재는 AD/LDAP 로그인 방식의 사용자만 지원됩니다. 동일 이름 계정의 비밀번호 적용 순서: 자산에 존재하는 동일 이름 계정의 " +"비밀번호 > 로그인 비밀번호 > 수동 입력
안전을 위해 구성 항목 " +"CACHE_LOGIN_PASSWORD_ENABLED=true로 설정하고, 서비스를 재시작해야 활성화됩니다." #: accounts/serializers/automations/backup.py:19 msgid "Zip Encrypt Password" @@ -1545,16 +1521,12 @@ msgstr "계정 자동화 실행" #: accounts/tasks/automation.py:36 msgid "" -"Unified execution entry for account automation tasks: when the system " -"performs tasks \n" -" such as account push, password change, account verification, account " -"collection, \n" -" and gateway account verification, all tasks are executed through " -"this unified entry" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" msgstr "" -"계정 자동화 작업의 통합 실행 입구로, 시스템이 계정 푸시, 비밀번호 변경, 계정 " -"확인, 계정 수집, 게이트웨이 계정 작업 확인 등을 수행할 때, 현재 작업을 통해 " -"통합적으로 실행됩니다." +"계정 자동화 작업의 통합 실행 입구로, 시스템이 계정 푸시, 비밀번호 변경, 계정 확인, 계정 수집, 게이트웨이 계정 작업 확인 등을 " +"수행할 때, 현재 작업을 통해 통합적으로 실행됩니다." #: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" @@ -1570,30 +1542,20 @@ msgstr "정기적으로 비밀번호 변경 기록과 푸시 기록 정리" #: accounts/tasks/automation.py:118 msgid "" -"The system will periodically clean up unnecessary password change and push " -"records, \n" -" including their associated change tasks, execution logs, assets, and " -"accounts. When any \n" -" of these associated items are deleted, the corresponding password " -"change and push records \n" -" become invalid. Therefore, to maintain a clean and efficient " -"database, the system will \n" -" clean up expired records at 2 a.m daily, based on the interval " -"specified by \n" -" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " -"This periodic cleanup \n" -" mechanism helps free up storage space and enhances the security and " -"overall performance \n" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" " of data management" msgstr "" -"시스템은 더 이상 필요하지 않은 비밀번호 변경 기록과 푸시 기록을 정기적으로 정" -"리합니다. 여기에는 관련된 비밀번호 변경 작업, 실행 기록, 자산 및 계정이 포함" -"됩니다. 이러한 관련 항목 중 하나라도 삭제되면, 해당 비밀번호 변경 및 푸시 기" -"록은 무효가 됩니다. 따라서 데이터베이스의 정돈과 효율적인 운영을 위해, 시스" -"템 구성 파일 config.txt에 포함된 PERM_EXPIRED_CHECK_PERIODIC의 시간 간격에 따" -"라 매일 새벽 2시에 시간 초과된 항목을 정리합니다. 이러한 정기적인 정리 메커니" -"즘은 저장 공간을 확보할 뿐만 아니라 데이터 관리의 보안성과 전체 성능을 향상시" -"키는 데도 기여합니다." +"시스템은 더 이상 필요하지 않은 비밀번호 변경 기록과 푸시 기록을 정기적으로 정리합니다. 여기에는 관련된 비밀번호 변경 작업, 실행 " +"기록, 자산 및 계정이 포함됩니다. 이러한 관련 항목 중 하나라도 삭제되면, 해당 비밀번호 변경 및 푸시 기록은 무효가 됩니다. 따라서 " +"데이터베이스의 정돈과 효율적인 운영을 위해, 시스템 구성 파일 config.txt에 포함된 " +"PERM_EXPIRED_CHECK_PERIODIC의 시간 간격에 따라 매일 새벽 2시에 시간 초과된 항목을 정리합니다. 이러한 정기적인 " +"정리 메커니즘은 저장 공간을 확보할 뿐만 아니라 데이터 관리의 보안성과 전체 성능을 향상시키는 데도 기여합니다." #: accounts/tasks/push_account.py:40 accounts/tasks/push_account.py:54 msgid "Push accounts to assets" @@ -1603,8 +1565,7 @@ msgstr "계정 자산으로 푸시" msgid "" "Whenever an account is created or modified and needs pushing to assets, run " "this task" -msgstr "" -"계정을 생성하거나 수정할 때 자산에 푸시해야 할 때마다 이 작업을 실행합니다." +msgstr "계정을 생성하거나 수정할 때 자산에 푸시해야 할 때마다 이 작업을 실행합니다." #: accounts/tasks/push_account.py:62 accounts/tasks/push_account.py:104 msgid "Change secret accounts to assets" @@ -1618,12 +1579,9 @@ msgstr "계정 비밀번호를 수정하고 자산으로 전송할 때, 해당 #: accounts/tasks/remove_account.py:28 msgid "" -"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " -"accounts' this \n" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" " task will be executed" -msgstr "" -"콘솔 - 계정 수집 - 수집된 계정에서 동기화 삭제를 클릭할 때 이 작업이 실행됩니" -"다." +msgstr "콘솔 - 계정 수집 - 수집된 계정에서 동기화 삭제를 클릭할 때 이 작업이 실행됩니다." #: accounts/tasks/remove_account.py:50 msgid "Clean historical accounts" @@ -1631,17 +1589,13 @@ msgstr "역사적인 계정 정리" #: accounts/tasks/remove_account.py:52 msgid "" -"Each time an asset account is updated, a historical account is generated, so " -"it is \n" -" necessary to clean up the asset account history. The system will " -"clean up excess account \n" -" records at 2 a.m. daily based on the configuration in the \"System " -"settings - Features - \n" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" " Account storage - Record limit" msgstr "" -"자산 계정을 업데이트할 때마다 과거 계정이 생성되므로, 자산 계정의 역사를 정리" -"해야 합니다. 시스템은 계정 저장소 - 기록 제한 설정에 따라 매일 새벽 2시에 초" -"과된 수량의 계정 기록을 정리합니다." +"자산 계정을 업데이트할 때마다 과거 계정이 생성되므로, 자산 계정의 역사를 정리해야 합니다. 시스템은 계정 저장소 - 기록 제한 설정에 " +"따라 매일 새벽 2시에 초과된 수량의 계정 기록을 정리합니다." #: accounts/tasks/remove_account.py:89 msgid "Remove historical accounts that are out of range." @@ -1653,12 +1607,9 @@ msgstr "연관된 계정에 정보 동기화" #: accounts/tasks/template.py:14 msgid "" -"When clicking 'Sync new secret to accounts' in 'Console - Account - " -"Templates - \n" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" " Accounts' this task will be executed" -msgstr "" -"콘솔 - 계정 템플릿 - 계정 - 계정 정보 동기화 업데이트를 클릭할 때 이 작업을 " -"실행합니다." +msgstr "콘솔 - 계정 템플릿 - 계정 - 계정 정보 동기화 업데이트를 클릭할 때 이 작업을 실행합니다." #: accounts/tasks/vault.py:33 msgid "Sync secret to vault" @@ -1668,9 +1619,7 @@ msgstr "암호문을 vault에 동기화" msgid "" "When clicking 'Sync' in 'System Settings - Features - Account Storage' this " "task will be executed" -msgstr "" -"시스템 설정 - 기능 설정 - 계정 저장소에서 동기화를 클릭할 때 이 작업을 실행합" -"니다." +msgstr "시스템 설정 - 기능 설정 - 계정 저장소에서 동기화를 클릭할 때 이 작업을 실행합니다." #: accounts/tasks/verify_account.py:49 msgid "Verify asset account availability" @@ -1680,8 +1629,7 @@ msgstr "자산 계정의 유효성 검증" msgid "" "When clicking 'Test' in 'Console - Asset details - Accounts' this task will " "be executed" -msgstr "" -"콘솔 - 자산 세부정보 - 계정에서 테스트를 클릭할 때 이 작업이 실행됩니다." +msgstr "콘솔 - 자산 세부정보 - 계정에서 테스트를 클릭할 때 이 작업이 실행됩니다." #: accounts/tasks/verify_account.py:58 msgid "Verify accounts connectivity" @@ -1823,11 +1771,9 @@ msgstr "분실된 계정을 찾을 수 없음" #: accounts/utils.py:55 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." -msgstr "" -"비밀번호가 `{{`로 시작하고 `}}`로 끝나는 경우, 해당 비밀번호는 허용되지 않습" -"니다." +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." +msgstr "비밀번호가 `{{`로 시작하고 `}}`로 끝나는 경우, 해당 비밀번호는 허용되지 않습니다." #: accounts/utils.py:63 msgid "private key invalid or passphrase error" @@ -1885,7 +1831,8 @@ msgid "1-100, the lower the value will be match first" msgstr "우선순위 선택 범위는 1-100 (숫자가 작을수록 더 우선)" #: acls/models/base.py:41 acls/serializers/base.py:57 -#: assets/models/cmd_filter.py:81 audits/models.py:99 audits/serializers.py:107 +#: assets/models/cmd_filter.py:81 audits/models.py:99 +#: audits/serializers.py:107 #: authentication/serializers/connect_token_secret.py:131 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:63 perms/serializers/permission.py:85 @@ -1909,7 +1856,7 @@ msgstr "사용자" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1954,10 +1901,8 @@ msgid "Command group" msgstr "명령 그룹" #: acls/models/command_acl.py:86 -#, fuzzy, python-brace-format -#| msgid "The generated regular expression is incorrect: {}" msgid "The generated regular expression is incorrect: {}" -msgstr "생성된 정규 표현식에 오류가 있음" +msgstr "생성된 정규 표현식이 잘못되었습니다: {}" #: acls/models/command_acl.py:103 #: terminal/templates/terminal/_msg_command_warning.html:22 @@ -2062,7 +2007,8 @@ msgstr "ACL 이름" #: acls/notifications.py:24 acls/notifications.py:77 #: acls/templates/acls/asset_login_reminder.html:13 #: acls/templates/acls/user_login_reminder.html:11 -#: terminal/models/session/session.py:34 terminal/models/session/sharing.py:116 +#: terminal/models/session/session.py:34 +#: terminal/models/session/sharing.py:116 #: terminal/templates/terminal/_msg_command_warning.html:16 msgid "Login from" msgstr "로그인 출처" @@ -2094,8 +2040,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" @@ -2106,23 +2052,19 @@ msgid "Recipients" msgstr "수신자" #: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79 -#, python-brace-format msgid "The organization `{}` does not exist" msgstr "조직 `{}` 가 존재하지 않습니다." #: acls/serializers/base.py:132 -#, 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 "주소가 유효하지 않습니다: `{}`" @@ -2131,8 +2073,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 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -2182,9 +2124,8 @@ msgid "" "the asset. If you did not authorize this login or if you notice any " "suspicious activity, please take the necessary actions immediately." msgstr "" -"이 로그인 활동을 검토하여 자산의 안전과 올바른 사용이 보장되도록 해주시기 바" -"랍니다. 만약 이 로그인이 승인되지 않았거나 의심스러운 활동이 발견되면 즉시 필" -"요한 조치를 취해 주십시오." +"이 로그인 활동을 검토하여 자산의 안전과 올바른 사용이 보장되도록 해주시기 바랍니다. 만약 이 로그인이 승인되지 않았거나 의심스러운 " +"활동이 발견되면 즉시 필요한 조치를 취해 주십시오." #: acls/templates/acls/asset_login_reminder.html:20 #: acls/templates/acls/user_login_reminder.html:19 @@ -2213,7 +2154,6 @@ 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 "루트 노드를 삭제할 수 없습니다 ({})" @@ -2234,12 +2174,10 @@ msgid "App Assets" msgstr "자산 관리" #: assets/automations/base/manager.py:139 -#, python-brace-format msgid "Task: {} finished" msgstr "작업: {} 완료" #: assets/automations/base/manager.py:340 -#, python-brace-format msgid " - Platform {} ansible disabled" msgstr "- 플랫폼 {} Ansible이 비활성화되어 있어 작업을 실행할 수 없습니다." @@ -2271,7 +2209,6 @@ msgid "No account" msgstr "계정이 없습니다." #: assets/automations/ping_gateway/manager.py:36 -#, python-brace-format msgid "Asset, {}, using account {}" msgstr "자산, {}, 사용 계정 {}" @@ -2385,8 +2322,7 @@ msgstr "클라우드 서비스" msgid "Web" msgstr "웹" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "사용자 정의 타입" @@ -2463,9 +2399,8 @@ msgstr "구 버전 SSH, 예를 들어 openssh 5.x 또는 6.x" #: assets/const/protocol.py:53 msgid "Netcat help text" msgstr "" -"netcat (nc)을 프록시 도구로 사용하여 프록시 서버에서 대상 호스트로 연결을 전" -"달합니다. SSH의 원래 프록시 옵션 (-W)을 지원하지 않거나 더 많은 유연성과 타임" -"아웃 제어가 필요한 환경에 적합합니다." +"netcat (nc)을 프록시 도구로 사용하여 프록시 서버에서 대상 호스트로 연결을 전달합니다. SSH의 원래 프록시 옵션 (-W)을 " +"지원하지 않거나 더 많은 유연성과 타임아웃 제어가 필요한 환경에 적합합니다." #: assets/const/protocol.py:64 msgid "SFTP root" @@ -2478,8 +2413,8 @@ msgid "" "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"SFTP 루트 디렉토리, 변수를 지원합니다:
-${ACCOUNT} 연결된 계정의 사용자 이" -"름
-${HOME} 연결된 계정의 홈 디렉토리
-${USER} 사용자의 사용자 이름" +"SFTP 루트 디렉토리, 변수를 지원합니다:
-${ACCOUNT} 연결된 계정의 사용자 이름
-${HOME} 연결된 계정의 홈" +" 디렉토리
-${USER} 사용자의 사용자 이름" #: assets/const/protocol.py:81 msgid "Console" @@ -2500,19 +2435,18 @@ msgstr "보안" #: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the " -"security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " "via TLS.
NLA
This mode uses TLS encryption and requires the username " "and password to be given in advance" msgstr "" -"연결의 보안 계층:
Any
클라이언트와 서버가 지원하는 보안 프로토콜에 따" -"라 자동으로 보안 모드를 선택합니다.
RDP
전통적인 RDP 암호화 모드. 일반" -"적으로 구식 Windows 서버나 표준 Windows 로그인 화면이 필요한 경우에만 사용됩" -"니다.
TLS
TLS를 통해 구현된 RDP 인증 및 암호화
NLA
이 모드는 TLS " -"암호화를 사용하며, 사용자 이름과 비밀번호를 미리 제공해야 합니다." +"연결의 보안 계층:
Any
클라이언트와 서버가 지원하는 보안 프로토콜에 따라 자동으로 보안 모드를 " +"선택합니다.
RDP
전통적인 RDP 암호화 모드. 일반적으로 구식 Windows 서버나 표준 Windows 로그인 화면이 " +"필요한 경우에만 사용됩니다.
TLS
TLS를 통해 구현된 RDP 인증 및 암호화
NLA
이 모드는 TLS 암호화를 " +"사용하며, 사용자 이름과 비밀번호를 미리 제공해야 합니다." #: assets/const/protocol.py:106 msgid "AD domain" @@ -2594,21 +2528,15 @@ msgstr "클러스터 모드 시작" #: assets/const/protocol.py:257 msgid "Enable if this Redis instance is part of a cluster" -msgstr "" -"이 Redis 인스턴스가 클러스터의 일부라면 클러스터 모드를 활성화하십시오. 실행 " -"수" +msgstr "이 Redis 인스턴스가 클러스터의 일부라면 클러스터 모드를 활성화하십시오. 실행 수" #: assets/const/protocol.py:276 -#, fuzzy -#| msgid "Name strategy" msgid "Namespace" -msgstr "호스트 이름 정책" +msgstr "네임스페이스" #: assets/const/protocol.py:288 msgid "Safe mode" -msgstr "" -"안전 모드가 활성화되면 일부 기능이 비활성화됩니다. 예: 새 탭 열기, 우클릭, 다" -"른 웹사이트 접근 등" +msgstr "안전 모드가 활성화되면 일부 기능이 비활성화됩니다. 예: 새 탭 열기, 우클릭, 다른 웹사이트 접근 등" #: assets/const/protocol.py:290 msgid "" @@ -3058,8 +2986,7 @@ msgstr "%(value)s는 짝수가 아닙니다" msgid "" "Batch update platform in assets, skipping assets that do not meet platform " "type" -msgstr "" -"자산 중 플랫폼을 일괄 업데이트하며, 플랫폼 유형에 맞지 않는 자산은 건너뜁니다" +msgstr "자산 중 플랫폼을 일괄 업데이트하며, 플랫폼 유형에 맞지 않는 자산은 건너뜁니다" #: assets/serializers/asset/common.py:36 assets/serializers/platform.py:154 msgid "Protocols, format is [\"protocol/port\"]" @@ -3073,16 +3000,13 @@ msgstr "프로토콜, 형식은 이름/포트" msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -msgstr "" -"계정, 형식은 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " -"\"secret_type\": \"password\"}]" +msgstr "계정, 형식은 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", \"secret_type\": \"password\"}]" #: assets/serializers/asset/common.py:135 msgid "" "Node path, format [\"/org_name/node_name\"], if node not exist, will create " "it" -msgstr "" -"노드 경로, 형식은 [\"/조직/노드명\"], 만약 노드가 존재하지 않으면 생성됩니다" +msgstr "노드 경로, 형식은 [\"/조직/노드명\"], 만약 노드가 존재하지 않으면 생성됩니다" #: assets/serializers/asset/common.py:147 assets/serializers/platform.py:175 #: authentication/serializers/connect_token_secret.py:30 @@ -3114,11 +3038,10 @@ msgid "port out of range (0-65535)" msgstr "포트 범위를 초과했습니다 (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "프로토콜은 필수입니다: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "유효하지 않은 데이터" @@ -3129,38 +3052,30 @@ msgstr "기본 데이터베이스" #: assets/serializers/asset/database.py:23 msgid "CA cert help text" msgstr "" -"Common Name (CN) 필드는 더 이상 사용되지 않으며, RFC 5280에 따라 Subject " -"Alternative Name (SAN) 필드를 사용하여 도메인 이름을 확인하여 보안을 강화해" -"야 합니다." +"Common Name (CN) 필드는 더 이상 사용되지 않으며, RFC 5280에 따라 Subject Alternative Name " +"(SAN) 필드를 사용하여 도메인 이름을 확인하여 보안을 강화해야 합니다." #: assets/serializers/asset/database.py:24 msgid "Postgresql ssl model help text" msgstr "" -"Prefer: 나는 암호화에 관심이 없지만, 서버가 암호화를 지원한다면 그에 대한 비" -"용을 지불할 의향이 있습니다. \n" -"Require: 나는 내 데이터가 암호화되기를 바라며, 그에 대한 비용을 수용하겠습니" -"다. 나는 네트워크가 내가 원하는 서버에 항상 연결될 것이라고 믿습니다. \n" -"Verify CA: 나는 내 데이터가 암호화되기를 바라며, 그에 대한 비용을 수용하겠습" -"니다. 나는 내가 신뢰하는 서버에 연결되기를 원합니다. \n" -"Verify Full: 나는 내 데이터가 암호화되기를 바라며, 그에 대한 비용을 수용하겠" -"습니다. 나는 내가 신뢰하는 서버에 연결되기를 원하며, 그것이 내가 지정한 서버" -"임을 보장받고 싶습니다." +"Prefer: 나는 암호화에 관심이 없지만, 서버가 암호화를 지원한다면 그에 대한 비용을 지불할 의향이 있습니다. \n" +"Require: 나는 내 데이터가 암호화되기를 바라며, 그에 대한 비용을 수용하겠습니다. 나는 네트워크가 내가 원하는 서버에 항상 연결될 것이라고 믿습니다. \n" +"Verify CA: 나는 내 데이터가 암호화되기를 바라며, 그에 대한 비용을 수용하겠습니다. 나는 내가 신뢰하는 서버에 연결되기를 원합니다. \n" +"Verify Full: 나는 내 데이터가 암호화되기를 바라며, 그에 대한 비용을 수용하겠습니다. 나는 내가 신뢰하는 서버에 연결되기를 원하며, 그것이 내가 지정한 서버임을 보장받고 싶습니다." #: assets/serializers/asset/ds.py:18 msgid "" -"The domain part used by the directory service (e.g., AD) and appended to the " -"username during login, such as example.com in user@example.com." +"The domain part used by the directory service (e.g., AD) and appended to the" +" username during login, such as example.com in user@example.com." msgstr "" -"도메인 이름(Domain Name)은 디렉터리 서비스(예: AD)에 로그인할 때 사용자 이름 " -"뒤에 붙는 도메인 부분으로, 예를 들어 user@example.com에서 example.com입니다." +"도메인 이름(Domain Name)은 디렉터리 서비스(예: AD)에 로그인할 때 사용자 이름 뒤에 붙는 도메인 부분으로, 예를 들어 " +"user@example.com에서 example.com입니다." #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" -msgstr "" -"서버가 api 주소에 직접 접근할 수 없다면, HTTP 프록시를 설정해야 합니다. 예: " -"http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" +msgstr "서버가 api 주소에 직접 접근할 수 없다면, HTTP 프록시를 설정해야 합니다. 예: http(s)://host:port" #: assets/serializers/asset/gpt.py:24 msgid "HTTP proxy" @@ -3244,9 +3159,7 @@ msgstr "유형" msgid "" "A gateway is a network proxy for a zone, and when connecting assets within " "the zone, the connection is routed through the gateway." -msgstr "" -"게이트웨이는 도메인의 네트워크 프록시로, 도메인 내 자산에 연결할 때 연결이 게" -"이트웨이를 통해 라우팅됩니다." +msgstr "게이트웨이는 도메인의 네트워크 프록시로, 도메인 내 자산에 연결할 때 연결이 게이트웨이를 통해 라우팅됩니다." #: assets/serializers/gateway.py:19 msgid "The platform must start with Gateway" @@ -3312,9 +3225,7 @@ msgstr "포트 출처 주소" msgid "" "This protocol is primary, and it must be set when adding assets. " "Additionally, there can only be one primary protocol." -msgstr "" -"이 프로토콜은 주요 프로토콜로, 자산 추가 시 반드시 설정되어야 하며, 단 하나" -"의 주요 프로토콜만 존재할 수 있습니다." +msgstr "이 프로토콜은 주요 프로토콜로, 자산 추가 시 반드시 설정되어야 하며, 단 하나의 주요 프로토콜만 존재할 수 있습니다." #: assets/serializers/platform.py:104 msgid "This protocol is required, and it must be set when adding assets." @@ -3328,9 +3239,7 @@ msgstr "이 프로토콜은 기본 프로토콜로, 자산 추가 시 자동으 #: assets/serializers/platform.py:110 msgid "This protocol is public, asset will show this protocol to user" -msgstr "" -"이 프로토콜은 공용으로, 자산이 사용자에게 해당 프로토콜을 표시하며 연결하여 " -"사용할 수 있습니다." +msgstr "이 프로토콜은 공용으로, 자산이 사용자에게 해당 프로토콜을 표시하며 연결하여 사용할 수 있습니다." #: assets/serializers/platform.py:163 msgid "Help text" @@ -3350,8 +3259,7 @@ msgid "" "another, similar to logging in with a regular account and then switching to " "root" msgstr "" -"자산에 접근할 때 계정으로 로그인한 후 자동으로 다른 계정으로 전환합니다. 일" -"반 계정으로 로그인한 후 root로 전환하는 것과 같습니다." +"자산에 접근할 때 계정으로 로그인한 후 자동으로 다른 계정으로 전환합니다. 일반 계정으로 로그인한 후 root로 전환하는 것과 같습니다." #: assets/serializers/platform.py:211 msgid "Assets can be connected using a zone gateway" @@ -3391,12 +3299,9 @@ msgstr "자산 정보 수집" #: assets/tasks/gather_facts.py:25 msgid "" -"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " -"this task \n" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" " will be executed" -msgstr "" -"콘솔의 자산 세부정보 - 기본 설정에서 하드웨어 정보 업데이트를 클릭하여 해당 " -"작업을 수행합니다." +msgstr "콘솔의 자산 세부정보 - 기본 설정에서 하드웨어 정보 업데이트를 클릭하여 해당 작업을 수행합니다." #: assets/tasks/gather_facts.py:44 msgid "Update assets hardware info: " @@ -3412,18 +3317,17 @@ msgstr "노드 아래 자산 수 확인" #: assets/tasks/nodes_amount.py:18 msgid "" -"Manually verifying asset quantities updates the asset count for nodes under " -"the \n" -" current organization. This task will be called in the following two " -"cases: when updating \n" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" " nodes and when the number of nodes exceeds 100" msgstr "" -"수동으로 자산 수를 검토하여 현재 조직의 노드 자산 수를 업데이트합니다; 노드 " -"수가 100을 초과할 경우 두 가지 경우에 이 작업을 호출합니다" +"수동으로 자산 수를 검토하여 현재 조직의 노드 자산 수를 업데이트합니다; 노드 수가 100을 초과할 경우 두 가지 경우에 이 작업을 " +"호출합니다" #: assets/tasks/nodes_amount.py:34 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" +"The task of self-checking is already running and cannot be started " +"repeatedly" msgstr "자체 점검 프로그램이 이미 실행 중이므로 다시 시작할 수 없습니다" #: assets/tasks/nodes_amount.py:40 @@ -3432,12 +3336,10 @@ msgstr "주기적으로 노드 아래 자산 수를 확인합니다" #: assets/tasks/nodes_amount.py:42 msgid "" -"Schedule the check_node_assets_amount_task to periodically update the asset " -"count of \n" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" " all nodes under all organizations" msgstr "" -"정기적으로 check_node_assets_amount_task 작업을 호출하여 모든 조직의 모든 노" -"드 자산 수를 업데이트합니다" +"정기적으로 check_node_assets_amount_task 작업을 호출하여 모든 조직의 모든 노드 자산 수를 업데이트합니다" #: assets/tasks/ping.py:20 assets/tasks/ping.py:30 msgid "Test assets connectivity" @@ -3447,9 +3349,7 @@ msgstr "자산 연결성 테스트" msgid "" "When clicking 'Test Asset Connectivity' in 'Asset Details - Basic Settings' " "this task will be executed" -msgstr "" -"자산 세부정보 - 기본 설정에서 자산 연결성 테스트를 클릭하면 해당 작업이 실행" -"됩니다" +msgstr "자산 세부정보 - 기본 설정에서 자산 연결성 테스트를 클릭하면 해당 작업이 실행됩니다" #: assets/tasks/ping.py:46 msgid "Test if the assets under the node are connectable " @@ -3462,22 +3362,19 @@ msgstr "게이트웨이 연결성 테스트" #: assets/tasks/ping_gateway.py:23 msgid "" -"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " -"be executed" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" 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 "안전을 위하여 사용자 {}의 푸시를 금지합니다" @@ -3490,10 +3387,9 @@ msgid "App Audits" msgstr "로그 감사" #: audits/backends/db.py:17 -msgid "The text content is too long. Use Elasticsearch to store operation logs" -msgstr "" -"텍스트 내용이 너무 깁니다. Elasticsearch를 사용하여 작업 로그를 저장해 주세" -"요." +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" +msgstr "텍스트 내용이 너무 깁니다. Elasticsearch를 사용하여 작업 로그를 저장해 주세요." #: audits/backends/db.py:78 msgid "labels" @@ -3585,8 +3481,8 @@ msgstr "종료" #: audits/const.py:47 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:65 -#: terminal/serializers/session.py:181 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:65 terminal/serializers/session.py:181 msgid "Terminal" msgstr "터미널" @@ -3622,7 +3518,8 @@ msgstr "작업 감사 로그" #: audits/models.py:57 audits/models.py:107 audits/models.py:182 #: audits/models.py:333 authentication/models/connection_token.py:62 -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:111 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:111 msgid "Remote addr" msgstr "원격 주소" @@ -3860,18 +3757,13 @@ msgstr "자산 감사 세션 작업 로그 정리" #: audits/tasks.py:135 msgid "" -"Since the system generates login logs, operation logs, file upload logs, " -"activity \n" -" logs, Celery execution logs, session recordings, command records, " -"and password change \n" -" logs, it will perform cleanup of records that exceed the time limit " -"according to the \n" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" " 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" msgstr "" -"시스템은 로그인 로그, 작업 로그, 파일 업로드 로그, 활동 로그, celery 실행 로" -"그, 세션 녹화 및 명령 기록, 비밀번호 변경 로그를 생성하므로, 시스템 설정 - 작" -"업 목록 - 정기 청소 구성에 따라 설정된 시간에 따라 매일 오전 2시에 청소를 수" -"행합니다." +"시스템은 로그인 로그, 작업 로그, 파일 업로드 로그, 활동 로그, celery 실행 로그, 세션 녹화 및 명령 기록, 비밀번호 변경 " +"로그를 생성하므로, 시스템 설정 - 작업 목록 - 정기 청소 구성에 따라 설정된 시간에 따라 매일 오전 2시에 청소를 수행합니다." #: audits/tasks.py:155 msgid "Upload FTP file to external storage" @@ -3879,12 +3771,9 @@ msgstr "외부 저장소에 FTP 파일을 업로드합니다." #: audits/tasks.py:157 msgid "" -"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " -"management will be \n" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" " synchronized to external storage" -msgstr "" -"SERVER_REPLAY_STORAGE가 설정되어 있는 경우, 파일 관리를 통해 업로드된 파일이 " -"외부 저장소와 동기화됩니다." +msgstr "SERVER_REPLAY_STORAGE가 설정되어 있는 경우, 파일 관리를 통해 업로드된 파일이 외부 저장소와 동기화됩니다." #: authentication/api/access_key.py:39 msgid "Access keys can be created at most 10" @@ -3897,45 +3786,41 @@ msgstr "매개변수의 값은 반드시 %s를 포함해야 합니다." #: authentication/api/confirm.py:51 msgid "This action require verify your MFA" -msgstr "" -"이 작업은 귀하의 MFA를 확인해야 하므로, 먼저 활성화하고 구성해야 합니다." +msgstr "이 작업은 귀하의 MFA를 확인해야 하므로, 먼저 활성화하고 구성해야 합니다." -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" -msgstr "" -"재사용 가능한 연결 토큰은 허용되지 않으며, 글로벌 설정이 활성화되지 않았습니" -"다." +msgstr "재사용 가능한 연결 토큰은 허용되지 않으며, 글로벌 설정이 활성화되지 않았습니다." -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "익명 계정은 현재 자산을 지원하지 않습니다." -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "권한이 만료되었습니다." -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "ACL Action은 거부: {}({})입니다." -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "ACL Action은 재검토입니다." -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "ACL Action은 얼굴 인식입니다." -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "자산 로그인 규칙은 현재 자산을 지원하지 않습니다." -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "ACL Action은 온라인 얼굴 인식입니다." -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "사용 가능한 얼굴 특징이 없습니다." @@ -3945,13 +3830,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "사용자가 존재하지 않습니다: {}" @@ -3960,7 +3843,6 @@ msgid "No user matched" msgstr "사용자와 일치하지 않음" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -3976,7 +3858,6 @@ msgid "Forgot password" msgstr "비밀번호를 잊으셨나요" #: authentication/api/password.py:70 authentication/mfa/email.py:42 -#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "인증 코드의 유효 기간은 {} 분입니다." @@ -3985,10 +3866,8 @@ msgid "App Authentication" msgstr "인증 관리" #: authentication/backends/cas/views.py:19 -#, fuzzy -#| msgid "Error" msgid "CAS Error" -msgstr "오류" +msgstr "CAS 오류" #: authentication/backends/custom.py:60 #: authentication/backends/oauth2/backends.py:158 @@ -4001,15 +3880,12 @@ msgstr "유효하지 않은 토큰 헤더입니다. 자격 증명이 제공되 #: authentication/backends/drf.py:63 msgid "Invalid token header. Sign string should not contain spaces." -msgstr "" -"유효하지 않은 토큰 헤더입니다. 기호 문자열에는 공백이 포함되어서는 안 됩니다." +msgstr "유효하지 않은 토큰 헤더입니다. 기호 문자열에는 공백이 포함되어서는 안 됩니다." #: authentication/backends/drf.py:69 msgid "" "Invalid token header. Sign string should not contain invalid characters." -msgstr "" -"유효하지 않은 토큰 헤더입니다. 기호 문자열에는 유효하지 않은 문자가 포함되어" -"서는 안 됩니다." +msgstr "유효하지 않은 토큰 헤더입니다. 기호 문자열에는 유효하지 않은 문자가 포함되어서는 안 됩니다." #: authentication/backends/oauth2/views.py:73 msgid "OAuth2 Error" @@ -4022,8 +3898,7 @@ msgstr "OpenID 오류" #: authentication/backends/oidc/views.py:174 #: authentication/backends/saml2/views.py:285 msgid "Please check if a user with the same username or email already exists" -msgstr "" -"같은 사용자 이름 또는 이메일을 가진 사용자가 이미 존재하는지 확인해 주세요" +msgstr "같은 사용자 이름 또는 이메일을 가진 사용자가 이미 존재하는지 확인해 주세요" #: authentication/backends/passkey/api.py:40 msgid "Only register passkey for local user" @@ -4054,7 +3929,6 @@ msgid "Authentication failed password incorrect" msgstr "인증 실패 (사용자 이름 또는 비밀번호가 올바르지 않습니다)" #: authentication/confirm/relogin.py:11 -#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "로그인 시간이 {} 분을 초과했습니다. 다시 로그인 해주세요" @@ -4139,36 +4013,29 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"입력하신 사용자 이름이나 비밀번호가 올바르지 않습니다. 다시 입력해 주세요. 추" -"가로 {times_try}번 더 시도하실 수 있습니다 (계정이 일시적으로 잠길 수 있습니" -"다: {block_time} 분)." +"입력하신 사용자 이름이나 비밀번호가 올바르지 않습니다. 다시 입력해 주세요. 추가로 {times_try}번 더 시도하실 수 있습니다 " +"(계정이 일시적으로 잠길 수 있습니다: {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 "" -"계정이 잠겼습니다 (관리자에게 문의하여 잠금을 해제하시거나 {}분 후에 다시 시" -"도해 주세요)." +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)" -msgstr "" -"IP가 잠겼습니다 (관리자에게 문의하여 잠금을 해제하시거나 {}분 후에 다시 시도" -"해 주세요)." +msgstr "IP가 잠겼습니다 (관리자에게 문의하여 잠금을 해제하시거나 {}분 후에 다시 시도해 주세요)." #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" msgstr "" -"{error} 추가로 {times_try}번 더 시도하실 수 있습니다 (계정이 일시적으로 잠길 " -"수 있습니다: {block_time} 분)." +"{error} 추가로 {times_try}번 더 시도하실 수 있습니다 (계정이 일시적으로 잠길 수 있습니다: {block_time} " +"분)." #: authentication/errors/const.py:63 msgid "MFA required" @@ -4187,7 +4054,6 @@ msgid "Wait login confirm ticket for accept" msgstr "로그인 검토 처리를 기다리고 있습니다" #: authentication/errors/const.py:67 -#, python-brace-format msgid "Login confirm ticket was {}" msgstr "로그인 검토: {}" @@ -4292,11 +4158,9 @@ msgstr "동적 보안 코드를 입력해주세요." #: authentication/mfa/base.py:32 msgid "" -"The two-factor code you entered has either already been used or has expired. " -"Please request a new one." -msgstr "" -"입력한 이중 인증 코드가 이미 사용되었거나 만료되었습니다. 새 이중 인증 코드" -"를 요청해주세요." +"The two-factor code you entered has either already been used or has expired." +" Please request a new one." +msgstr "입력한 이중 인증 코드가 이미 사용되었거나 만료되었습니다. 새 이중 인증 코드를 요청해주세요." #: authentication/mfa/custom.py:21 msgid "MFA Custom code invalid" @@ -4371,44 +4235,26 @@ msgid "Clear phone number to disable" msgstr "전화번호 삭제로 비활성화" #: authentication/middleware.py:96 settings/utils/ldap.py:714 -#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "인증 실패 (로그인 전 검사 실패): {}" #: authentication/mixins.py:166 -#, fuzzy -#| msgid "" -#| "The administrator has enabled \"Only allow existing users to log in\", \n" -#| " and the current user is not in the user list. Please " -#| "contact the administrator." msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please " -"contact the administrator." -msgstr "" -"관리자가 '기존 사용자만 로그인 허용'을 활성화했으며, 현재 사용자가 사용자 목" -"록에 없습니다. 관리자에게 연락해 주십시오." +" and the current user is not in the user list. Please contact the administrator." +msgstr "관리자가 '존재하는 사용자만 로그인 허용'을 활성화했습니다. 현재 사용자가 사용자 목록에 없습니다. 관리자에게 문의하십시오." #: authentication/mixins.py:178 msgid "User is invalid" msgstr "무효한 사용자" #: authentication/mixins.py:195 -#, fuzzy, python-brace-format -#| msgid "" -#| "The administrator has enabled 'Only allow login from user source'. \n" -#| " The current user source is {}. Please contact the " -#| "administrator." msgid "" " The administrator has enabled 'Only allow login from user source'. \n" -" The current user source is {}. Please contact the " -"administrator. " -msgstr "" -"관리자가 '사용자 출처에서만 로그인 허용'을 활성화하였습니다. 현재 사용자 출처" -"는 {}이며 관리자를 연락하십시오." +" The current user source is {}. Please contact the administrator. " +msgstr "관리자가 '사용자 출처에서만 로그인 허용'을 활성화했습니다. 현재 사용자 출처는 {}입니다. 관리자에게 문의하십시오." #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "해당 MFA ({}) 방식이 활성화되지 않았습니다." @@ -4477,7 +4323,6 @@ msgid "Connection token inactive" msgstr "연결 토큰이 활성화되지 않음" #: authentication/models/connection_token.py:174 -#, python-brace-format msgid "Connection token expired at: {}" msgstr "연결 토큰이 만료됨: {}" @@ -4614,7 +4459,6 @@ msgstr "조직 이름" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 -#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 비어있을 수 없습니다" @@ -4632,11 +4476,9 @@ msgstr "생성 유형" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be " -"downloaded once" -msgstr "" -"생성 완료 후 개인 키를 다운로드해 주십시오. 각 개인 키는 단 한 번만 다운로드" -"할 수 있습니다" +"Please download the private key after creation. Each private key can only be" +" downloaded once" +msgstr "생성 완료 후 개인 키를 다운로드해 주십시오. 각 개인 키는 단 한 번만 다운로드할 수 있습니다" #: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 #: users/serializers/profile.py:130 users/serializers/profile.py:160 @@ -4650,9 +4492,9 @@ msgid "Is valid" msgstr "유효한가요" #: authentication/serializers/token.py:131 ops/models/adhoc.py:26 -#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 rbac/models/role.py:31 -#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 -#: settings/serializers/auth/oauth2.py:37 +#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 msgid "Scope" msgstr "범위" @@ -4662,11 +4504,9 @@ msgstr "만료된 세션 지우기" #: authentication/tasks.py:21 msgid "" -"Since user logins create sessions, the system will clean up expired sessions " -"every 24 hours" -msgstr "" -"사용자가 시스템에 로그인할 경우 세션이 생성되며, 시스템은 24시간마다 만료된 " -"세션을 정리합니다" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" +msgstr "사용자가 시스템에 로그인할 경우 세션이 생성되며, 시스템은 24시간마다 만료된 세션을 정리합니다" #: authentication/tasks.py:30 msgid "Clean expired temporary, connection tokens" @@ -4681,10 +4521,9 @@ msgid "" "configured under System settings > Security > User password > Token " "Retention Period" msgstr "" -"시스템은 자산에 연결하거나 임시 비밀번호를 생성할 때, 관련된 연결 Token 혹은 " -"임시 비밀번호 기록을 생성합니다. 시스템의 안전성을 보장하고 데이터 저장량을 " -"조절하기 위해, 시스템은 \"보안 설정 > 비밀번호 안전 > Token 보존 기간\"의 설" -"정에 따라 매일 새벽 2시에 모든 만료된 Token 기록을 자동으로 정리합니다" +"시스템은 자산에 연결하거나 임시 비밀번호를 생성할 때, 관련된 연결 Token 혹은 임시 비밀번호 기록을 생성합니다. 시스템의 안전성을 " +"보장하고 데이터 저장량을 조절하기 위해, 시스템은 \"보안 설정 > 비밀번호 안전 > Token 보존 기간\"의 설정에 따라 매일 새벽 " +"2시에 모든 만료된 Token 기록을 자동으로 정리합니다" #: authentication/templates/authentication/_access_key_modal.html:6 msgid "API key list" @@ -4692,8 +4531,7 @@ msgstr "API 키 목록" #: authentication/templates/authentication/_access_key_modal.html:18 msgid "Using api key sign api header, every requests header difference" -msgstr "" -"API 키를 사용하여 요청 헤더에 서명합니다. 각 요청의 헤더는 서로 다릅니다" +msgstr "API 키를 사용하여 요청 헤더에 서명합니다. 각 요청의 헤더는 서로 다릅니다" #: authentication/templates/authentication/_access_key_modal.html:19 msgid "docs" @@ -4761,16 +4599,13 @@ msgstr "안녕하세요" #: authentication/templates/authentication/_msg_different_city.html:6 msgid "Your account has remote login behavior, please pay attention" -msgstr "" -"귀하의 계정에서 이탈 로그인 행위가 발생했습니다. 주의해 주시기 바랍니다." +msgstr "귀하의 계정에서 이탈 로그인 행위가 발생했습니다. 주의해 주시기 바랍니다." #: authentication/templates/authentication/_msg_different_city.html:14 msgid "" "If you suspect that the login behavior is abnormal, please modify the " "account password in time." -msgstr "" -"이번 로그인 행위가 이상하다고 생각되시면, 즉시 계정 비밀번호를 수정하시기 바" -"랍니다." +msgstr "이번 로그인 행위가 이상하다고 생각되시면, 즉시 계정 비밀번호를 수정하시기 바랍니다." #: authentication/templates/authentication/_msg_oauth_bind.html:6 msgid "Your account has just been bound to" @@ -4778,17 +4613,13 @@ msgstr "귀하의 계정이 방금" #: authentication/templates/authentication/_msg_oauth_bind.html:15 msgid "If the operation is not your own, unbind and change the password." -msgstr "" -"바로 본인이 한 조작이 아니라면, 연결을 해제하고 비밀번호를 수정해 주시기 바랍" -"니다." +msgstr "바로 본인이 한 조작이 아니라면, 연결을 해제하고 비밀번호를 수정해 주시기 바랍니다." #: authentication/templates/authentication/_msg_reset_password.html:6 msgid "" "Please click the link below to reset your password, if not your request, " "concern your account security" -msgstr "" -"아래 링크를 클릭하여 비밀번호를 재설정해 주시기 바랍니다. 귀하가 요청한 것이 " -"아니라면 계정 보안에 유의하시기 바랍니다." +msgstr "아래 링크를 클릭하여 비밀번호를 재설정해 주시기 바랍니다. 귀하가 요청한 것이 아니라면 계정 보안에 유의하시기 바랍니다." #: authentication/templates/authentication/_msg_reset_password.html:10 msgid "Click here reset password" @@ -4810,9 +4641,7 @@ msgstr "재신청" #: terminal/templates/terminal/_msg_session_sharing.html:12 #: users/forms/profile.py:108 users/templates/users/forgot_password.html:98 msgid "Verify code" -msgstr "" -"하여 인증 코드를 받아야 합니다. 인증 코드를 복사하여 비밀번호 재설정 페이지" -"에 입력해 주세요." +msgstr "하여 인증 코드를 받아야 합니다. 인증 코드를 복사하여 비밀번호 재설정 페이지에 입력해 주세요." #: authentication/templates/authentication/_msg_reset_password_code.html:15 msgid "" @@ -4827,16 +4656,13 @@ msgstr "브라우저" #: authentication/templates/authentication/_msg_rest_public_key_success.html:9 #: users/notifications.py:108 users/notifications.py:147 msgid "Browser" -msgstr "" -"이번 비밀번호 업데이트가 당신이 주도한 것이 아니라면, 당신의 계정에 보안 문제" -"가 있을 수 있습니다." +msgstr "이번 비밀번호 업데이트가 당신이 주도한 것이 아니라면, 당신의 계정에 보안 문제가 있을 수 있습니다." #: authentication/templates/authentication/_msg_rest_password_success.html:12 msgid "" "If the password update was not initiated by you, your account may have " "security issues" -msgstr "" -"질문이나 필요 사항이 있을 경우 시스템 관리자에게 연락해 주시기 바랍니다." +msgstr "질문이나 필요 사항이 있을 경우 시스템 관리자에게 연락해 주시기 바랍니다." #: authentication/templates/authentication/_msg_rest_password_success.html:13 #: authentication/templates/authentication/_msg_rest_public_key_success.html:13 @@ -4845,9 +4671,7 @@ msgstr "당신의 공개 키가 성공적으로 업데이트되었습니다." #: authentication/templates/authentication/_msg_rest_public_key_success.html:5 msgid "Your public key has just been successfully updated" -msgstr "" -"이번 공개 키 업데이트가 당신이 주도한 것이 아니라면, 당신의 계정에 보안 문제" -"가 있을 수 있습니다." +msgstr "이번 공개 키 업데이트가 당신이 주도한 것이 아니라면, 당신의 계정에 보안 문제가 있을 수 있습니다." #: authentication/templates/authentication/_msg_rest_public_key_success.html:12 msgid "" @@ -4862,9 +4686,7 @@ msgstr "재시도" #: authentication/templates/authentication/face_capture.html:14 msgid "Retry" -msgstr "" -"프로파일에 문제가 발생하여 로그인할 수 없습니다. 관리자에게 문의하시거나 최" -"신 문서를 확인해 주세요." +msgstr "프로파일에 문제가 발생하여 로그인할 수 없습니다. 관리자에게 문의하시거나 최신 문서를 확인해 주세요." #: authentication/templates/authentication/login.html:313 msgid "" @@ -4917,8 +4739,7 @@ msgid "" "This page is not served over HTTPS. Please use HTTPS to ensure security of " "your credentials." msgstr "" -"이번 페이지는 HTTPS 프로토콜을 사용하지 않았습니다. 귀하의 자격 증명을 안전하" -"게 유지하려면 HTTPS 프로토콜을 사용해 주세요." +"이번 페이지는 HTTPS 프로토콜을 사용하지 않았습니다. 귀하의 자격 증명을 안전하게 유지하려면 HTTPS 프로토콜을 사용해 주세요." #: authentication/templates/authentication/passkey.html:177 msgid "Do you want to retry ?" @@ -5014,7 +4835,6 @@ msgid "Redirecting" msgstr "전환 중" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "{} 인증으로 이동 중입니다." @@ -5023,18 +4843,15 @@ 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" msgstr "" -"{} 확인을 기다리고 있습니다. 그는/그녀는 링크를 복사하여 전달할 수도 " -"있습니다.
\n" +"{} 확인을 기다리고 있습니다. 그는/그녀는 링크를 복사하여 전달할 수도 있습니다.
\n" "이 페이지를 닫지 마세요." #: authentication/views/login.py:343 @@ -5051,11 +4868,9 @@ msgstr "로그아웃이 성공적으로 완료되었습니다. 로그인 페이 #: authentication/views/mixins.py:28 msgid "" -"For your safety, automatic redirection login is not supported on the client. " -"If you need to open it in the client, please log in again" -msgstr "" -"안전을 위해 클라이언트는 자동 로그인 리다이렉트를 지원하지 않습니다. 클라이언" -"트에서 열려면 다시 로그인해 주세요." +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" +msgstr "안전을 위해 클라이언트는 자동 로그인 리다이렉트를 지원하지 않습니다. 클라이언트에서 열려면 다시 로그인해 주세요." #: authentication/views/slack.py:36 authentication/views/slack.py:124 msgid "Slack Error" @@ -5181,13 +4996,13 @@ msgstr "암호화된 필드" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -"JSON 다대다 필드는 유효하지 않으며, {'type': 'all'} 또는 {'type': 'ids', " -"'ids': []} 또는 {'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', " -"'value': '1.1.1.1'}}" +"JSON 다대다 필드는 유효하지 않으며, {'type': 'all'} 또는 {'type': 'ids', 'ids': []} 또는 " +"{'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': " +"'1.1.1.1'}}" #: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" @@ -5228,7 +5043,6 @@ msgid "Updated by" msgstr "마지막 업데이트한 사람" #: common/db/validators.py:9 -#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "유효하지 않은 포트 범위, {}-{} 내에 있어야 합니다" @@ -5241,12 +5055,10 @@ 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 "파일 구문 분석 오류: {}" @@ -5259,7 +5071,6 @@ msgid "Yes/No" msgstr "예/아니요" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "텍스트, 최대 길이 {}" @@ -5268,26 +5079,20 @@ msgid "Long text, no length limit" msgstr "긴 텍스트, 길이 제한 없음" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "숫자, 최소 {} 최대 {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "날짜 시간 형식 {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" -msgstr "" -"옵션, 형식: 이름(값), 이름은 선택 사항이며 읽기 쉽게 하도록, 값은 필수입니" -"다, 선택 사항은 {}" +msgstr "옵션, 형식: 이름(값), 이름은 선택 사항이며 읽기 쉽게 하도록, 값은 필수입니다, 선택 사항은 {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "옵션, 선택 가능한 항목은 {}" @@ -5302,9 +5107,7 @@ msgstr "태그, 형식: [\"키:값\"]" #: common/drf/renders/base.py:165 msgid "" "Object, format name(id), name is optional for human read, id is requisite" -msgstr "" -"연관 항목, 형식: 이름(id), 이름은 선택 사항이며, 읽기 편의를 위해 포함되며, " -"id는 필수 항목입니다." +msgstr "연관 항목, 형식: 이름(id), 이름은 선택 사항이며, 읽기 편의를 위해 포함되며, id는 필수 항목입니다." #: common/drf/renders/base.py:167 msgid "Object, format id" @@ -5315,12 +5118,10 @@ msgid "" "Objects, format [\"name(id)\", ...], name is optional for human read, id is " "requisite" msgstr "" -"다중 연관 항목, 형식: [\"이름(id)\", ...], 이름은 선택 사항이며, 읽기 편의를 " -"위해 포함되며, id는 필수 항목입니다." +"다중 연관 항목, 형식: [\"이름(id)\", ...], 이름은 선택 사항이며, 읽기 편의를 위해 포함되며, id는 필수 항목입니다." #: common/drf/renders/base.py:173 -msgid "" -"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" msgstr "태그, 형식: [\"키:값\", ...], 태그가 존재하지 않으면 생성됩니다." #: common/drf/renders/base.py:175 @@ -5328,13 +5129,10 @@ msgid "Objects, format [\"id\", ...]" msgstr "다중 연관 항목, 형식은 [\"id\", ...]" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" -msgstr "" -"{} - 암호화 비밀번호가 설정되지 않았습니다 - 개인 정보 -> 파일 암호화 비밀번" -"호에서 암호화 비밀번호를 설정해 주세요." +msgstr "{} - 암호화 비밀번호가 설정되지 않았습니다 - 개인 정보 -> 파일 암호화 비밀번호에서 암호화 비밀번호를 설정해 주세요." #: common/drf/renders/mixins.py:37 labels/serializers.py:22 msgid "Resource count" @@ -5359,8 +5157,7 @@ msgstr "%s 객체가 존재하지 않습니다." #: common/exceptions.py:25 msgid "Someone else is doing this. Please wait for complete" -msgstr "" -"다른 사람이 작업 중입니다. 다른 사람이 작업을 완료할 때까지 기다려주세요." +msgstr "다른 사람이 작업 중입니다. 다른 사람이 작업을 완료할 때까지 기다려주세요." #: common/exceptions.py:30 msgid "Your request timeout" @@ -5394,8 +5191,7 @@ msgstr "Elasticsearch8을 지원하지 않습니다" msgid "" "Connection failed: Self-signed certificate used. Please check server " "certificate configuration" -msgstr "" -"연결 실패: 자체 서명된 인증서를 사용했습니다. 서버 인증서 구성을 확인하십시오" +msgstr "연결 실패: 자체 서명된 인증서를 사용했습니다. 서버 인증서 구성을 확인하십시오" #: common/sdk/im/exceptions.py:23 msgid "Network error, please contact system administrator" @@ -5418,7 +5214,6 @@ 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 "게이트웨이 서버 연결 오류, 오류: {}" @@ -5431,10 +5226,6 @@ 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 "알리 클라우드" @@ -5456,7 +5247,6 @@ msgid "Custom type (File)" msgstr "사용자 정의 (파일)" #: common/sdk/sms/endpoint.py:32 -#, python-brace-format msgid "SMS provider not support: {}" msgstr "문자 메시지 서비스 제공업체가 지원하지 않음: {}" @@ -5473,7 +5263,6 @@ msgid "The verification code is incorrect" msgstr "인증 코드 오류" #: common/sdk/sms/exceptions.py:18 -#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "{} 초 후에 다시 전송해 주십시오." @@ -5481,6 +5270,10 @@ msgstr "{} 초 후에 다시 전송해 주십시오." msgid "Children" msgstr "노드" +#: common/serializers/common.py:98 +msgid "File" +msgstr "파일" + #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "유효하지 않은 데이터" @@ -5502,11 +5295,10 @@ msgstr "잘못된 데이터 유형, 리스트여야 함" #: common/serializers/fields.py:353 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 -#, python-brace-format msgid "Invalid choice: {}" msgstr "유효하지 않은 옵션: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "태그" @@ -5525,13 +5317,9 @@ msgstr "이메일 첨부 파일 전송" #: common/tasks.py:81 msgid "" -"When an account password is changed or an account backup generates " -"attachments, \n" -" this task needs to be executed for sending emails and handling " -"attachments" -msgstr "" -"계정 비밀번호 변경 시 계정 백업으로 생성된 첨부 파일에 대해 이메일 및 첨부 파" -"일 전송 이 작업을 수행해야 합니다" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" +msgstr "계정 비밀번호 변경 시 계정 백업으로 생성된 첨부 파일에 대해 이메일 및 첨부 파일 전송 이 작업을 수행해야 합니다" #: common/tasks.py:104 msgid "Upload account backup to external storage" @@ -5562,12 +5350,9 @@ msgstr "SMS 인증 코드 전송" #: common/utils/verify_code.py:19 msgid "" -"When resetting a password, forgetting a password, or verifying MFA, this " -"task needs to \n" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" " be executed to send SMS messages" -msgstr "" -"비밀번호 재설정, 비밀번호 분실, MFA 인증 시 SMS 전송이 필요할 때 이 작업을 수" -"행해야 합니다" +msgstr "비밀번호 재설정, 비밀번호 분실, MFA 인증 시 SMS 전송이 필요할 때 이 작업을 수행해야 합니다" #: common/validators.py:16 msgid "Special char not allowed" @@ -5606,34 +5391,22 @@ msgstr "JumpServer 오픈소스 방화벽" msgid "JumpServer - An open-source PAM" msgstr "Flower 서비스가 사용 불가능합니다, 확인하십시오" -#: jumpserver/context_processor.py:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "" -"
Luna는 독립적으로 배포된 프로그램으로, luna와 koko를 배포해야 합니다.
이 페이지를 보았다면, nginx가 수신하고 있는 포트에 접근하고 있지 않" -"음을 의미합니다. 행운을 기원합니다
" +"
Luna는 독립적으로 배포된 프로그램으로, luna와 koko를 배포해야 합니다.
이 페이지를 보았다면, " +"nginx가 수신하고 있는 포트에 접근하고 있지 않음을 의미합니다. 행운을 기원합니다
" #: jumpserver/views/other.py:30 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 "" -"Websocket 서비스는 포트: {}에서 실행 중입니다, nginx가 프록시가 설정되어 있는" -"지 확인하십시오" +msgstr "Websocket 서비스는 포트: {}에서 실행 중입니다, nginx가 프록시가 설정되어 있는지 확인하십시오" #: jumpserver/views/other.py:78 -#, fuzzy, python-brace-format -#| msgid "Websocket server run on port: {}, you should proxy it on nginx" msgid "Websocket server run on port: {}, you should proxy it on nginx" -msgstr "" -"
Koko는 독립적으로 배포된 프로그램으로, Koko를 배포하고 nginx 설정이 포워" -"딩이 되어 있는지 확인해야 합니다.
이 페이지를 보았다면, nginx가 수" -"신하고 있는 포트에 접근하고 있지 않음을 의미합니다. 행운을 기원합니다
" +msgstr "Websocket 서비스가 포트 {}에서 실행 중입니다. nginx의 프록시 설정을 확인하십시오." #: jumpserver/views/other.py:92 msgid "" @@ -5687,7 +5460,6 @@ msgid "User message" msgstr "사용자 메시지" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} 구독" @@ -5701,12 +5473,9 @@ msgstr "사이트 내 메시지 발송" #: notifications/notifications.py:49 msgid "" -"This task needs to be executed for sending internal messages for system " -"alerts, \n" +"This task needs to be executed for sending internal messages for system alerts, \n" " work orders, and other notifications" -msgstr "" -"시스템의 일부 경고, 작업 지시서 등 사이트 내 메시지를 발송해야 할 때 해당 작" -"업을 실행" +msgstr "시스템의 일부 경고, 작업 지시서 등 사이트 내 메시지를 발송해야 할 때 해당 작업을 실행" #: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206 #: ops/models/job.py:69 @@ -5726,28 +5495,23 @@ 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:65 -#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" -msgstr "" +msgstr "로그인 자산 {}({})가 거부되었습니다. 로그인 자산 규칙 ACL ({})에 의해 제한되었습니다." #: ops/api/job.py:88 #, python-brace-format msgid "" "Asset ({asset}) must have at least one of the following protocols added: " "SSH, SFTP, or WinRM" -msgstr "" -"자산({asset})에는 최소한 ssh, sftp 또는 winrm 중 하나의 프로토콜이 추가되어" -"야 합니다" +msgstr "자산({asset})에는 최소한 ssh, sftp 또는 winrm 중 하나의 프로토콜이 추가되어야 합니다" #: ops/api/job.py:89 #, python-brace-format @@ -5767,9 +5531,7 @@ msgstr "동일한 이름의 파일이 존재합니다" #, python-brace-format msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" -msgstr "" -"파일 크기가 최대 제한을 초과했습니다. {limit}MB보다 작은 파일을 선택해 주세" -"요." +msgstr "파일 크기가 최대 제한을 초과했습니다. {limit}MB보다 작은 파일을 선택해 주세요." #: ops/api/job.py:273 msgid "" @@ -5955,12 +5717,14 @@ msgid "Periodic run" msgstr "주기 실행" #: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 -#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:63 +#: settings/serializers/auth/ldap.py:81 +#: settings/serializers/auth/ldap_ha.py:63 msgid "Interval" msgstr "간격" #: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 -#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:60 +#: settings/serializers/auth/ldap.py:78 +#: settings/serializers/auth/ldap_ha.py:60 msgid "Crontab" msgstr "크론탭" @@ -6038,7 +5802,6 @@ msgid "Celery Task Execution" msgstr "Celery 작업 실행" #: ops/models/job.py:82 -#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "모듈 {}는 이 자산에 적합하지 않음" @@ -6106,9 +5869,8 @@ msgid "" "the resulting environment variable will be jms_name, and it can be " "referenced in the script using {{ jms_name }}" msgstr "" -"스크립트에서 사용되는 변수 이름, 고정 접두사 jms_ + 입력된 변수명, 예를 들어 " -"변수명 name이면 최종 생성 환경 변수는 jms_name이 되며, 스크립트에서 참조할 때" -"는 {{ jms_name }}를 사용합니다." +"스크립트에서 사용되는 변수 이름, 고정 접두사 jms_ + 입력된 변수명, 예를 들어 변수명 name이면 최종 생성 환경 변수는 " +"jms_name이 되며, 스크립트에서 참조할 때는 {{ jms_name }}를 사용합니다." #: ops/models/variable.py:16 ops/serializers/variable.py:32 msgid "Default Value" @@ -6188,9 +5950,7 @@ msgid "" "Each item is on a separate line, with each line separated by a colon. The " "part before the colon is the display content, and the part after the colon " "is the value." -msgstr "" -"각 항목은 한 줄씩 기재하며, 각 줄은 영어 콜론으로 구분하여 앞부분은 표시할 내" -"용, 뒷부분은 값을 넣습니다" +msgstr "각 항목은 한 줄씩 기재하며, 각 줄은 영어 콜론으로 구분하여 앞부분은 표시할 내용, 뒷부분은 값을 넣습니다" #: ops/tasks.py:54 msgid "Run ansible task" @@ -6200,9 +5960,7 @@ msgstr "Ansible 작업 실행" msgid "" "Execute scheduled adhoc and playbooks, periodically invoking the task for " "execution" -msgstr "" -"정기적인 빠른 명령, 플레이북을 실행할 때, 해당 작업을 정기적으로 호출하여 실" -"행합니다." +msgstr "정기적인 빠른 명령, 플레이북을 실행할 때, 해당 작업을 정기적으로 호출하여 실행합니다." #: ops/tasks.py:88 msgid "Run ansible task execution" @@ -6226,15 +5984,12 @@ msgstr "주기적 작업 생성 또는 업데이트" #: ops/tasks.py:134 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, tasks will be " -"registered or the parameters \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" " of scheduled tasks will be updated" msgstr "" -"버전이 반복될수록 새로운 작업이 추가되거나 작업 이름, 실행 시간이 수정될 수 " -"있으므로, 시스템 시작 시 작업 등록 또는 정기 작업 매개변수 업데이트가 진행됩" -"니다." +"버전이 반복될수록 새로운 작업이 추가되거나 작업 이름, 실행 시간이 수정될 수 있으므로, 시스템 시작 시 작업 등록 또는 정기 작업 " +"매개변수 업데이트가 진행됩니다." #: ops/tasks.py:147 msgid "Periodic check service performance" @@ -6242,13 +5997,11 @@ msgstr "주기적으로 서비스 성능 점검" #: ops/tasks.py:149 msgid "" -"Check every hour whether each component is offline and whether the CPU, " -"memory, \n" -" and disk usage exceed the thresholds, and send an alert message to " -"the administrator" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" msgstr "" -"각 구성 요소가 오프라인인지, CPU, 메모리, 하드디스크 사용률이 임계값을 초과하" -"는지 매시간 점검하고, 관리자에게 경고 메시지를 전송합니다." +"각 구성 요소가 오프라인인지, CPU, 메모리, 하드디스크 사용률이 임계값을 초과하는지 매시간 점검하고, 관리자에게 경고 메시지를 " +"전송합니다." #: ops/tasks.py:159 msgid "Clean up unexpected jobs" @@ -6256,17 +6009,13 @@ msgstr "비정상 작업 정리" #: ops/tasks.py:161 msgid "" -"Due to exceptions caused by executing adhoc and playbooks in the Job " -"Center, \n" -" which result in the task status not being updated, the system will " -"clean up abnormal jobs \n" -" that have not been completed for more than 3 hours every hour and " -"mark these tasks as \n" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" " failed" msgstr "" -"작업 센터에서 빠른 명령어를 실행할 경우, 플레이북이 비정상적으로 수행되며, 작" -"업 상태가 업데이트되지 않을 수 있습니다. 시스템은 매시간 3시간 이상 완료되지 " -"않은 비정상 작업을 정리하고, 해당 작업을 실패로 표시합니다." +"작업 센터에서 빠른 명령어를 실행할 경우, 플레이북이 비정상적으로 수행되며, 작업 상태가 업데이트되지 않을 수 있습니다. 시스템은 매시간" +" 3시간 이상 완료되지 않은 비정상 작업을 정리하고, 해당 작업을 실패로 표시합니다." #: ops/tasks.py:174 msgid "Clean job_execution db record" @@ -6274,17 +6023,13 @@ msgstr "작업 센터 실행 이력 정리" #: ops/tasks.py:176 msgid "" -"Due to the execution of adhoc and playbooks in the Job Center, execution " -"records will \n" -" be generated. The system will clean up records that exceed the " -"retention period every day \n" -" at 2 a.m., based on the configuration of 'System Settings - Tasks - " -"Regular clean-up - \n" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" " Job execution retention days'" msgstr "" -"작업 센터에서 빠른 명령어를 실행할 경우, 플레이북이 수행 기록을 생성합니다. " -"시스템은 시스템 설정 - 작업 목록 - 정기 정리 - 작업 센터 실행 이력 구성에 따" -"라, 매일 새벽 2시에 저장 기간을 초과한 기록을 정리합니다." +"작업 센터에서 빠른 명령어를 실행할 경우, 플레이북이 수행 기록을 생성합니다. 시스템은 시스템 설정 - 작업 목록 - 정기 정리 - 작업" +" 센터 실행 이력 구성에 따라, 매일 새벽 2시에 저장 기간을 초과한 기록을 정리합니다." #: ops/templates/ops/celery_task_log.html:4 msgid "Task log" @@ -6327,7 +6072,6 @@ msgid "Name of the job" msgstr "Job 이름" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "현재 조직 ({})는 삭제할 수 없습니다" @@ -6335,12 +6079,9 @@ msgstr "현재 조직 ({})는 삭제할 수 없습니다" msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" -msgstr "" -"LDAP 동기화 설정이 현재 조직으로 되어 있으므로, 다른 조직으로 전환한 후 삭제 " -"작업을 진행해 주십시오" +msgstr "LDAP 동기화 설정이 현재 조직으로 되어 있으므로, 다른 조직으로 전환한 후 삭제 작업을 진행해 주십시오" #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "조직에 자원 ({})이 존재하여 삭제할 수 없습니다" @@ -6358,7 +6099,8 @@ msgstr "저장하기 전에 조직을 선택해 주십시오" #: terminal/notifications.py:294 #: terminal/templates/terminal/_msg_command_warning.html:27 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:62 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:62 msgid "Organization" msgstr "조직" @@ -6497,7 +6239,7 @@ msgid "today" msgstr "오늘" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "하늘" @@ -6514,7 +6256,6 @@ msgid "Asset permissions is about to expire" msgstr "자산 권한 부여 규칙이 곧 만료됩니다" #: perms/notifications.py:64 -#, python-brace-format msgid "asset permissions of organization {}" msgstr "조직 ({})의 자산 권한" @@ -6523,8 +6264,8 @@ msgid "" "Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " "choices: @ALL, @SPEC, @USER, @ANON, @INPUT" msgstr "" -"계정, 형식 [\"@가상계정\", \"root\", \"%템플릿id\"], 가상 선택: @ALL, @SPEC, " -"@USER, @ANON, @INPUT" +"계정, 형식 [\"@가상계정\", \"root\", \"%템플릿id\"], 가상 선택: @ALL, @SPEC, @USER, @ANON, " +"@INPUT" #: perms/serializers/permission.py:49 msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" @@ -6540,19 +6281,13 @@ msgstr "자산 권한 부여 규칙이 만료되었는지 확인" #: perms/tasks.py:30 msgid "" -"The cache of organizational collections, which have completed user " -"authorization tree \n" -" construction, will expire. Therefore, expired collections need to be " -"cleared from the \n" -" cache, and this task will be executed periodically based on the time " -"interval specified \n" -" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " -"config.txt" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" msgstr "" -"사용자 권한 트리가 구축 완료된 조직 집합 캐시는 만료되므로, 만료된 집합을 캐" -"시에서 정리해야 합니다. system 구성 파일 config.txt의 " -"PERM_EXPIRED_CHECK_PERIODIC 시간 간격에 따라 이 작업을 주기적으로 수행해야 합" -"니다" +"사용자 권한 트리가 구축 완료된 조직 집합 캐시는 만료되므로, 만료된 집합을 캐시에서 정리해야 합니다. system 구성 파일 " +"config.txt의 PERM_EXPIRED_CHECK_PERIODIC 시간 간격에 따라 이 작업을 주기적으로 수행해야 합니다" #: perms/tasks.py:49 msgid "Send asset permission expired notification" @@ -6560,17 +6295,13 @@ msgstr "자산 권한 만료 알림 전송" #: perms/tasks.py:51 msgid "" -"Check every day at 10 a.m. and send a notification message to users " -"associated with \n" -" assets whose authorization is about to expire, as well as to the " -"organization's \n" -" administrators, 3 days in advance, to remind them that the asset " -"authorization will \n" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" " expire in a few days" msgstr "" -"매일 오전 10시에 자산 권한이 곧 만료될 사용자 및 해당 조직 관리자가 관련된 사" -"용자에게 3일 전에 메시지 알림을 보내어 자산이 남은 며칠이 지나면 만료된다는 " -"것을 알려줍니다" +"매일 오전 10시에 자산 권한이 곧 만료될 사용자 및 해당 조직 관리자가 관련된 사용자에게 3일 전에 메시지 알림을 보내어 자산이 남은 " +"며칠이 지나면 만료된다는 것을 알려줍니다" #: perms/templates/perms/_msg_item_permissions_expire.html:7 #: perms/templates/perms/_msg_permed_items_expire.html:7 @@ -6591,7 +6322,6 @@ msgid "Internal role, can't be update" msgstr "내부 역할은 업데이트할 수 없습니다." #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} 최소한 하나의 시스템 역할이 필요합니다." @@ -6657,8 +6387,7 @@ msgstr "" "조직 역할 \n" "역할 바인딩 \n" "모든 조직 \n" -"사용자의 마지막 역할로 삭제할 수 없으며, 사용자를 조직에서 이동할 수 있습니" -"다. \n" +"사용자의 마지막 역할로 삭제할 수 없으며, 사용자를 조직에서 이동할 수 있습니다. \n" "조직 역할 바인딩 \n" "시스템 역할 바인딩 \n" "이미 바인딩됨 \n" @@ -6722,8 +6451,7 @@ msgstr "모든 조직" msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" -msgstr "" -"사용자의 마지막 역할은 삭제할 수 없으며, 사용자를 조직에서 제거할 수 있습니다" +msgstr "사용자의 마지막 역할은 삭제할 수 없으며, 사용자를 조직에서 제거할 수 있습니다" #: rbac/models/rolebinding.py:207 msgid "Organization role binding" @@ -6781,7 +6509,7 @@ msgstr "계정 비밀번호 변경" msgid "App ops" msgstr "작업 센터" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "기능" @@ -6824,8 +6552,8 @@ msgstr "조직 관리" msgid "Ticket comment" msgstr "작업 댓글" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "작업" @@ -6838,22 +6566,16 @@ msgid "View permission tree" msgstr "권한 트리 보기" #: rbac/tree.py:189 -#, fuzzy -#| msgid "Access key" msgid "Access token" -msgstr "액세스 키" +msgstr "접근 토큰" #: rbac/tree.py:190 -#, fuzzy -#| msgid "Access key" msgid "View access token" -msgstr "액세스 키" +msgstr "접근 토큰 보기" #: rbac/tree.py:191 -#, fuzzy -#| msgid "Access key" msgid "Revoke access token" -msgstr "액세스 키" +msgstr "접근 토큰 철회" #: reports/views.py:20 msgid "User login report" @@ -6907,14 +6629,13 @@ msgstr "메일 전송 성공" msgid "Chat AI is not enabled" msgstr "채팅 AI가 활성화되어 있지 않습니다" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "테스트 성공" #: settings/api/email.py:22 -#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "메일이 전송되었습니다 {}, 확인해 주세요" @@ -7086,9 +6807,8 @@ msgid "" "information, the system will automatically create the user using this email " "suffix" msgstr "" -"서드파티 사용자 인증이 성공한 후, 서드파티 인증 서비스 플랫폼이 해당 사용자" -"의 이메일 정보를 반환하지 않을 경우, 시스템은 자동으로 이 이메일 접미사를 사" -"용하여 사용자를 생성합니다." +"서드파티 사용자 인증이 성공한 후, 서드파티 인증 서비스 플랫폼이 해당 사용자의 이메일 정보를 반환하지 않을 경우, 시스템은 자동으로 이" +" 이메일 접미사를 사용하여 사용자를 생성합니다." #: settings/serializers/auth/base.py:37 msgid "Forgot Password URL" @@ -7108,23 +6828,21 @@ msgid "" "party authentication when the administrator enables third-party redirect " "authentication" msgstr "" -"관리자가 서드파티 리디렉션 인증을 활성화할 때, 사용자가 서드파티 인증으로 리" -"디렉션되기 전에 Flash 페이지를 표시할지 여부" +"관리자가 서드파티 리디렉션 인증을 활성화할 때, 사용자가 서드파티 인증으로 리디렉션되기 전에 Flash 페이지를 표시할지 여부" #: settings/serializers/auth/base.py:55 msgid "" "When you create a user, you associate the user to the organization of your " "choice. Users always belong to the Default organization." -msgstr "" -"사용자를 생성할 때, 해당 사용자를 선택한 조직과 연관시킵니다. 사용자는 항상 " -"Default 조직에 속합니다." +msgstr "사용자를 생성할 때, 해당 사용자를 선택한 조직과 연관시킵니다. 사용자는 항상 Default 조직에 속합니다." #: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 msgid "CAS" msgstr "CAS" #: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 -#: settings/serializers/auth/ldap_ha.py:27 settings/serializers/auth/oidc.py:61 +#: settings/serializers/auth/ldap_ha.py:27 +#: settings/serializers/auth/oidc.py:61 msgid "Server" msgstr "서버 주소" @@ -7149,9 +6867,11 @@ msgstr "사용자 이름 속성" msgid "Enable attributes map" msgstr "속성 매핑 활성화" -#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 -#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:49 +#: settings/serializers/auth/ldap.py:67 +#: settings/serializers/auth/ldap_ha.py:49 #: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 #: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 #: settings/serializers/auth/wecom.py:18 @@ -7163,8 +6883,7 @@ msgid "" "User attribute mapping, where the `key` is the CAS service user attribute " "name and the `value` is the JumpServer user attribute name" msgstr "" -"사용자 속성 매핑에서 `key`는 CAS 서비스의 사용자 속성 이름이고, `value`는 " -"JumpServer 사용자 속성 이름입니다." +"사용자 속성 매핑에서 `key`는 CAS 서비스의 사용자 속성 이름이고, `value`는 JumpServer 사용자 속성 이름입니다." #: settings/serializers/auth/dingtalk.py:16 msgid "Dingtalk" @@ -7175,16 +6894,14 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the DingTalk service user attribute name" msgstr "" -"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 딩딩 " -"서비스의 사용자 속성 이름입니다." +"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 딩딩 서비스의 사용자 속성 이름입니다." #: settings/serializers/auth/feishu.py:20 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the FeiShu service user attribute name" msgstr "" -"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 페이" -"서 서비스의 사용자 속성 이름입니다." +"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 페이서 서비스의 사용자 속성 이름입니다." #: settings/serializers/auth/lark.py:13 users/models/user/_source.py:24 msgid "Lark" @@ -7195,8 +6912,7 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Lark service user attribute name" msgstr "" -"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 Lark " -"서비스의 사용자 속성 이름입니다." +"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 Lark 서비스의 사용자 속성 이름입니다." #: settings/serializers/auth/ldap.py:42 settings/serializers/auth/ldap.py:108 msgid "LDAP" @@ -7206,63 +6922,71 @@ msgstr "LDAP" msgid "LDAP server URI" msgstr "LDAP 서비스 도메인 이름" -#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31 +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 msgid "Bind DN" msgstr "바인딩 DN" -#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32 +#: settings/serializers/auth/ldap.py:50 +#: settings/serializers/auth/ldap_ha.py:32 msgid "Binding Distinguished Name" msgstr "바인딩 디렉토리 관리자" -#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36 +#: settings/serializers/auth/ldap.py:54 +#: settings/serializers/auth/ldap_ha.py:36 msgid "Binding password" msgstr "바인딩 비밀번호" -#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39 +#: settings/serializers/auth/ldap.py:57 +#: settings/serializers/auth/ldap_ha.py:39 msgid "Search OU" msgstr "사용자 OU" -#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41 +#: settings/serializers/auth/ldap.py:59 +#: settings/serializers/auth/ldap_ha.py:41 msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" -msgstr "" -"사용자 검색 라이브러리, 여러 OU가 있을 경우 `|` 기호로 구분할 수 있습니다." +msgstr "사용자 검색 라이브러리, 여러 OU가 있을 경우 `|` 기호로 구분할 수 있습니다." -#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45 +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 msgid "Search filter" msgstr "사용자 필터" -#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46 +#: settings/serializers/auth/ldap.py:64 +#: settings/serializers/auth/ldap_ha.py:46 #, python-format msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" msgstr "가능한 옵션은 (cn 또는 uid 또는 sAMAccountName=%(user)s)입니다." -#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51 +#: settings/serializers/auth/ldap.py:69 +#: settings/serializers/auth/ldap_ha.py:51 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" msgstr "" -"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 LDAP " -"서비스 사용자 속성 이름입니다." +"사용자 속성 매핑에서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 LDAP 서비스 사용자 속성 이름입니다." -#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67 +#: settings/serializers/auth/ldap.py:85 +#: settings/serializers/auth/ldap_ha.py:67 msgid "Connect timeout (s)" msgstr "연결 시간 초과 (초)" -#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70 +#: settings/serializers/auth/ldap.py:88 +#: settings/serializers/auth/ldap_ha.py:70 msgid "Strict sync" msgstr "엄격 모드" -#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71 +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 msgid "" "In strict mode, users not found in LDAP will be disabled during full or " "automatic sync" -msgstr "" -"엄격 모드를 활성화하면 LDAP에서 발견되지 않는 시스템의 사용자는 전체 또는 자" -"동 동기화가 비활성화됩니다." +msgstr "엄격 모드를 활성화하면 LDAP에서 발견되지 않는 시스템의 사용자는 전체 또는 자동 동기화가 비활성화됩니다." -#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76 +#: settings/serializers/auth/ldap.py:94 +#: settings/serializers/auth/ldap_ha.py:76 msgid "User DN cache timeout (s)" msgstr "User DN 캐시 시간 초과 (초)" @@ -7273,9 +6997,8 @@ msgid "" "cache
If the user OU structure has been adjusted, click Submit to clear " "the user DN cache" msgstr "" -"사용자 로그인 인증 시 조회된 User DN을 캐시하여 사용자 인증 속도를 효과적으" -"로 향상시킬 수 있습니다.
사용자 OU 구조에 변화가 있을 경우, 제출 버튼을 클" -"릭하면 User DN 캐시가 삭제됩니다." +"사용자 로그인 인증 시 조회된 User DN을 캐시하여 사용자 인증 속도를 효과적으로 향상시킬 수 있습니다.
사용자 OU 구조에 " +"변화가 있을 경우, 제출 버튼을 클릭하면 User DN 캐시가 삭제됩니다." #: settings/serializers/auth/ldap.py:102 #: settings/serializers/auth/ldap_ha.py:84 @@ -7294,13 +7017,12 @@ msgstr "LDAP HA 서비스 도메인 이름" #: settings/serializers/auth/ldap_ha.py:78 msgid "" "Caching the User DN obtained during user login authentication can " -"effectivelyimprove the speed of user authentication., 0 means no cache
If " -"the user OU structure has been adjusted, click Submit to clear the user DN " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " "cache" msgstr "" -"사용자 로그인 인증 시 조회된 User DN을 캐시하여 사용자 인증 속도를 효과적으" -"로 향상시킬 수 있습니다.
사용자 OU 구조에 변화가 있을 경우, 제출 버튼을 클" -"릭하면 User DN 캐시가 삭제됩니다." +"사용자 로그인 인증 시 조회된 User DN을 캐시하여 사용자 인증 속도를 효과적으로 향상시킬 수 있습니다.
사용자 OU 구조에 " +"변화가 있을 경우, 제출 버튼을 클릭하면 User DN 캐시가 삭제됩니다." #: settings/serializers/auth/oauth2.py:19 #: settings/serializers/auth/oauth2.py:22 @@ -7344,7 +7066,8 @@ msgid "End session endpoint" msgstr "세션 종료 엔드포인트 주소" #: settings/serializers/auth/oauth2.py:57 -msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" msgstr "사용자가 로그아웃할 때, 그들은 OAuth2 서버에서도 로그아웃됩니다" #: settings/serializers/auth/oauth2.py:62 @@ -7352,11 +7075,11 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OAuth2 service user attribute name" msgstr "" -"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 " -"OAuth2 서비스 사용자 속성 이름입니다" +"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 OAuth2 서비스 사용자 속성 " +"이름입니다" -#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:117 -#: settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:117 settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "항상 사용자 정보를 업데이트합니다" @@ -7389,8 +7112,7 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OIDC service user attribute name" msgstr "" -"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 " -"OIDC 서비스 사용자 속성 이름입니다" +"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 OIDC 서비스 사용자 속성 이름입니다" #: settings/serializers/auth/oidc.py:45 msgid "Enable PKCE" @@ -7408,8 +7130,7 @@ msgstr "Keycloak 사용" msgid "" "Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " "Protocol" -msgstr "" -"OpenID Connect 서버로 Keycloak을 사용하거나 표준 OpenID Connect 프로토콜 사용" +msgstr "OpenID Connect 서버로 Keycloak을 사용하거나 표준 OpenID Connect 프로토콜 사용" #: settings/serializers/auth/oidc.py:64 msgid "Realm name" @@ -7476,9 +7197,8 @@ msgid "" "The hostname can using passkey auth, If not set, will use request host and " "the request host in DOMAINS, If multiple domains, use comma to separate" msgstr "" -"Passkey 인증을 사용할 수 있는 도메인입니다. 설정하지 않으면 요청 호스트(호스" -"트 이름은 신뢰할 수 있는 도메인 DOMAINS에 있음)를 사용합니다. 여러 도메인이 " -"있을 경우, 쉼표로 구분하며 포트 번호는 필요하지 않습니다." +"Passkey 인증을 사용할 수 있는 도메인입니다. 설정하지 않으면 요청 호스트(호스트 이름은 신뢰할 수 있는 도메인 DOMAINS에 " +"있음)를 사용합니다. 여러 도메인이 있을 경우, 쉼표로 구분하며 포트 번호는 필요하지 않습니다." #: settings/serializers/auth/passkey.py:22 msgid "FIDO Server name" @@ -7489,10 +7209,9 @@ msgid "OTP in RADIUS" msgstr "RADIUS OTP를 사용합니다." #: settings/serializers/auth/radius.py:24 -msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" -msgstr "" -"* RADIUS에서 OTP를 사용하면 사용자가 MFA 방법으로 RADIUS를 사용할 수 있음을 " -"의미합니다." +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgstr "* RADIUS에서 OTP를 사용하면 사용자가 MFA 방법으로 RADIUS를 사용할 수 있음을 의미합니다." #: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 msgid "SAML2" @@ -7523,8 +7242,8 @@ msgid "" "User attribute mapping, where the `key` is the SAML2 service user attribute " "name and the `value` is the JumpServer user attribute name" msgstr "" -"사용자 속성 매핑, 여기서 `key`는 SAML2 서비스 사용자 속성 이름이고, `value`" -"는 JumpServer 사용자 속성 이름입니다." +"사용자 속성 매핑, 여기서 `key`는 SAML2 서비스 사용자 속성 이름이고, `value`는 JumpServer 사용자 속성 " +"이름입니다." #: settings/serializers/auth/saml2.py:43 msgid "When the user signs out, they also be logged out from the SAML2 server" @@ -7535,8 +7254,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Slack service user attribute name" msgstr "" -"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 " -"Slack 서비스 사용자 속성 이름입니다." +"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 Slack 서비스 사용자 속성 " +"이름입니다." #: settings/serializers/auth/sms.py:18 msgid "Enable Short Message Service (SMS)" @@ -7601,13 +7320,12 @@ msgstr "업무 유형(Application id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." msgstr "" -"템플릿은 반드시 {code}를 포함해야 하며, 템플릿 + 서명 길이는 67자를 초과할 " -"수 없습니다. 예를 들어, 귀하의 인증 코드는 {code}이며, 유효 기간은 5분입니" -"다. 다른 사람에게 누설하지 마세요." +"템플릿은 반드시 {code}를 포함해야 하며, 템플릿 + 서명 길이는 67자를 초과할 수 없습니다. 예를 들어, 귀하의 인증 코드는 " +"{code}이며, 유효 기간은 5분입니다. 다른 사람에게 누설하지 마세요." #: settings/serializers/auth/sms.py:94 #, python-brace-format @@ -7628,9 +7346,7 @@ msgstr "SSO 토큰 인증 활성화" #: settings/serializers/auth/sso.py:17 msgid "Other service can using SSO token login to JumpServer without password" -msgstr "" -"기타 시스템은 SSO 토큰을 통해 JumpServer에 연동하여 로그인 과정을 생략할 수 " -"있습니다." +msgstr "기타 시스템은 SSO 토큰을 통해 JumpServer에 연동하여 로그인 과정을 생략할 수 있습니다." #: settings/serializers/auth/sso.py:20 msgid "SSO auth key TTL" @@ -7646,8 +7362,8 @@ msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the WeCom service user attribute name" msgstr "" -"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 " -"기업 WeChat 서비스 사용자 속성 이름입니다." +"사용자 속성 매핑, 여기서 `key`는 JumpServer 사용자 속성 이름이고, `value`는 기업 WeChat 서비스 사용자 속성 " +"이름입니다." #: settings/serializers/basic.py:11 msgid "Site URL" @@ -7655,11 +7371,9 @@ msgstr "현재 사이트 URL" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service " -"and is usually used in links in system emails" -msgstr "" -"사이트 URL은 현재 제품 서비스의 외부에서 접근 가능한 주소이며, 주로 시스템 이" -"메일 링크에서 사용됩니다." +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" +msgstr "사이트 URL은 현재 제품 서비스의 외부에서 접근 가능한 주소이며, 주로 시스템 이메일 링크에서 사용됩니다." #: settings/serializers/basic.py:18 msgid "User guide url" @@ -7667,9 +7381,7 @@ msgstr "사용자 안내 URL" #: settings/serializers/basic.py:19 msgid "User first login update profile done redirect to it" -msgstr "" -"사용자가 처음 로그인한 후 프로필을 수정하면 리디렉션되는 주소로, 위키나 다른 " -"설명 문서일 수 있습니다." +msgstr "사용자가 처음 로그인한 후 프로필을 수정하면 리디렉션되는 주소로, 위키나 다른 설명 문서일 수 있습니다." #: settings/serializers/basic.py:22 msgid "Global org display" @@ -7686,9 +7398,7 @@ msgstr "문서 링크" #: settings/serializers/basic.py:27 msgid "" "Document URL refers to the address in the top navigation bar Help - Document" -msgstr "" -"문서 URL은 최상위 탐색 막대에 있는 주소를 의미하며, 도움말 - 문서에서 확인할 " -"수 있습니다." +msgstr "문서 URL은 최상위 탐색 막대에 있는 주소를 의미하며, 도움말 - 문서에서 확인할 수 있습니다." #: settings/serializers/basic.py:30 msgid "Support URL" @@ -7748,8 +7458,7 @@ msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." msgstr "" -"세션, 녹화 및 명령 기록은 해당 시간을 초과하면 삭제됩니다 (데이터베이스 저장" -"소에 영향, OSS 등은 영향을 받지 않습니다)" +"세션, 녹화 및 명령 기록은 해당 시간을 초과하면 삭제됩니다 (데이터베이스 저장소에 영향, OSS 등은 영향을 받지 않습니다)" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days" @@ -7787,9 +7496,8 @@ msgid "" "accounts that exceed the predetermined number. If the value reaches or " "exceeds 999 (default), no historical account deletion will be performed" msgstr "" -"특정 수치가 999보다 작을 경우, 시스템은 매일 저녁 자동으로 작업을 수행합니" -"다: 설정된 수를 초과하는 역사 계정을 확인하고 삭제합니다. 해당 수치가 999에 " -"도달하거나 이를 초과할 경우, 역사 계정 삭제 작업은 진행되지 않습니다." +"특정 수치가 999보다 작을 경우, 시스템은 매일 저녁 자동으로 작업을 수행합니다: 설정된 수를 초과하는 역사 계정을 확인하고 " +"삭제합니다. 해당 수치가 999에 도달하거나 이를 초과할 경우, 역사 계정 삭제 작업은 진행되지 않습니다." #: settings/serializers/feature.py:89 msgid "Mount Point" @@ -7802,7 +7510,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "지역" @@ -7851,54 +7559,69 @@ msgstr "GPT 모델" msgid "DeepSeek Model" msgstr "DeepSeek 모델" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "사용자 정의 모델" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "사용자 정의 모델 사용 여부" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "사용자 정의 GPT 모델" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "사용자 정의 DeepSeek 모델" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "로그인 불필요 승인" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "로그인 없이 직접 작업을 승인 허용" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "시간대" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "작업 신청 자산의 기본 승인 시간대" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "시" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "단위" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "실행 주기" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "일괄 명령 실행" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" -msgstr "" -"사용자가 워크벤치 - 작업 센터 - Adhoc에서 일괄 명령을 실행할 수 있도록 허용" +msgstr "사용자가 워크벤치 - 작업 센터 - Adhoc에서 일괄 명령을 실행할 수 있도록 허용" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "작업 센터 명령 블랙리스트" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "작업 센터 명령 블랙리스트" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -7906,17 +7629,15 @@ msgstr "작업 센터 명령 블랙리스트" msgid "Virtual app" msgstr "가상 애플리케이션" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "가상 애플리케이션" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." -msgstr "" -"가상 애플리케이션은 원격 애플리케이션의 애플리케이션 서버로 리눅스 운영 체제" -"를 사용할 수 있습니다." +msgstr "가상 애플리케이션은 원격 애플리케이션의 애플리케이션 서버로 리눅스 운영 체제를 사용할 수 있습니다." #: settings/serializers/msg.py:24 msgid "SMTP" @@ -7932,17 +7653,13 @@ msgstr "서비스" #: settings/serializers/msg.py:34 msgid "The user to be used for email server authentication" -msgstr "" -"메일 서버에 로그인할 때 사용할 사용자 이름. 일반적으로 이는 당신의 이메일 주" -"소입니다." +msgstr "메일 서버에 로그인할 때 사용할 사용자 이름. 일반적으로 이는 당신의 이메일 주소입니다." #: settings/serializers/msg.py:39 msgid "" "Password to use for the email server. It is used in conjunction with " "`Account` when authenticating to the email server" -msgstr "" -"전자 메일 서버에 사용되는 비밀번호입니다. 전자 메일 서버에 인증할 때 `계정`" -"과 함께 사용됩니다." +msgstr "전자 메일 서버에 사용되는 비밀번호입니다. 전자 메일 서버에 인증할 때 `계정`과 함께 사용됩니다." #: settings/serializers/msg.py:42 msgid "Sender" @@ -7962,9 +7679,8 @@ msgid "" "server. In most email documentation this type of TLS connection is referred " "to as SSL. It is generally used on port 465" msgstr "" -"SMTP 서버와 통신할 때 암묵적 TLS(보안) 연결을 사용할 것인지 여부. 대부분의 이" -"메일 문서에서 이러한 유형의 TLS 연결은 SSL이라고 불립니다. 일반적으로 포트 " -"465에서 사용됩니다." +"SMTP 서버와 통신할 때 암묵적 TLS(보안) 연결을 사용할 것인지 여부. 대부분의 이메일 문서에서 이러한 유형의 TLS 연결은 " +"SSL이라고 불립니다. 일반적으로 포트 465에서 사용됩니다." #: settings/serializers/msg.py:55 msgid "Use TLS" @@ -7975,8 +7691,8 @@ msgid "" "Whether to use a TLS (secure) connection when talking to the SMTP server. " "This is used for explicit TLS connections, generally on port 587" msgstr "" -"SMTP 서버와 통신할 때 TLS(보안) 연결을 사용할 것인지 여부. 이는 명시적 TLS 연" -"결에 사용되며, 일반적으로 포트 587에서 사용됩니다." +"SMTP 서버와 통신할 때 TLS(보안) 연결을 사용할 것인지 여부. 이는 명시적 TLS 연결에 사용되며, 일반적으로 포트 587에서 " +"사용됩니다." #: settings/serializers/msg.py:65 msgid "Subject prefix" @@ -7984,11 +7700,9 @@ msgstr "제목 접두사" #: settings/serializers/msg.py:70 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" -msgstr "" -"힌트: 사용자를 생성할 때 설정 비밀번호 이메일의 제목을 보내세요 (예: 사용자 " -"생성 성공)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" +msgstr "힌트: 사용자를 생성할 때 설정 비밀번호 이메일의 제목을 보내세요 (예: 사용자 생성 성공)" #: settings/serializers/msg.py:74 users/notifications.py:18 msgid "Honorific" @@ -7997,28 +7711,21 @@ msgstr "이메일 인사말" #: settings/serializers/msg.py:75 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" msgstr "" -"안내: 사용자를 생성할 때, 비밀번호 설정 메일을 발송하는 존댓말 (예: 안녕하세" -"요) \n" -"안내: 사용자를 생성할 때, 비밀번호 설정 메일의 내용, {username} {name} " -"{email} 태그를 지원합니다. \n" +"안내: 사용자를 생성할 때, 비밀번호 설정 메일을 발송하는 존댓말 (예: 안녕하세요) \n" +"안내: 사용자를 생성할 때, 비밀번호 설정 메일의 내용, {username} {name} {email} 태그를 지원합니다. \n" "메일 서명 (예: jumpserver) \n" "더보기... \n" "비 그룹화된 노드 표시 \n" -"별도로 허가된 자산을 비 그룹화된 노드에 배치하여 자산이 위치한 노드를 볼 수 " -"있으나 해당 노드가 허가되지 않은 문제를 피합니다. \n" +"별도로 허가된 자산을 비 그룹화된 노드에 배치하여 자산이 위치한 노드를 볼 수 있으나 해당 노드가 허가되지 않은 문제를 피합니다. \n" "사용자 비밀번호 만료 시간 (일) \n" -"사용자가 이 기간 내에 비밀번호를 업데이트하지 않으면 사용자 비밀번호가 만료됩" -"니다; 비밀번호 만료 알림 메일은 비밀번호 만료 5일 전부터 시스템에 의해 (매" -"일) 자동으로 사용자에게 발송됩니다. \n" +"사용자가 이 기간 내에 비밀번호를 업데이트하지 않으면 사용자 비밀번호가 만료됩니다; 비밀번호 만료 알림 메일은 비밀번호 만료 5일 전부터 시스템에 의해 (매일) 자동으로 사용자에게 발송됩니다. \n" "최근 사용한 비밀번호를 설정할 수 없습니다. \n" -"안내: 사용자 비밀번호 재설정 시, 해당 사용자가 이전에 사용했던 비밀번호는 사" -"용할 수 없습니다. \n" +"안내: 사용자 비밀번호 재설정 시, 해당 사용자가 이전에 사용했던 비밀번호는 사용할 수 없습니다. \n" "비밀번호 최소 길이 \n" "관리자 비밀번호 최소 길이 \n" "숫자를 포함해야 합니다. \n" "특수 문자를 포함해야 합니다. \n" -"사용자가 로그인 실패 횟수가 제한에 도달하면, 이 간격 내에서 로그인이 금지됩니" -"다." +"사용자가 로그인 실패 횟수가 제한에 도달하면, 이 간격 내에서 로그인이 금지됩니다." #: settings/serializers/msg.py:81 #, python-brace-format @@ -8026,8 +7733,7 @@ msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" msgstr "" -"알림: 사용자를 생성할 때, 비밀번호 설정 메일의 내용을 전송하며, {username} " -"{name} {email} 태그를 지원합니다" +"알림: 사용자를 생성할 때, 비밀번호 설정 메일의 내용을 전송하며, {username} {name} {email} 태그를 지원합니다" #: settings/serializers/msg.py:85 msgid "Tips: Email signature (eg:jumpserver)" @@ -8044,8 +7750,7 @@ msgstr "그룹화되지 않은 노드 표시" #: settings/serializers/other.py:12 msgid "Perm single to ungroup node" msgstr "" -"단독 권한이 있는 자산을 그룹화되지 않은 노드에 배치하고, 자산이 있는 노드를 " -"볼 수 있지만 해당 노드에 권한이 없는 문제를 피합니다" +"단독 권한이 있는 자산을 그룹화되지 않은 노드에 배치하고, 자산이 있는 노드를 볼 수 있지만 해당 노드에 권한이 없는 문제를 피합니다" #: settings/serializers/security.py:19 msgid "User password expiration (day)" @@ -8057,9 +7762,8 @@ msgid "" "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" msgstr "" -"사용자가 이 기간 내에 비밀번호를 업데이트하지 않으면, 사용자 비밀번호는 만료" -"되어 더 이상 유효하지 않습니다; 비밀번호 만료 알림 메일은 비밀번호 만료 5일 " -"전에 시스템이 자동으로 (매일) 사용자에게 전송합니다" +"사용자가 이 기간 내에 비밀번호를 업데이트하지 않으면, 사용자 비밀번호는 만료되어 더 이상 유효하지 않습니다; 비밀번호 만료 알림 메일은" +" 비밀번호 만료 5일 전에 시스템이 자동으로 (매일) 사용자에게 전송합니다" #: settings/serializers/security.py:28 msgid "User expired tokens record keep days" @@ -8068,9 +7772,7 @@ msgstr "사용자 만료 Token 보존 일수" #: settings/serializers/security.py:29 msgid "" "Retention period (in days) for expired user tokens before automatic cleanup." -msgstr "" -"시스템은 매일 정리 작업에서 사용자 만료 Token 기록을 영구 삭제하기 전에, 이러" -"한 기록을 보존하는 일수를 설정합니다" +msgstr "시스템은 매일 정리 작업에서 사용자 만료 Token 기록을 영구 삭제하기 전에, 이러한 기록을 보존하는 일수를 설정합니다" #: settings/serializers/security.py:33 msgid "Recent password count" @@ -8080,9 +7782,7 @@ msgstr "최근 몇 번의 비밀번호를 설정할 수 없습니다" msgid "" "Tip: When the user resets the password, it cannot be the previous n " "historical passwords of the user" -msgstr "" -"알림: 사용자가 비밀번호를 재설정할 때, 해당 사용자가 지난 몇 번 사용한 비밀번" -"호는 사용할 수 없습니다" +msgstr "알림: 사용자가 비밀번호를 재설정할 때, 해당 사용자가 지난 몇 번 사용한 비밀번호는 사용할 수 없습니다" #: settings/serializers/security.py:41 msgid "Minimum length (User)" @@ -8104,9 +7804,7 @@ msgstr "특수 문자를 포함해야 합니다" msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." -msgstr "" -"사용자가 로그인 실패 횟수가 제한에 도달하면, 이 간격 내에는 로그인이 금지됩니" -"다" +msgstr "사용자가 로그인 실패 횟수가 제한에 도달하면, 이 간격 내에는 로그인이 금지됩니다" #: settings/serializers/security.py:70 settings/serializers/security.py:80 msgid "Login failures count" @@ -8132,9 +7830,7 @@ msgstr "단일 장치 로그인만 허용" msgid "" "After the user logs in on the new device, other logged-in devices will " "automatically log out" -msgstr "" -"사용자가 새로운 장치로 로그인하면, 다른 이미 로그인된 장치는 자동으로 로그아" -"웃됩니다" +msgstr "사용자가 새로운 장치로 로그인하면, 다른 이미 로그인된 장치는 자동으로 로그아웃됩니다" #: settings/serializers/security.py:102 msgid "Only exist user login" @@ -8147,9 +7843,8 @@ msgid "" "are allowed to log in and automatically create users (if the user does not " "exist)" msgstr "" -"이 설정이 활성화되면 존재하지 않는 사용자는 로그인이 불가능하며, 비활성화하" -"면 로컬 인증 방식을 제외한 다른 인증 방식을 사용하는 사용자는 로그인이 가능하" -"고 자동으로 사용자 계정이 생성됩니다 (사용자가 존재하지 않을 경우)" +"이 설정이 활성화되면 존재하지 않는 사용자는 로그인이 불가능하며, 비활성화하면 로컬 인증 방식을 제외한 다른 인증 방식을 사용하는 " +"사용자는 로그인이 가능하고 자동으로 사용자 계정이 생성됩니다 (사용자가 존재하지 않을 경우)" #: settings/serializers/security.py:110 msgid "Only from source login" @@ -8157,14 +7852,13 @@ msgstr "사용자 출처에서만 로그인" #: settings/serializers/security.py:112 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"이 설정이 활성화되면, 사용자는 로그인할 때 오직 출처에서 인증을 받으며, 비활" -"성화하면 사용자는 로그인할 때 모든 활성화된 인증 방식을 순서대로 인증받고, 하" -"나라도 인증에 성공하면 바로 로그인이 가능합니다" +"이 설정이 활성화되면, 사용자는 로그인할 때 오직 출처에서 인증을 받으며, 비활성화하면 사용자는 로그인할 때 모든 활성화된 인증 방식을 " +"순서대로 인증받고, 하나라도 인증에 성공하면 바로 로그인이 가능합니다" #: settings/serializers/security.py:123 #: users/templates/users/mfa_setting.html:160 @@ -8219,9 +7913,7 @@ msgstr "MFA 로그인 페이지 입력" #: settings/serializers/security.py:155 msgid "Eu security regulations(GDPR) require MFA to be on the login page" -msgstr "" -"유럽연합 데이터 보호 규정(GDPR)은 로그인 페이지에서 MFA를 요구하여 시스템 로" -"그인 안전성을 보장합니다." +msgstr "유럽연합 데이터 보호 규정(GDPR)은 로그인 페이지에서 MFA를 요구하여 시스템 로그인 안전성을 보장합니다." #: settings/serializers/security.py:159 msgid "Verify code TTL (second)" @@ -8240,8 +7932,8 @@ msgid "" "The password and additional code are sent to a third party authentication " "system for verification" msgstr "" -"비밀번호와 추가 코드를 함께 제3자 인증 시스템에 송신하여 검증합니다. 예: 일" -"부 제3자 인증 시스템에서는 비밀번호+6자리 숫자를 통해 인증을 완료해야 합니다." +"비밀번호와 추가 코드를 함께 제3자 인증 시스템에 송신하여 검증합니다. 예: 일부 제3자 인증 시스템에서는 비밀번호+6자리 숫자를 통해 " +"인증을 완료해야 합니다." #: settings/serializers/security.py:169 msgid "Login CAPTCHA" @@ -8257,12 +7949,12 @@ msgstr "원격 로그인 알림" #: settings/serializers/security.py:175 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" msgstr "" -"로그인 IP가 자주 사용하는 도시인지 여부를 판단합니다. 만약 계정이 자주 사용하" -"지 않는 도시에서 로그인하면 원격 로그인 알림이 전송됩니다." +"로그인 IP가 자주 사용하는 도시인지 여부를 판단합니다. 만약 계정이 자주 사용하지 않는 도시에서 로그인하면 원격 로그인 알림이 " +"전송됩니다." #: settings/serializers/security.py:181 msgid "Auto Disable Threshold (day)" @@ -8272,8 +7964,7 @@ msgstr "비활성 사용자 자동 비활성화(일)" msgid "" "Detect infrequent users daily and disable them if they exceed the " "predetermined time limit" -msgstr "" -"매일 한 번 점검하며, 설정된 시간을 초과한 사용자는 자동으로 비활성화됩니다." +msgstr "매일 한 번 점검하며, 설정된 시간을 초과한 사용자는 자동으로 비활성화됩니다." #: settings/serializers/security.py:202 msgid "Watermark" @@ -8331,9 +8022,7 @@ msgstr "사용자가 자산 온라인 세션 정보를 볼 수 있도록 허용 msgid "" "When a user connects to an asset, the account selection popup displays the " "number of active sessions for the current asset (RDP protocol only)." -msgstr "" -"사용자가 자산에 연결할 때 계정 선택 팝업에 현재 자산의 온라인 세션 수가 표시" -"됩니다(단, RDP 프로토콜만 해당)." +msgstr "사용자가 자산에 연결할 때 계정 선택 팝업에 현재 자산의 온라인 세션 수가 표시됩니다(단, RDP 프로토콜만 해당)." #: settings/serializers/security.py:245 msgid "Max online time (hour)" @@ -8354,8 +8043,7 @@ msgstr "세션 공유" #: settings/serializers/security.py:253 msgid "Enabled, Allows user active session to be shared with other users" -msgstr "" -"사용자가 연결된 자산 세션을 다른 사람과 공유하고 협업할 수 있도록 허용합니다." +msgstr "사용자가 연결된 자산 세션을 다른 사람과 공유하고 협업할 수 있도록 허용합니다." #: settings/serializers/security.py:259 msgid "Insecure command alert" @@ -8388,27 +8076,24 @@ msgstr "구성 요소 등록" #: settings/serializers/terminal.py:28 msgid "" -"Allow component register, after all component setup, you should disable this " -"for security" +"Allow component register, after all component setup, you should disable this" +" for security" msgstr "모든 단말기가 시작된 후 안전을 위해 구성 요소 등록을 허용할지 여부" #: settings/serializers/terminal.py:34 msgid "" "* Allow users to log in to the KoKo component via password authentication" -msgstr "" -"* 사용자가 비밀번호 확인으로 KoKo 구성 요소에 로그인할 수 있도록 허용합니다." +msgstr "* 사용자가 비밀번호 확인으로 KoKo 구성 요소에 로그인할 수 있도록 허용합니다." #: settings/serializers/terminal.py:40 msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in " -"after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" msgstr "" -"* 사용자가 공개키 인증 방식으로 KoKo 구성 요소에 로그인할 수 있도록 허용합니" -"다.
타사 인증 서비스(예: AD/LDAP)가 활성화된 경우, 사용자가 AD/LDAP 서버" -"에서 삭제된 후 다시 로그인하는 것을 방지하기 위해 이 옵션을 비활성화해야 합니" -"다." +"* 사용자가 공개키 인증 방식으로 KoKo 구성 요소에 로그인할 수 있도록 허용합니다.
타사 인증 서비스(예: AD/LDAP)가 " +"활성화된 경우, 사용자가 AD/LDAP 서버에서 삭제된 후 다시 로그인하는 것을 방지하기 위해 이 옵션을 비활성화해야 합니다." #: settings/serializers/terminal.py:47 msgid "Asset sorting" @@ -8420,23 +8105,21 @@ msgstr "자산 목록 페이지당 수량" #: settings/serializers/terminal.py:55 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" msgstr "" -"* 서버 엔드포인트에서 서비스 주소와 포트를 개별적으로 구성할 수 있습니다.
활성화된 경우 Luna 페이지에서 연결 자산 시 DB 클라이언트 시작 방법을 표시합" -"니다." +"* 서버 엔드포인트에서 서비스 주소와 포트를 개별적으로 구성할 수 있습니다.
활성화된 경우 Luna 페이지에서 연결 자산 시 DB" +" 클라이언트 시작 방법을 표시합니다." #: settings/serializers/terminal.py:63 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" -"* 서버 엔드포인트에서 서비스 주소와 포트를 개별적으로 구성할 수 있습니다.
활성화된 경우 Luna 페이지에서 연결 자산 시 rdp 파일 다운로드 버튼과 RDP 클라" -"이언트 시작 방법을 표시합니다." +"* 서버 엔드포인트에서 서비스 주소와 포트를 개별적으로 구성할 수 있습니다.
활성화된 경우 Luna 페이지에서 연결 자산 시 " +"rdp 파일 다운로드 버튼과 RDP 클라이언트 시작 방법을 표시합니다." #: settings/serializers/terminal.py:70 msgid "Client connection" @@ -8445,10 +8128,11 @@ msgstr "클라이언트 연결" #: settings/serializers/terminal.py:72 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to assets" +"Luna page will display the SSH client launch method when connecting to " +"assets" msgstr "" -"* SSH 클라이언트를 통해 KoKo 컴포넌트에 연결을 허용합니다.
활성화된 경우 " -"자산에 연결할 때 Luna 페이지에 SSH 클라이언트 시작 방법이 표시됩니다." +"* SSH 클라이언트를 통해 KoKo 컴포넌트에 연결을 허용합니다.
활성화된 경우 자산에 연결할 때 Luna 페이지에 SSH " +"클라이언트 시작 방법이 표시됩니다." #: settings/serializers/tool.py:10 msgid "Tool" @@ -8460,11 +8144,9 @@ msgstr "작업대 내의 도구" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools " -"in the workbench" -msgstr "" -"*! 활성화된 경우 RBAC 권한을 가진 사용자는 작업대 내의 모든 도구를 사용할 수 " -"있습니다." +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" +msgstr "*! 활성화된 경우 RBAC 권한을 가진 사용자는 작업대 내의 모든 도구를 사용할 수 있습니다." #: settings/tasks/ldap.py:67 msgid "Periodic import ldap user" @@ -8474,8 +8156,7 @@ msgstr "주기적으로 LDAP 사용자 가져오기" msgid "" "When LDAP auto-sync is configured, this task will be invoked to synchronize " "users" -msgstr "" -"LDAP 자동 동기화가 설정되면 이 작업이 호출되어 사용자 동기화가 진행됩니다." +msgstr "LDAP 자동 동기화가 설정되면 이 작업이 호출되어 사용자 동기화가 진행됩니다." #: settings/tasks/ldap.py:77 msgid "Periodic import ldap ha user" @@ -8487,12 +8168,11 @@ msgstr "LDAP 사용자 가져오기 작업을 등록합니다." #: settings/tasks/ldap.py:117 msgid "" -"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " -"sync task \n" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" -"LDAP 자동 동기화 매개변수가 변경될 때, 예를 들어 Crontab 매개변수가 변경되" -"면, LDAP 동기화 작업을 재등록하거나 업데이트하여 이 작업이 호출됩니다." +"LDAP 자동 동기화 매개변수가 변경될 때, 예를 들어 Crontab 매개변수가 변경되면, LDAP 동기화 작업을 재등록하거나 " +"업데이트하여 이 작업이 호출됩니다." #: settings/tasks/ldap.py:131 msgid "Registration periodic import ldap ha user task" @@ -8500,12 +8180,11 @@ msgstr "주기적으로 LDAP HA 사용자 가져오기 작업 등록" #: settings/tasks/ldap.py:133 msgid "" -"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " -"LDAP HA sync task \n" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" -"LDAP HA 자동 동기화 매개변수가 변경될 때, 예를 들어 Crontab 매개변수가 변경되" -"면 \"LDAP HA 동기화 작업\"을 재등록하거나 업데이트하여 이 작업을 호출합니다." +"LDAP HA 자동 동기화 매개변수가 변경될 때, 예를 들어 Crontab 매개변수가 변경되면 \"LDAP HA 동기화 작업\"을 " +"재등록하거나 업데이트하여 이 작업을 호출합니다." #: settings/templates/ldap/_msg_import_ldap_user.html:2 msgid "Sync task finish" @@ -8528,24 +8207,19 @@ 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 -#, fuzzy, python-brace-format -#| msgid "Please add certificate: {}" msgid "Please add certificate: {}" -msgstr "인증서 추가하십시오" +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 "알 수 없는 오류: {}" @@ -8554,27 +8228,22 @@ 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 속성 매핑에 포함되지 않았습니다: {}" @@ -8587,57 +8256,46 @@ 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 "인증 성공: {}" @@ -8646,12 +8304,10 @@ 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 "비활성화 {}" @@ -8734,8 +8390,8 @@ msgid "" "Your password has expired, please click this link update password." msgstr "" -"귀하의 비밀번호가 만료되었습니다. " -"링크 를 클릭하여 비밀번호를 업데이트해 주십시오." +"귀하의 비밀번호가 만료되었습니다. 링크 를 클릭하여 " +"비밀번호를 업데이트해 주십시오." #: templates/_message.html:26 msgid "Your password will at" @@ -8746,18 +8402,14 @@ msgstr "귀하의 비밀번호는" msgid "" "please click this link to " "update your password." -msgstr "" -" 링크 를 클릭하여 업데이트해 주" -"십시오." +msgstr " 링크 를 클릭하여 업데이트해 주십시오." #: templates/_message.html:37 #, python-format msgid "" "Your information was incomplete. Please click this link to complete your information." -msgstr "" -"정보가 불완전합니다. 링크 를 클릭하여 정" -"보를 보완해 주십시오." +msgstr "정보가 불완전합니다. 링크 를 클릭하여 정보를 보완해 주십시오." #: templates/_message.html:48 #, python-format @@ -8765,8 +8417,8 @@ msgid "" "Your ssh public key not set or expired. Please click this link to update" msgstr "" -"귀하의 SSH 키가 설정되어 있지 않거나 만료되었습니다. 링크 를 클릭하여 업데이트해 주십시오." +"귀하의 SSH 키가 설정되어 있지 않거나 만료되었습니다. 링크 를" +" 클릭하여 업데이트해 주십시오." #: templates/_mfa_login_field.html:29 #: users/templates/users/forgot_password.html:101 @@ -8788,30 +8440,24 @@ msgid "Home page" msgstr "홈페이지" #: templates/redirect_confirm.html:42 -#, fuzzy -#| msgid "" -#| "You are about to be redirected to an external website. Please confirm " -#| "that you trust this link: " msgid "You are about to be redirected to an external website." -msgstr "" -"외부 웹사이트로 이동하고자 합니다. 해당 링크를 신뢰하는지 확인해 주시기 바랍" -"니다." +msgstr "외부 웹사이트로 이동하려고 합니다" #: templates/redirect_confirm.html:45 msgid "Please confirm that you trust this link: " -msgstr "" +msgstr "다음 링크를 신뢰하는지 확인하십시오:" #: templates/redirect_confirm.html:55 msgid "Back" -msgstr "" +msgstr "돌아가기" #: templates/redirect_confirm.html:70 msgid "Redirecting you to the Desktop App ( JumpServer Client )" -msgstr "" +msgstr "데스크톱 애플리케이션(JumpServer 클라이언트)으로 리디렉션 중입니다." #: templates/redirect_confirm.html:73 msgid "You can safely close this window and return to the application." -msgstr "" +msgstr "이 창을 닫고 애플리케이션으로 돌아갈 수 있습니다." #: templates/resource_download.html:20 templates/resource_download.html:36 #: users/const.py:84 @@ -8819,12 +8465,8 @@ msgid "Client" msgstr "클라이언트" #: templates/resource_download.html:22 -#, fuzzy -#| msgid "JumpServer Client, currently used to launch the client" msgid "JumpServerClient, currently used to launch the client" -msgstr "" -"JumpServer 클라이언트는 현재 특정 클라이언트 프로그램을 호출하여 자산에 연결" -"하는 데 사용됩니다." +msgstr "JumpServer 클라이언트, 현재 특정 클라이언트 프로그램을 호출하여 자산에 연결하고 있습니다" #: templates/resource_download.html:36 msgid "Microsoft" @@ -8839,8 +8481,8 @@ msgid "" "macOS needs to download the client to connect RDP asset, which comes with " "Windows" msgstr "" -"macOS에서는 RDP 자산에 연결하기 위해 클라이언트를 다운로드해야 하며, Windows " -"시스템에는 기본적으로 이 프로그램이 설치되어 있습니다." +"macOS에서는 RDP 자산에 연결하기 위해 클라이언트를 다운로드해야 하며, Windows 시스템에는 기본적으로 이 프로그램이 설치되어 " +"있습니다." #: templates/resource_download.html:46 msgid "Windows Remote application publisher tools" @@ -8850,9 +8492,7 @@ msgstr "Windows 원격 애플리케이션 게시 서버 도구" msgid "" "OpenSSH is a program used to connect remote applications in the Windows " "Remote Application Publisher" -msgstr "" -"OpenSSH는 Windows 원격 애플리케이션 게시 서버에서 원격 애플리케이션에 연결하" -"는 데 사용되는 프로그램입니다." +msgstr "OpenSSH는 Windows 원격 애플리케이션 게시 서버에서 원격 애플리케이션에 연결하는 데 사용되는 프로그램입니다." #: templates/resource_download.html:54 msgid "Offline video player" @@ -8869,7 +8509,6 @@ msgid "This is enterprise edition applet" msgstr "기업용 원격 애플리케이션은 커뮤니티 버전에서 사용할 수 없습니다." #: terminal/api/applet/applet.py:91 -#, python-brace-format msgid "Applet not found in path: {}" msgstr "경로에 원격 애플리케이션을 찾을 수 없습니다: {}" @@ -8882,7 +8521,6 @@ 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 "사용 중인 저장소를 삭제할 수 없습니다: {}" @@ -8895,7 +8533,6 @@ msgid "Invalid" msgstr "유효하지 않음" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "테스트 실패: {}" @@ -8922,7 +8559,6 @@ msgid "Session replay" msgstr "세션 녹화" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "회화가 존재하지 않습니다: {}" @@ -8930,7 +8566,7 @@ msgstr "회화가 존재하지 않습니다: {}" msgid "Session is finished or the protocol not supported" msgstr "회화가 이미 완료되었거나 프로토콜이 지원되지 않습니다." -#: terminal/api/session/session.py:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "사용자에게 권한이 없습니다." @@ -9095,12 +8731,10 @@ msgstr "주최자" #: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 -#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 유효하지 않음, 파일 {}가 없습니다" #: terminal/models/applet/applet.py:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "platform.yml 로드 실패: {}" @@ -9446,20 +9080,16 @@ msgstr "Core 서비스 주소" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" -"提示:애플리케이션 배포기와 Core 서비스가 통신하는 데 사용되며, 배포기와 " -"Core 서비스가 동일한 네트워크에 있을 경우 내부 주소를 입력하는 것이 좋습니" -"다. 그렇지 않으면 현재 사이트 URL을 입력해야 합니다.
예: https://" -"172.16.10.110 또는 https://dev.jumpserver.com" +"提示:애플리케이션 배포기와 Core 서비스가 통신하는 데 사용되며, 배포기와 Core 서비스가 동일한 네트워크에 있을 경우 내부 주소를 " +"입력하는 것이 좋습니다. 그렇지 않으면 현재 사이트 URL을 입력해야 합니다.
예: https://172.16.10.110 또는 " +"https://dev.jumpserver.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -9472,12 +9102,12 @@ msgstr "이미 RDS 라이센스 보유" #: terminal/serializers/applet_host.py:50 msgid "" "If not exist, the RDS will be in trial mode, and the trial period is 120 " -"days. Detail" +"days. Detail" msgstr "" "존재하지 않을 경우, RDS는 시험 모드에 있으며, 시험 기간은 120일입니다.자세히 보기" +"href='https://learn.microsoft.com/en-us/windows-server/remote/remote-" +"desktop-services/rds-client-access-license'>자세히 보기" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9495,9 +9125,7 @@ msgstr "RDS 단일 사용자 단일 세션" msgid "" "Tips: A RDS user can have only one session at a time. If set, when next " "login connected, previous session will be disconnected." -msgstr "" -"提示:RDS 사용자는 한 번에 하나의 세션만 가질 수 있습니다. 설정된 경우, 다음 " -"로그인 연결 시 이전 세션이 끊어집니다." +msgstr "提示:RDS 사용자는 한 번에 하나의 세션만 가질 수 있습니다. 설정된 경우, 다음 로그인 연결 시 이전 세션이 끊어집니다." #: terminal/serializers/applet_host.py:65 msgid "RDS Max Disconnection Time (ms)" @@ -9508,8 +9136,7 @@ msgid "" "Tips: Set the maximum duration for keeping a disconnected session active on " "the server (log off the session after 60000 milliseconds)." msgstr "" -"알림: 서버에서 일정 시간(60000 밀리초 후 세션 자동 로그아웃) 동안 끊어진 세션" -"을 활성 상태로 유지하는 최대 시간을 설정합니다." +"알림: 서버에서 일정 시간(60000 밀리초 후 세션 자동 로그아웃) 동안 끊어진 세션을 활성 상태로 유지하는 최대 시간을 설정합니다." #: terminal/serializers/applet_host.py:72 msgid "RDS Remote App Logoff Time Limit (ms)" @@ -9517,11 +9144,10 @@ msgstr "RDS 원격 애플리케이션 로그아웃 시간 제한(밀리초)" #: terminal/serializers/applet_host.py:74 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." msgstr "" -"알림: 모든 RemoteApp 프로그램을 닫은 후 RemoteAPP 세션 로그아웃 시간을 설정합" -"니다(0 밀리초, 즉시 로그아웃)." +"알림: 모든 RemoteApp 프로그램을 닫은 후 RemoteAPP 세션 로그아웃 시간을 설정합니다(0 밀리초, 즉시 로그아웃)." #: terminal/serializers/applet_host.py:83 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -9530,17 +9156,15 @@ msgstr "로드 상태" #: terminal/serializers/applet_host.py:97 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" -"이 계정은 발행된 애플리케이션에 연결하는 데 사용됩니다. 현재 계정은 두 가지 " -"유형으로 나뉩니다:
하나는 전용으로, 각 사용자에게 전용 계정이 있습니" -"다. 다른 하나는 공용으로, 애플리케이션이 다중 실행을 지원하지 않고 전용 계정" -"이 이미 사용 중일 때 공용 계정으로 연결됩니다;
주의: 자동 계정 생성을 " -"활성화하지 않으면 현재 발행기는 지정된 태그의 자산에만 할당되며, 기본적으로 " +"이 계정은 발행된 애플리케이션에 연결하는 데 사용됩니다. 현재 계정은 두 가지 유형으로 나뉩니다:
하나는 전용으로, 각 " +"사용자에게 전용 계정이 있습니다. 다른 하나는 공용으로, 애플리케이션이 다중 실행을 지원하지 않고 전용 계정이 이미 사용 중일 때 공용 " +"계정으로 연결됩니다;
주의: 자동 계정 생성을 활성화하지 않으면 현재 발행기는 지정된 태그의 자산에만 할당되며, 기본적으로 " "스케줄링 풀에 포함되지 않고, 계정을 수동으로 관리해야 합니다." #: terminal/serializers/applet_host.py:104 @@ -9553,9 +9177,8 @@ msgid "" "please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " "restart the service to enable it." msgstr "" -"동일한 이름의 계정을 우선적으로 사용하여 발행기에 연결합니다. 보안을 위해 설" -"정 파일에서 CACHE_LOGIN_PASSWORD_ENABLED=true로 설정하고, 변경 후 서비스를 재" -"시작해야 합니다." +"동일한 이름의 계정을 우선적으로 사용하여 발행기에 연결합니다. 보안을 위해 설정 파일에서 " +"CACHE_LOGIN_PASSWORD_ENABLED=true로 설정하고, 변경 후 서비스를 재시작해야 합니다." #: terminal/serializers/applet_host.py:164 msgid "Install applets" @@ -9604,21 +9227,19 @@ msgid "" "access address of the current browser will be used (the default endpoint " "does not allow modification of the host)" msgstr "" -"연결 자산에 접근하는 호스트 주소. 비어 있을 경우 현재 브라우저의 접근 주소를 " -"사용합니다 (기본 엔드포인트는 호스트를 수정할 수 없습니다)" +"연결 자산에 접근하는 호스트 주소. 비어 있을 경우 현재 브라우저의 접근 주소를 사용합니다 (기본 엔드포인트는 호스트를 수정할 수 " +"없습니다)" #: terminal/serializers/endpoint.py:54 msgid "" -"The assets within this IP range or Host, the following endpoint will be used " -"for the connection" -msgstr "" -"이 IP 범위 또는 호스트 내의 자산은 다음 엔드포인트를 사용하여 연결됩니다." +"The assets within this IP range or Host, the following endpoint will be used" +" for the connection" +msgstr "이 IP 범위 또는 호스트 내의 자산은 다음 엔드포인트를 사용하여 연결됩니다." #: terminal/serializers/endpoint.py:55 msgid "" "If asset IP addresses under different endpoints conflict, use asset labels" -msgstr "" -"다른 엔드포인트에 있는 자산 IP 충돌 시, 자산 태그를 사용하여 해결합니다" +msgstr "다른 엔드포인트에 있는 자산 IP 충돌 시, 자산 태그를 사용하여 해결합니다" #: terminal/serializers/session.py:35 terminal/serializers/session.py:63 msgid "Can replay" @@ -9653,7 +9274,6 @@ msgid "No asset or invalid asset" msgstr "자산이 없거나 자산이 활성화되지 않았습니다" #: terminal/serializers/storage.py:23 -#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "엔드포인트가 유효하지 않습니다: 경로 `{}`를 제거하세요" @@ -9702,8 +9322,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" @@ -9733,9 +9353,7 @@ msgstr "저장하지 않음" msgid "" "set as the default storage, will make new Component use the current storage " "by default, without affecting existing Component" -msgstr "" -"기본 저장소로 설정한 후, 새로운 구성 요소는 현재 저장소를 기본적으로 사용하" -"며 기존 구성 요소에 영향을 미치지 않습니다" +msgstr "기본 저장소로 설정한 후, 새로운 구성 요소는 현재 저장소를 기본적으로 사용하며 기존 구성 요소에 영향을 미치지 않습니다" #: terminal/serializers/task.py:9 msgid "Session id" @@ -9880,12 +9498,9 @@ msgstr "오프라인 세션 삭제" #: terminal/tasks.py:45 msgid "" -"Check every 10 minutes for asset connection sessions that have been inactive " -"for 3 \n" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" " minutes and mark these sessions as completed" -msgstr "" -"10분마다 3분 동안 비활성 상태인 자산 연결 세션을 확인하고, 이 세션들을 '완료" -"되지 않음'으로 표시합니다" +msgstr "10분마다 3분 동안 비활성 상태인 자산 연결 세션을 확인하고, 이 세션들을 '완료되지 않음'으로 표시합니다" #: terminal/tasks.py:68 msgid "Upload session replay to external storage" @@ -9893,12 +9508,9 @@ msgstr "세션 녹화를 외부 저장소에 업로드" #: terminal/tasks.py:70 terminal/tasks.py:104 msgid "" -"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " -"and \n" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" " recordings will be uploaded to external storage" -msgstr "" -"SERVER_REPLAY_STORAGE가 설정된 경우, 파일 관리로 업로드된 파일이 외부 저장소" -"와 동기화됩니다" +msgstr "SERVER_REPLAY_STORAGE가 설정된 경우, 파일 관리로 업로드된 파일이 외부 저장소와 동기화됩니다" #: terminal/tasks.py:102 msgid "Upload session replay part file to external storage" @@ -9910,8 +9522,7 @@ msgstr "애플리케이션 배포를 실행합니다" #: terminal/tasks.py:126 msgid "" -"When deploying from the remote application publisher details page, and the " -"'Deploy' \n" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" " button is clicked, this task will be executed" msgstr "발행기 배포, 배포를 클릭할 때 해당 작업을 실행합니다" @@ -9921,12 +9532,9 @@ msgstr "애플리케이션 설치" #: terminal/tasks.py:140 msgid "" -"When the 'Deploy' button is clicked in the 'Remote Application' section of " -"the remote \n" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" " application publisher details page, this task will be executed" -msgstr "" -"원격 애플리케이션 발행기 세부정보 - 원격 애플리케이션에서 배포를 클릭할 때 해" -"당 작업을 실행합니다" +msgstr "원격 애플리케이션 발행기 세부정보 - 원격 애플리케이션에서 배포를 클릭할 때 해당 작업을 실행합니다" #: terminal/tasks.py:152 msgid "Uninstall applet" @@ -9934,12 +9542,9 @@ msgstr "애플리케이션 제거" #: terminal/tasks.py:155 msgid "" -"When the 'Uninstall' button is clicked in the 'Remote Application' section " -"of the \n" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" " remote application publisher details page, this task will be executed" -msgstr "" -"원격 애플리케이션 발행기 세부정보 - 원격 애플리케이션에서 제거를 클릭할 때 해" -"당 작업을 실행합니다" +msgstr "원격 애플리케이션 발행기 세부정보 - 원격 애플리케이션에서 제거를 클릭할 때 해당 작업을 실행합니다" #: terminal/tasks.py:167 msgid "Generate applet host accounts" @@ -9947,12 +9552,9 @@ msgstr "원격 애플리케이션에서 계정 수집" #: terminal/tasks.py:170 msgid "" -"When a remote publishing server is created and an account needs to be " -"created \n" +"When a remote publishing server is created and an account needs to be created \n" " automatically, this task will be executed" -msgstr "" -"원격 발행기를 생성할 때 자동으로 계정을 생성해야 하는 경우 이 작업을 수행합니" -"다." +msgstr "원격 발행기를 생성할 때 자동으로 계정을 생성해야 하는 경우 이 작업을 수행합니다." #: terminal/tasks.py:184 msgid "Check command replay storage connectivity" @@ -9960,16 +9562,12 @@ msgstr "명령 및 녹화 저장소 연결 가능성 확인" #: terminal/tasks.py:186 msgid "" -"Check every day at midnight whether the external storage for commands and " -"recordings \n" -" is accessible. If it is not accessible, send a notification to the " -"recipients specified \n" -" in 'System Settings - Notifications - Subscription - Storage - " -"Connectivity'" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" msgstr "" -"매일 자정 0시에 명령 및 녹화 외부 저장소의 연결 여부를 확인하며, 연결할 수 없" -"을 경우: 시스템 설정 - 알림 설정 - 메시지 구독 - 명령 및 녹화 저장소 설정의 " -"수신인에게 발송합니다." +"매일 자정 0시에 명령 및 녹화 외부 저장소의 연결 여부를 확인하며, 연결할 수 없을 경우: 시스템 설정 - 알림 설정 - 메시지 구독 " +"- 명령 및 녹화 저장소 설정의 수신인에게 발송합니다." #: terminal/templates/terminal/_msg_command_alert.html:10 msgid "view" @@ -9977,8 +9575,8 @@ msgstr "보기" #: terminal/templates/terminal/_msg_command_warning.html:5 msgid "" -"We would like to inform you that a command alert has been triggered with the " -"following details:" +"We would like to inform you that a command alert has been triggered with the" +" following details:" msgstr "명령 알림이 발생했음을 알려드립니다. 구체적인 내용은 다음과 같습니다:" #: terminal/templates/terminal/_msg_command_warning.html:7 @@ -9995,9 +9593,8 @@ msgid "" "organization’s security policies. If you did not authorize this action or " "notice anything unusual, please take the necessary actions immediately." msgstr "" -"이 명령의 실행 상황을 확인하여 귀하의 조직 보안 정책에 부합하는지 확인해 주십" -"시오. 이 작업이 승인되지 않았거나 이상 징후가 발견되면 즉시 필요한 조치를 취" -"하십시오." +"이 명령의 실행 상황을 확인하여 귀하의 조직 보안 정책에 부합하는지 확인해 주십시오. 이 작업이 승인되지 않았거나 이상 징후가 발견되면 " +"즉시 필요한 조치를 취하십시오." #: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" @@ -10052,12 +9649,10 @@ msgid "Ticket already closed" msgstr "작업 요청이 종료되었습니다" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" -msgstr "" -"작업 요청을 통해 생성됨, 작업 제목: {}, 요청자: {}, 처리자: {}, 작업 ID: {}" +msgstr "작업 요청을 통해 생성됨, 작업 제목: {}, 요청자: {}, 처리자: {}, 작업 ID: {}" #: tickets/handlers/base.py:84 msgid "Change field" @@ -10072,7 +9667,6 @@ msgid "After change" msgstr "변경 후" #: tickets/handlers/base.py:96 -#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} 작업 요청" @@ -10212,23 +9806,18 @@ msgid "Ticket applied info" msgstr "작업 티켓 신청 정보" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" msgstr "새 작업 티켓이 있습니다, 신청인 - {}" #: tickets/notifications.py:120 -#, fuzzy, python-brace-format -#| msgid "{}: New Ticket - {} ({})" msgid "{}: New Ticket - {} ({})" -msgstr "새 작업 티켓 - {} ({})" +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 "귀하의 작업 티켓이 처리되었습니다, 처리자 - {} ({})" @@ -10258,7 +9847,6 @@ msgstr "신청 Action" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 -#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "작업을 통해 생성됨 ({}-{})" @@ -10267,7 +9855,6 @@ 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 "授权名称 `{}` 이미 존재합니다" @@ -10276,7 +9863,6 @@ msgid "Process map" msgstr "프로세스 차트" #: tickets/serializers/ticket/ticket.py:91 -#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "작업 프로세스 `{}` 존재하지 않습니다" @@ -10305,16 +9891,14 @@ msgstr "동의" msgid "" "This ticket does not exist, the process has ended, or this link has expired" msgstr "" -"작업이 존재하지 않거나 작업 프로세스가 종료되었거나 이 링크가 만료되었습니" -"다. \n" +"작업이 존재하지 않거나 작업 프로세스가 종료되었거나 이 링크가 만료되었습니다. \n" "아래 버튼을 클릭하여 동의하거나 거부해 주세요. \n" "인증이 성공하면 작업을 바로 승인할 수 있습니다. \n" "무효한 승인 Action입니다. \n" "이 사용자는 이 작업을 승인할 권한이 없습니다. \n" "관리자 사용자를 삭제할 수 없습니다. 해당 사용자를 비활성화해 주세요. \n" "자신을 초대할 수 없습니다. \n" -"이 페이지에서 MFA 다중 인증을 재설정할 수 없습니다. 개인 정보 페이지로 가서 " -"재설정해 주세요. \n" +"이 페이지에서 MFA 다중 인증을 재설정할 수 없습니다. 개인 정보 페이지로 가서 재설정해 주세요. \n" "사용자 관리 \n" "시스템 관리자 \n" "시스템 감사자 \n" @@ -10349,9 +9933,7 @@ msgstr "자신을 초대할 수 없습니다" #: users/api/user.py:215 msgid "Could not reset self otp, use profile reset instead" -msgstr "" -"해당 페이지에서 MFA 다중 인증을 재설정할 수 없습니다, 개인 정보 페이지로 가셔" -"서 재설정해 주세요" +msgstr "해당 페이지에서 MFA 다중 인증을 재설정할 수 없습니다, 개인 정보 페이지로 가셔서 재설정해 주세요" #: users/apps.py:9 msgid "App Users" @@ -10451,9 +10033,8 @@ msgid "" "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -"MFA를 활성화하면 다음 로그인 시 다중 인자 인증 바인딩 프로세스에 들어갑니다; " -"(개인 정보->빠른 수정->MFA 다중 인자 인증 설정)에서 직접 바인딩할 수도 있습니" -"다!" +"MFA를 활성화하면 다음 로그인 시 다중 인자 인증 바인딩 프로세스에 들어갑니다; (개인 정보->빠른 수정->MFA 다중 인자 인증 " +"설정)에서 직접 바인딩할 수도 있습니다!" #: users/forms/profile.py:60 msgid "* Enable MFA to make the account more secure." @@ -10461,13 +10042,12 @@ msgstr "* MFA 다중 인자 인증을 활성화하여 계정을 더욱 안전하 #: users/forms/profile.py:69 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" -"귀하와 회사의 안전을 보호하기 위해, 계정, 비밀번호 및 키와 같은 중요한 민감 " -"정보를 적절하게 관리하시기 바랍니다. (예: 복잡한 비밀번호를 설정하고 MFA 다단" -"계 인증을 활성화하세요)" +"귀하와 회사의 안전을 보호하기 위해, 계정, 비밀번호 및 키와 같은 중요한 민감 정보를 적절하게 관리하시기 바랍니다. (예: 복잡한 " +"비밀번호를 설정하고 MFA 다단계 인증을 활성화하세요)" #: users/forms/profile.py:76 msgid "Finish" @@ -10667,12 +10247,11 @@ msgstr "터미널 테마 이름" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files, " -"account password change results files" +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" msgstr "" -"파일 암호화 비밀번호, 시스템에서 전송된 이메일에 파일 첨부가 포함될 경우 이 " -"비밀번호로 암호를 해독하십시오.
예: 계정 백업 파일, 계정 비밀번호 변경 결" -"과 파일" +"파일 암호화 비밀번호, 시스템에서 전송된 이메일에 파일 첨부가 포함될 경우 이 비밀번호로 암호를 해독하십시오.
예: 계정 백업 " +"파일, 계정 비밀번호 변경 결과 파일" #: users/serializers/preference/lina.py:39 users/serializers/profile.py:41 msgid "The newly set password is inconsistent" @@ -10694,7 +10273,8 @@ msgstr "비동기식 자산 트리 로드" msgid "Connect default open method" msgstr "연결 기본 열기 방식" -#: users/serializers/preference/luna.py:34 xpack/plugins/interface/models.py:41 +#: users/serializers/preference/luna.py:34 +#: xpack/plugins/interface/models.py:41 #: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "테마" @@ -10724,9 +10304,7 @@ msgid "" "Determines whether the client computer should scale the content on the " "remote computer to fit the window size of the client computer when the " "window is resized." -msgstr "" -"확인: 클라이언트 컴퓨터가 창 크기에 맞게 원격 컴퓨터의 내용을 축소해야 하는" -"지 여부" +msgstr "확인: 클라이언트 컴퓨터가 창 크기에 맞게 원격 컴퓨터의 내용을 축소해야 하는지 여부" #: users/serializers/preference/luna.py:63 msgid "Remote app connect method" @@ -10761,7 +10339,6 @@ 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 "새 비밀번호는 최근 {} 번의 비밀번호가 될 수 없음" @@ -10775,8 +10352,8 @@ msgstr "시스템 역할" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across " -"all organizations" +"System roles are roles at the system level, and they will take effect across" +" all organizations" msgstr "시스템 역할은 시스템 수준에서의 역할로, 모든 조직에서 효력을 가집니다." #: users/serializers/user.py:61 @@ -10851,9 +10428,8 @@ msgid "" "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -"사용자 출처는 사용자가 생성된 위치를 나타내며, AD 또는 다른 출처일 수 있습니" -"다. 보안 설정에 따라 사용자가 지정된 출처에서만 시스템에 로그인할 수 있습니" -"다." +"사용자 출처는 사용자가 생성된 위치를 나타내며, AD 또는 다른 출처일 수 있습니다. 보안 설정에 따라 사용자가 지정된 출처에서만 " +"시스템에 로그인할 수 있습니다." #: users/serializers/user.py:260 msgid "Is org admin" @@ -10877,9 +10453,9 @@ msgstr "공개 키가 있습니다." #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for more" -msgstr "" -"* 보안을 위해 일부 사용자만 표시됩니다. 더 많은 사용자 검색이 가능합니다." +"* For security, only a partial of users is displayed. You can search for " +"more" +msgstr "* 보안을 위해 일부 사용자만 표시됩니다. 더 많은 사용자 검색이 가능합니다." #: users/serializers/user.py:461 msgid "name not unique" @@ -10888,11 +10464,8 @@ msgstr "이름 중복" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." -msgstr "" -"관리자가 '기존 사용자만 로그인 허용'을 활성화했으며, 현재 사용자가 사용자 목" -"록에 없습니다. 관리자에게 연락해 주십시오." +" and the current user is not in the user list. Please contact the administrator." +msgstr "관리자가 '기존 사용자만 로그인 허용'을 활성화했으며, 현재 사용자가 사용자 목록에 없습니다. 관리자에게 연락해 주십시오." #: users/signal_handlers.py:179 msgid "Clean up expired user sessions" @@ -10900,12 +10473,9 @@ msgstr "만료된 사용자 세션 정리" #: users/signal_handlers.py:181 msgid "" -"After logging in via the web, a user session record is created. At 2 a.m. " -"every day, \n" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" " the system cleans up inactive user devices" -msgstr "" -"웹 로그인 후 사용자 세션의 온라인 기록이 생성되며, 매일 새벽 2시에 온라인이 " -"아닌 사용자 장치를 정리합니다." +msgstr "웹 로그인 후 사용자 세션의 온라인 기록이 생성되며, 매일 새벽 2시에 온라인이 아닌 사용자 장치를 정리합니다." #: users/tasks.py:26 msgid "Check password expired" @@ -10913,12 +10483,9 @@ msgstr "비밀번호 만료 확인" #: users/tasks.py:28 msgid "" -"Check every day at 10 AM whether the passwords of users in the system are " -"expired, \n" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" " and send a notification 5 days in advance" -msgstr "" -"매일 오전 10시에 시스템 내 사용자 비밀번호가 만료되었는지 확인하며, 5일 전에 " -"알림을 발송합니다." +msgstr "매일 오전 10시에 시스템 내 사용자 비밀번호가 만료되었는지 확인하며, 5일 전에 알림을 발송합니다." #: users/tasks.py:46 msgid "Periodic check password expired" @@ -10926,15 +10493,12 @@ msgstr "주기적인 검증 비밀번호 만료" #: users/tasks.py:48 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if passwords have expired" msgstr "" -"버전 업데이트에 따라 새로운 작업이 추가되거나 작업 이름과 실행 시간이 수정될 " -"수 있으므로, 시스템 시작 시 검증 비밀번호 만료 작업의 매개변수를 등록하거나 " -"업데이트합니다." +"버전 업데이트에 따라 새로운 작업이 추가되거나 작업 이름과 실행 시간이 수정될 수 있으므로, 시스템 시작 시 검증 비밀번호 만료 작업의 " +"매개변수를 등록하거나 업데이트합니다." #: users/tasks.py:67 msgid "Check user expired" @@ -10942,12 +10506,9 @@ msgstr "사용자가 만료되었는지 확인" #: users/tasks.py:69 msgid "" -"Check every day at 2 p.m whether the users in the system are expired, and " -"send a \n" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" " notification 5 days in advance" -msgstr "" -"매일 오후 2시에 시스템 내 사용자가 만료되었는지 확인하고, 5일 전에 알림을 보" -"냅니다." +msgstr "매일 오후 2시에 시스템 내 사용자가 만료되었는지 확인하고, 5일 전에 알림을 보냅니다." #: users/tasks.py:90 msgid "Periodic check user expired" @@ -10955,15 +10516,12 @@ msgstr "주기적인 사용자 만료 검토" #: users/tasks.py:92 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if users have expired" msgstr "" -"버전 업데이트에 따라 새로운 작업이 추가되거나 작업 이름과 실행 시간이 수정될 " -"수 있으므로, 시스템 시작 시 사용자가 만료되었는지 검토하는 작업의 매개변수를 " -"등록하거나 업데이트합니다." +"버전 업데이트에 따라 새로운 작업이 추가되거나 작업 이름과 실행 시간이 수정될 수 있으므로, 시스템 시작 시 사용자가 만료되었는지 " +"검토하는 작업의 매개변수를 등록하거나 업데이트합니다." #: users/tasks.py:111 msgid "Check unused users" @@ -10971,15 +10529,12 @@ msgstr "사용하지 않는 사용자 확인" #: users/tasks.py:113 msgid "" -"At 2 p.m. every day, according to the configuration in \"System Settings - " -"Security - \n" -" Auth security - Auto disable threshold\" users who have not logged " -"in or whose API keys \n" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" " have not been used for a long time will be disabled" msgstr "" -"매일 오후 2시에 시스템 설정 - 보안 설정 - 비활성 사용자 자동 비활성화 설정에 " -"따라 오랜 시간 로그인하지 않거나 api_key가 사용되지 않은 사용자를 비활성화합" -"니다." +"매일 오후 2시에 시스템 설정 - 보안 설정 - 비활성 사용자 자동 비활성화 설정에 따라 오랜 시간 로그인하지 않거나 api_key가 " +"사용되지 않은 사용자를 비활성화합니다." #: users/tasks.py:157 msgid "The user has not logged in recently and has been disabled." @@ -10993,8 +10548,7 @@ msgstr "귀하의 계정이 곧 만료됩니다." msgid "" "In order not to affect your normal work, please contact the administrator " "for confirmation." -msgstr "" -"정상적인 업무에 영향을 미치지 않도록 관리자에게 확인해 주시기 바랍니다." +msgstr "정상적인 업무에 영향을 미치지 않도록 관리자에게 확인해 주시기 바랍니다." #: users/templates/users/_msg_password_expire_reminder.html:7 msgid "Your password will expire in" @@ -11004,9 +10558,7 @@ msgstr "귀하의 비밀번호가 만료됩니다." msgid "" "For your account security, please click on the link below to update your " "password in time" -msgstr "" -"계정 안전을 위해 아래 링크를 클릭하여 비밀번호를 즉시 업데이트하시기 바랍니" -"다." +msgstr "계정 안전을 위해 아래 링크를 클릭하여 비밀번호를 즉시 업데이트하시기 바랍니다." #: users/templates/users/_msg_password_expire_reminder.html:11 msgid "Click here update password" @@ -11130,11 +10682,9 @@ msgstr "MFA 인증기 연결" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" -msgstr "" -"MFA 인증기 애플리케이션으로 아래의 QR 코드를 스캔하여 6자리 인증 코드를 얻으" -"세요" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" +msgstr "MFA 인증기 애플리케이션으로 아래의 QR 코드를 스캔하여 6자리 인증 코드를 얻으세요" #: users/templates/users/user_otp_enable_bind.html:22 #: users/templates/users/user_verify_mfa.html:27 @@ -11149,9 +10699,7 @@ msgstr "애플리케이션 설치" msgid "" "Download and install the MFA Authenticator application on your phone or " "applet of WeChat" -msgstr "" -"휴대전화 또는 위챗 미니 프로그램에서 MFA 인증기 애플리케이션을 다운로드하여 " -"설치하세요" +msgstr "휴대전화 또는 위챗 미니 프로그램에서 MFA 인증기 애플리케이션을 다운로드하여 설치하세요" #: users/templates/users/user_otp_enable_install_app.html:18 msgid "Android downloads" @@ -11165,9 +10713,7 @@ msgstr "iPhone 다운로드" msgid "" "After installation, click the next step to enter the binding page (if " "installed, go to the next step directly)." -msgstr "" -"설치 완료 후 다음 단계로 넘어가 연결 페이지로 갑니다 (이미 설치된 경우, 바로 " -"다음 단계로 진행하세요)" +msgstr "설치 완료 후 다음 단계로 넘어가 연결 페이지로 갑니다 (이미 설치된 경우, 바로 다음 단계로 진행하세요)" #: users/templates/users/user_password_verify.html:8 #: users/templates/users/user_password_verify.html:9 @@ -11229,37 +10775,30 @@ 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: {}" -msgstr "" -"비거주 사용자는 제3자 플랫폼을 통해서만 로그인할 수 있으며, 비밀번호 수정은 " -"지원되지 않습니다: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" +msgstr "비거주 사용자는 제3자 플랫폼을 통해서만 로그인할 수 있으며, 비밀번호 수정은 지원되지 않습니다: {}" #: users/views/profile/reset.py:188 users/views/profile/reset.py:199 msgid "Token invalid or expired" msgstr "토큰 오류 또는 만료되었습니다." #: users/views/profile/reset.py:204 -#, python-brace-format msgid "User auth from {}, go there change password" -msgstr "" -"사용자 인증 출처는 {}, 해당 시스템에서 비밀번호를 수정해 주시기 바랍니다." +msgstr "사용자 인증 출처는 {}, 해당 시스템에서 비밀번호를 수정해 주시기 바랍니다." #: users/views/profile/reset.py:211 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 "* 새 비밀번호는 최근 {} 번의 비밀번호 중 하나일 수 없습니다." #: users/views/profile/reset.py:239 msgid "Reset password success, return to login page" -msgstr "" -"비밀번호 재설정이 성공적으로 완료되었습니다. 로그인 페이지로 돌아갑니다." +msgstr "비밀번호 재설정이 성공적으로 완료되었습니다. 로그인 페이지로 돌아갑니다." #: xpack/apps.py:8 msgid "XPACK" @@ -11276,12 +10815,10 @@ 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 "사용자 {}가 현재 자원이 해제된 자산을 삭제했습니다." @@ -11338,10 +10875,8 @@ msgid "Volcengine" msgstr "화산 엔진" #: xpack/plugins/cloud/const.py:22 -#, fuzzy -#| msgid "Huawei Cloud" msgid "State Cloud" -msgstr "화웨이 클라우드" +msgstr "천익 클라우드" #: xpack/plugins/cloud/const.py:24 msgid "VMware" @@ -11481,10 +11016,6 @@ msgstr "동기화 지역" msgid "Get instances of region \"%s\" error, error: %s" msgstr "영역 \"%s\"의 인스턴스 오류를 가져오는 중, 오류: %s" -#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:290 -msgid "Instance" -msgstr "인스턴스" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11495,9 +11026,7 @@ msgstr "인스턴스 %s을(를) 동기화할 수 없습니다" msgid "" "The updated platform of asset \"%s\" is inconsistent with the original " "platform type. Skip platform and protocol updates" -msgstr "" -"자산 \"%s\"의 업데이트 플랫폼과 원래 플랫폼 유형이 일치하지 않습니다. 플랫폼 " -"및 프로토콜 업데이트를 건너뜁니다" +msgstr "자산 \"%s\"의 업데이트 플랫폼과 원래 플랫폼 유형이 일치하지 않습니다. 플랫폼 및 프로토콜 업데이트를 건너뜁니다" #: xpack/plugins/cloud/manager.py:443 #, python-format @@ -11629,11 +11158,16 @@ msgstr "동기화 작업" msgid "Sync instance task history" msgstr "동기화 인스턴스 작업 기록" +#: xpack/plugins/cloud/models.py:290 +msgid "Instance" +msgstr "인스턴스" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "동기화 인스턴스 세부정보" -#: xpack/plugins/cloud/models.py:319 xpack/plugins/cloud/serializers/task.py:79 +#: xpack/plugins/cloud/models.py:319 +#: xpack/plugins/cloud/serializers/task.py:79 msgid "Rule relation" msgstr "조건 관계" @@ -11689,7 +11223,8 @@ msgstr "규칙 매칭" msgid "Rule value" msgstr "규칙 값" -#: xpack/plugins/cloud/models.py:395 xpack/plugins/cloud/serializers/task.py:82 +#: xpack/plugins/cloud/models.py:395 +#: xpack/plugins/cloud/serializers/task.py:82 msgid "Strategy rule" msgstr "조건" @@ -11705,7 +11240,8 @@ msgstr "액션 속성" msgid "Action value" msgstr "액션 값" -#: xpack/plugins/cloud/models.py:422 xpack/plugins/cloud/serializers/task.py:85 +#: xpack/plugins/cloud/models.py:422 +#: xpack/plugins/cloud/serializers/task.py:85 msgid "Strategy action" msgstr "액션" @@ -11949,12 +11485,6 @@ msgstr "API 엔드포인트" msgid "Auto node classification" msgstr "자동 노드 분류" -#: xpack/plugins/cloud/serializers/account_attrs.py:108 -#, fuzzy -#| msgid "Domain name" -msgid "domain_name" -msgstr "도메인 이름." - #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "인증 주소" @@ -11968,10 +11498,8 @@ msgid "User domain" msgstr "사용자 도메인" #: xpack/plugins/cloud/serializers/account_attrs.py:157 -#, fuzzy -#| msgid "Project" msgid "Project ID" -msgstr "project" +msgstr "프로젝트" #: xpack/plugins/cloud/serializers/account_attrs.py:164 msgid "Cert File" @@ -11990,7 +11518,6 @@ 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 주소가 유효하지 않음: `{}`, {}" @@ -12004,9 +11531,8 @@ msgid "" "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." msgstr "" -"포트는 IP 주소의 유효성을 검사하는 데 사용되며, 동기화 작업이 수행되는 동안 " -"유효한 IP 주소만 동기화됩니다.
포트가 0이면 모든 IP 주소가 유효한 것입니" -"다." +"포트는 IP 주소의 유효성을 검사하는 데 사용되며, 동기화 작업이 수행되는 동안 유효한 IP 주소만 동기화됩니다.
포트가 0이면 " +"모든 IP 주소가 유효한 것입니다." #: xpack/plugins/cloud/serializers/account_attrs.py:227 msgid "Hostname prefix" @@ -12038,10 +11564,9 @@ msgstr "인스턴스 수" #: xpack/plugins/cloud/tasks.py:33 msgid "" -"Execute this task when manually or scheduled cloud synchronization tasks are " -"performed" -msgstr "" -"수동 또는 정기적인 클라우드 동기화 작업을 실행할 때 이 작업을 실행합니다." +"Execute this task when manually or scheduled cloud synchronization tasks are" +" performed" +msgstr "수동 또는 정기적인 클라우드 동기화 작업을 실행할 때 이 작업을 실행합니다." #: xpack/plugins/cloud/tasks.py:50 msgid "Period clean sync instance task execution" @@ -12049,15 +11574,12 @@ msgstr "정기적으로 동기화 인스턴스 작업 실행 기록을 삭제합 #: xpack/plugins/cloud/tasks.py:52 msgid "" -"Every day, according to the configuration in \"System Settings - Tasks - " -"Regular \n" -" clean-up - Cloud sync task history retention days\" the system will " -"clean up the execution \n" +"Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" " records generated by cloud synchronization" msgstr "" -"매일 시스템은 \"시스템 설정-작업-정기 청소-클라우드 동기화 작업 역사 기록 보" -"관 일수\"에서 설정된 구성에 따라 클라우드 동기화 실행 중 생성된 기록을 정리합" -"니다." +"매일 시스템은 \"시스템 설정-작업-정기 청소-클라우드 동기화 작업 역사 기록 보관 일수\"에서 설정된 구성에 따라 클라우드 동기화 실행" +" 중 생성된 기록을 정리합니다." #: xpack/plugins/interface/api.py:52 msgid "Restore default successfully." @@ -12107,32 +11629,3 @@ msgstr "라이센스 가져오기 성공" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "라이센스가 유효하지 않습니다." - -#~ msgid "" -#~ "CAS login was successful, but no corresponding local user was found in " -#~ "the system, and automatic user creation is disabled in the CAS " -#~ "authentication configuration. Login failed." -#~ msgstr "" -#~ "CAS 로그인에 성공했지만, 시스템에서 로컬 사용자를 찾을 수 없으며, CAS 인" -#~ "증 설정에서 자동 사용자 생성 기능이 활성화되지 않아 로그인에 실패했습니" -#~ "다. \n" -#~ "곧 외부 웹사이트로 이동합니다. 해당 링크를 신뢰하는지 확인해 주세요. \n" -#~ "계정 세션 \n" -#~ "계정 활동 \n" -#~ "PAM을 표시할 수 있습니다. \n" -#~ "PAM \n" -#~ "생성 방법 \n" -#~ "Proxmox" - -#~ msgid "Invalid token or cache refreshed." -#~ msgstr "새로 고침된 토큰 또는 캐시가 유효하지 않습니다." - -#~ msgid "Create user" -#~ msgstr "사용자 생성(존재하지 않을 경우)" - -#~ msgid "" -#~ "After successful user authentication, if the user does not exist, " -#~ "automatically create the user" -#~ msgstr "" -#~ "사용자 인증이 성공한 후, 사용자가 존재하지 않으면 자동으로 사용자가 생성됩" -#~ "니다." diff --git a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po index fc3f15725..77c015eed 100644 --- a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po +++ b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,23 +18,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "Conta já existente" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "Não foi encontrado um ativo válido para a criação da conta." #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "Conta não encontrada" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "O parâmetro 'action' deve ser [{}]" @@ -117,22 +116,18 @@ 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" -"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " -"secret: {}, using time: {}s" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no secret: {}, using time: {}s" msgstr "" "---\n" "Resumo: \n" -"Normal: {}, Senha fraca: {}, Senha vazada: {}, Senha repetida: {}, Sem " -"senha: {}, Tempo gasto: {} segundos" +"Normal: {}, Senha fraca: {}, Senha vazada: {}, Senha repetida: {}, Sem senha: {}, Tempo gasto: {} segundos" #: accounts/automations/push_account/manager.py:33 msgid "Secret cannot be empty" @@ -144,12 +139,12 @@ msgstr ">>> Iniciando teste de conectividade da conta do gateway" #: accounts/const/account.py:6 #: accounts/serializers/automations/change_secret.py:36 -#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 -#: authentication/confirm/password.py:27 authentication/const.py:13 -#: authentication/forms.py:28 +#: audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:25 authentication/confirm/password.py:27 +#: authentication/const.py:13 authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -158,8 +153,6 @@ 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" @@ -217,7 +210,8 @@ msgstr "Descubra" msgid "Template" msgstr "Modelo" -#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:76 +#: accounts/const/account.py:32 ops/const.py:47 +#: xpack/plugins/cloud/const.py:76 msgid "Skip" msgstr "Pular" @@ -542,7 +536,7 @@ msgstr "Status da Alteração de Senha" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -610,9 +604,11 @@ msgstr "Atividade da conta" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:39 settings/models.py:188 #: settings/serializers/msg.py:90 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 #: terminal/models/component/endpoint.py:107 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:86 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -622,7 +618,8 @@ msgstr "Atividade da conta" #: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:279 xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/serializers/task.py:77 msgid "Name" msgstr "Nome" @@ -632,7 +629,7 @@ msgstr "Ícone" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -656,16 +653,19 @@ msgstr "Grupo IP" #: accounts/models/application.py:23 #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:25 -#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "Data do último uso" #: accounts/models/application.py:24 acls/models/base.py:43 #: assets/models/asset/common.py:182 authentication/models/access_key.py:24 #: authentication/models/connection_token.py:60 -#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23 +#: authentication/models/ssh_key.py:13 +#: authentication/serializers/ssh_key.py:23 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:30 #: terminal/models/component/endpoint.py:118 #: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 #: tickets/const.py:37 @@ -914,8 +914,8 @@ msgstr "Senha repetida" #: accounts/templates/accounts/gather_account_report.html:118 #: accounts/templates/accounts/push_account_report.html:79 #: accounts/templates/accounts/push_account_report.html:119 -#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204 -#: authentication/forms.py:21 authentication/forms.py:23 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 +#: audits/models.py:204 authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:10 #: authentication/serializers/connect_token_secret.py:43 #: authentication/serializers/connect_token_secret.py:53 @@ -927,8 +927,6 @@ 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" @@ -1048,7 +1046,7 @@ msgid "Verify asset account" msgstr "Conta verificada" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1114,8 +1112,8 @@ msgstr "Nome de usuário é o mesmo que o do usuário" #: accounts/models/virtual.py:37 msgid "Non-asset account, Input username/password on connect" msgstr "" -"Conta que se conecta com nome de usuário/senha inseridos manualmente durante " -"o login" +"Conta que se conecta com nome de usuário/senha inseridos manualmente durante" +" o login" #: accounts/models/virtual.py:38 msgid "The account username name same with user on connect" @@ -1136,7 +1134,6 @@ 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" @@ -1144,7 +1141,6 @@ 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 " @@ -1159,7 +1155,6 @@ 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" @@ -1167,7 +1162,6 @@ 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 " @@ -1222,7 +1216,6 @@ 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: {}" @@ -1256,9 +1249,9 @@ msgstr "Categoria" #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/serializers.py:76 audits/serializers.py:211 #: authentication/models/connection_token.py:67 -#: authentication/serializers/connect_token_secret.py:138 ops/models/job.py:155 -#: perms/serializers/user_permission.py:28 terminal/models/applet/applet.py:40 -#: terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:138 +#: ops/models/job.py:155 perms/serializers/user_permission.py:28 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:152 terminal/serializers/applet.py:30 #: terminal/serializers/session.py:33 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -1319,21 +1312,22 @@ msgstr "Selecione pelo menos um item de ativo ou nó" msgid "Spec info" msgstr "Informações especiais" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 -#: audits/models.py:97 audits/models.py:179 audits/models.py:296 -#: audits/serializers.py:212 authentication/models/connection_token.py:38 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:55 audits/models.py:97 audits/models.py:179 +#: audits/models.py:296 audits/serializers.py:212 +#: authentication/models/connection_token.py:38 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: authentication/notifications.py:16 authentication/notifications.py:55 #: notifications/models/notification.py:12 @@ -1351,7 +1345,7 @@ msgstr "ID" msgid "User" msgstr "Usuário" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1376,11 +1370,11 @@ msgstr "Lista branca de IP" #: accounts/serializers/account/service.py:28 #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 -#: ops/models/job.py:165 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:44 terminal/models/applet/applet.py:46 -#: terminal/models/applet/applet.py:383 terminal/models/applet/host.py:143 -#: terminal/models/component/endpoint.py:29 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:165 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:44 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:383 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:29 #: terminal/models/component/endpoint.py:117 #: terminal/models/session/session.py:44 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1426,23 +1420,20 @@ msgid "" "length is the length of the password, and the range is 8 to 30.\n" "lowercase indicates whether the password contains lowercase letters, \n" "uppercase indicates whether it contains uppercase letters,\n" -"digit indicates whether it contains numbers, and symbol indicates whether it " -"contains special symbols.\n" -"exclude_symbols is used to exclude specific symbols. You can fill in the " -"symbol characters to be excluded (up to 16). \n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" "If you do not need to exclude symbols, you can leave it blank.\n" -"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" msgstr "" "length é o comprimento da senha, a faixa de preenchimento é de 8 a 30. " -"lowercase indica se a senha deve incluir letras minúsculas, uppercase indica " -"se deve incluir letras maiúsculas, digit indica se deve incluir números, " +"lowercase indica se a senha deve incluir letras minúsculas, uppercase indica" +" se deve incluir letras maiúsculas, digit indica se deve incluir números, " "symbol indica se deve incluir símbolos especiais. exclude_symbols é usado " "para excluir símbolos específicos, você pode preencher os caracteres do " -"símbolo que deseja excluir (no máximo 16), se não precisar excluir símbolos, " -"pode deixar em branco. Padrão: {\"length\": 16, \"lowercase\": true, " -"\"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": " -"\"\"}" +"símbolo que deseja excluir (no máximo 16), se não precisar excluir símbolos," +" pode deixar em branco. Padrão: {\"length\": 16, \"lowercase\": true, " +"\"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\":" +" \"\"}" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" @@ -1575,12 +1566,9 @@ msgstr "Execução automática da conta" #: accounts/tasks/automation.py:36 msgid "" -"Unified execution entry for account automation tasks: when the system " -"performs tasks \n" -" such as account push, password change, account verification, account " -"collection, \n" -" and gateway account verification, all tasks are executed through " -"this unified entry" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" msgstr "" "Entrada unificada para execução de tarefa automática de conta, quando o " "sistema executa o push de conta, troca de senha, verificação de conta, " @@ -1594,8 +1582,8 @@ msgstr "Registro de execução automática" #: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "" -"Quando o registro de alteração de senha é executado manualmente, é realizado " -"por meio desta tarefa" +"Quando o registro de alteração de senha é executado manualmente, é realizado" +" por meio desta tarefa" #: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" @@ -1604,33 +1592,26 @@ msgstr "" #: accounts/tasks/automation.py:118 msgid "" -"The system will periodically clean up unnecessary password change and push " -"records, \n" -" including their associated change tasks, execution logs, assets, and " -"accounts. When any \n" -" of these associated items are deleted, the corresponding password " -"change and push records \n" -" become invalid. Therefore, to maintain a clean and efficient " -"database, the system will \n" -" clean up expired records at 2 a.m daily, based on the interval " -"specified by \n" -" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " -"This periodic cleanup \n" -" mechanism helps free up storage space and enhances the security and " -"overall performance \n" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" " of data management" msgstr "" "O sistema irá limpar periodicamente os registros de alteração de senha e " -"registros de push que não são mais necessários, incluindo aquelas tarefas de " -"alteração de senha associadas, registros de execução, ativos e contas. " +"registros de push que não são mais necessários, incluindo aquelas tarefas de" +" alteração de senha associadas, registros de execução, ativos e contas. " "Quando qualquer um desses itens associados é excluído, o registro de " -"alteração de senha e push correspondente se tornará inválido. Portanto, para " -"manter a base de dados limpa e eficiente, a limpeza é realizada todos os " +"alteração de senha e push correspondente se tornará inválido. Portanto, para" +" manter a base de dados limpa e eficiente, a limpeza é realizada todos os " "dias às 2 da manhã para aqueles que excederam o intervalo de tempo no " "arquivo de configuração do sistema config.txt PERM_EXPIRED_CHECK_PERIODIC. " "Este mecanismo de limpeza regular não só ajuda a liberar espaço de " -"armazenamento, mas também melhora a segurança e o desempenho geral da gestão " -"de dados." +"armazenamento, mas também melhora a segurança e o desempenho geral da gestão" +" de dados." #: accounts/tasks/push_account.py:40 accounts/tasks/push_account.py:54 msgid "Push accounts to assets" @@ -1641,8 +1622,8 @@ msgid "" "Whenever an account is created or modified and needs pushing to assets, run " "this task" msgstr "" -"Sempre que uma conta for criada ou modificada e precisar ser enviada para os " -"ativos, execute esta tarefa." +"Sempre que uma conta for criada ou modificada e precisar ser enviada para os" +" ativos, execute esta tarefa." #: accounts/tasks/push_account.py:62 accounts/tasks/push_account.py:104 msgid "Change secret accounts to assets" @@ -1657,8 +1638,7 @@ msgstr "" #: accounts/tasks/remove_account.py:28 msgid "" -"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " -"accounts' this \n" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" " task will be executed" msgstr "" "Esta tarefa é executada quando você clica para sincronizar e deletar em " @@ -1671,17 +1651,14 @@ msgstr "Limpar contas históricas" #: accounts/tasks/remove_account.py:52 msgid "" -"Each time an asset account is updated, a historical account is generated, so " -"it is \n" -" necessary to clean up the asset account history. The system will " -"clean up excess account \n" -" records at 2 a.m. daily based on the configuration in the \"System " -"settings - Features - \n" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" " Account storage - Record limit" msgstr "" "Como uma conta histórica é gerada toda vez que uma conta de ativo é " -"atualizada, é necessário limpar o histórico da conta do ativo. O sistema irá " -"limpar os registros de conta excedentes às 2 da manhã de acordo com a " +"atualizada, é necessário limpar o histórico da conta do ativo. O sistema irá" +" limpar os registros de conta excedentes às 2 da manhã de acordo com a " "configuração de limite de registro em Armazenamento de Conta " #: accounts/tasks/remove_account.py:89 @@ -1694,8 +1671,7 @@ msgstr "Sincronizar informações com as contas associadas" #: accounts/tasks/template.py:14 msgid "" -"When clicking 'Sync new secret to accounts' in 'Console - Account - " -"Templates - \n" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" " Accounts' this task will be executed" msgstr "" "Esta tarefa é realizada quando você clica em sincronizar na Console - " @@ -1865,8 +1841,8 @@ msgstr "Conta perdida não encontrada." #: accounts/utils.py:55 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." msgstr "" "Se a senha começar com `{{` e terminar com `}}`, essa senha não é permitida." @@ -1924,11 +1900,12 @@ msgstr "Prioridade" #: terminal/models/component/endpoint.py:111 xpack/plugins/cloud/models.py:323 msgid "1-100, the lower the value will be match first" msgstr "" -"O intervalo da prioridade pode ser de 1 a 100 (quanto menor o valor, maior a " -"prioridade)" +"O intervalo da prioridade pode ser de 1 a 100 (quanto menor o valor, maior a" +" prioridade)" #: acls/models/base.py:41 acls/serializers/base.py:57 -#: assets/models/cmd_filter.py:81 audits/models.py:99 audits/serializers.py:107 +#: assets/models/cmd_filter.py:81 audits/models.py:99 +#: audits/serializers.py:107 #: authentication/serializers/connect_token_secret.py:131 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:63 perms/serializers/permission.py:85 @@ -1952,7 +1929,7 @@ msgstr "Usuário" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1997,10 +1974,8 @@ msgid "Command group" msgstr "Grupo de Comandos" #: acls/models/command_acl.py:86 -#, fuzzy, python-brace-format -#| msgid "The generated regular expression is incorrect: {}" msgid "The generated regular expression is incorrect: {}" -msgstr "Erro na expressão regular gerada" +msgstr "A expressão regular gerada está errada: {}" #: acls/models/command_acl.py:103 #: terminal/templates/terminal/_msg_command_warning.html:22 @@ -2105,7 +2080,8 @@ msgstr "Nome ACL" #: acls/notifications.py:24 acls/notifications.py:77 #: acls/templates/acls/asset_login_reminder.html:13 #: acls/templates/acls/user_login_reminder.html:11 -#: terminal/models/session/session.py:34 terminal/models/session/sharing.py:116 +#: terminal/models/session/session.py:34 +#: terminal/models/session/sharing.py:116 #: terminal/templates/terminal/_msg_command_warning.html:16 msgid "Login from" msgstr "Origem do login" @@ -2138,8 +2114,8 @@ msgid "" "support)" msgstr "" "* representa uma correspondência com tudo. Por exemplo: 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 " -"(suporte ao domínio) " +"192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64" +" (suporte ao domínio) " #: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 msgid "IP/Host" @@ -2150,23 +2126,19 @@ msgid "Recipients" msgstr "Destinatário" #: acls/serializers/base.py:126 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:132 -#, 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: `{}`" @@ -2205,8 +2177,8 @@ msgid "" "We would like to inform you that a user has recently logged into the " "following asset:" msgstr "" -"Queremos informá-lo de que os seguintes ativos tiveram recentemente usuários " -"logados:" +"Queremos informá-lo de que os seguintes ativos tiveram recentemente usuários" +" logados:" #: acls/templates/acls/asset_login_reminder.html:6 msgid "Asset details" @@ -2261,7 +2233,6 @@ 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 ({})" @@ -2282,14 +2253,13 @@ 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:340 -#, python-brace-format msgid " - Platform {} ansible disabled" -msgstr " - Plataforma {} Ansible foi desabilitada, impossível executar tarefas" +msgstr "" +" - Plataforma {} Ansible foi desabilitada, impossível executar tarefas" #: assets/automations/base/manager.py:526 msgid ">>> Task preparation phase" @@ -2319,7 +2289,6 @@ 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 {}" @@ -2433,8 +2402,7 @@ msgstr "Serviço de nuvem" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Personalizado" @@ -2528,8 +2496,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" @@ -2550,8 +2518,8 @@ msgstr "Segurança" #: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the " -"security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " @@ -2560,11 +2528,11 @@ msgid "" msgstr "" "Camadas de segurança da conexão:
Qualquer
Escolhe automaticamente o " "modo seguro baseado nos protocolos de segurança suportados pelo cliente e " -"pelo servidor
RDP
Modo de criptografia tradicional do RDP. Normalmente " -"usado apenas para servidores Windows mais antigos ou quando é necessário uma " -"tela de login padrão do Windows
TLS
Autenticação e criptografia do RDP " -"implementada através do TLS
NLA
Este modo utiliza a criptografia TLS e " -"exige que o nome de usuário e a senha sejam fornecidos antecipadamente" +"pelo servidor
RDP
Modo de criptografia tradicional do RDP. Normalmente" +" usado apenas para servidores Windows mais antigos ou quando é necessário " +"uma tela de login padrão do Windows
TLS
Autenticação e criptografia do" +" RDP implementada através do TLS
NLA
Este modo utiliza a criptografia " +"TLS e exige que o nome de usuário e a senha sejam fornecidos antecipadamente" #: assets/const/protocol.py:106 msgid "AD domain" @@ -2635,7 +2603,8 @@ msgstr "Opções de conexão" #: assets/const/protocol.py:239 msgid "The connection specific options eg. retryWrites=false&retryReads=false" -msgstr "Opções de conexão específicas, como retryWrites=false&retryReads=false" +msgstr "" +"Opções de conexão específicas, como retryWrites=false&retryReads=false" #: assets/const/protocol.py:251 msgid "Auth username" @@ -2652,10 +2621,8 @@ msgstr "" "cluster ao iniciar e execute o número necessário de ações." #: assets/const/protocol.py:276 -#, fuzzy -#| msgid "Name strategy" msgid "Namespace" -msgstr "Política de nome de host" +msgstr "Espaço de nomes" #: assets/const/protocol.py:288 msgid "Safe mode" @@ -2666,8 +2633,9 @@ msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." msgstr "" -"Quando o modo de segurança estiver ativo, algumas ações serão desabilitadas, " -"como: abrir novas abas, clicar com o botão direito, acessar outros sites etc" +"Quando o modo de segurança estiver ativo, algumas ações serão desabilitadas," +" como: abrir novas abas, clicar com o botão direito, acessar outros sites " +"etc" #: assets/const/protocol.py:295 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 @@ -3169,11 +3137,10 @@ msgid "port out of range (0-65535)" msgstr "Porta fora do alcance (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "O protocolo é obrigatório: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "Dados inválidos" @@ -3191,21 +3158,15 @@ msgstr "" #: assets/serializers/asset/database.py:24 msgid "Postgresql ssl model help text" msgstr "" -"Preferir: eu não me importo com criptografia, mas se o servidor suportar, " -"estou disposto a pagar o custo.\n" -"Exigir: eu quero que meus dados sejam criptografados, aceito o custo. Eu " -"confio que a rede garantirá que estou sempre conectado ao servidor que " -"quero.\n" -"Verificar CA: Eu quero que meus dados sejam criptografados, eu assumo o " -"custo. Eu quero garantir que estou conectado a um servidor de confiança.\n" -"Verificar Completo: eu quero que meus dados sejam criptografados, estou " -"disposto a assumir o custo. Eu quero ter certeza de que estou conectado a um " -"servidor confiável, e que é o servidor que eu especifico." +"Preferir: eu não me importo com criptografia, mas se o servidor suportar, estou disposto a pagar o custo.\n" +"Exigir: eu quero que meus dados sejam criptografados, aceito o custo. Eu confio que a rede garantirá que estou sempre conectado ao servidor que quero.\n" +"Verificar CA: Eu quero que meus dados sejam criptografados, eu assumo o custo. Eu quero garantir que estou conectado a um servidor de confiança.\n" +"Verificar Completo: eu quero que meus dados sejam criptografados, estou disposto a assumir o custo. Eu quero ter certeza de que estou conectado a um servidor confiável, e que é o servidor que eu especifico." #: assets/serializers/asset/ds.py:18 msgid "" -"The domain part used by the directory service (e.g., AD) and appended to the " -"username during login, such as example.com in user@example.com." +"The domain part used by the directory service (e.g., AD) and appended to the" +" username during login, such as example.com in user@example.com." msgstr "" "O nome de domínio (Domain Name) é a parte do domínio que é anexada ao nome " "de usuário ao fazer login em serviços de diretório (como AD), por exemplo, " @@ -3213,8 +3174,8 @@ msgstr "" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" msgstr "" "Se o servidor não pode acessar diretamente o endereço da API, você precisa " "configurar um proxy HTTP. por exemplo http(s)://host:port" @@ -3450,8 +3411,7 @@ msgstr "Coleta de informações de ativos" #: assets/tasks/gather_facts.py:25 msgid "" -"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " -"this task \n" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" " will be executed" msgstr "" "Quando clicar para atualizar as informações de hardware na página de " @@ -3471,10 +3431,8 @@ msgstr "Verificar a quantidade de ativos sob o nó" #: assets/tasks/nodes_amount.py:18 msgid "" -"Manually verifying asset quantities updates the asset count for nodes under " -"the \n" -" current organization. This task will be called in the following two " -"cases: when updating \n" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" " nodes and when the number of nodes exceeds 100" msgstr "" "Ajuste manual do número de ativos para atualizar o número de ativos do nó " @@ -3483,7 +3441,8 @@ msgstr "" #: assets/tasks/nodes_amount.py:34 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" +"The task of self-checking is already running and cannot be started " +"repeatedly" msgstr "" "O programa de auto-inspeção já está rodando, não pode ser reinicializado" @@ -3493,8 +3452,7 @@ msgstr "Verificação periódica da quantidade de ativos sob o nó" #: assets/tasks/nodes_amount.py:42 msgid "" -"Schedule the check_node_assets_amount_task to periodically update the asset " -"count of \n" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" " all nodes under all organizations" msgstr "" "Convocação regular do Action check_node_assets_amount_task, atualização da " @@ -3523,24 +3481,21 @@ msgstr "Testar a conectividade do gateway" #: assets/tasks/ping_gateway.py:23 msgid "" -"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " -"be executed" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" msgstr "" "Quando esta Action é executada no detalhe do domínio de rede - gateway - " "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 {}" @@ -3553,7 +3508,8 @@ msgid "App Audits" msgstr "Auditoria de Logs" #: audits/backends/db.py:17 -msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" msgstr "" "O conteúdo do texto é muito longo. Por favor, use o Elasticsearch para " "armazenar logs de ação" @@ -3648,8 +3604,8 @@ msgstr "Terminar" #: audits/const.py:47 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:65 -#: terminal/serializers/session.py:181 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:65 terminal/serializers/session.py:181 msgid "Terminal" msgstr "Terminal" @@ -3685,7 +3641,8 @@ msgstr "Logs de auditoria de tarefas" #: audits/models.py:57 audits/models.py:107 audits/models.py:182 #: audits/models.py:333 authentication/models/connection_token.py:62 -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:111 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:111 msgid "Remote addr" msgstr "Endereço remoto" @@ -3923,12 +3880,9 @@ msgstr "Limpar logs de tarefas de auditoria de ativos" #: audits/tasks.py:135 msgid "" -"Since the system generates login logs, operation logs, file upload logs, " -"activity \n" -" logs, Celery execution logs, session recordings, command records, " -"and password change \n" -" logs, it will perform cleanup of records that exceed the time limit " -"according to the \n" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" " 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" msgstr "" "Devido ao sistema gerar logs de entrada, logs de operações, logs de upload " @@ -3944,12 +3898,12 @@ msgstr "Upload de arquivos FTP para armazenamento externo" #: audits/tasks.py:157 msgid "" -"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " -"management will be \n" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" " synchronized to external storage" msgstr "" -"Se SERVER_REPLAY_STORAGE estiver configurado, os arquivos carregados através " -"do gerenciamento de arquivos serão sincronizados com o armazenamento externo" +"Se SERVER_REPLAY_STORAGE estiver configurado, os arquivos carregados através" +" do gerenciamento de arquivos serão sincronizados com o armazenamento " +"externo" #: authentication/api/access_key.py:39 msgid "Access keys can be created at most 10" @@ -3966,42 +3920,41 @@ msgstr "" "Esta operação requer a verificação do seu MFA, por favor ative e configure " "primeiro" -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "" "Não é permitido o uso de tokens de conexão reutilizáveis, as configurações " "globais não estão ativadas" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "Contas anônimas não suportam o ativo atual" -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "A autorização expirou" -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "Ação do ACL é rejeitar: {} ({})." -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "Ação ACL é para revisão" -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "Ação ACL é verificação facial" -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "As regras de login de ativos não suportam o ativo atual" -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "Ação ACL é facial online" -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "Não há características faciais disponíveis" @@ -4011,13 +3964,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "Usuário não encontrado: {}" @@ -4026,7 +3977,6 @@ msgid "No user matched" msgstr "Nenhum usuário correspondente encontrado" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4043,7 +3993,6 @@ msgid "Forgot password" msgstr "Esqueceu a senha" #: authentication/api/password.py:70 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" @@ -4052,10 +4001,8 @@ msgid "App Authentication" msgstr "gerenciamento de autenticação" #: authentication/backends/cas/views.py:19 -#, fuzzy -#| msgid "Error" msgid "CAS Error" -msgstr "Erro" +msgstr "Erro CAS" #: authentication/backends/custom.py:60 #: authentication/backends/oauth2/backends.py:158 @@ -4122,7 +4069,6 @@ 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" @@ -4212,7 +4158,6 @@ 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)" @@ -4221,7 +4166,6 @@ 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)" @@ -4232,8 +4176,8 @@ msgstr "" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" msgstr "" "{error} você ainda pode tentar {times_try} vezes (a conta será bloqueada " "temporariamente por {block_time} minutos) " @@ -4255,7 +4199,6 @@ 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: {}" @@ -4360,8 +4303,8 @@ msgstr "Por favor, digite o código de segurança Action" #: authentication/mfa/base.py:32 msgid "" -"The two-factor code you entered has either already been used or has expired. " -"Please request a new one." +"The two-factor code you entered has either already been used or has expired." +" Please request a new one." msgstr "" "O código de verificação dupla que você inseriu já foi utilizado ou expirou. " "Por favor, solicite um novo código de verificação dupla." @@ -4441,45 +4384,31 @@ msgid "Clear phone number to disable" msgstr "Desativar limpeza de número de telefone" #: authentication/middleware.py:96 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): {}" #: authentication/mixins.py:166 -#, fuzzy -#| msgid "" -#| "The administrator has enabled \"Only allow existing users to log in\", \n" -#| " and the current user is not in the user list. Please " -#| "contact the administrator." msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please " -"contact the administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" -"O administrador ativou a opção 'Permitir login apenas para usuários " -"existentes', o usuário atual não está na lista de usuários, por favor, " -"contate o administrador." +"O administrador ativou 'permitir apenas login de usuários existentes', o " +"usuário atual não está na lista de usuários; por favor, entre em contato com" +" o administrador." #: authentication/mixins.py:178 msgid "User is invalid" msgstr "Usuário inválido" #: authentication/mixins.py:195 -#, fuzzy, python-brace-format -#| msgid "" -#| "The administrator has enabled 'Only allow login from user source'. \n" -#| " The current user source is {}. Please contact the " -#| "administrator." msgid "" " The administrator has enabled 'Only allow login from user source'. \n" -" The current user source is {}. Please contact the " -"administrator. " +" The current user source is {}. Please contact the administrator. " msgstr "" -"O administrador ativou 'Apenas login a partir da fonte do usuário', a origem " -"do usuário atual é {}, por favor, contate o administrador." +"O administrador ativou 'permitir login apenas de fontes de usuário', a fonte" +" atual do usuário é {}, entre em contato com o administrador." #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "Este método MFA ({}) não está ativado" @@ -4548,7 +4477,6 @@ 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: {}" @@ -4685,7 +4613,6 @@ 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" @@ -4703,11 +4630,11 @@ msgstr "Tipo de Criação" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be " -"downloaded once" +"Please download the private key after creation. Each private key can only be" +" downloaded once" msgstr "" -"Após a criação, faça o download da chave privada, cada chave privada só pode " -"ser baixada uma vez" +"Após a criação, faça o download da chave privada, cada chave privada só pode" +" ser baixada uma vez" #: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 #: users/serializers/profile.py:130 users/serializers/profile.py:160 @@ -4721,9 +4648,9 @@ msgid "Is valid" msgstr "Está válido?" #: authentication/serializers/token.py:131 ops/models/adhoc.py:26 -#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 rbac/models/role.py:31 -#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 -#: settings/serializers/auth/oauth2.py:37 +#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 msgid "Scope" msgstr "Alcance" @@ -4733,8 +4660,8 @@ msgstr "Limpar sessões expiradas" #: authentication/tasks.py:21 msgid "" -"Since user logins create sessions, the system will clean up expired sessions " -"every 24 hours" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" msgstr "" "Como as sessões são geradas quando os usuários acessam o sistema, ele limpa " "as sessões expiradas a cada 24 horas" @@ -4755,8 +4682,8 @@ msgstr "" "O sistema gera um Token de conexão ou um registro de senha temporária ao " "conectar a ativos ou criar uma senha temporária correspondente. Para " "garantir a segurança do sistema e controlar o volume de armazenamento de " -"dados, o sistema limpa automaticamente todos os registros de Token expirados " -"diariamente às 2 horas da manhã, de acordo com a configuração em " +"dados, o sistema limpa automaticamente todos os registros de Token expirados" +" diariamente às 2 horas da manhã, de acordo com a configuração em " "“Configurações de Segurança > Segurança de Senhas > Duração de Retenção do " "Token”" @@ -4767,8 +4694,8 @@ msgstr "Lista de chaves API" #: authentication/templates/authentication/_access_key_modal.html:18 msgid "Using api key sign api header, every requests header difference" msgstr "" -"Use a chave API para assinar o cabeçalho do pedido, cada cabeçalho de pedido " -"é diferente" +"Use a chave API para assinar o cabeçalho do pedido, cada cabeçalho de pedido" +" é diferente" #: authentication/templates/authentication/_access_key_modal.html:19 msgid "docs" @@ -4908,8 +4835,8 @@ msgid "" "If the password update was not initiated by you, your account may have " "security issues" msgstr "" -"Se essa atualização de senha não foi iniciada por você, sua conta pode estar " -"com problemas de segurança" +"Se essa atualização de senha não foi iniciada por você, sua conta pode estar" +" com problemas de segurança" #: authentication/templates/authentication/_msg_rest_password_success.html:13 #: authentication/templates/authentication/_msg_rest_public_key_success.html:13 @@ -4972,8 +4899,8 @@ msgstr "Próximo passo" #: authentication/templates/authentication/login_mfa.html:22 msgid "Can't provide security? Please contact the administrator!" msgstr "" -"Se você não puder fornecer o código de verificação MFA, entre em contato com " -"o administrador!" +"Se você não puder fornecer o código de verificação MFA, entre em contato com" +" o administrador!" #: authentication/templates/authentication/login_wait_confirm.html:72 msgid "Refresh" @@ -4996,8 +4923,8 @@ msgid "" "This page is not served over HTTPS. Please use HTTPS to ensure security of " "your credentials." msgstr "" -"Esta página não usa o protocolo HTTPS, por favor, use o protocolo HTTPS para " -"garantir a segurança de suas credenciais." +"Esta página não usa o protocolo HTTPS, por favor, use o protocolo HTTPS para" +" garantir a segurança de suas credenciais." #: authentication/templates/authentication/passkey.html:177 msgid "Do you want to retry ?" @@ -5096,7 +5023,6 @@ msgid "Redirecting" msgstr "Redirecionando" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "Redirecionando para a autenticação {}" @@ -5105,18 +5031,15 @@ 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" msgstr "" -"Esperando pela confirmação de {}, você também pode copiar e enviar o " -"link para ele/ela
\n" +"Esperando pela confirmação de {}, você também pode copiar e enviar o link para ele/ela
\n" "Não feche esta página" #: authentication/views/login.py:343 @@ -5133,8 +5056,8 @@ msgstr "Logout bem-sucedido, voltar para a página de login" #: authentication/views/mixins.py:28 msgid "" -"For your safety, automatic redirection login is not supported on the client. " -"If you need to open it in the client, please log in again" +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" msgstr "" "Para sua segurança, o cliente não suporta login automático. Se precisar " "abrir no cliente, faça login novamente" @@ -5264,8 +5187,8 @@ msgstr "Campos criptografados" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" "JSON campos muitos para muitos inválidos, deve ser {'type': 'all'} ou " @@ -5311,7 +5234,6 @@ 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 {}-{}" @@ -5324,12 +5246,10 @@ 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: {}" @@ -5342,7 +5262,6 @@ msgid "Yes/No" msgstr "Sim/Não" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "Texto, comprimento máximo {}" @@ -5351,26 +5270,22 @@ msgid "Long text, no length limit" msgstr "Texto longo, sem limite de comprimento" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "Número, mínimo {} máximo {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "Formato de data e hora {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "" -"Opções, formato: nome(valor), o nome é opcional, para facilidade de leitura, " -"o valor é obrigatório, as opções disponíveis são {}" +"Opções, formato: nome(valor), o nome é opcional, para facilidade de leitura," +" o valor é obrigatório, as opções disponíveis são {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "Opções, as opções disponíveis são {}" @@ -5398,12 +5313,11 @@ msgid "" "Objects, format [\"name(id)\", ...], name is optional for human read, id is " "requisite" msgstr "" -"Múltiplos itens associados, formato: [\"nome(id)\", ...], o nome é opcional, " -"para facilidade de leitura, o id é obrigatório" +"Múltiplos itens associados, formato: [\"nome(id)\", ...], o nome é opcional," +" para facilidade de leitura, o id é obrigatório" #: common/drf/renders/base.py:173 -msgid "" -"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" msgstr "" "Etiquetas, formato: [\"chave: valor\", ...], se a etiqueta não existir, ela " "será criada" @@ -5413,7 +5327,6 @@ msgid "Objects, format [\"id\", ...]" msgstr "Itens associados múltiplos, o formato é [\"id\", ...]" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -5504,7 +5417,6 @@ 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: {}" @@ -5517,10 +5429,6 @@ 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" @@ -5542,7 +5450,6 @@ 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: {}" @@ -5559,7 +5466,6 @@ 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" @@ -5567,6 +5473,10 @@ 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" @@ -5588,11 +5498,10 @@ msgstr "Tipo de dados incorreto, deveria ser uma lista" #: common/serializers/fields.py:353 #: 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: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "Tag" @@ -5611,13 +5520,11 @@ msgstr "Anexo do email" #: common/tasks.py:81 msgid "" -"When an account password is changed or an account backup generates " -"attachments, \n" -" this task needs to be executed for sending emails and handling " -"attachments" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" msgstr "" -"Ação a ser realizada ao enviar email e anexos, quando a senha é alterada e o " -"backup de conta gera anexos" +"Ação a ser realizada ao enviar email e anexos, quando a senha é alterada e o" +" backup de conta gera anexos" #: common/tasks.py:104 msgid "Upload account backup to external storage" @@ -5650,8 +5557,7 @@ msgstr "Enviar código de verificação por SMS" #: common/utils/verify_code.py:19 msgid "" -"When resetting a password, forgetting a password, or verifying MFA, this " -"task needs to \n" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" " be executed to send SMS messages" msgstr "" "Execute esta tarefa quando precisar enviar um SMS para redefinir a senha, " @@ -5694,10 +5600,6 @@ msgstr "Sua conta foi criada com sucesso" msgid "JumpServer - An open-source PAM" msgstr "JumpServer Open Fortress Machine" -#: jumpserver/context_processor.py:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "Serviço Flower indisponível, por favor verifique" @@ -5714,7 +5616,6 @@ msgstr "" "sorte" #: jumpserver/views/other.py:78 -#, 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 " @@ -5776,7 +5677,6 @@ msgid "User message" msgstr "Mensagens do usuário" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} Inscrição" @@ -5790,8 +5690,7 @@ msgstr "Publicar mensagem interna" #: notifications/notifications.py:49 msgid "" -"This task needs to be executed for sending internal messages for system " -"alerts, \n" +"This task needs to be executed for sending internal messages for system alerts, \n" " work orders, and other notifications" msgstr "" "Algumas alertas do sistema, ordens de serviço e outras necessidades são " @@ -5815,19 +5714,18 @@ 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:65 -#, 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 " +"ativo de login ({})." #: ops/api/job.py:88 #, python-brace-format @@ -6031,12 +5929,14 @@ msgid "Periodic run" msgstr "Execução periódica" #: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 -#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:63 +#: settings/serializers/auth/ldap.py:81 +#: settings/serializers/auth/ldap_ha.py:63 msgid "Interval" msgstr "Intervalo" #: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 -#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:60 +#: settings/serializers/auth/ldap.py:78 +#: settings/serializers/auth/ldap_ha.py:60 msgid "Crontab" msgstr "Crontab" @@ -6115,7 +6015,6 @@ 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." @@ -6184,9 +6083,9 @@ msgid "" "referenced in the script using {{ jms_name }}" msgstr "" "No nome das variáveis usadas no script, fixe o prefixo jms_ + o nome da " -"variável de entrada. Por exemplo, se o nome da variável for name, a variável " -"de ambiente gerada será jms_name. Ao referenciar no script, utilize " -"{{ jms_name }}." +"variável de entrada. Por exemplo, se o nome da variável for name, a variável" +" de ambiente gerada será jms_name. Ao referenciar no script, utilize {{ " +"jms_name }}." #: ops/models/variable.py:16 ops/serializers/variable.py:32 msgid "Default Value" @@ -6307,14 +6206,12 @@ msgstr "Criar ou Atualizar Tarefas Periódicas" #: ops/tasks.py:134 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, tasks will be " -"registered or the parameters \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" " of scheduled tasks will be updated" msgstr "" -"Com a progressão da versão, novas tarefas podem ser adicionadas ou o nome da " -"tarefa, o tempo de execução podem ser alterados, então quando o sistema é " +"Com a progressão da versão, novas tarefas podem ser adicionadas ou o nome da" +" tarefa, o tempo de execução podem ser alterados, então quando o sistema é " "iniciado, ele registra ou atualiza os parâmetros da tarefa cron" #: ops/tasks.py:147 @@ -6323,14 +6220,12 @@ msgstr "Verificação Periódica do Desempenho do Serviço" #: ops/tasks.py:149 msgid "" -"Check every hour whether each component is offline and whether the CPU, " -"memory, \n" -" and disk usage exceed the thresholds, and send an alert message to " -"the administrator" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" msgstr "" "Verifique se cada componente está offline a cada hora, cpu, memória, se a " -"taxa de uso do disco rígido ultrapassa o limite, e envie mensagens de alerta " -"para o administrador" +"taxa de uso do disco rígido ultrapassa o limite, e envie mensagens de alerta" +" para o administrador" #: ops/tasks.py:159 msgid "Clean up unexpected jobs" @@ -6338,18 +6233,15 @@ msgstr "Limpar Atividades Anômalas" #: ops/tasks.py:161 msgid "" -"Due to exceptions caused by executing adhoc and playbooks in the Job " -"Center, \n" -" which result in the task status not being updated, the system will " -"clean up abnormal jobs \n" -" that have not been completed for more than 3 hours every hour and " -"mark these tasks as \n" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" " failed" msgstr "" "Devido ao centro de Atividade executando comandos rápidos, a execução do " "playbook pode causar anomalias, o status da tarefa não foi atualizado, o " -"sistema limpa a cada hora as Atividades anômalas que não foram concluídas em " -"mais de 3 horas e marca a tarefa como falha." +"sistema limpa a cada hora as Atividades anômalas que não foram concluídas em" +" mais de 3 horas e marca a tarefa como falha." #: ops/tasks.py:174 msgid "Clean job_execution db record" @@ -6357,18 +6249,15 @@ msgstr "Limpeza do histórico de execução do Centro de Ação " #: ops/tasks.py:176 msgid "" -"Due to the execution of adhoc and playbooks in the Job Center, execution " -"records will \n" -" be generated. The system will clean up records that exceed the " -"retention period every day \n" -" at 2 a.m., based on the configuration of 'System Settings - Tasks - " -"Regular clean-up - \n" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" " Job execution retention days'" msgstr "" " Devido ao Centro de Ação executar comandos rápidos, playbook, registros de " "execução serão gerados, o sistema realizará a limpeza dos registros que " -"excedem o tempo de armazenamento todos os dias às 2h da manhã, de acordo com " -"a configuração do sistema - Lista de tarefas - Limpeza regular - " +"excedem o tempo de armazenamento todos os dias às 2h da manhã, de acordo com" +" a configuração do sistema - Lista de tarefas - Limpeza regular - " "Configuração do histórico de execução do Centro de Ação " #: ops/templates/ops/celery_task_log.html:4 @@ -6412,7 +6301,6 @@ msgid "Name of the job" msgstr " Nome da Job " #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr " A organização atual ({}) não pode ser excluída " @@ -6425,7 +6313,6 @@ msgstr "" "favor, mude para outra organização antes de executar a operação de exclusão " #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr " A organização possui recursos ({}) que não podem ser excluídos." @@ -6443,7 +6330,8 @@ msgstr "Por favor, selecione uma organização antes de salvar" #: terminal/notifications.py:294 #: terminal/templates/terminal/_msg_command_warning.html:27 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:62 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:62 msgid "Organization" msgstr "Organização" @@ -6582,7 +6470,7 @@ msgid "today" msgstr "Hoje" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "Dia" @@ -6599,7 +6487,6 @@ 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 ({})" @@ -6625,19 +6512,15 @@ msgstr "A verificação da regra de autorização de ativos expirou" #: perms/tasks.py:30 msgid "" -"The cache of organizational collections, which have completed user " -"authorization tree \n" -" construction, will expire. Therefore, expired collections need to be " -"cleared from the \n" -" cache, and this task will be executed periodically based on the time " -"interval specified \n" -" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " -"config.txt" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" msgstr "" "O cache do conjunto de organizações já construído na árvore de autorização " -"do usuário expirará, então é necessário limpar o conjunto expirado do cache, " -"de acordo com o intervalo de tempo PERM_EXPIRED_CHECK_PERIODIC no arquivo de " -"configuração do sistema config.txt, execute esta tarefa regularmente" +"do usuário expirará, então é necessário limpar o conjunto expirado do cache," +" de acordo com o intervalo de tempo PERM_EXPIRED_CHECK_PERIODIC no arquivo " +"de configuração do sistema config.txt, execute esta tarefa regularmente" #: perms/tasks.py:49 msgid "Send asset permission expired notification" @@ -6645,17 +6528,14 @@ msgstr "Enviar notificações de expiração de permissões de ativos" #: perms/tasks.py:51 msgid "" -"Check every day at 10 a.m. and send a notification message to users " -"associated with \n" -" assets whose authorization is about to expire, as well as to the " -"organization's \n" -" administrators, 3 days in advance, to remind them that the asset " -"authorization will \n" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" " expire in a few days" msgstr "" "Verifique às 10 horas da manhã todos os dias, envie uma mensagem para os " -"usuários e o administrador da organização associados à autorização de ativos " -"que está para expirar em três dias, informando quantos dias o ativo irá " +"usuários e o administrador da organização associados à autorização de ativos" +" que está para expirar em três dias, informando quantos dias o ativo irá " "expirar" #: perms/templates/perms/_msg_item_permissions_expire.html:7 @@ -6677,7 +6557,6 @@ msgid "Internal role, can't be update" msgstr "Papel interno, não pode ser atualizado" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} tem pelo menos um papel de sistema" @@ -6794,8 +6673,8 @@ msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" msgstr "" -"O último papel do usuário não pode ser excluído, você pode remover o usuário " -"da organização" +"O último papel do usuário não pode ser excluído, você pode remover o usuário" +" da organização" #: rbac/models/rolebinding.py:207 msgid "Organization role binding" @@ -6853,7 +6732,7 @@ msgstr "Alteração de senha da conta" msgid "App ops" msgstr "Centro de Tarefas" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "Função" @@ -6896,8 +6775,8 @@ msgstr "Gerenciamento de Organização" msgid "Ticket comment" msgstr "Comentários de Ordem de Serviço" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "Ordem de Serviço" @@ -6910,22 +6789,16 @@ msgid "View permission tree" msgstr "Visualizar Árvore de Autorização" #: rbac/tree.py:189 -#, fuzzy -#| msgid "Access key" msgid "Access token" -msgstr "Access key" +msgstr "Token de acesso" #: rbac/tree.py:190 -#, fuzzy -#| msgid "Access key" msgid "View access token" -msgstr "Access key" +msgstr "Ver token de acesso" #: rbac/tree.py:191 -#, fuzzy -#| msgid "Access key" msgid "Revoke access token" -msgstr "Access key" +msgstr "Revogar token de acesso" #: reports/views.py:20 msgid "User login report" @@ -6979,14 +6852,13 @@ msgstr "Envio de e-mail bem-sucedido" msgid "Chat AI is not enabled" msgstr "Chat AI Não Ativado" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 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" @@ -7159,9 +7031,9 @@ msgid "" "suffix" msgstr "" "Após a autenticação bem-sucedida do usuário por terceiros, se a plataforma " -"de serviço de autenticação de terceiros não retornar as informações de e-" -"mail do usuário, o sistema criará automaticamente o usuário com este sufixo " -"de e-mail" +"de serviço de autenticação de terceiros não retornar as informações de " +"e-mail do usuário, o sistema criará automaticamente o usuário com este " +"sufixo de e-mail" #: settings/serializers/auth/base.py:37 msgid "Forgot Password URL" @@ -7198,7 +7070,8 @@ msgid "CAS" msgstr "CAS" #: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 -#: settings/serializers/auth/ldap_ha.py:27 settings/serializers/auth/oidc.py:61 +#: settings/serializers/auth/ldap_ha.py:27 +#: settings/serializers/auth/oidc.py:61 msgid "Server" msgstr "Endereço do servidor" @@ -7213,7 +7086,8 @@ msgstr "Sincronizar logout" #: settings/serializers/auth/cas.py:22 msgid "When the user signs out, they also be logged out from the CAS server" -msgstr "Quando o usuário se desconecta, eles são desconectados do servidor CAS" +msgstr "" +"Quando o usuário se desconecta, eles são desconectados do servidor CAS" #: settings/serializers/auth/cas.py:28 msgid "Username attr" @@ -7223,9 +7097,11 @@ msgstr "Atributo de nome de usuário" msgid "Enable attributes map" msgstr "Ativar mapeamento de atributos" -#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 -#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:49 +#: settings/serializers/auth/ldap.py:67 +#: settings/serializers/auth/ldap_ha.py:49 #: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 #: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 #: settings/serializers/auth/wecom.py:18 @@ -7282,23 +7158,28 @@ msgstr "LDAP" msgid "LDAP server URI" msgstr "Domínio do serviço LDAP" -#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31 +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 msgid "Bind DN" msgstr "DN vinculado" -#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32 +#: settings/serializers/auth/ldap.py:50 +#: settings/serializers/auth/ldap_ha.py:32 msgid "Binding Distinguished Name" msgstr "Administrador de diretório vinculado" -#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36 +#: settings/serializers/auth/ldap.py:54 +#: settings/serializers/auth/ldap_ha.py:36 msgid "Binding password" msgstr "Senha vinculada" -#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39 +#: settings/serializers/auth/ldap.py:57 +#: settings/serializers/auth/ldap_ha.py:39 msgid "Search OU" msgstr "OU do usuário" -#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41 +#: settings/serializers/auth/ldap.py:59 +#: settings/serializers/auth/ldap_ha.py:41 msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" @@ -7306,16 +7187,19 @@ msgstr "" "Biblioteca de pesquisa do usuário, se houver várias OUs, você pode usar o " "símbolo `|` para separar" -#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45 +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 msgid "Search filter" msgstr "Filtro de usuário" -#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46 +#: settings/serializers/auth/ldap.py:64 +#: settings/serializers/auth/ldap_ha.py:46 #, python-format msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" msgstr "As opções possíveis são (cn ou uid ou sAMAccountName=%(user)s)" -#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51 +#: settings/serializers/auth/ldap.py:69 +#: settings/serializers/auth/ldap_ha.py:51 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" @@ -7323,15 +7207,18 @@ msgstr "" "Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " "usuário JumpServer e `value` é o nome do atributo do usuário do serviço LDAP" -#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67 +#: settings/serializers/auth/ldap.py:85 +#: settings/serializers/auth/ldap_ha.py:67 msgid "Connect timeout (s)" msgstr "Tempo de conexão (segundos)" -#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70 +#: settings/serializers/auth/ldap.py:88 +#: settings/serializers/auth/ldap_ha.py:70 msgid "Strict sync" msgstr "Modo rigoroso" -#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71 +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 msgid "" "In strict mode, users not found in LDAP will be disabled during full or " "automatic sync" @@ -7339,7 +7226,8 @@ msgstr "" "Após ativar o modo rigoroso, a sincronização total ou automática desativará " "usuários não encontrados no LDAP no sistema." -#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76 +#: settings/serializers/auth/ldap.py:94 +#: settings/serializers/auth/ldap_ha.py:76 msgid "User DN cache timeout (s)" msgstr "Tempo de cache do User DN (segundos)" @@ -7351,9 +7239,9 @@ msgid "" "the user DN cache" msgstr "" "Cache do User DN consultado durante a autenticação de login do usuário, o " -"que pode melhorar efetivamente a velocidade de autenticação do usuário
Se " -"a arquitetura de OU do usuário for ajustada, clique em enviar para limpar o " -"cache do User DN" +"que pode melhorar efetivamente a velocidade de autenticação do usuário
Se" +" a arquitetura de OU do usuário for ajustada, clique em enviar para limpar o" +" cache do User DN" #: settings/serializers/auth/ldap.py:102 #: settings/serializers/auth/ldap_ha.py:84 @@ -7372,8 +7260,8 @@ msgstr "Domínio do Serviço LDAP HA" #: settings/serializers/auth/ldap_ha.py:78 msgid "" "Caching the User DN obtained during user login authentication can " -"effectivelyimprove the speed of user authentication., 0 means no cache
If " -"the user OU structure has been adjusted, click Submit to clear the user DN " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " "cache" msgstr "" "Ao fazer cache do User DN consultado durante a autenticação do login do " @@ -7423,7 +7311,8 @@ msgid "End session endpoint" msgstr "Endereço do ponto de encerramento da sessão" #: settings/serializers/auth/oauth2.py:57 -msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" msgstr "Quando os usuários saem, eles também sairão do servidor OAuth2" #: settings/serializers/auth/oauth2.py:62 @@ -7435,8 +7324,8 @@ msgstr "" "usuário JumpServer, e `value` é o nome do atributo do usuário do serviço " "OAuth2." -#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:117 -#: settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:117 settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "Sempre atualizar informações do usuário" @@ -7571,10 +7460,11 @@ msgid "OTP in RADIUS" msgstr "Use o Radius OTP" #: settings/serializers/auth/radius.py:24 -msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" msgstr "" -"* Usar OTP no RADIUS significa que os usuários podem usar RADIUS como método " -"de MFA" +"* Usar OTP no RADIUS significa que os usuários podem usar RADIUS como método" +" de MFA" #: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 msgid "SAML2" @@ -7686,9 +7576,9 @@ msgstr "Tipo de serviço (Service id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." msgstr "" "O modelo precisa conter {code}, e a soma do comprimento da assinatura e do " "modelo não pode exceder 67 caracteres. Por exemplo, seu código de " @@ -7715,8 +7605,8 @@ msgstr "Ativar autenticação com token SSO" #: settings/serializers/auth/sso.py:17 msgid "Other service can using SSO token login to JumpServer without password" msgstr "" -"Outros sistemas podem se integrar ao JumpServer usando Token SSO, eliminando " -"o processo de login." +"Outros sistemas podem se integrar ao JumpServer usando Token SSO, eliminando" +" o processo de login." #: settings/serializers/auth/sso.py:20 msgid "SSO auth key TTL" @@ -7742,8 +7632,8 @@ msgstr "URL do site atual" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service " -"and is usually used in links in system emails" +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" msgstr "" "URL do site é o endereço externo acessível do serviço do produto atual, " "geralmente usado em links em emails do sistema" @@ -7838,14 +7728,14 @@ msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." msgstr "" -"Sessões, gravações e registros de comandos acima desse prazo serão excluídos " -"(afeta o armazenamento do banco de dados, OSS, etc não são afetados)" +"Sessões, gravações e registros de comandos acima desse prazo serão excluídos" +" (afeta o armazenamento do banco de dados, OSS, etc não são afetados)" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days" msgstr "" -"Número de dias para retenção de registros de notificações sobre alteração de " -"senha da conta" +"Número de dias para retenção de registros de notificações sobre alteração de" +" senha da conta" #: settings/serializers/feature.py:23 settings/serializers/msg.py:69 msgid "Subject" @@ -7895,7 +7785,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "Região" @@ -7934,7 +7824,8 @@ msgstr "Chave API" #: settings/serializers/feature.py:150 settings/serializers/feature.py:165 msgid "" "The proxy server address of the GPT service. For example: http://ip:port" -msgstr "Endereço do servidor proxy do serviço GPT. Por exemplo: http://ip:port" +msgstr "" +"Endereço do servidor proxy do serviço GPT. Por exemplo: http://ip:port" #: settings/serializers/feature.py:154 msgid "GPT Model" @@ -7944,58 +7835,74 @@ msgstr "Modelo GPT" msgid "DeepSeek Model" msgstr "Modelo DeepSeek " -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "Modelo personalizado" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "Deseja usar modelo personalizado?" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "Modelo GPT personalizado" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "Modelo DeepSeek personalizado" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "Aprovação sem Login" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "" "Permissão para aprovar pedidos de serviço diretamente, sem a necessidade de " "login." -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "Período" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "" "Solicitação de ordens de serviço do ativo no período de autorização padrão" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "Tempo" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "Unidade" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "Ciclo de execução" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "Execução de comandos em lote" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "" "Permitir aos usuários executar comandos em lote na Bancada de Trabalho - " "Centro de Trabalho - Adhoc" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "Lista negra de comandos do Centro de Ações" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "Lista negra de comandos do Centro de Ações" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -8003,11 +7910,11 @@ msgstr "Lista negra de comandos do Centro de Ações" msgid "Virtual app" msgstr "Aplicativo Virtual" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "Aplicativo Virtual" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -8082,8 +7989,8 @@ msgstr "Prefixo do assunto" #: settings/serializers/msg.py:70 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" msgstr "" "Dica: ao criar um usuário, envie um e-mail de configuração da senha com o " "assunto (por exemplo: criação de usuário bem-sucedida)" @@ -8186,8 +8093,8 @@ msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." msgstr "" -"Quando o número de falhas de login do usuário atingir o limite, o login será " -"proibido durante esse intervalo" +"Quando o número de falhas de login do usuário atingir o limite, o login será" +" proibido durante esse intervalo" #: settings/serializers/security.py:70 settings/serializers/security.py:80 msgid "Login failures count" @@ -8239,13 +8146,13 @@ msgstr "Login apenas a partir de usuários originais" #: settings/serializers/security.py:112 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"Se ativada, a autenticação do usuário no login será feita apenas no ponto de " -"origem; Se desativada, a autenticação do usuário seguirá uma certa ordem " +"Se ativada, a autenticação do usuário no login será feita apenas no ponto de" +" origem; Se desativada, a autenticação do usuário seguirá uma certa ordem " "entre todos os métodos de autenticação ativados, com sucesso em um deles " "permitindo o login direto" @@ -8305,8 +8212,8 @@ msgstr "Inserir MFA na página de login" #: settings/serializers/security.py:155 msgid "Eu security regulations(GDPR) require MFA to be on the login page" msgstr "" -"A regulamentação de segurança de dados da União Europeia (GDPR) exige MFA na " -"página de login para garantir a segurança do login do sistema" +"A regulamentação de segurança de dados da União Europeia (GDPR) exige MFA na" +" página de login para garantir a segurança do login do sistema" #: settings/serializers/security.py:159 msgid "Verify code TTL (second)" @@ -8345,9 +8252,9 @@ msgstr "Notificação de login de local diferente" #: settings/serializers/security.py:175 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" msgstr "" "Com base se o IP de login pertence à cidade de login usual, se a conta for " "acessada de uma cidade não usual, um lembrete de login de local diferente " @@ -8362,8 +8269,8 @@ msgid "" "Detect infrequent users daily and disable them if they exceed the " "predetermined time limit" msgstr "" -"Um cheque é feito todos os dias, os usuários que excedem o tempo predefinido " -"são automaticamente desativados" +"Um cheque é feito todos os dias, os usuários que excedem o tempo predefinido" +" são automaticamente desativados" #: settings/serializers/security.py:202 msgid "Watermark" @@ -8404,8 +8311,8 @@ msgstr "Tempo máximo ocioso da conexão (minutos)" #: settings/serializers/security.py:228 msgid "If idle time more than it, disconnect connection." msgstr "" -"Observação: se essa configuração for excedida sem qualquer Action, a conexão " -"será desconectada" +"Observação: se essa configuração for excedida sem qualquer Action, a conexão" +" será desconectada" #: settings/serializers/security.py:231 msgid "Session expire at browser closed" @@ -8417,7 +8324,8 @@ msgstr "Quer que a sessão expire quando o usuário fecha o navegador?" #: settings/serializers/security.py:237 msgid "Allow users to view asset session information" -msgstr "Permitir que os usuários vejam informações da sessão online dos ativos" +msgstr "" +"Permitir que os usuários vejam informações da sessão online dos ativos" #: settings/serializers/security.py:239 msgid "" @@ -8477,8 +8385,8 @@ msgstr "Automático" #: settings/serializers/terminal.py:23 msgid "Auto(Enabled for the first 5 minutes after startup, then disabled)" msgstr "" -"Automático (habilitado nos primeiros 5 minutos após a inicialização, e então " -"desativado)" +"Automático (habilitado nos primeiros 5 minutos após a inicialização, e então" +" desativado)" #: settings/serializers/terminal.py:26 msgid "Registration" @@ -8486,11 +8394,11 @@ msgstr "Registro do componente" #: settings/serializers/terminal.py:28 msgid "" -"Allow component register, after all component setup, you should disable this " -"for security" +"Allow component register, after all component setup, you should disable this" +" for security" msgstr "" -"Permitir o registro de componentes? Após todos os terminais serem iniciados, " -"deve-se desactivar por razões de segurança" +"Permitir o registro de componentes? Após todos os terminais serem iniciados," +" deve-se desactivar por razões de segurança" #: settings/serializers/terminal.py:34 msgid "" @@ -8503,14 +8411,14 @@ msgstr "" msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in " -"after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" msgstr "" "* Permite aos usuários fazer login no componente KoKo através da " "autenticação de chave pública
Se o serviço de autenticação de terceiros " "(como AD / LDAP) estiver habilitado, esta opção deve ser desabilitada, para " -"evitar que o usuário faça login novamente após ser excluído do servidor AD / " -"LDAP" +"evitar que o usuário faça login novamente após ser excluído do servidor AD /" +" LDAP" #: settings/serializers/terminal.py:47 msgid "Asset sorting" @@ -8522,8 +8430,8 @@ msgstr "Quantidade por página da lista de ativos" #: settings/serializers/terminal.py:55 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" msgstr "" "* Você pode configurar o endereço e a porta do serviço separadamente nos " @@ -8532,8 +8440,8 @@ msgstr "" #: settings/serializers/terminal.py:63 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" "* Você pode configurar o endereço e a porta do serviço separadamente nos " @@ -8548,11 +8456,12 @@ msgstr "Conexão do Cliente" #: settings/serializers/terminal.py:72 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to assets" +"Luna page will display the SSH client launch method when connecting to " +"assets" msgstr "" -"* Permite ao Cliente SSH conectar-se ao componente KoKo
Se habilitado, a " -"página do Luna mostrará o método de inicialização do Cliente SSH ao conectar-" -"se aos ativos" +"* Permite ao Cliente SSH conectar-se ao componente KoKo
Se habilitado, a" +" página do Luna mostrará o método de inicialização do Cliente SSH ao " +"conectar-se aos ativos" #: settings/serializers/tool.py:10 msgid "Tool" @@ -8564,8 +8473,8 @@ msgstr "Ferramentas na bancada" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools " -"in the workbench" +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" msgstr "" "*! Se habilitado, os usuários com permissões RBAC poderão utilizar todas as " "ferramentas disponíveis na bancada" @@ -8592,8 +8501,7 @@ msgstr "Registre a tarefa do usuário LDAP de importação periódica" #: settings/tasks/ldap.py:117 msgid "" -"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " -"sync task \n" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" "Quando alterações são efetuadas nos parâmetros de sincronização automática " @@ -8606,8 +8514,7 @@ msgstr "Registre a tarefa do usuário LDAP HA de importação periódica" #: settings/tasks/ldap.py:133 msgid "" -"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " -"LDAP HA sync task \n" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" "Quando alterações são efetuadas nos parâmetros de sincronização automática " @@ -8635,24 +8542,19 @@ 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 -#, fuzzy, python-brace-format -#| msgid "Please add certificate: {}" msgid "Please add certificate: {}" -msgstr "Adicione um certificado" +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: {}" @@ -8661,27 +8563,22 @@ 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: {}" @@ -8694,57 +8591,46 @@ 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: {}" @@ -8753,12 +8639,10 @@ 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 {}" @@ -8825,7 +8709,8 @@ msgstr "Logout" #: templates/_message.html:6 msgid "Your account has expired, please contact the administrator." -msgstr "Sua conta já expirou, por favor, entre em contato com o administrador." +msgstr "" +"Sua conta já expirou, por favor, entre em contato com o administrador." #: templates/_message.html:11 msgid "Your account will at" @@ -8896,30 +8781,24 @@ msgid "Home page" msgstr "Página Inicial" #: templates/redirect_confirm.html:42 -#, fuzzy -#| msgid "" -#| "You are about to be redirected to an external website. Please confirm " -#| "that you trust this link: " msgid "You are about to be redirected to an external website." -msgstr "" -"Você está prestes a ser redirecionado para um site externo, por favor, " -"confirme que confia neste link." +msgstr "Você está prestes a ser redirecionado para um site externo" #: templates/redirect_confirm.html:45 msgid "Please confirm that you trust this link: " -msgstr "" +msgstr "Por favor, certifique-se de confiar no seguinte link:" #: templates/redirect_confirm.html:55 msgid "Back" -msgstr "" +msgstr "Retornar" #: templates/redirect_confirm.html:70 msgid "Redirecting you to the Desktop App ( JumpServer Client )" -msgstr "" +msgstr "Redirecionando para o aplicativo de desktop (Cliente JumpServer)." #: templates/redirect_confirm.html:73 msgid "You can safely close this window and return to the application." -msgstr "" +msgstr "Você pode fechar esta janela e retornar ao aplicativo." #: templates/resource_download.html:20 templates/resource_download.html:36 #: users/const.py:84 @@ -8927,12 +8806,10 @@ msgid "Client" msgstr "Cliente" #: templates/resource_download.html:22 -#, fuzzy -#| msgid "JumpServer Client, currently used to launch the client" msgid "JumpServerClient, currently used to launch the client" msgstr "" -"Cliente JumpServer, usado atualmente para ativar programas de cliente " -"específicos para conectar-se aos ativos." +"Cliente JumpServer, atualmente utilizado para invocar um programa cliente " +"específico para conectar ativos" #: templates/resource_download.html:36 msgid "Microsoft" @@ -8959,8 +8836,8 @@ msgid "" "OpenSSH is a program used to connect remote applications in the Windows " "Remote Application Publisher" msgstr "" -"OpenSSH é um programa usado para conectar aplicativos remotos no servidor de " -"publicação de aplicativos remotos do Windows" +"OpenSSH é um programa usado para conectar aplicativos remotos no servidor de" +" publicação de aplicativos remotos do Windows" #: templates/resource_download.html:54 msgid "Offline video player" @@ -8979,7 +8856,6 @@ 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: {}" @@ -8992,7 +8868,6 @@ 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: {}" @@ -9005,7 +8880,6 @@ msgid "Invalid" msgstr "Inválido" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "Teste falhou: {}" @@ -9032,7 +8906,6 @@ msgid "Session replay" msgstr "Gravação de sessão" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "Sessão não existe: {}" @@ -9040,7 +8913,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:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "Usuário sem permissões" @@ -9205,12 +9078,10 @@ msgstr "Host" #: terminal/models/applet/applet.py:94 #: 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:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Falha ao carregar platform.yml: {}" @@ -9556,21 +9427,15 @@ msgstr "Endereço de serviço Core" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" " \n" -"Dica: O publicador de aplicativos e o serviço Core usam comunicação. Se o " -"publicador e o serviço Core estiverem na mesma rede, é recomendado preencher " -"o endereço da intranet; caso contrário, preencha o URL do atual site. Por " -"exemplo: https://172.16.10.110 ou https://dev.jumpserver.com." +"Dica: O publicador de aplicativos e o serviço Core usam comunicação. Se o publicador e o serviço Core estiverem na mesma rede, é recomendado preencher o endereço da intranet; caso contrário, preencha o URL do atual site. Por exemplo: https://172.16.10.110 ou https://dev.jumpserver.com." #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -9583,12 +9448,13 @@ msgstr "Já existem licenças RDS" #: terminal/serializers/applet_host.py:50 msgid "" "If not exist, the RDS will be in trial mode, and the trial period is 120 " -"days. Detail" +"days. Detail" msgstr "" "Se não existir, o RDS estará em modo de teste, com um período de teste de " -"120 dias. Detalhes" +"120 dias. Detalhes" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9628,8 +9494,8 @@ msgstr "Tempo limite de logoff de aplicativo remoto do RDS (milissegundos)" #: terminal/serializers/applet_host.py:74 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." msgstr "" "Nota: Define o tempo de logoff da sessão RemoteAPP após o fechamento de " "todos os programas RemoteApp (0 milissegundos, logoff imediato da sessão)" @@ -9641,15 +9507,15 @@ msgstr "Status de carga" #: terminal/serializers/applet_host.py:97 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" -"Estas contas são usadas para conectar-se aos aplicativos publicados, e agora " -"são divididas em dois tipos:
Uma é dedicada, cada usuário tem uma conta " -"dedicada. A outra é a pública, que será usada quando o aplicativo não " +"Estas contas são usadas para conectar-se aos aplicativos publicados, e agora" +" são divididas em dois tipos:
Uma é dedicada, cada usuário tem uma " +"conta dedicada. A outra é a pública, que será usada quando o aplicativo não " "suportar múltiplas execuções e as dedicadas já estiverem em uso;
Nota: " "Se a criação automática de conta não estiver ativada, a máquina publicada " "atual só poderá ser agendada para ativos com uma etiqueta especificada, por " @@ -9719,22 +9585,23 @@ msgid "" "does not allow modification of the host)" msgstr "" "Endereço do host acessado ao conectar ao ativo, se estiver vazio, use o " -"endereço de acesso do navegador atual (o host padrão não permite modificação)" +"endereço de acesso do navegador atual (o host padrão não permite " +"modificação)" #: terminal/serializers/endpoint.py:54 msgid "" -"The assets within this IP range or Host, the following endpoint will be used " -"for the connection" +"The assets within this IP range or Host, the following endpoint will be used" +" for the connection" msgstr "" -"Os ativos dentro deste intervalo de IP ou host serão conectados utilizando o " -"seguinte endpoint." +"Os ativos dentro deste intervalo de IP ou host serão conectados utilizando o" +" seguinte endpoint." #: terminal/serializers/endpoint.py:55 msgid "" "If asset IP addresses under different endpoints conflict, use asset labels" msgstr "" -"Se houver conflitos de IP de ativos em diferentes pontos finais, use tags de " -"ativos para resolver." +"Se houver conflitos de IP de ativos em diferentes pontos finais, use tags de" +" ativos para resolver." #: terminal/serializers/session.py:35 terminal/serializers/session.py:63 msgid "Can replay" @@ -9769,7 +9636,6 @@ 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 `{}`" @@ -9996,8 +9862,7 @@ msgstr "Limpar sessão offline" #: terminal/tasks.py:45 msgid "" -"Check every 10 minutes for asset connection sessions that have been inactive " -"for 3 \n" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" " minutes and mark these sessions as completed" msgstr "" "A cada 10 minutos, verifica sessões de conexão de ativos inativos por 3 " @@ -10009,8 +9874,7 @@ msgstr "Upload de gravação de sessão para armazenamento externo" #: terminal/tasks.py:70 terminal/tasks.py:104 msgid "" -"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " -"and \n" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" " recordings will be uploaded to external storage" msgstr "" "Se SERVER_REPLAY_STORAGE estiver configurado, sincronize os arquivos " @@ -10026,8 +9890,7 @@ msgstr "Executar implantação da aplicação" #: terminal/tasks.py:126 msgid "" -"When deploying from the remote application publisher details page, and the " -"'Deploy' \n" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" " button is clicked, this task will be executed" msgstr "" "Implantação da publicação, ao clicar na implantação, executar esta tarefa" @@ -10038,8 +9901,7 @@ msgstr "Instalar aplicação" #: terminal/tasks.py:140 msgid "" -"When the 'Deploy' button is clicked in the 'Remote Application' section of " -"the remote \n" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" " application publisher details page, this task will be executed" msgstr "" "Ao detalhar o aplicativo remoto - aplicativo remoto, ao clicar na " @@ -10051,8 +9913,7 @@ msgstr "Desinstalar aplicação" #: terminal/tasks.py:155 msgid "" -"When the 'Uninstall' button is clicked in the 'Remote Application' section " -"of the \n" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" " remote application publisher details page, this task will be executed" msgstr "" "Ao detalhar o aplicativo remoto - aplicativo remoto, ao clicar na " @@ -10064,12 +9925,11 @@ msgstr "Coletar contas no aplicativo remoto" #: terminal/tasks.py:170 msgid "" -"When a remote publishing server is created and an account needs to be " -"created \n" +"When a remote publishing server is created and an account needs to be created \n" " automatically, this task will be executed" msgstr "" -"Após criar a máquina de publicação remota, se for necessário criar uma conta " -"automaticamente, execute a tarefa" +"Após criar a máquina de publicação remota, se for necessário criar uma conta" +" automaticamente, execute a tarefa" #: terminal/tasks.py:184 msgid "Check command replay storage connectivity" @@ -10077,15 +9937,12 @@ msgstr "Verificar a conectividade de armazenamento de comandos e gravações" #: terminal/tasks.py:186 msgid "" -"Check every day at midnight whether the external storage for commands and " -"recordings \n" -" is accessible. If it is not accessible, send a notification to the " -"recipients specified \n" -" in 'System Settings - Notifications - Subscription - Storage - " -"Connectivity'" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" msgstr "" -"Verifica todos os dias à meia-noite se o armazenamento externo de comandos e " -"gravações pode ser conectado, se não puder, envie para: Configurações do " +"Verifica todos os dias à meia-noite se o armazenamento externo de comandos e" +" gravações pode ser conectado, se não puder, envie para: Configurações do " "sistema - Configurações de notificação - Assinatura de mensagem - " "Destinatário definido para armazenamento de configurações de gravação e " "comando." @@ -10096,8 +9953,8 @@ msgstr "Visualizar" #: terminal/templates/terminal/_msg_command_warning.html:5 msgid "" -"We would like to inform you that a command alert has been triggered with the " -"following details:" +"We would like to inform you that a command alert has been triggered with the" +" following details:" msgstr "" "Queremos notificá-lo de que o alerta de comando foi acionado, com os " "detalhes a seguir:" @@ -10118,8 +9975,8 @@ msgid "" msgstr "" "Por favor, verifique a execução deste comando para garantir que está em " "conformidade com a política de segurança da sua organização. Se você não " -"estiver autorizado a realizar esta ação ou encontrar qualquer anomalia, tome " -"as medidas necessárias imediatamente." +"estiver autorizado a realizar esta ação ou encontrar qualquer anomalia, tome" +" as medidas necessárias imediatamente." #: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" @@ -10174,7 +10031,6 @@ msgid "Ticket already closed" msgstr "A ordem de serviço foi fechada" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10196,7 +10052,6 @@ msgid "After change" msgstr "Depois da alteração" #: tickets/handlers/base.py:96 -#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} Ordem de serviço" @@ -10336,23 +10191,18 @@ msgid "Ticket applied info" msgstr "Informação do pedido da ordem de serviço" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" msgstr "Você tem uma nova ordem de serviço, requerente - {}" #: tickets/notifications.py:120 -#, fuzzy, python-brace-format -#| msgid "{}: New Ticket - {} ({})" msgid "{}: New Ticket - {} ({})" -msgstr "Nova Ordem de Serviço - {} ({})" +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 - {} ( {} )" @@ -10382,7 +10232,6 @@ 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 ({}-{})" @@ -10391,7 +10240,6 @@ 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" @@ -10400,7 +10248,6 @@ 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" @@ -10486,7 +10333,8 @@ msgstr "Auditor da organização" #: users/const.py:18 msgid "Reset link will be generated and sent to the user" -msgstr "Gere um link de redefinição de senha e envie para o usuário por e-mail" +msgstr "" +"Gere um link de redefinição de senha e envie para o usuário por e-mail" #: users/const.py:19 msgid "Set password" @@ -10562,9 +10410,9 @@ msgid "" "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -"Depois de ativado, você entrará no processo de vinculação de autenticação de " -"múltiplos fatores na próxima vez que fizer login; Você também pode vincular " -"diretamente em (Informações pessoais->Modificação rápida->Configuração de " +"Depois de ativado, você entrará no processo de vinculação de autenticação de" +" múltiplos fatores na próxima vez que fizer login; Você também pode vincular" +" diretamente em (Informações pessoais->Modificação rápida->Configuração de " "autenticação MFA de múltiplos fatores)!" #: users/forms/profile.py:60 @@ -10575,8 +10423,8 @@ msgstr "" #: users/forms/profile.py:69 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" "Para proteger sua segurança e a da sua empresa, por favor, cuide bem da sua " @@ -10781,11 +10629,11 @@ msgstr "Nome do tema do terminal" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files, " -"account password change results files" +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" msgstr "" -"Senha de criptografia de arquivo, use esta senha para descriptografar quando " -"o email enviado pelo sistema contém um anexo de arquivo.
Por exemplo: " +"Senha de criptografia de arquivo, use esta senha para descriptografar quando" +" o email enviado pelo sistema contém um anexo de arquivo.
Por exemplo: " "arquivo de backup da conta, arquivo de resultado de alteração de senha da " "conta" @@ -10809,7 +10657,8 @@ msgstr "Carregamento assíncrono da árvore de ativos" msgid "Connect default open method" msgstr "Forma padrão de abertura de conexão" -#: users/serializers/preference/luna.py:34 xpack/plugins/interface/models.py:41 +#: users/serializers/preference/luna.py:34 +#: xpack/plugins/interface/models.py:41 #: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "Tema" @@ -10841,8 +10690,8 @@ msgid "" "window is resized." msgstr "" "Determinar se o computador cliente deve redimensionar o conteúdo no " -"computador remoto para se ajustar ao tamanho da janela do computador cliente " -"quando o tamanho da janela é alterado" +"computador remoto para se ajustar ao tamanho da janela do computador cliente" +" quando o tamanho da janela é alterado" #: users/serializers/preference/luna.py:63 msgid "Remote app connect method" @@ -10877,7 +10726,6 @@ 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" @@ -10891,8 +10739,8 @@ msgstr "Função de sistema" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across " -"all organizations" +"System roles are roles at the system level, and they will take effect across" +" all organizations" msgstr "" "A função do sistema é um papel definido ao nível do sistema e será efetivo " "em todas as organizações" @@ -10906,8 +10754,8 @@ msgid "" "Org roles are roles at the organization level, and they will only take " "effect within current organization" msgstr "" -"Os papéis organizacionais são papéis no nível da organização, válidos apenas " -"dentro da organização atual " +"Os papéis organizacionais são papéis no nível da organização, válidos apenas" +" dentro da organização atual " #: users/serializers/user.py:70 msgid "Organizations and roles" @@ -10971,8 +10819,8 @@ msgid "" "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -" A identidade de origem do usuário indica o local de criação do usuário, que " -"pode ser AD ou outra fonte. As configurações de segurança podem limitar os " +" A identidade de origem do usuário indica o local de criação do usuário, que" +" pode ser AD ou outra fonte. As configurações de segurança podem limitar os " "usuários a fazer login somente a partir de uma fonte especificada." #: users/serializers/user.py:260 @@ -10997,7 +10845,8 @@ msgstr "Possui chave pública" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for more" +"* For security, only a partial of users is displayed. You can search for " +"more" msgstr "" "* Para sua segurança, apenas alguns usuários são mostrados. Você pode " "procurar por mais" @@ -11009,8 +10858,7 @@ msgstr "Nome duplicado" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" "O administrador ativou a opção 'Permitir login apenas para usuários " "existentes', o usuário atual não está na lista de usuários, por favor, " @@ -11022,8 +10870,7 @@ msgstr "Limpar sessões de usuários expiradas" #: users/signal_handlers.py:181 msgid "" -"After logging in via the web, a user session record is created. At 2 a.m. " -"every day, \n" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" " the system cleans up inactive user devices" msgstr "" "Após o login via web, será gerado um registro da sessão do usuário online, " @@ -11036,8 +10883,7 @@ msgstr "A verificação da senha expirou" #: users/tasks.py:28 msgid "" -"Check every day at 10 AM whether the passwords of users in the system are " -"expired, \n" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" " and send a notification 5 days in advance" msgstr "" "Verifica-se todos os dias às 10 da manhã se as senhas dos usuários no " @@ -11049,10 +10895,8 @@ msgstr "Verificação periódica de senhas expiradas" #: users/tasks.py:48 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if passwords have expired" msgstr "" "Com as iterações das versões, novas tarefas podem ser adicionadas ou o nome " @@ -11066,8 +10910,7 @@ msgstr "Verificação de usuário já expirado." #: users/tasks.py:69 msgid "" -"Check every day at 2 p.m whether the users in the system are expired, and " -"send a \n" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" " notification 5 days in advance" msgstr "" "Confira todos os dias às 14h se os usuários do sistema estão expirados e " @@ -11079,16 +10922,14 @@ msgstr "Verificação periódica do vencimento dos usuários" #: users/tasks.py:92 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if users have expired" msgstr "" "Com o avanço das versões, pode haver a adição de novas tarefas ou " "modificação dos nomes, horários de execução das tarefas, por isso, ao " -"iniciar o sistema, registre ou atualize os parâmetros da tarefa de verificar " -"se o usuário já expirou" +"iniciar o sistema, registre ou atualize os parâmetros da tarefa de verificar" +" se o usuário já expirou" #: users/tasks.py:111 msgid "Check unused users" @@ -11096,14 +10937,12 @@ msgstr "Verifique os usuários inativos" #: users/tasks.py:113 msgid "" -"At 2 p.m. every day, according to the configuration in \"System Settings - " -"Security - \n" -" Auth security - Auto disable threshold\" users who have not logged " -"in or whose API keys \n" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" " have not been used for a long time will be disabled" msgstr "" -"Todos os dias às 14h, com base na configuração do sistema - configurações de " -"segurança - configuração de desativação automática de usuários inativos, " +"Todos os dias às 14h, com base na configuração do sistema - configurações de" +" segurança - configuração de desativação automática de usuários inativos, " "desativar usuários que não fazem login ou não usam a chave API por muito " "tempo" @@ -11248,8 +11087,8 @@ msgstr "Vincular validador MFA" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" msgstr "" "Use o aplicativo do validador MFA para escanear o código QR abaixo e obter " "um código de verificação de 6 dígitos" @@ -11350,20 +11189,18 @@ 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: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" msgstr "" -"Usuários não locais só podem entrar através de plataformas de terceiros, não " -"é suportada a alteração de senha: {}" +"Usuários não locais só podem entrar através de plataformas de terceiros, não" +" é suportada a alteração de senha: {}" #: users/views/profile/reset.py:188 users/views/profile/reset.py:199 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 " @@ -11374,7 +11211,6 @@ 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" @@ -11399,12 +11235,10 @@ 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" @@ -11461,10 +11295,8 @@ msgid "Volcengine" msgstr "Motor Vulcânico" #: xpack/plugins/cloud/const.py:22 -#, fuzzy -#| msgid "Huawei Cloud" msgid "State Cloud" -msgstr "Huawei Cloud" +msgstr "Nuvem Tianyi" #: xpack/plugins/cloud/const.py:24 msgid "VMware" @@ -11604,10 +11436,6 @@ 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:290 -msgid "Instance" -msgstr "Instância" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11752,11 +11580,16 @@ 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:290 +msgid "Instance" +msgstr "Instância" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "Detalhes da Sincronização de Instância" -#: xpack/plugins/cloud/models.py:319 xpack/plugins/cloud/serializers/task.py:79 +#: xpack/plugins/cloud/models.py:319 +#: xpack/plugins/cloud/serializers/task.py:79 msgid "Rule relation" msgstr "Relação Condicional" @@ -11812,7 +11645,8 @@ msgstr "Correspondência de regra" msgid "Rule value" msgstr "Valor da regra" -#: xpack/plugins/cloud/models.py:395 xpack/plugins/cloud/serializers/task.py:82 +#: xpack/plugins/cloud/models.py:395 +#: xpack/plugins/cloud/serializers/task.py:82 msgid "Strategy rule" msgstr "Condição" @@ -11828,7 +11662,8 @@ msgstr "Atributos de ação" msgid "Action value" msgstr "Valor de ação" -#: xpack/plugins/cloud/models.py:422 xpack/plugins/cloud/serializers/task.py:85 +#: xpack/plugins/cloud/models.py:422 +#: xpack/plugins/cloud/serializers/task.py:85 msgid "Strategy action" msgstr "Action" @@ -12072,12 +11907,6 @@ 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 -#, fuzzy -#| msgid "Domain name" -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" @@ -12091,8 +11920,6 @@ msgid "User domain" msgstr "Domínio do usuário" #: xpack/plugins/cloud/serializers/account_attrs.py:157 -#, fuzzy -#| msgid "Project" msgid "Project ID" msgstr "projeto" @@ -12113,7 +11940,6 @@ 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: `{}`, {}" @@ -12127,10 +11953,10 @@ msgid "" "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." msgstr "" -"A porta é usada para verificar a validade do endereço IP, durante a execução " -"da tarefa de sincronização, apenas os endereços IP válidos serão " -"sincronizados.
Se a porta for 0, significa que todos os endereços IP são " -"válidos." +"A porta é usada para verificar a validade do endereço IP, durante a execução" +" da tarefa de sincronização, apenas os endereços IP válidos serão " +"sincronizados.
Se a porta for 0, significa que todos os endereços IP são" +" válidos." #: xpack/plugins/cloud/serializers/account_attrs.py:227 msgid "Hostname prefix" @@ -12162,11 +11988,11 @@ msgstr "Número de instâncias" #: xpack/plugins/cloud/tasks.py:33 msgid "" -"Execute this task when manually or scheduled cloud synchronization tasks are " -"performed" +"Execute this task when manually or scheduled cloud synchronization tasks are" +" performed" msgstr "" -"Execute esta tarefa ao realizar uma ação de sincronização em nuvem manual ou " -"agendada." +"Execute esta tarefa ao realizar uma ação de sincronização em nuvem manual ou" +" agendada." #: xpack/plugins/cloud/tasks.py:50 msgid "Period clean sync instance task execution" @@ -12176,10 +12002,8 @@ msgstr "" #: xpack/plugins/cloud/tasks.py:52 msgid "" -"Every day, according to the configuration in \"System Settings - Tasks - " -"Regular \n" -" clean-up - Cloud sync task history retention days\" the system will " -"clean up the execution \n" +"Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" " records generated by cloud synchronization" msgstr "" "Diariamente, o sistema limpará os registros gerados durante o processo de " @@ -12235,25 +12059,3 @@ msgstr "Importação de licença bem-sucedida" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "Licença inválida" - -#~ msgid "" -#~ "CAS login was successful, but no corresponding local user was found in " -#~ "the system, and automatic user creation is disabled in the CAS " -#~ "authentication configuration. Login failed." -#~ msgstr "" -#~ "Login no CAS bem-sucedido, mas o sistema não encontrou um usuário local e " -#~ "a função de criação automática de usuários não está habilitada na " -#~ "configuração de autenticação do CAS, resultando em falha no login." - -#~ msgid "Invalid token or cache refreshed." -#~ msgstr "O token de atualização ou o cache é inválido." - -#~ msgid "Create user" -#~ msgstr "Criar usuário (se não existir)" - -#~ msgid "" -#~ "After successful user authentication, if the user does not exist, " -#~ "automatically create the user" -#~ msgstr "" -#~ "Após a autenticação bem-sucedida do usuário, se o usuário não existir, " -#~ "será criado automaticamente" diff --git a/apps/i18n/core/ru/LC_MESSAGES/django.po b/apps/i18n/core/ru/LC_MESSAGES/django.po index 0f13ec759..cc1e10726 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: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: 2025-11-13 12:26\n" "Last-Translator: ibuler \n" "Language-Team: Russian\n" @@ -11,9 +11,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 " -"&& n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 " -"&& n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Crowdin-File: /dev/apps/i18n/core/zh/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 76\n" "X-Crowdin-Language: ru\n" @@ -21,23 +19,22 @@ msgstr "" "X-Crowdin-Project-ID: 832018\n" "X-Generator: Poedit 2.4.3\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "Учетная запись уже существует." -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "Не удалось найти действительные активы для создания учетной записи." #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "Учетная запись не найдена" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "Параметр 'Действие' должен быть [{}]" @@ -108,7 +105,8 @@ msgstr "Windows не поддерживает аутентификацию по #: accounts/automations/base/manager.py:123 msgid "Windows password cannot contain special characters like > ^" -msgstr "Пароль Windows не может содержать специальные символы, такие как > и ^" +msgstr "" +"Пароль Windows не может содержать специальные символы, такие как > и ^" #: accounts/automations/base/manager.py:135 msgid "No pending accounts found" @@ -120,22 +118,18 @@ 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" -"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " -"secret: {}, using time: {}s" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no secret: {}, using time: {}s" msgstr "" "---\n" "Итого: \n" -"Нормальные пароли: {}, слабые пароли: {}, утечка паролей: {}, повторяющиеся " -"пароли: {}, без пароля: {}, затрачено времени: {}сек" +"Нормальные пароли: {}, слабые пароли: {}, утечка паролей: {}, повторяющиеся пароли: {}, без пароля: {}, затрачено времени: {}сек" #: accounts/automations/push_account/manager.py:33 msgid "Secret cannot be empty" @@ -148,12 +142,12 @@ msgstr "" #: accounts/const/account.py:6 #: accounts/serializers/automations/change_secret.py:36 -#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 -#: authentication/confirm/password.py:27 authentication/const.py:13 -#: authentication/forms.py:28 +#: audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:25 authentication/confirm/password.py:27 +#: authentication/const.py:13 authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -162,8 +156,6 @@ 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 "Пароль" @@ -221,7 +213,8 @@ msgstr "Обнаружение" msgid "Template" msgstr "Шаблон" -#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:76 +#: accounts/const/account.py:32 ops/const.py:47 +#: xpack/plugins/cloud/const.py:76 msgid "Skip" msgstr "Пропустить" @@ -545,7 +538,7 @@ msgstr "Статус изменения секрета" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -613,9 +606,11 @@ msgstr "Просмотр активности аккаунта" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:39 settings/models.py:188 #: settings/serializers/msg.py:90 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 #: terminal/models/component/endpoint.py:107 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:86 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -625,7 +620,8 @@ msgstr "Просмотр активности аккаунта" #: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:279 xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/serializers/task.py:77 msgid "Name" msgstr "Имя" @@ -635,7 +631,7 @@ msgstr "Иконка" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -659,16 +655,19 @@ msgstr "Группа IP" #: accounts/models/application.py:23 #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:25 -#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "Дата последнего использования" #: accounts/models/application.py:24 acls/models/base.py:43 #: assets/models/asset/common.py:182 authentication/models/access_key.py:24 #: authentication/models/connection_token.py:60 -#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23 +#: authentication/models/ssh_key.py:13 +#: authentication/serializers/ssh_key.py:23 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:30 #: terminal/models/component/endpoint.py:118 #: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 #: tickets/const.py:37 @@ -902,8 +901,8 @@ msgstr "Повторяющийся пароль" #: accounts/templates/accounts/gather_account_report.html:118 #: accounts/templates/accounts/push_account_report.html:79 #: accounts/templates/accounts/push_account_report.html:119 -#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204 -#: authentication/forms.py:21 authentication/forms.py:23 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 +#: audits/models.py:204 authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:10 #: authentication/serializers/connect_token_secret.py:43 #: authentication/serializers/connect_token_secret.py:53 @@ -915,8 +914,6 @@ 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 "Имя пользователя" @@ -1036,7 +1033,7 @@ msgid "Verify asset account" msgstr "Проверка УЗ актива" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1128,16 +1125,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 " @@ -1152,21 +1147,19 @@ 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 " "password in preferences" msgstr "" -"{} - Задача по изменению пароля завершена: не установлен пароль шифрования - " -"пожалуйста, перейдите в Личную информацию -> Настройки предпочтений и " +"{} - Задача по изменению пароля завершена: не установлен пароль шифрования -" +" пожалуйста, перейдите в Личную информацию -> Настройки предпочтений и " "задайте пароль шифрования" #: accounts/notifications.py:86 @@ -1214,7 +1207,6 @@ msgid "Change password and Add" msgstr "Изменить пароль и добавить" #: accounts/risk_handlers.py:127 -#, python-brace-format msgid "Execution failed: {}" msgstr "Выполнение не удалось: {}" @@ -1248,9 +1240,9 @@ msgstr "Категория" #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/serializers.py:76 audits/serializers.py:211 #: authentication/models/connection_token.py:67 -#: authentication/serializers/connect_token_secret.py:138 ops/models/job.py:155 -#: perms/serializers/user_permission.py:28 terminal/models/applet/applet.py:40 -#: terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:138 +#: ops/models/job.py:155 perms/serializers/user_permission.py:28 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:152 terminal/serializers/applet.py:30 #: terminal/serializers/session.py:33 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -1273,7 +1265,8 @@ msgstr "Служба каталогов" #: accounts/serializers/account/account.py:278 #, python-brace-format msgid "Account already exists. Field(s): {fields} must be unique." -msgstr "Учётная запись уже существует. Поля: {fields} должны быть уникальными." +msgstr "" +"Учётная запись уже существует. Поля: {fields} должны быть уникальными." #: accounts/serializers/account/account.py:285 msgid "Has secret" @@ -1311,21 +1304,22 @@ msgstr "Выберите хотя бы один актив или папку" msgid "Spec info" msgstr "Специальная информация" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 -#: audits/models.py:97 audits/models.py:179 audits/models.py:296 -#: audits/serializers.py:212 authentication/models/connection_token.py:38 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:55 audits/models.py:97 audits/models.py:179 +#: audits/models.py:296 audits/serializers.py:212 +#: authentication/models/connection_token.py:38 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: authentication/notifications.py:16 authentication/notifications.py:55 #: notifications/models/notification.py:12 @@ -1343,7 +1337,7 @@ msgstr "ID" msgid "User" msgstr "Пользователь" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1368,11 +1362,11 @@ msgstr "Белый список IP" #: accounts/serializers/account/service.py:28 #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 -#: ops/models/job.py:165 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:44 terminal/models/applet/applet.py:46 -#: terminal/models/applet/applet.py:383 terminal/models/applet/host.py:143 -#: terminal/models/component/endpoint.py:29 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:165 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:44 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:383 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:29 #: terminal/models/component/endpoint.py:117 #: terminal/models/session/session.py:44 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1418,24 +1412,18 @@ msgid "" "length is the length of the password, and the range is 8 to 30.\n" "lowercase indicates whether the password contains lowercase letters, \n" "uppercase indicates whether it contains uppercase letters,\n" -"digit indicates whether it contains numbers, and symbol indicates whether it " -"contains special symbols.\n" -"exclude_symbols is used to exclude specific symbols. You can fill in the " -"symbol characters to be excluded (up to 16). \n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" "If you do not need to exclude symbols, you can leave it blank.\n" -"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" msgstr "" "length - это длина пароля, в диапазоне от 8 до 30.\n" "lowercase обозначает, присутствуют ли в пароле строчные буквы, \n" "uppercase указывает, содержатся ли заглавные буквы, \n" -"digit показывает, есть ли цифры, symbol обозначает наличие специальных " -"символов. \n" -"exclude_symbols используется для исключения определенных символов. Вы можете " -"ввести символы символов, которые необходимо исключить (до 16).\n" +"digit показывает, есть ли цифры, symbol обозначает наличие специальных символов. \n" +"exclude_symbols используется для исключения определенных символов. Вы можете ввести символы символов, которые необходимо исключить (до 16).\n" "Если исключать ничего не нужно, оставьте пустым.\n" -"По умолчанию: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"По умолчанию: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" @@ -1451,8 +1439,8 @@ msgid "" "default parameters will be used" msgstr "" "Укажите платформу, чтобы настроить особые параметры публикации УЗ. Если не " -"настраивать отдельные параметры, публикация УЗ будет выполнена с параметрами " -"по умолчанию" +"настраивать отдельные параметры, публикация УЗ будет выполнена с параметрами" +" по умолчанию" #: accounts/serializers/account/virtual.py:24 msgid "" @@ -1462,9 +1450,9 @@ msgid "" msgstr "" "В настоящее время поддерживается только вход через AD/LDAP. Порядок " "обработки: та же учетная запись в секрете актива > пароль для входа > ввод " -"вручную
В целях безопасности, пожалуйста, установите значение параметра " -"конфигурации CACHE_LOGIN_PASSWORD_ENABLED=true, перезапустите службу, чтобы " -"включить его" +"вручную
В целях безопасности, пожалуйста, установите значение параметра" +" конфигурации CACHE_LOGIN_PASSWORD_ENABLED=true, перезапустите службу, чтобы" +" включить его" #: accounts/serializers/automations/backup.py:19 msgid "Zip Encrypt Password" @@ -1567,19 +1555,13 @@ msgstr "Выполнение автоматизации УЗ" #: accounts/tasks/automation.py:36 msgid "" -"Unified execution entry for account automation tasks: when the system " -"performs tasks \n" -" such as account push, password change, account verification, account " -"collection, \n" -" and gateway account verification, all tasks are executed through " -"this unified entry" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" msgstr "" -"Единая запись для выполнения для задач автоматизации учетных записей: когда " -"система выполняет задачи\n" -"такие как публикация учетной записи, смена пароля, проверка учетной записи, " -"сбор учетных данных\n" -"и проверка учетной записи шлюза, все задачи выполняются через эту единую " -"запись" +"Единая запись для выполнения для задач автоматизации учетных записей: когда система выполняет задачи\n" +"такие как публикация учетной записи, смена пароля, проверка учетной записи, сбор учетных данных\n" +"и проверка учетной записи шлюза, все задачи выполняются через эту единую запись" #: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" @@ -1596,39 +1578,24 @@ msgstr "Периодическая очистка записей об измен #: accounts/tasks/automation.py:118 msgid "" -"The system will periodically clean up unnecessary password change and push " -"records, \n" -" including their associated change tasks, execution logs, assets, and " -"accounts. When any \n" -" of these associated items are deleted, the corresponding password " -"change and push records \n" -" become invalid. Therefore, to maintain a clean and efficient " -"database, the system will \n" -" clean up expired records at 2 a.m daily, based on the interval " -"specified by \n" -" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " -"This periodic cleanup \n" -" mechanism helps free up storage space and enhances the security and " -"overall performance \n" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" " of data management" msgstr "" -"Система регулярно очищает от ненужных записей о смене пароля и публикации " -"учётных записей,\n" -" включая связанные задания по смене пароля, журналы выполнения, " -"активы и учётные записи.\n" -" Если удалён хотя бы один из этих связанных элементов, " -"соответствующие записи о смене пароля\n" +"Система регулярно очищает от ненужных записей о смене пароля и публикации учётных записей,\n" +" включая связанные задания по смене пароля, журналы выполнения, активы и учётные записи.\n" +" Если удалён хотя бы один из этих связанных элементов, соответствующие записи о смене пароля\n" " и публикации становятся недействительными.\n" -" В целях поддержания чистоты базы данных и повышения её " -"эффективности, согласно интервалу,\n" -" указанному в параметре PERM_EXPIRED_CHECK_PERIODIC файла " -"конфигурации config.txt,\n" -" очистка производится ежедневно в 2 часа ночи для данных, срок " -"хранения которых истёк.\n" -" Такая регулярная очистка не только способствует высвобождению места " -"для хранения,\n" -" но и повышает безопасность управления данными и общую " -"производительность системы" +" В целях поддержания чистоты базы данных и повышения её эффективности, согласно интервалу,\n" +" указанному в параметре PERM_EXPIRED_CHECK_PERIODIC файла конфигурации config.txt,\n" +" очистка производится ежедневно в 2 часа ночи для данных, срок хранения которых истёк.\n" +" Такая регулярная очистка не только способствует высвобождению места для хранения,\n" +" но и повышает безопасность управления данными и общую производительность системы" #: accounts/tasks/push_account.py:40 accounts/tasks/push_account.py:54 msgid "Push accounts to assets" @@ -1656,12 +1623,10 @@ msgstr "" #: accounts/tasks/remove_account.py:28 msgid "" -"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " -"accounts' this \n" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" " task will be executed" msgstr "" -"При нажатии «Синхронное удаление» в «PAM - Обнаружение УЗ - Поиск учетных " -"записей»\n" +"При нажатии «Синхронное удаление» в «PAM - Обнаружение УЗ - Поиск учетных записей»\n" "будет выполнена эта задача" #: accounts/tasks/remove_account.py:50 @@ -1670,21 +1635,15 @@ msgstr "Очистка исторических УЗ" #: accounts/tasks/remove_account.py:52 msgid "" -"Each time an asset account is updated, a historical account is generated, so " -"it is \n" -" necessary to clean up the asset account history. The system will " -"clean up excess account \n" -" records at 2 a.m. daily based on the configuration in the \"System " -"settings - Features - \n" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" " Account storage - Record limit" msgstr "" -"Каждый раз, когда обновляется учетная запись активов, создается историческая " -"учетная запись,\n" +"Каждый раз, когда обновляется учетная запись активов, создается историческая учетная запись,\n" " поэтому необходимо очищать историю учетных записей активов.\n" -" Система будет очищать избыточные УЗ записи в 2 часа ночи ежедневно в " -"соответствии с настройками\n" -" в разделе \"Системные настройки - Функции\" - Хранилище учетной " -"записи - Ограничение записей" +" Система будет очищать избыточные УЗ записи в 2 часа ночи ежедневно в соответствии с настройками\n" +" в разделе \"Системные настройки - Функции\" - Хранилище учетной записи - Ограничение записей" #: accounts/tasks/remove_account.py:89 msgid "Remove historical accounts that are out of range." @@ -1696,8 +1655,7 @@ msgstr "Синхронизация информации с связанными #: accounts/tasks/template.py:14 msgid "" -"When clicking 'Sync new secret to accounts' in 'Console - Account - " -"Templates - \n" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" " Accounts' this task will be executed" msgstr "" "При нажатии «Синхронизировать новый секрет с УЗ» в «Консоль - Шаблоны -\n" @@ -1867,8 +1825,8 @@ msgstr "Потерянных УЗ не обнаружено" #: accounts/utils.py:55 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." msgstr "" "Если пароль начинается с `{{` и заканчивается на `}}`, пароль недопустим." @@ -1928,7 +1886,8 @@ msgid "1-100, the lower the value will be match first" msgstr "1-100 (меньшее число - выше приоритет)" #: acls/models/base.py:41 acls/serializers/base.py:57 -#: assets/models/cmd_filter.py:81 audits/models.py:99 audits/serializers.py:107 +#: assets/models/cmd_filter.py:81 audits/models.py:99 +#: audits/serializers.py:107 #: authentication/serializers/connect_token_secret.py:131 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:63 perms/serializers/permission.py:85 @@ -1952,7 +1911,7 @@ msgstr "Пользователь" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1997,7 +1956,6 @@ msgid "Command group" msgstr "Группа команд" #: acls/models/command_acl.py:86 -#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "Созданное регулярное выражение неверно: {}" @@ -2104,7 +2062,8 @@ msgstr "Название ACL" #: acls/notifications.py:24 acls/notifications.py:77 #: acls/templates/acls/asset_login_reminder.html:13 #: acls/templates/acls/user_login_reminder.html:11 -#: terminal/models/session/session.py:34 terminal/models/session/sharing.py:116 +#: terminal/models/session/session.py:34 +#: terminal/models/session/sharing.py:116 #: terminal/templates/terminal/_msg_command_warning.html:16 msgid "Login from" msgstr "Источник входа" @@ -2149,23 +2108,19 @@ msgid "Recipients" msgstr "Получатели" #: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79 -#, python-brace-format msgid "The organization `{}` does not exist" msgstr "Организация `{}` не существует" #: acls/serializers/base.py:132 -#, 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 "неверный адрес: `{}`" @@ -2228,8 +2183,8 @@ msgid "" "suspicious activity, please take the necessary actions immediately." msgstr "" "Пожалуйста, проверьте этот вход, чтобы обеспечить безопасность и правильное " -"использование актива. Если вы не разрешали этот вход или заметили какую-либо " -"подозрительную активность, немедленно примите необходимые меры." +"использование актива. Если вы не разрешали этот вход или заметили какую-либо" +" подозрительную активность, немедленно примите необходимые меры." #: acls/templates/acls/asset_login_reminder.html:20 #: acls/templates/acls/user_login_reminder.html:19 @@ -2259,7 +2214,6 @@ 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 "Нельзя удалить корневую папку ({})" @@ -2280,12 +2234,10 @@ msgid "App Assets" msgstr "Управление активами" #: assets/automations/base/manager.py:139 -#, python-brace-format msgid "Task: {} finished" msgstr "Задача: {} Выполнена" #: assets/automations/base/manager.py:340 -#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - Ansible отключена на платформе {}, выполнение задачи невозможно" @@ -2317,7 +2269,6 @@ msgid "No account" msgstr "Нет учетной записи" #: assets/automations/ping_gateway/manager.py:36 -#, python-brace-format msgid "Asset, {}, using account {}" msgstr "Актив, {}, с использованием учетной записи {}" @@ -2431,8 +2382,7 @@ msgstr "Облака" msgid "Web" msgstr "Веб" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Пользовательский тип" @@ -2510,8 +2460,8 @@ msgstr "Старые версии SSH, такие как openssh 5.x или 6.x" msgid "Netcat help text" msgstr "" "С использованием netcat (nc) в качестве прокси-инструмента соединения " -"перенаправляются от прокси-сервера к целевому хосту. Подходит для окружений, " -"где отсутствует поддержка родной опции SSH-прокси (-W), или для случаев, " +"перенаправляются от прокси-сервера к целевому хосту. Подходит для окружений," +" где отсутствует поддержка родной опции SSH-прокси (-W), или для случаев, " "когда требуется большая гибкость и контроль тайм-аута." #: assets/const/protocol.py:64 @@ -2548,8 +2498,8 @@ msgstr "Безопасный" #: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the " -"security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " @@ -2558,8 +2508,8 @@ msgid "" msgstr "" "Уровень безопасности соединения:
Any
втоматический выбор режима " "безопасности на основе протоколов безопасности, поддерживаемых клиентом и " -"сервером
RDP
Устаревшее шифрование RDP. Этот режим обычно используется " -"только для старых серверов Windows или в случаях, когда требуется " +"сервером
RDP
Устаревшее шифрование RDP. Этот режим обычно используется" +" только для старых серверов Windows или в случаях, когда требуется " "стандартный экран входа в Windows
TLS
Аутентификация и шифрование RDP " "через TLS
NLA
Этот режим использует шифрование TLS и требует " "предварительного ввода имени пользователя и пароля" @@ -2651,10 +2601,8 @@ msgid "Enable if this Redis instance is part of a cluster" msgstr "Включите, если этот экземпляр Redis является частью кластера" #: assets/const/protocol.py:276 -#, fuzzy -#| msgid "Name strategy" msgid "Namespace" -msgstr "Стратегия имени" +msgstr "Пространство имен" #: assets/const/protocol.py:288 msgid "Safe mode" @@ -3170,11 +3118,10 @@ msgid "port out of range (0-65535)" msgstr "порт вне диапазона (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "Требуется протокол: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "Недопустимые данные" @@ -3185,31 +3132,25 @@ msgstr "БД по умолчанию" #: assets/serializers/asset/database.py:23 msgid "CA cert help text" msgstr "" -"Поле Common Name (CN) устарело. Для проверки доменного имени, в соответствии " -"с RFC 5280, используйте поле Subject Alternative Name (SAN) для повышения " +"Поле Common Name (CN) устарело. Для проверки доменного имени, в соответствии" +" с RFC 5280, используйте поле Subject Alternative Name (SAN) для повышения " "безопасности." #: assets/serializers/asset/database.py:24 msgid "Postgresql ssl model help text" msgstr "" -"Prefer: Я не настаиваю на шифровании, но если сервер его поддерживает, я не " -"против дополнительной нагрузки.\n" -"Require: Я хочу, чтобы мои данные были зашифрованы, даже если это повлечёт " -"за собой дополнительную нагрузку.\n" +"Prefer: Я не настаиваю на шифровании, но если сервер его поддерживает, я не против дополнительной нагрузки.\n" +"Require: Я хочу, чтобы мои данные были зашифрованы, даже если это повлечёт за собой дополнительную нагрузку.\n" "Я доверяю сети, что соединение будет установлено с нужным сервером.\n" -"Verify CA: Я хочу, чтобы мои данные были зашифрованы, даже если это повлечёт " -"за собой дополнительную нагрузку.\n" -"При этом я хочу удостовериться, что подключаюсь к серверу, которому доверяю " -"(с проверкой через ЦС).\n" -"Verify Full: Я хочу, чтобы мои данные были зашифрованы, даже если это " -"повлечёт за собой дополнительную нагрузку.\n" -"При этом я хочу быть уверен, что подключаюсь именно к тому серверу, которому " -"доверяю, и который соответствует указанным параметрам." +"Verify CA: Я хочу, чтобы мои данные были зашифрованы, даже если это повлечёт за собой дополнительную нагрузку.\n" +"При этом я хочу удостовериться, что подключаюсь к серверу, которому доверяю (с проверкой через ЦС).\n" +"Verify Full: Я хочу, чтобы мои данные были зашифрованы, даже если это повлечёт за собой дополнительную нагрузку.\n" +"При этом я хочу быть уверен, что подключаюсь именно к тому серверу, которому доверяю, и который соответствует указанным параметрам." #: assets/serializers/asset/ds.py:18 msgid "" -"The domain part used by the directory service (e.g., AD) and appended to the " -"username during login, such as example.com in user@example.com." +"The domain part used by the directory service (e.g., AD) and appended to the" +" username during login, such as example.com in user@example.com." msgstr "" "Часть домена, используемая службой каталогов (например, AD) и добавляемая к " "имени пользователя при входе в систему, например example.com в " @@ -3217,8 +3158,8 @@ msgstr "" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" msgstr "" "Если сервер не может напрямую подключиться к адресу API, вам необходимо " "настроить HTTP-прокси. Например, http(s)://host:port" @@ -3416,8 +3357,8 @@ msgid "" "root" msgstr "" "При доступе к активам используйте учетную запись для входа, а затем " -"автоматически переключитесь на другую учетную запись, как если бы вы вошли с " -"обычной учетной записью и затем переключились на root" +"автоматически переключитесь на другую учетную запись, как если бы вы вошли с" +" обычной учетной записью и затем переключились на root" #: assets/serializers/platform.py:211 msgid "Assets can be connected using a zone gateway" @@ -3457,8 +3398,7 @@ msgstr "Сбор информации об активах" #: assets/tasks/gather_facts.py:25 msgid "" -"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " -"this task \n" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" " will be executed" msgstr "" "При нажатии «Обновить информацию об оборудовании» \n" @@ -3479,20 +3419,18 @@ msgstr "Проверка количества активов в папке" #: assets/tasks/nodes_amount.py:18 msgid "" -"Manually verifying asset quantities updates the asset count for nodes under " -"the \n" -" current organization. This task will be called in the following two " -"cases: when updating \n" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" " nodes and when the number of nodes exceeds 100" msgstr "" "Ручная проверка количества активов обновляет количество активов в папках\n" -" текущей организации. Эта задача будет вызвана в следующих двух " -"случаях:\n" +" текущей организации. Эта задача будет вызвана в следующих двух случаях:\n" " при обновлении узлов и когда количество узлов превысит 100" #: assets/tasks/nodes_amount.py:34 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" +"The task of self-checking is already running and cannot be started " +"repeatedly" msgstr "Задача самопроверки уже запущена и не может быть запущена повторно" #: assets/tasks/nodes_amount.py:40 @@ -3501,8 +3439,7 @@ msgstr "Периодическая проверка количества акт #: assets/tasks/nodes_amount.py:42 msgid "" -"Schedule the check_node_assets_amount_task to periodically update the asset " -"count of \n" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" " all nodes under all organizations" msgstr "" "Запланируйте check_node_assets_amount_task для периодического обновления\n" @@ -3531,23 +3468,21 @@ msgstr "Проверка доступности шлюза" #: assets/tasks/ping_gateway.py:23 msgid "" -"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " -"be executed" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" 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 "В целях безопасности, публикация пользователя {} запрещена" @@ -3560,10 +3495,11 @@ msgid "App Audits" msgstr "Аудит журналов" #: audits/backends/db.py:17 -msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" msgstr "" -"Содержимое текста слишком длинное. Пожалуйста, используйте Elasticsearch для " -"хранения журналов операций." +"Содержимое текста слишком длинное. Пожалуйста, используйте Elasticsearch для" +" хранения журналов операций." #: audits/backends/db.py:78 msgid "labels" @@ -3655,8 +3591,8 @@ msgstr "Завершено" #: audits/const.py:47 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:65 -#: terminal/serializers/session.py:181 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:65 terminal/serializers/session.py:181 msgid "Terminal" msgstr "Терминал" @@ -3692,7 +3628,8 @@ msgstr "Журнал аудита заданий" #: audits/models.py:57 audits/models.py:107 audits/models.py:182 #: audits/models.py:333 authentication/models/connection_token.py:62 -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:111 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:111 msgid "Remote addr" msgstr "Удалённый адрес" @@ -3930,22 +3867,16 @@ msgstr "Очистка журналов задач аудита сессий а #: audits/tasks.py:135 msgid "" -"Since the system generates login logs, operation logs, file upload logs, " -"activity \n" -" logs, Celery execution logs, session recordings, command records, " -"and password change \n" -" logs, it will perform cleanup of records that exceed the time limit " -"according to the \n" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" " 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" msgstr "" "Поскольку система генерирует журналы входа в систему, журналы операций,\n" -" журналы загрузки файлов, журналы активности, журналы выполнения " -"Celery,\n" -" записи сеансов, записи команд и журналы смены паролей, она будет " -"выполнять\n" +" журналы загрузки файлов, журналы активности, журналы выполнения Celery,\n" +" записи сеансов, записи команд и журналы смены паролей, она будет выполнять\n" " очистку записей, которые превышают лимит времени, в соответствии с\n" -" «Системные задачи - Регулярная очистка» в настройках системы в 2 " -"часа ночи ежедневно" +" «Системные задачи - Регулярная очистка» в настройках системы в 2 часа ночи ежедневно" #: audits/tasks.py:155 msgid "Upload FTP file to external storage" @@ -3953,12 +3884,10 @@ msgstr "Загрузка FTP файлов во внешнее хранилище #: audits/tasks.py:157 msgid "" -"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " -"management will be \n" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" " synchronized to external storage" msgstr "" -"Если настроен параметр SERVER_REPLAY_STORAGE, файлы, загруженные через " -"управление файлами,\n" +"Если настроен параметр SERVER_REPLAY_STORAGE, файлы, загруженные через управление файлами,\n" " будут синхронизированы с внешним хранилищем" #: authentication/api/access_key.py:39 @@ -3976,42 +3905,41 @@ msgstr "" "Эта операция требует подтверждения МФА, пожалуйста, сначала включите и " "настройте её" -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "" "Повторное использование токена не допускается, глобальная настройка не " "включена" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "Анонимная учетная запись не поддерживается для этого актива" -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "Разрешение истекло" -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "Действие правила — запрет: {}({})" -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "Действие правила — проверка" -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "Действие правила — идентификация по лицу" -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "Правило входа в актив не поддерживает текущий актив" -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "Действие правила — онлайн распознавание лица." -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "Нет доступных характеристик лица" @@ -4021,13 +3949,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "Пользователь не существует: {}" @@ -4036,7 +3962,6 @@ msgid "No user matched" msgstr "Нет подходящего пользователя" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4053,7 +3978,6 @@ msgid "Forgot password" msgstr "Забыли пароль" #: authentication/api/password.py:70 authentication/mfa/email.py:42 -#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "Срок действия кода проверки: {} мин" @@ -4062,10 +3986,8 @@ msgid "App Authentication" msgstr "Управление аутентификацией" #: authentication/backends/cas/views.py:19 -#, fuzzy -#| msgid "Error" msgid "CAS Error" -msgstr "Ошибка" +msgstr "Ошибка CAS" #: authentication/backends/custom.py:60 #: authentication/backends/oauth2/backends.py:158 @@ -4132,7 +4054,6 @@ msgid "Authentication failed password incorrect" msgstr "Ошибка аутентификации. Неверный пароль" #: authentication/confirm/relogin.py:11 -#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "Время сеанса превысило {} минут, пожалуйста, войдите снова" @@ -4218,11 +4139,10 @@ msgid "" "for {block_time} minutes)" msgstr "" "Введенное вами имя пользователя или пароль неверны, введите их еще раз. У " -"вас осталось попыток: {times_try}. После этого учетная запись будет временно " -"заблокирована на {block_time} минут" +"вас осталось попыток: {times_try}. После этого учетная запись будет временно" +" заблокирована на {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)" @@ -4231,19 +4151,18 @@ 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)" msgstr "" -"IP адрес заблокирован (обратитесь к администратору, чтобы разблокировать ее, " -"или повторите попытку через {} минут)" +"IP адрес заблокирован (обратитесь к администратору, чтобы разблокировать ее," +" или повторите попытку через {} минут)" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" msgstr "" "{error}, осталось попыток: {times_try}. После этого учетная запись будет " "временно заблокирована на {block_time} минут" @@ -4265,7 +4184,6 @@ msgid "Wait login confirm ticket for accept" msgstr "Ожидание обработки заявки на вход в систему" #: authentication/errors/const.py:67 -#, python-brace-format msgid "Login confirm ticket was {}" msgstr "Проверка входа: {}" @@ -4372,8 +4290,8 @@ msgstr "Пожалуйста, введите код безопасности" #: authentication/mfa/base.py:32 msgid "" -"The two-factor code you entered has either already been used or has expired. " -"Please request a new one." +"The two-factor code you entered has either already been used or has expired." +" Please request a new one." msgstr "" "Введенный вами второй фактор уже был использован или истек его срок " "действия. Пожалуйста, запросите новый." @@ -4451,46 +4369,31 @@ msgid "Clear phone number to disable" msgstr "Удалите номер телефона для отключения" #: authentication/middleware.py:96 settings/utils/ldap.py:714 -#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "Ошибка аутентификации (сбой до проверки входа): {}" #: authentication/mixins.py:166 -#, fuzzy -#| msgid "" -#| "The administrator has enabled \"Only allow existing users to log in\", \n" -#| " and the current user is not in the user list. Please " -#| "contact the administrator." msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please " -"contact the administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" -"Администратор включил опцию 'Разрешить вход только для существующих " -"пользователей'.\n" -" Текущий пользователь не найден в списке пользователей,\n" -" пожалуйста, свяжитесь с администратором." +"Администратор включил 'разрешить вход только для существующих " +"пользователей', текущий пользователь отсутствует в списке пользователей, " +"пожалуйста, свяжитесь с администратором." #: authentication/mixins.py:178 msgid "User is invalid" msgstr "Недействительный пользователь" #: authentication/mixins.py:195 -#, fuzzy, python-brace-format -#| msgid "" -#| "The administrator has enabled 'Only allow login from user source'. \n" -#| " The current user source is {}. Please contact the " -#| "administrator." msgid "" " The administrator has enabled 'Only allow login from user source'. \n" -" The current user source is {}. Please contact the " -"administrator. " +" The current user source is {}. Please contact the administrator. " msgstr "" -"Администратор включил «Разрешить вход только из источника пользователя».\n" -" Текущий источник пользователя — {}. Обратитесь к администратору." +"Администратор включил 'разрешить вход только из источника пользователей', " +"текущий источник пользователя - {}, пожалуйста, свяжитесь с администратором." #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "Способ МФА ({}) не включен" @@ -4559,7 +4462,6 @@ msgid "Connection token inactive" msgstr "Токен подключения неактивен" #: authentication/models/connection_token.py:174 -#, python-brace-format msgid "Connection token expired at: {}" msgstr "Срок действия токена подключения истек: {}" @@ -4696,7 +4598,6 @@ msgstr "Название организации" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 -#, python-brace-format msgid "The {} cannot be empty" msgstr "{} не может быть пустым" @@ -4714,8 +4615,8 @@ msgstr "Создать тип" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be " -"downloaded once" +"Please download the private key after creation. Each private key can only be" +" downloaded once" msgstr "" "После завершения создания, пожалуйста, скачайте закрытый ключ. Каждый " "закрытый ключ может быть скачан только один раз" @@ -4732,9 +4633,9 @@ msgid "Is valid" msgstr "Действует?" #: authentication/serializers/token.py:131 ops/models/adhoc.py:26 -#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 rbac/models/role.py:31 -#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 -#: settings/serializers/auth/oauth2.py:37 +#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 msgid "Scope" msgstr "Область" @@ -4744,11 +4645,11 @@ msgstr "Очистить просроченные сеансы" #: authentication/tasks.py:21 msgid "" -"Since user logins create sessions, the system will clean up expired sessions " -"every 24 hours" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" msgstr "" -"С момента входа и создания сессии система очищает просроченные сеансы каждые " -"24 часа" +"С момента входа и создания сессии система очищает просроченные сеансы каждые" +" 24 часа" #: authentication/tasks.py:30 msgid "Clean expired temporary, connection tokens" @@ -4874,8 +4775,8 @@ msgid "" "Please click the link below to reset your password, if not your request, " "concern your account security" msgstr "" -"Пожалуйста, нажмите на ссылку ниже для сброса пароля. Если вы не запрашивали " -"сброс, обратите внимание на безопасность своей учётной записи" +"Пожалуйста, нажмите на ссылку ниже для сброса пароля. Если вы не запрашивали" +" сброс, обратите внимание на безопасность своей учётной записи" #: authentication/templates/authentication/_msg_reset_password.html:10 msgid "Click here reset password" @@ -5010,8 +4911,8 @@ msgid "" "This page is not served over HTTPS. Please use HTTPS to ensure security of " "your credentials." msgstr "" -"Эта страница не использует протокол HTTPS, пожалуйста, используйте HTTPS для " -"обеспечения безопасности ваших учетных данных." +"Эта страница не использует протокол HTTPS, пожалуйста, используйте HTTPS для" +" обеспечения безопасности ваших учетных данных." #: authentication/templates/authentication/passkey.html:177 msgid "Do you want to retry ?" @@ -5107,7 +5008,6 @@ msgid "Redirecting" msgstr "Перенаправление" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "Перенаправление на {} для аутентификации" @@ -5116,12 +5016,10 @@ 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" @@ -5144,8 +5042,8 @@ msgstr "Вы успешно вышли, вернитесь на страницу #: authentication/views/mixins.py:28 msgid "" -"For your safety, automatic redirection login is not supported on the client. " -"If you need to open it in the client, please log in again" +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" msgstr "" "Для вашей безопасности автоматическая переадресация при входе не " "поддерживается в клиенте. Если необходимо открыть в клиенте, пожалуйста, " @@ -5275,8 +5173,8 @@ msgstr "Зашифрованное поле" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" "Поле JSON «многие ко многим» недопустимо, должно быть {'type': 'all'} или " @@ -5322,7 +5220,6 @@ msgid "Updated by" msgstr "Обновил" #: common/db/validators.py:9 -#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "Недопустимый диапазон портов. Должно быть в пределах {}-{}." @@ -5335,12 +5232,10 @@ 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 "Ошибка анализа файла: {}" @@ -5353,7 +5248,6 @@ msgid "Yes/No" msgstr "Да/Нет" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "Текст, максимальная длина {}" @@ -5362,17 +5256,14 @@ msgid "Long text, no length limit" msgstr "Длинный текст, без ограничений по длине" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "Число, мин {} макс {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "Формат даты и времени {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" @@ -5381,7 +5272,6 @@ msgstr "" "обязательно, доступные варианты: {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "Опции, доступные варианты: {}" @@ -5397,8 +5287,8 @@ msgstr "Теги, формат: [\"ключ:значение\"]" msgid "" "Object, format name(id), name is optional for human read, id is requisite" msgstr "" -"Связанные элементы, формат: имя(id), имя опционально для удобства чтения, id " -"обязательно" +"Связанные элементы, формат: имя(id), имя опционально для удобства чтения, id" +" обязательно" #: common/drf/renders/base.py:167 msgid "Object, format id" @@ -5413,8 +5303,7 @@ msgstr "" "является опциональным для удобства чтения, id является обязательным" #: common/drf/renders/base.py:173 -msgid "" -"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" msgstr "" "Теги, формат: [\"Ключ:Значение\", ...], Если тег не существует, то он будет " "создан" @@ -5424,7 +5313,6 @@ msgid "Objects, format [\"id\", ...]" msgstr "Много связанных элементов, формат: [\"id\", ...]" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -5491,8 +5379,8 @@ msgid "" "Connection failed: Self-signed certificate used. Please check server " "certificate configuration" msgstr "" -"Соединение не установлено: использован самоподписанный сертификат. Проверьте " -"конфигурацию сертификата сервера." +"Соединение не установлено: использован самоподписанный сертификат. Проверьте" +" конфигурацию сертификата сервера." #: common/sdk/im/exceptions.py:23 msgid "Network error, please contact system administrator" @@ -5515,7 +5403,6 @@ 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, ошибка: {}" @@ -5528,10 +5415,6 @@ 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" @@ -5553,7 +5436,6 @@ msgid "Custom type (File)" msgstr "Пользовательский (файл)" #: common/sdk/sms/endpoint.py:32 -#, python-brace-format msgid "SMS provider not support: {}" msgstr "Поставщик услуг SMS не поддерживается: {}" @@ -5570,7 +5452,6 @@ msgid "The verification code is incorrect" msgstr "Ошибка кода подтверждения" #: common/sdk/sms/exceptions.py:18 -#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "Пожалуйста, отправьте через {} секунд" @@ -5578,6 +5459,10 @@ msgstr "Пожалуйста, отправьте через {} секунд" msgid "Children" msgstr "Узел" +#: common/serializers/common.py:98 +msgid "File" +msgstr "Файл" + #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "Недопустимый тип данных" @@ -5599,11 +5484,10 @@ msgstr "Недопустимый тип данных, ожидается спи #: common/serializers/fields.py:353 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 -#, python-brace-format msgid "Invalid choice: {}" msgstr "Недопустимый выбор: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "Теги" @@ -5624,10 +5508,8 @@ msgstr "Отправка вложения электронной почты" #: common/tasks.py:81 msgid "" -"When an account password is changed or an account backup generates " -"attachments, \n" -" this task needs to be executed for sending emails and handling " -"attachments" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" msgstr "" "Эта задача выполняется для отправки вложений в электронных письмах -\n" " при изменении пароля учетной записи и создании вложений\n" @@ -5664,8 +5546,7 @@ msgstr "Отправить SMS-код подтверждения" #: common/utils/verify_code.py:19 msgid "" -"When resetting a password, forgetting a password, or verifying MFA, this " -"task needs to \n" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" " be executed to send SMS messages" msgstr "" "При сбросе пароля, восстановлении доступа или проверке МФА эта задача\n" @@ -5708,10 +5589,6 @@ msgstr "Ваша учетная запись была успешно созда msgid "JumpServer - An open-source PAM" msgstr "JumpServer открытая система управления доступом" -#: jumpserver/context_processor.py:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "

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

" @@ -5722,17 +5599,14 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"Luna — это отдельно развёрнутое приложение. Вам нужно развернуть Luna и " -"Koko.\n" -"Если вы видите эту страницу, значит, вы обратились не к порту, " -"прослушиваемому Nginx. Удачи!" +"Luna — это отдельно развёрнутое приложение. Вам нужно развернуть Luna и Koko.\n" +"Если вы видите эту страницу, значит, вы обратились не к порту, прослушиваемому Nginx. Удачи!" #: jumpserver/views/other.py:78 -#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "" -"Служба Websocket запущена на порту: {}, проверьте, настроен ли прокси-сервер " -"nginx" +"Служба Websocket запущена на порту: {}, проверьте, настроен ли прокси-сервер" +" nginx" #: jumpserver/views/other.py:92 msgid "" @@ -5740,11 +5614,9 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"Koko — это отдельно развёрнутое приложение. Вам необходимо развернуть " -"Koko и убедиться,\n" +"Koko — это отдельно развёрнутое приложение. Вам необходимо развернуть Koko и убедиться,\n" "что Nginx настроен на проксирование. \n" -"Если вы видите эту страницу, значит, вы обратились не к порту, " -"прослушиваемому Nginx. Удачи!" +"Если вы видите эту страницу, значит, вы обратились не к порту, прослушиваемому Nginx. Удачи!" #: labels/apps.py:8 msgid "App Labels" @@ -5791,7 +5663,6 @@ msgid "User message" msgstr "Сообщения пользователя" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} подписка" @@ -5805,8 +5676,7 @@ msgstr "Публикация внутренних сообщений" #: notifications/notifications.py:49 msgid "" -"This task needs to be executed for sending internal messages for system " -"alerts, \n" +"This task needs to be executed for sending internal messages for system alerts, \n" " work orders, and other notifications" msgstr "" "Эта задача выполняется при необходимости отправки внутреннего сообщения\n" @@ -5830,19 +5700,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:65 -#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "" +"Вход в актив { }({}) был отклонен, ограниченный правилами доступа ACL ({})" #: ops/api/job.py:88 #, python-brace-format @@ -6045,12 +5913,14 @@ msgid "Periodic run" msgstr "Периодическое выполнение" #: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 -#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:63 +#: settings/serializers/auth/ldap.py:81 +#: settings/serializers/auth/ldap_ha.py:63 msgid "Interval" msgstr "Интервал" #: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 -#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:60 +#: settings/serializers/auth/ldap.py:78 +#: settings/serializers/auth/ldap_ha.py:60 msgid "Crontab" msgstr "Crontab" @@ -6128,7 +5998,6 @@ msgid "Celery Task Execution" msgstr "Выполнение задачи Celery" #: ops/models/job.py:82 -#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "Модуль {} неприменим к этому активу" @@ -6301,7 +6170,8 @@ msgstr "Начать выполнение задачи Ansible" #: ops/tasks.py:91 msgid "Execute the task when manually adhoc or playbooks" -msgstr "Эта задача выполняется при ручном запуске быстрой команды или playbook" +msgstr "" +"Эта задача выполняется при ручном запуске быстрой команды или playbook" #: ops/tasks.py:106 msgid "Clear celery periodic tasks" @@ -6318,16 +6188,12 @@ msgstr "Создание или обновление периодических #: ops/tasks.py:134 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, tasks will be " -"registered or the parameters \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" " of scheduled tasks will be updated" msgstr "" -"По мере обновления версий могут добавляться новые задачи или изменяться " -"названия и время\n" -" выполнения задач, поэтому при запуске системы новые задачи будут " -"зарегистрированы или\n" +"По мере обновления версий могут добавляться новые задачи или изменяться названия и время\n" +" выполнения задач, поэтому при запуске системы новые задачи будут зарегистрированы или\n" " параметры запланированных задач будут обновлены." #: ops/tasks.py:147 @@ -6336,15 +6202,11 @@ msgstr "Периодическая проверка производительн #: ops/tasks.py:149 msgid "" -"Check every hour whether each component is offline and whether the CPU, " -"memory, \n" -" and disk usage exceed the thresholds, and send an alert message to " -"the administrator" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" msgstr "" -"Определяет каждый час, не отключен ли каждый компонент, не превышает ли " -"использование ЦП,\n" -" памяти и жесткого диска пороговое значение, и отправляет сообщение с " -"предупреждением\n" +"Определяет каждый час, не отключен ли каждый компонент, не превышает ли использование ЦП,\n" +" памяти и жесткого диска пороговое значение, и отправляет сообщение с предупреждением\n" " администратору" #: ops/tasks.py:159 @@ -6353,20 +6215,14 @@ msgstr "Очистка аномальных действий" #: ops/tasks.py:161 msgid "" -"Due to exceptions caused by executing adhoc and playbooks in the Job " -"Center, \n" -" which result in the task status not being updated, the system will " -"clean up abnormal jobs \n" -" that have not been completed for more than 3 hours every hour and " -"mark these tasks as \n" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" " failed" msgstr "" -"Поскольку выполнение быстрых команд и playbook через центр операций может " -"привести к сбоям,\n" -" статус задач может остаться не обновлённым. Система будет каждый час " -"автоматически\n" -" очищать сбои, длящихся более трёх часов, и помечать такие задачи как " -"неудачные." +"Поскольку выполнение быстрых команд и playbook через центр операций может привести к сбоям,\n" +" статус задач может остаться не обновлённым. Система будет каждый час автоматически\n" +" очищать сбои, длящихся более трёх часов, и помечать такие задачи как неудачные." #: ops/tasks.py:174 msgid "Clean job_execution db record" @@ -6374,20 +6230,14 @@ msgstr "Очистка истории выполнения в быстрых к #: ops/tasks.py:176 msgid "" -"Due to the execution of adhoc and playbooks in the Job Center, execution " -"records will \n" -" be generated. The system will clean up records that exceed the " -"retention period every day \n" -" at 2 a.m., based on the configuration of 'System Settings - Tasks - " -"Regular clean-up - \n" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" " Job execution retention days'" msgstr "" -"При выполнении быстрых команд и playbook через центр заданий создаются " -"записи выполнения.\n" -" Система будет регулярно удалять историю выполнения в центре заданий, " -"согласно настройкам\n" -" системы в разделе 'Список задач' - 'Регулярная очистка'. Очистка " -"записей, превышающих\n" +"При выполнении быстрых команд и playbook через центр заданий создаются записи выполнения.\n" +" Система будет регулярно удалять историю выполнения в центре заданий, согласно настройкам\n" +" системы в разделе 'Список задач' - 'Регулярная очистка'. Очистка записей, превышающих\n" " установленный срок хранения, происходит ежедневно в 2 часа ночи." #: ops/templates/ops/celery_task_log.html:4 @@ -6431,7 +6281,6 @@ msgid "Name of the job" msgstr "Название задания" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "Текущую организацию ({}) нельзя удалить" @@ -6444,7 +6293,6 @@ msgstr "" "переключитесь на другую организацию перед удалением" #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "Организация содержит ресурсы ({}) и не может быть удалена" @@ -6462,7 +6310,8 @@ msgstr "Пожалуйста, выберите организацию перед #: terminal/notifications.py:294 #: terminal/templates/terminal/_msg_command_warning.html:27 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:62 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:62 msgid "Organization" msgstr "Организация" @@ -6601,7 +6450,7 @@ msgid "today" msgstr "сегодня" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "день" @@ -6618,7 +6467,6 @@ msgid "Asset permissions is about to expire" msgstr "Срок действия разрешений на активы истекает" #: perms/notifications.py:64 -#, python-brace-format msgid "asset permissions of organization {}" msgstr "разрешения на активы организации {}" @@ -6627,8 +6475,8 @@ msgid "" "Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " "choices: @ALL, @SPEC, @USER, @ANON, @INPUT" msgstr "" -"Формат учётных записей: [\"@virtual\", \"root\", \"%template_id\"], варианты " -"virtual: @ALL, @SPEC, @USER, @ANON, @INPUT" +"Формат учётных записей: [\"@virtual\", \"root\", \"%template_id\"], варианты" +" virtual: @ALL, @SPEC, @USER, @ANON, @INPUT" #: perms/serializers/permission.py:49 msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" @@ -6644,19 +6492,13 @@ msgstr "Проверка: правило доступа к активу прос #: perms/tasks.py:30 msgid "" -"The cache of organizational collections, which have completed user " -"authorization tree \n" -" construction, will expire. Therefore, expired collections need to be " -"cleared from the \n" -" cache, and this task will be executed periodically based on the time " -"interval specified \n" -" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " -"config.txt" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" msgstr "" -"Поскольку кэш построенных пользовательских деревьев разрешений по " -"организациям\n" -" может устаревать, необходимо очищать просроченные записи. Эта задача " -"выполняется\n" +"Поскольку кэш построенных пользовательских деревьев разрешений по организациям\n" +" может устаревать, необходимо очищать просроченные записи. Эта задача выполняется\n" " по расписанию согласно интервалу, указанному в параметре\n" " PERM_EXPIRED_CHECK_PERIODIC файла config.txt." @@ -6666,17 +6508,13 @@ msgstr "Отправка уведомлений об истечении дейс #: perms/tasks.py:51 msgid "" -"Check every day at 10 a.m. and send a notification message to users " -"associated with \n" -" assets whose authorization is about to expire, as well as to the " -"organization's \n" -" administrators, 3 days in advance, to remind them that the asset " -"authorization will \n" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" " expire in a few days" msgstr "" "Каждый день в 10:00 система проверяет активы с истекающим сроком разрешений\n" -" и за три дня до окончания отправляет уведомления связанным " -"пользователям\n" +" и за три дня до окончания отправляет уведомления связанным пользователям\n" " и администраторам соответствующих организаций с информацией о том,\n" " сколько дней осталось до истечения срока действия." @@ -6699,7 +6537,6 @@ msgid "Internal role, can't be update" msgstr "Встроенную роль нельзя изменить" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} хотя бы одна системная роль" @@ -6875,7 +6712,7 @@ msgstr "Смена секрета аккаунта" msgid "App ops" msgstr "Центр задач" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "Функции" @@ -6918,8 +6755,8 @@ msgstr "Управление организациями" msgid "Ticket comment" msgstr "Комментарии к заявке" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "Заявка" @@ -6932,22 +6769,16 @@ msgid "View permission tree" msgstr "Просмотр дерева разрешений" #: rbac/tree.py:189 -#, fuzzy -#| msgid "Access key" msgid "Access token" -msgstr "Ключ доступа" +msgstr "Токен доступа" #: rbac/tree.py:190 -#, fuzzy -#| msgid "Access key" msgid "View access token" -msgstr "Ключ доступа" +msgstr "Просмотреть токен доступа" #: rbac/tree.py:191 -#, fuzzy -#| msgid "Access key" msgid "Revoke access token" -msgstr "Ключ доступа" +msgstr "Отменить токен доступа" #: reports/views.py:20 msgid "User login report" @@ -7001,14 +6832,13 @@ msgstr "Письмо успешно отправлено " msgid "Chat AI is not enabled" msgstr "Чат AI не включен" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "Успешное тестирование" #: settings/api/email.py:22 -#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "Письмо отправлено {}, пожалуйста, проверьте" @@ -7182,8 +7012,8 @@ msgid "" "suffix" msgstr "" "После успешной аутентификации через сторонний сервис, если платформа " -"сторонней аутентификации не возвращает адрес электронной почты пользователя, " -"система автоматически создаст пользователя с использованием данного " +"сторонней аутентификации не возвращает адрес электронной почты пользователя," +" система автоматически создаст пользователя с использованием данного " "почтового домена" #: settings/serializers/auth/base.py:37 @@ -7221,7 +7051,8 @@ msgid "CAS" msgstr "CAS" #: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 -#: settings/serializers/auth/ldap_ha.py:27 settings/serializers/auth/oidc.py:61 +#: settings/serializers/auth/ldap_ha.py:27 +#: settings/serializers/auth/oidc.py:61 msgid "Server" msgstr "Сервер" @@ -7246,9 +7077,11 @@ msgstr "Атрибут имени пользователя" msgid "Enable attributes map" msgstr "Включить сопоставление атрибутов" -#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 -#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:49 +#: settings/serializers/auth/ldap.py:67 +#: settings/serializers/auth/ldap_ha.py:49 #: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 #: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 #: settings/serializers/auth/wecom.py:18 @@ -7306,24 +7139,29 @@ msgstr "LDAP" msgid "LDAP server URI" msgstr "URI сервера LDAP" -#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31 +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 msgid "Bind DN" msgstr "Bind DN" -#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32 +#: settings/serializers/auth/ldap.py:50 +#: settings/serializers/auth/ldap_ha.py:32 msgid "Binding Distinguished Name" msgstr "" "Отличительное имя (Distinguished Name) пользователя для чтения каталога LDAP" -#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36 +#: settings/serializers/auth/ldap.py:54 +#: settings/serializers/auth/ldap_ha.py:36 msgid "Binding password" msgstr "Пароль пользователя Bind DN" -#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39 +#: settings/serializers/auth/ldap.py:57 +#: settings/serializers/auth/ldap_ha.py:39 msgid "Search OU" msgstr "OU для поиска" -#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41 +#: settings/serializers/auth/ldap.py:59 +#: settings/serializers/auth/ldap_ha.py:41 msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" @@ -7331,16 +7169,19 @@ msgstr "" "База поиска пользователей. При наличии нескольких OU их можно разделить " "символом `|`" -#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45 +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 msgid "Search filter" msgstr "Фильтр поиска" -#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46 +#: settings/serializers/auth/ldap.py:64 +#: settings/serializers/auth/ldap_ha.py:46 #, python-format msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" msgstr "Возможные варианты: (cn или uid или sAMAccountName=%(user)s)" -#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51 +#: settings/serializers/auth/ldap.py:69 +#: settings/serializers/auth/ldap_ha.py:51 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" @@ -7349,15 +7190,18 @@ msgstr "" "пользователя JumpServer, а \"значение\" — это имя атрибута пользователя " "службы LDAP" -#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67 +#: settings/serializers/auth/ldap.py:85 +#: settings/serializers/auth/ldap_ha.py:67 msgid "Connect timeout (s)" msgstr "Таймаут соединения (сек)" -#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70 +#: settings/serializers/auth/ldap.py:88 +#: settings/serializers/auth/ldap_ha.py:70 msgid "Strict sync" msgstr "Строгий режим" -#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71 +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 msgid "" "In strict mode, users not found in LDAP will be disabled during full or " "automatic sync" @@ -7365,7 +7209,8 @@ msgstr "" "После включения строгого режима полная или автоматическая синхронизация " "будет отключать пользователей, не найденных в LDAP" -#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76 +#: settings/serializers/auth/ldap.py:94 +#: settings/serializers/auth/ldap_ha.py:76 msgid "User DN cache timeout (s)" msgstr "Время кэширования User DN (сек)" @@ -7398,8 +7243,8 @@ msgstr "URI сервера LDAP HA" #: settings/serializers/auth/ldap_ha.py:78 msgid "" "Caching the User DN obtained during user login authentication can " -"effectivelyimprove the speed of user authentication., 0 means no cache
If " -"the user OU structure has been adjusted, click Submit to clear the user DN " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " "cache" msgstr "" "Кэширование DN пользователя, полученного при аутентификации пользователя, " @@ -7449,7 +7294,8 @@ msgid "End session endpoint" msgstr "Конечная точка завершения сеанса" #: settings/serializers/auth/oauth2.py:57 -msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" msgstr "При выходе пользователя из системы он также выходит из сервера OAuth2" #: settings/serializers/auth/oauth2.py:62 @@ -7461,8 +7307,8 @@ msgstr "" "пользователя JumpServer, а \"значение\" - название атрибута пользователя " "сервиса OAuth2" -#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:117 -#: settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:117 settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "Всегда обновлять пользователя" @@ -7496,8 +7342,8 @@ msgid "" "name and the `value` is the OIDC service user attribute name" msgstr "" "Сопоставление атрибутов пользователя, где \"ключ\" - это имя атрибута " -"пользователя JumpServer, а \"значение\" - это имя атрибута пользователя OIDC " -"службы" +"пользователя JumpServer, а \"значение\" - это имя атрибута пользователя OIDC" +" службы" #: settings/serializers/auth/oidc.py:45 msgid "Enable PKCE" @@ -7597,7 +7443,8 @@ msgid "OTP in RADIUS" msgstr "Использовать Radius OTP" #: settings/serializers/auth/radius.py:24 -msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" msgstr "" "* Использование OTP в RADIUS означает, что пользователь может использовать " "RADIUS как метод МФА" @@ -7710,12 +7557,12 @@ msgstr "Тип сообщения (ID Application)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." msgstr "" -"Шаблон должен содержать {code} и длина Подписи + шаблона не должна превышать " -"67 слов. Например: Ваш код подтверждения — {code}, который действителен в " +"Шаблон должен содержать {code} и длина Подписи + шаблона не должна превышать" +" 67 слов. Например: Ваш код подтверждения — {code}, который действителен в " "течение 5 минут. Пожалуйста, не разглашайте его другим." #: settings/serializers/auth/sms.py:94 @@ -7756,8 +7603,8 @@ msgid "" "name and the `value` is the WeCom service user attribute name" msgstr "" "Сопоставление атрибутов пользователя, где \"ключ\" — это название атрибута " -"пользователя JumpServer, а \"значение\" — это название атрибута пользователя " -"сервиса WeCom" +"пользователя JumpServer, а \"значение\" — это название атрибута пользователя" +" сервиса WeCom" #: settings/serializers/basic.py:11 msgid "Site URL" @@ -7765,8 +7612,8 @@ msgstr "URL сайта" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service " -"and is usually used in links in system emails" +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" msgstr "" "URL сайта - это доступный извне адрес текущих продуктов и услуг, обычно " "используется в ссылках системных электронных письмах" @@ -7798,8 +7645,8 @@ msgstr "URL документации" msgid "" "Document URL refers to the address in the top navigation bar Help - Document" msgstr "" -"URL документации относится к адресу в верхней навигационной панели, Помощь - " -"Документация" +"URL документации относится к адресу в верхней навигационной панели, Помощь -" +" Документация" #: settings/serializers/basic.py:30 msgid "Support URL" @@ -7861,8 +7708,8 @@ msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." msgstr "" -"Сессии, видеозаписи и записи команд, превышающие этот временной лимит, будут " -"удалены (влияет на хранение базы данных, но на OSS не влияет)" +"Сессии, видеозаписи и записи команд, превышающие этот временной лимит, будут" +" удалены (влияет на хранение базы данных, но на OSS не влияет)" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days" @@ -7902,8 +7749,8 @@ msgid "" msgstr "" "Если заданное значение меньше 999, система будет автоматически выполнять " "задачу каждый вечер: проверять и удалять устаревшие учётные записи, " -"превышающие установленное количество. Если значение равно или превышает 999, " -"удаление исторических учётных записей не производится" +"превышающие установленное количество. Если значение равно или превышает 999," +" удаление исторических учётных записей не производится" #: settings/serializers/feature.py:89 msgid "Mount Point" @@ -7916,7 +7763,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "Регион" @@ -7965,55 +7812,71 @@ msgstr "Модель GPT" msgid "DeepSeek Model" msgstr "Модель DeepSeek" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "Пользовательская модель" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "Использовать пользовательскую модель?" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "Пользовательская модель GPT" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "Настройте модель DeepSeek" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "Одобрение без входа" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "Разрешить одобрение заявок без необходимости входа в систему" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "Период" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "Стандартный период действия разрешения для заявки на активы" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "час" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "Единицы" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "Единица периода" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "Быстрые команды" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "" "Разрешить пользователю выполнять пакетные команды в разделе Рабочий стол - " "Центр заданий - Быстрые команды" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "Черный список команд" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "Чёрный список команд Быстрых команд" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -8021,11 +7884,11 @@ msgstr "Чёрный список команд Быстрых команд" msgid "Virtual app" msgstr "Виртуальное приложение" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "Виртуальное приложение" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -8054,8 +7917,8 @@ msgid "" "Password to use for the email server. It is used in conjunction with " "`Account` when authenticating to the email server" msgstr "" -"Пароль для почтового сервера. Он используется вместе с «Учетной записью» при " -"аутентификации на почтовом сервере" +"Пароль для почтового сервера. Он используется вместе с «Учетной записью» при" +" аутентификации на почтовом сервере" #: settings/serializers/msg.py:42 msgid "Sender" @@ -8076,8 +7939,8 @@ msgid "" "to as SSL. It is generally used on port 465" msgstr "" "Использовать ли неявное TLS-соединение (защищённое) при взаимодействии с " -"SMTP-сервером. В большинстве документации по электронной почте такой тип TLS-" -"соединения обозначается как SSL. Обычно используется порт 465" +"SMTP-сервером. В большинстве документации по электронной почте такой тип " +"TLS-соединения обозначается как SSL. Обычно используется порт 465" #: settings/serializers/msg.py:55 msgid "Use TLS" @@ -8089,7 +7952,8 @@ msgid "" "This is used for explicit TLS connections, generally on port 587" msgstr "" "Использовать ли TLS (защищённое) соединение при взаимодействии с SMTP-" -"сервером. Применяется для явного TLS-соединения, обычно используется порт 587" +"сервером. Применяется для явного TLS-соединения, обычно используется порт " +"587" #: settings/serializers/msg.py:65 msgid "Subject prefix" @@ -8097,8 +7961,8 @@ msgstr "Префикс темы" #: settings/serializers/msg.py:70 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" msgstr "" "Подсказка: тема письма, отправляемого при создании пользователя для " "установки пароля (например: Пользователь успешно создан)" @@ -8150,8 +8014,8 @@ msgid "" "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" msgstr "" -"Пароль пользователя станет недействительным, если не будет обновлён вовремя. " -"За 5 дней до истечения система начнёт ежедневно отправлять напоминания по " +"Пароль пользователя станет недействительным, если не будет обновлён вовремя." +" За 5 дней до истечения система начнёт ежедневно отправлять напоминания по " "почте" #: settings/serializers/security.py:28 @@ -8199,8 +8063,8 @@ msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." msgstr "" -"Когда количество неудачных попыток входа пользователя достигнет лимита, вход " -"будет запрещен на этот период времени." +"Когда количество неудачных попыток входа пользователя достигнет лимита, вход" +" будет запрещен на этот период времени." #: settings/serializers/security.py:70 settings/serializers/security.py:80 msgid "Login failures count" @@ -8252,8 +8116,8 @@ msgstr "Только из источника входа" #: settings/serializers/security.py:112 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" @@ -8358,9 +8222,9 @@ msgstr "Проверка при подозрительном входе" #: settings/serializers/security.py:175 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" msgstr "" "Система определяет, принадлежит ли IP-адрес входа городу обычного входа. " "Если учетная запись авторизована из другого города, система отправит " @@ -8436,8 +8300,8 @@ msgid "" "When a user connects to an asset, the account selection popup displays the " "number of active sessions for the current asset (RDP protocol only)." msgstr "" -"Когда пользователь подключается к активу, во всплывающем окне выбора учетной " -"записи отображается количество активных сессий для текущего актива (только " +"Когда пользователь подключается к активу, во всплывающем окне выбора учетной" +" записи отображается количество активных сессий для текущего актива (только " "протокол RDP)." #: settings/serializers/security.py:245 @@ -8497,8 +8361,8 @@ msgstr "Регистрация" #: settings/serializers/terminal.py:28 msgid "" -"Allow component register, after all component setup, you should disable this " -"for security" +"Allow component register, after all component setup, you should disable this" +" for security" msgstr "" "Разрешить регистрацию компонента. После настройки всех компонентов следует " "отключить эту функцию в целях безопасности" @@ -8514,8 +8378,8 @@ msgstr "" msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in " -"after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" msgstr "" "* Разрешить пользователям входить в компонент KoKo с помощью аутентификации " "с открытым ключом
Если включены сторонние службы аутентификации, такие " @@ -8532,8 +8396,8 @@ msgstr "Количество активов на странице" #: settings/serializers/terminal.py:55 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" msgstr "" "* Вы можете отдельно указать адрес и порт сервиса в настройках конечной " @@ -8542,8 +8406,8 @@ msgstr "" #: settings/serializers/terminal.py:63 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" "* Вы можете отдельно указать адрес и порт сервиса в настройках конечной " @@ -8557,7 +8421,8 @@ msgstr "Подключение клиента" #: settings/serializers/terminal.py:72 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to assets" +"Luna page will display the SSH client launch method when connecting to " +"assets" msgstr "" "* Разрешить подключение к компоненту KoKo через SSH-клиент
Если " "включено, на странице Luna будет показан метод запуска SSH-клиента при " @@ -8573,8 +8438,8 @@ msgstr "Инструменты на Рабочем столе" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools " -"in the workbench" +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" msgstr "" "*! При включении пользователям с правами RBAC становятся доступны все " "инструменты рабочего стола" @@ -8601,14 +8466,11 @@ msgstr "Регистрация задачи периодического имп #: settings/tasks/ldap.py:117 msgid "" -"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " -"sync task \n" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" -"При изменении параметров автоматической синхронизации LDAP, таких как " -"расписание\n" -" (например, Crontab), эта задача будет вызываться для повторной " -"регистрации\n" +"При изменении параметров автоматической синхронизации LDAP, таких как расписание\n" +" (например, Crontab), эта задача будет вызываться для повторной регистрации\n" " или обновления задачи LDAP-синхронизации" #: settings/tasks/ldap.py:131 @@ -8617,14 +8479,11 @@ msgstr "Регистрация задачи периодического имп #: settings/tasks/ldap.py:133 msgid "" -"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " -"LDAP HA sync task \n" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" -"При изменении параметров автоматической синхронизации LDAP HA, таких как " -"расписание\n" -" (например, Crontab), эта задача будет вызываться для повторной " -"регистрации\n" +"При изменении параметров автоматической синхронизации LDAP HA, таких как расписание\n" +" (например, Crontab), эта задача будет вызываться для повторной регистрации\n" " или обновления задачи LDAP-синхронизации" #: settings/templates/ldap/_msg_import_ldap_user.html:2 @@ -8648,24 +8507,19 @@ 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 -#, fuzzy, python-brace-format -#| msgid "Please add certificate: {}" msgid "Please add certificate: {}" -msgstr "Пожалуйста, добавьте сертификат" +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 "Неизвестная ошибка: {}" @@ -8674,27 +8528,22 @@ 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 отсутствует: {}" @@ -8707,58 +8556,47 @@ 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 "Успешная аутентификация: {}" @@ -8767,12 +8605,10 @@ 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 ", отключено {}" @@ -8910,30 +8746,25 @@ msgid "Home page" msgstr "Главная страница" #: templates/redirect_confirm.html:42 -#, fuzzy -#| msgid "" -#| "You are about to be redirected to an external website. Please confirm " -#| "that you trust this link: " msgid "You are about to be redirected to an external website." -msgstr "" -"Вы собираетесь перейти на внешний сайт. Пожалуйста, убедитесь, что вы " -"доверяете этой ссылке:" +msgstr "Вы собираетесь перейти на внешний сайт" #: templates/redirect_confirm.html:45 msgid "Please confirm that you trust this link: " -msgstr "" +msgstr "Пожалуйста, убедитесь, что вы доверяете следующей ссылке:" #: templates/redirect_confirm.html:55 msgid "Back" -msgstr "" +msgstr "Вернуться" #: templates/redirect_confirm.html:70 msgid "Redirecting you to the Desktop App ( JumpServer Client )" msgstr "" +"Происходит перенаправление на десктопное приложение (клиент JumpServer)" #: templates/redirect_confirm.html:73 msgid "You can safely close this window and return to the application." -msgstr "" +msgstr "Вы можете закрыть это окно и вернуться к приложению" #: templates/resource_download.html:20 templates/resource_download.html:36 #: users/const.py:84 @@ -8941,12 +8772,10 @@ msgid "Client" msgstr "Клиент" #: templates/resource_download.html:22 -#, fuzzy -#| msgid "JumpServer Client, currently used to launch the client" msgid "JumpServerClient, currently used to launch the client" msgstr "" -"Клиент JumpServer, используется для запуска программ для подключения к " -"активам" +"Клиент JumpServer в настоящее время используется для запуска конкретной " +"клиентской программы для подключения к активам" #: templates/resource_download.html:36 msgid "Microsoft" @@ -8993,7 +8822,6 @@ msgstr "" "недоступна в редакции сообщества" #: terminal/api/applet/applet.py:91 -#, python-brace-format msgid "Applet not found in path: {}" msgstr "Не найдено удалённое приложение по пути: {}" @@ -9006,7 +8834,6 @@ 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 "Удаление хранилища, которое используется, невозможно: {}" @@ -9019,7 +8846,6 @@ msgid "Invalid" msgstr "Недопустимый" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "Неудачный тест: {}" @@ -9046,7 +8872,6 @@ msgid "Session replay" msgstr "Запись сессий" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "Сессия не существует: {}" @@ -9054,7 +8879,7 @@ msgstr "Сессия не существует: {}" msgid "Session is finished or the protocol not supported" msgstr "Сессия завершена или протокол не поддерживается" -#: terminal/api/session/session.py:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "У пользователя нет прав" @@ -9219,12 +9044,10 @@ msgstr "Хосты" #: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 -#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Недопустимый пакет Applet: отсутствует файл {}" #: terminal/models/applet/applet.py:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Не удалось загрузить platform.yml: {}" @@ -9570,19 +9393,15 @@ msgstr "Адрес службы Core" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" "Подсказка: используется для связи между машиной публикации приложений и\n" -" службой Core. Если они находятся в одной подсети, рекомендуется " -"указать\n" +" службой Core. Если они находятся в одной подсети, рекомендуется указать\n" " внутренний адрес; в противном случае — текущий URL сайта.\n" " Например: https://172.16.10.110 или https://dev.jumpserver.com»" @@ -9597,12 +9416,13 @@ msgstr "Существующая лицензия RDS" #: terminal/serializers/applet_host.py:50 msgid "" "If not exist, the RDS will be in trial mode, and the trial period is 120 " -"days. Detail" +"days. Detail" msgstr "" -"Если лицензия отсутствует, RDS будет работать в пробном режиме в течение 120 " -"дней. Подробнее" +"Если лицензия отсутствует, RDS будет работать в пробном режиме в течение 120" +" дней. Подробнее" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9621,8 +9441,8 @@ msgid "" "Tips: A RDS user can have only one session at a time. If set, when next " "login connected, previous session will be disconnected." msgstr "" -"Подсказка: пользователь RDS может иметь только одну сессию одновременно. При " -"включении этой настройки предыдущая сессия будет отключена при следующем " +"Подсказка: пользователь RDS может иметь только одну сессию одновременно. При" +" включении этой настройки предыдущая сессия будет отключена при следующем " "входе" #: terminal/serializers/applet_host.py:65 @@ -9643,8 +9463,8 @@ msgstr "Тайм-аут завершения RDS-удалённого прило #: terminal/serializers/applet_host.py:74 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." msgstr "" "Подсказка: задаёт время завершения сессии RemoteApp после закрытия всех " "приложений. При значении 0 мс сессия завершится немедленно." @@ -9656,22 +9476,19 @@ msgstr "Статус нагрузки" #: terminal/serializers/applet_host.py:97 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" -"Эти учётные записи используются для подключения к опубликованным " -"приложениям.\n" +"Эти учётные записи используются для подключения к опубликованным приложениям.\n" "Сейчас доступно два типа учётных записей:\n" -"
Один тип — персональные, каждая учётная запись привязана к конкретному " -"пользователю.\n" +"
Один тип — персональные, каждая учётная запись привязана к конкретному пользователю.\n" "Второй тип — общие: если приложение не поддерживает множественные сессии,\n" "а персональная учётная запись уже занята, используется общая.\n" "
Важно: если автоматическое создание учётных записей отключено,\n" -"текущий сервер публикации может назначаться только активам с соответствующим " -"тегом.\n" +"текущий сервер публикации может назначаться только активам с соответствующим тегом.\n" "По умолчанию он не включается в пул планирования\n" "и требует ручного управления учётными записями." @@ -9743,8 +9560,8 @@ msgstr "" #: terminal/serializers/endpoint.py:54 msgid "" -"The assets within this IP range or Host, the following endpoint will be used " -"for the connection" +"The assets within this IP range or Host, the following endpoint will be used" +" for the connection" msgstr "" "Активы в пределах данного диапазона IP или хоста будут подключены с " "использованием следующей конечной точки." @@ -9789,7 +9606,6 @@ msgid "No asset or invalid asset" msgstr "Активы отсутствуют или отключены" #: terminal/serializers/storage.py:23 -#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "Недопустимая конечная точка: путь {} удалён" @@ -10017,12 +9833,10 @@ msgstr "Очистка неактивных сессий" #: terminal/tasks.py:45 msgid "" -"Check every 10 minutes for asset connection sessions that have been inactive " -"for 3 \n" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" " minutes and mark these sessions as completed" msgstr "" -"Каждые 10 минут проверяются сессии соединений с активами, которые не " -"активны\n" +"Каждые 10 минут проверяются сессии соединений с активами, которые не активны\n" " в течение 3 минут, и эти сессии помечаются как завершённые" #: terminal/tasks.py:68 @@ -10031,12 +9845,10 @@ msgstr "Загрузка записи сессии во внешнее хран #: terminal/tasks.py:70 terminal/tasks.py:104 msgid "" -"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " -"and \n" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" " recordings will be uploaded to external storage" msgstr "" -"Если настроено SERVER_REPLAY_STORAGE, файлы, загруженные через файловый " -"менеджер,\n" +"Если настроено SERVER_REPLAY_STORAGE, файлы, загруженные через файловый менеджер,\n" " будут синхронизированы с внешним хранилищем" #: terminal/tasks.py:102 @@ -10049,8 +9861,7 @@ msgstr "Запуск развертывания хоста приложения" #: terminal/tasks.py:126 msgid "" -"When deploying from the remote application publisher details page, and the " -"'Deploy' \n" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" " button is clicked, this task will be executed" msgstr "" "При развертывании через страницу деталей удалённого приложения и нажатии\n" @@ -10062,12 +9873,10 @@ msgstr "Установка приложения" #: terminal/tasks.py:140 msgid "" -"When the 'Deploy' button is clicked in the 'Remote Application' section of " -"the remote \n" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" " application publisher details page, this task will be executed" msgstr "" -"Когда нажимается кнопка 'Развернуть' в разделе 'Удалённое приложение' на " -"странице\n" +"Когда нажимается кнопка 'Развернуть' в разделе 'Удалённое приложение' на странице\n" " деталей удалённого приложения, эта задача будет выполнена" #: terminal/tasks.py:152 @@ -10076,12 +9885,10 @@ msgstr "Удаление приложения" #: terminal/tasks.py:155 msgid "" -"When the 'Uninstall' button is clicked in the 'Remote Application' section " -"of the \n" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" " remote application publisher details page, this task will be executed" msgstr "" -"Когда нажимается кнопка 'Удалить' в разделе 'Удалённое приложение' на " -"странице\n" +"Когда нажимается кнопка 'Удалить' в разделе 'Удалённое приложение' на странице\n" " деталей удалённого приложения, эта задача будет выполнена" #: terminal/tasks.py:167 @@ -10090,12 +9897,10 @@ msgstr "Генерация учётных записей хоста для пр #: terminal/tasks.py:170 msgid "" -"When a remote publishing server is created and an account needs to be " -"created \n" +"When a remote publishing server is created and an account needs to be created \n" " automatically, this task will be executed" msgstr "" -"Когда создаётся удалённый сервер публикации и необходимо автоматически " -"создать\n" +"Когда создаётся удалённый сервер публикации и необходимо автоматически создать\n" " учётную запись, эта задача будет выполнена" #: terminal/tasks.py:184 @@ -10104,18 +9909,13 @@ msgstr "Проверка доступности хранилища для ком #: terminal/tasks.py:186 msgid "" -"Check every day at midnight whether the external storage for commands and " -"recordings \n" -" is accessible. If it is not accessible, send a notification to the " -"recipients specified \n" -" in 'System Settings - Notifications - Subscription - Storage - " -"Connectivity'" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" msgstr "" "Каждую ночь в полночь проверяется доступность внешнего хранилища для команд\n" -" и записей. Если оно недоступно, отправляется уведомление " -"получателям,\n" -" указанным в 'Настройки системы - Уведомления - Подписка - Хранилище " -"- Доступность" +" и записей. Если оно недоступно, отправляется уведомление получателям,\n" +" указанным в 'Настройки системы - Уведомления - Подписка - Хранилище - Доступность" #: terminal/templates/terminal/_msg_command_alert.html:10 msgid "view" @@ -10123,8 +9923,8 @@ msgstr "просмотр" #: terminal/templates/terminal/_msg_command_warning.html:5 msgid "" -"We would like to inform you that a command alert has been triggered with the " -"following details:" +"We would like to inform you that a command alert has been triggered with the" +" following details:" msgstr "Сообщаем, что сработало предупреждение о команде. Детали ниже:" #: terminal/templates/terminal/_msg_command_warning.html:7 @@ -10199,7 +9999,6 @@ msgid "Ticket already closed" msgstr "Заявка уже закрыта" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10220,7 +10019,6 @@ msgid "After change" msgstr "После изменения" #: tickets/handlers/base.py:96 -#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} заявка" @@ -10360,22 +10158,18 @@ msgid "Ticket applied info" msgstr "Информация о заявке" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" 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 "Заявка обработана - {} ({})" @@ -10389,7 +10183,8 @@ msgstr "Исполнитель" #: tickets/serializers/ticket/apply_asset.py:16 msgid "Support fuzzy search, and display up to 10 items" -msgstr "Поддерживает нечеткие условия поиска, отображает максимум 10 элементов" +msgstr "" +"Поддерживает нечеткие условия поиска, отображает максимум 10 элементов" #: tickets/serializers/ticket/apply_asset.py:22 msgid "Apply assets" @@ -10405,7 +10200,6 @@ msgstr "Запрос действий" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 -#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "Создано по заявке ({}-{})" @@ -10414,7 +10208,6 @@ 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 "Разрешение с именем `{}` уже существует" @@ -10423,7 +10216,6 @@ msgid "Process map" msgstr "Схема процесса" #: tickets/serializers/ticket/ticket.py:91 -#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "Поток заявок `{}` не существует" @@ -10595,12 +10387,12 @@ msgstr "* Включите МФА, чтобы сделать учетную за #: users/forms/profile.py:69 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" -"Чтобы защитить вас и вашу компанию, пожалуйста, храните свою учетную запись, " -"пароль и ключевую конфиденциальную информацию должным образом. (например, " +"Чтобы защитить вас и вашу компанию, пожалуйста, храните свою учетную запись," +" пароль и ключевую конфиденциальную информацию должным образом. (например, " "устанавливая сложный пароль, включая многофакторную аутентификацию)" #: users/forms/profile.py:76 @@ -10803,11 +10595,11 @@ msgstr "Название темы терминала" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files, " -"account password change results files" +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" msgstr "" -"*! Пароль для шифрования файлов, который используется для расшифровки, когда " -"система отправляет электронные письма, содержащие вложенные файлы. " +"*! Пароль для шифрования файлов, который используется для расшифровки, когда" +" система отправляет электронные письма, содержащие вложенные файлы. " "
Например: файлы резервных копий учетных записей, файлы результатов " "изменения пароля учетной записи" @@ -10831,7 +10623,8 @@ msgstr "Асинхронная загрузка дерева активов" msgid "Connect default open method" msgstr "Подключить с настройками по умолчанию" -#: users/serializers/preference/luna.py:34 xpack/plugins/interface/models.py:41 +#: users/serializers/preference/luna.py:34 +#: xpack/plugins/interface/models.py:41 #: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "Тема" @@ -10901,7 +10694,6 @@ 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 "Новый пароль не может совпадать с паролями за последние {} раз" @@ -10915,11 +10707,11 @@ msgstr "Системные роли" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across " -"all organizations" +"System roles are roles at the system level, and they will take effect across" +" all organizations" msgstr "" -"Системные роли — это роли на уровне системы, и они будут действовать во всех " -"организациях." +"Системные роли — это роли на уровне системы, и они будут действовать во всех" +" организациях." #: users/serializers/user.py:61 msgid "Org roles" @@ -11022,10 +10814,11 @@ msgstr "Есть открытый ключ" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for more" +"* For security, only a partial of users is displayed. You can search for " +"more" msgstr "" -"* В целях безопасности отображаются только некоторые пользователи. Вы можете " -"выполнить поиск по другим" +"* В целях безопасности отображаются только некоторые пользователи. Вы можете" +" выполнить поиск по другим" #: users/serializers/user.py:461 msgid "name not unique" @@ -11034,11 +10827,9 @@ msgstr "имя не уникально" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" -"Администратор включил опцию 'Разрешить вход только для существующих " -"пользователей'.\n" +"Администратор включил опцию 'Разрешить вход только для существующих пользователей'.\n" " Текущий пользователь не найден в списке пользователей,\n" " пожалуйста, свяжитесь с администратором." @@ -11048,8 +10839,7 @@ msgstr "Очистка устаревших пользовательских с #: users/signal_handlers.py:181 msgid "" -"After logging in via the web, a user session record is created. At 2 a.m. " -"every day, \n" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" " the system cleans up inactive user devices" msgstr "" "После входа через веб-интерфейс создаётся запись сессии пользователя.\n" @@ -11062,12 +10852,10 @@ msgstr "Проверка истечения срока действия паро #: users/tasks.py:28 msgid "" -"Check every day at 10 AM whether the passwords of users in the system are " -"expired, \n" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" " and send a notification 5 days in advance" msgstr "" -"Каждый день в 10 утра система проверяет, истёк ли срок действия паролей " -"пользователей,\n" +"Каждый день в 10 утра система проверяет, истёк ли срок действия паролей пользователей,\n" " и отправляет уведомление за 5 дней до истечения" #: users/tasks.py:46 @@ -11076,18 +10864,13 @@ msgstr "Периодическая проверка срока действия #: users/tasks.py:48 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if passwords have expired" msgstr "" -"С учётом итераций версий, могут быть добавлены новые задачи или изменены " -"имена задач\n" -" и время их выполнения. Поэтому при запуске системы необходимо " -"зарегистрировать\n" -" или обновить параметры задачи проверки истечения срока действия " -"пароля." +"С учётом итераций версий, могут быть добавлены новые задачи или изменены имена задач\n" +" и время их выполнения. Поэтому при запуске системы необходимо зарегистрировать\n" +" или обновить параметры задачи проверки истечения срока действия пароля." #: users/tasks.py:67 msgid "Check user expired" @@ -11095,12 +10878,10 @@ msgstr "Проверка истечения срока действия поль #: users/tasks.py:69 msgid "" -"Check every day at 2 p.m whether the users in the system are expired, and " -"send a \n" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" " notification 5 days in advance" msgstr "" -"Каждый день в 14:00 система проверяет, истёк ли срок действия " -"пользователей,\n" +"Каждый день в 14:00 система проверяет, истёк ли срок действия пользователей,\n" " и отправляет уведомление за 5 дней до истечения" #: users/tasks.py:90 @@ -11109,18 +10890,13 @@ msgstr "Периодическая проверка истечения срок #: users/tasks.py:92 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if users have expired" msgstr "" -"С учётом итераций версий, могут быть добавлены новые задачи или изменены " -"имена задач\n" -" и время их выполнения. Поэтому при запуске системы необходимо " -"зарегистрировать\n" -" или обновить параметры задачи проверки истечения срока действия " -"пароля." +"С учётом итераций версий, могут быть добавлены новые задачи или изменены имена задач\n" +" и время их выполнения. Поэтому при запуске системы необходимо зарегистрировать\n" +" или обновить параметры задачи проверки истечения срока действия пароля." #: users/tasks.py:111 msgid "Check unused users" @@ -11128,16 +10904,13 @@ msgstr "Проверка неиспользуемых пользователей #: users/tasks.py:113 msgid "" -"At 2 p.m. every day, according to the configuration in \"System Settings - " -"Security - \n" -" Auth security - Auto disable threshold\" users who have not logged " -"in or whose API keys \n" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" " have not been used for a long time will be disabled" msgstr "" "Каждый день в 14:00, согласно настройкам системы — безопасность —\n" " Автоматическое отключение неактивных пользователей, пользователи,\n" -" которые долго не входили в систему или не использовали API-ключи, " -"будут отключены" +" которые долго не входили в систему или не использовали API-ключи, будут отключены" #: users/tasks.py:157 msgid "The user has not logged in recently and has been disabled." @@ -11276,8 +11049,8 @@ msgstr "Привязать приложение МФА" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" msgstr "" "Используйте приложение аутентификации МФА для сканирования следующего QR-" "кода и получения 6-значного кода" @@ -11351,7 +11124,8 @@ msgstr "Уже привязано" #: users/views/profile/otp.py:107 msgid "MFA already bound, disable first, then bound" msgstr "" -"МФА(OTP) уже привязана, пожалуйста, сначала отключите, затем привяжите заново" +"МФА(OTP) уже привязана, пожалуйста, сначала отключите, затем привяжите " +"заново" #: users/views/profile/otp.py:134 msgid "OTP enable success" @@ -11378,31 +11152,28 @@ 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: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" msgstr "" -"Пользователи, не являющиеся локальными, могут входить только через сторонние " -"платформы и не могут изменить свой пароль: {}" +"Пользователи, не являющиеся локальными, могут входить только через сторонние" +" платформы и не могут изменить свой пароль: {}" #: users/views/profile/reset.py:188 users/views/profile/reset.py:199 msgid "Token invalid or expired" msgstr "Неверный или истёкший токен" #: users/views/profile/reset.py:204 -#, python-brace-format msgid "User auth from {}, go there change password" msgstr "" -"Аутентификация пользователя происходит через {}, пожалуйста, измените пароль " -"в соответствующей системе" +"Аутентификация пользователя происходит через {}, пожалуйста, измените пароль" +" в соответствующей системе" #: users/views/profile/reset.py:211 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 "* Новый пароль не может быть одним из последних {} паролей" @@ -11427,12 +11198,10 @@ 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 "" "Пользователь {} удалил активы, которые были освобождены в текущем ресурсе" @@ -11490,10 +11259,8 @@ msgid "Volcengine" msgstr "Volcengine" #: xpack/plugins/cloud/const.py:22 -#, fuzzy -#| msgid "Huawei Cloud" msgid "State Cloud" -msgstr "Huawei Cloud" +msgstr "Тяньи Юн" #: xpack/plugins/cloud/const.py:24 msgid "VMware" @@ -11633,10 +11400,6 @@ msgstr "Синхронизируемые регионы" msgid "Get instances of region \"%s\" error, error: %s" msgstr "Произошла ошибка при получении экземпляров региона \"%s\", ошибка: %s" -#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:290 -msgid "Instance" -msgstr "Экземпляр" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11648,8 +11411,8 @@ msgid "" "The updated platform of asset \"%s\" is inconsistent with the original " "platform type. Skip platform and protocol updates" msgstr "" -"Обновлённая платформа актива \"%s\" не совпадает с исходным типом платформы. " -"Пропущено обновление платформы и протокола" +"Обновлённая платформа актива \"%s\" не совпадает с исходным типом платформы." +" Пропущено обновление платформы и протокола" #: xpack/plugins/cloud/manager.py:443 #, python-format @@ -11781,11 +11544,16 @@ msgstr "Задача синхронизации" msgid "Sync instance task history" msgstr "История задач синхронизации экземпляра" +#: xpack/plugins/cloud/models.py:290 +msgid "Instance" +msgstr "Экземпляр" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "Детали синхронизации экземпляра" -#: xpack/plugins/cloud/models.py:319 xpack/plugins/cloud/serializers/task.py:79 +#: xpack/plugins/cloud/models.py:319 +#: xpack/plugins/cloud/serializers/task.py:79 msgid "Rule relation" msgstr "Логика правил" @@ -11841,7 +11609,8 @@ msgstr "Сопоставление правила" msgid "Rule value" msgstr "Значение правила" -#: xpack/plugins/cloud/models.py:395 xpack/plugins/cloud/serializers/task.py:82 +#: xpack/plugins/cloud/models.py:395 +#: xpack/plugins/cloud/serializers/task.py:82 msgid "Strategy rule" msgstr "Правило стратегии" @@ -11857,7 +11626,8 @@ msgstr "Атрибуты действия" msgid "Action value" msgstr "Значение действия" -#: xpack/plugins/cloud/models.py:422 xpack/plugins/cloud/serializers/task.py:85 +#: xpack/plugins/cloud/models.py:422 +#: xpack/plugins/cloud/serializers/task.py:85 msgid "Strategy action" msgstr "Действия стратегии" @@ -12066,10 +11836,8 @@ msgid "Port \"%(port)s\" of instance IP \"%(ip)s\" is not reachable" msgstr "Порт %(port)s IP-адреса экземпляра %(ip)s недоступен" #: xpack/plugins/cloud/providers/scp.py:108 -#, fuzzy -#| msgid "empty" msgid "Empty" -msgstr "пусто" +msgstr "Пусто" #: xpack/plugins/cloud/serializers/account.py:106 msgid "Validity display" @@ -12103,12 +11871,6 @@ msgstr "Конечная точка API" msgid "Auto node classification" msgstr "Автоматическая классификация узлов" -#: xpack/plugins/cloud/serializers/account_attrs.py:108 -#, fuzzy -#| msgid "Domain name" -msgid "domain_name" -msgstr "Доменное имя" - #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "URL аутентификации" @@ -12122,10 +11884,8 @@ msgid "User domain" msgstr "Домен пользователя" #: xpack/plugins/cloud/serializers/account_attrs.py:157 -#, fuzzy -#| msgid "Project" msgid "Project ID" -msgstr "Проект" +msgstr "проект" #: xpack/plugins/cloud/serializers/account_attrs.py:164 msgid "Cert File" @@ -12144,7 +11904,6 @@ 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-адрес: `{}`, {}" @@ -12158,9 +11917,9 @@ msgid "" "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." msgstr "" -"Порт используется для проверки правильности IP-адреса. При выполнении задачи " -"синхронизации будет синхронизирован только действительный IP-адрес.
Если " -"порт равен 0, все IP-адреса допустимы." +"Порт используется для проверки правильности IP-адреса. При выполнении задачи" +" синхронизации будет синхронизирован только действительный IP-адрес. " +"
Если порт равен 0, все IP-адреса допустимы." #: xpack/plugins/cloud/serializers/account_attrs.py:227 msgid "Hostname prefix" @@ -12192,8 +11951,8 @@ msgstr "Количество экземпляров" #: xpack/plugins/cloud/tasks.py:33 msgid "" -"Execute this task when manually or scheduled cloud synchronization tasks are " -"performed" +"Execute this task when manually or scheduled cloud synchronization tasks are" +" performed" msgstr "" "Эта задача выполняется при ручной или запланированной синхронизации облака" @@ -12204,16 +11963,12 @@ msgstr "" #: xpack/plugins/cloud/tasks.py:52 msgid "" -"Every day, according to the configuration in \"System Settings - Tasks - " -"Regular \n" -" clean-up - Cloud sync task history retention days\" the system will " -"clean up the execution \n" +"Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" " records generated by cloud synchronization" msgstr "" -"Каждый день система будет согласно настройкам в «Системных настройках - " -"Задачи -\n" -" Регулярная очистка - Срок хранения истории задач синхронизации " -"облака»\n" +"Каждый день система будет согласно настройкам в «Системных настройках - Задачи -\n" +" Регулярная очистка - Срок хранения истории задач синхронизации облака»\n" " очищать записи о выполнении задач синхронизации облака." #: xpack/plugins/interface/api.py:52 @@ -12264,25 +12019,3 @@ msgstr "Лицензия успешно импортирована" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "Лицензия недействительна" - -#~ msgid "" -#~ "CAS login was successful, but no corresponding local user was found in " -#~ "the system, and automatic user creation is disabled in the CAS " -#~ "authentication configuration. Login failed." -#~ msgstr "" -#~ "Вход через CAS выполнен успешно, но локальный пользователь не найден, и " -#~ "функция автоматического создания пользователя в настройках CAS не " -#~ "включена — вход не выполнен." - -#~ msgid "Invalid token or cache refreshed." -#~ msgstr "Обновлённый токен или кэш недействителен." - -#~ msgid "Create user" -#~ msgstr "Создать пользователя" - -#~ msgid "" -#~ "After successful user authentication, if the user does not exist, " -#~ "automatically create the user" -#~ msgstr "" -#~ "После успешной аутентификации пользователя, пользователь будет создан " -#~ "автоматически, если он ещё не существует в системе" diff --git a/apps/i18n/core/vi/LC_MESSAGES/django.po b/apps/i18n/core/vi/LC_MESSAGES/django.po index 64ebfa5f4..7193aa17c 100644 --- a/apps/i18n/core/vi/LC_MESSAGES/django.po +++ b/apps/i18n/core/vi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,23 +18,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "Tài khoản đã tồn tại" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "Không tìm thấy tài sản hợp lệ để tạo tài khoản." #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 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:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "Tham số 'action' phải là [{}]" @@ -106,8 +105,8 @@ msgstr "Windows không hỗ trợ xác thực bằng khóa SSH" #: accounts/automations/base/manager.py:123 msgid "Windows password cannot contain special characters like > ^" msgstr "" -"Mật khẩu Windows không được bao gồm ký tự đặc biệt, ví dụ như > ^< -SEP->Tên " -"ACL" +"Mật khẩu Windows không được bao gồm ký tự đặc biệt, ví dụ như > ^< -SEP->Tên" +" ACL" #: accounts/automations/base/manager.py:135 msgid "No pending accounts found" @@ -119,17 +118,14 @@ 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" -"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " -"secret: {}, using time: {}s" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no secret: {}, using time: {}s" msgstr "" "--- Tóm tắt: Bình thường: {}, Mật khẩu yếu: {}, Mật khẩu bị rò rỉ: {}, Mật " "khẩu trùng lặp: {}, Không có mật khẩu: {}, Thời gian tiêu tốn: {} giây" @@ -145,12 +141,12 @@ msgstr "" #: accounts/const/account.py:6 #: accounts/serializers/automations/change_secret.py:36 -#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 -#: authentication/confirm/password.py:27 authentication/const.py:13 -#: authentication/forms.py:28 +#: audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:25 authentication/confirm/password.py:27 +#: authentication/const.py:13 authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -159,8 +155,6 @@ 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" @@ -218,7 +212,8 @@ msgstr "Phát hiện" msgid "Template" msgstr "Mẫu" -#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:76 +#: accounts/const/account.py:32 ops/const.py:47 +#: xpack/plugins/cloud/const.py:76 msgid "Skip" msgstr "Bỏ qua" @@ -542,7 +537,7 @@ msgstr "Trạng thái đổi mật khẩu" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -610,9 +605,11 @@ msgstr "Hoạt động tài khoản" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:39 settings/models.py:188 #: settings/serializers/msg.py:90 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 #: terminal/models/component/endpoint.py:107 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:86 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -622,7 +619,8 @@ msgstr "Hoạt động tài khoản" #: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:279 xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/serializers/task.py:77 msgid "Name" msgstr "Tên" @@ -632,7 +630,7 @@ msgstr "Biểu tượng" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -656,16 +654,19 @@ msgstr "Nhóm IP" #: accounts/models/application.py:23 #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:25 -#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "Ngày sử dụng cuối cùng" #: accounts/models/application.py:24 acls/models/base.py:43 #: assets/models/asset/common.py:182 authentication/models/access_key.py:24 #: authentication/models/connection_token.py:60 -#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23 +#: authentication/models/ssh_key.py:13 +#: authentication/serializers/ssh_key.py:23 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:30 #: terminal/models/component/endpoint.py:118 #: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 #: tickets/const.py:37 @@ -899,8 +900,8 @@ msgstr "Mật khẩu trùng lặp" #: accounts/templates/accounts/gather_account_report.html:118 #: accounts/templates/accounts/push_account_report.html:79 #: accounts/templates/accounts/push_account_report.html:119 -#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204 -#: authentication/forms.py:21 authentication/forms.py:23 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 +#: audits/models.py:204 authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:10 #: authentication/serializers/connect_token_secret.py:43 #: authentication/serializers/connect_token_secret.py:53 @@ -912,8 +913,6 @@ 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" @@ -974,13 +973,14 @@ msgstr "Kiểm tra xem tài khoản này có giống với các tài khoản kh #: accounts/models/automations/check_account.py:157 msgid "Check whether the account password is a common password" msgstr "" -"Kiểm tra xem tài khoản và mật khẩu có phải là mật khẩu thông thường hay không" +"Kiểm tra xem tài khoản và mật khẩu có phải là mật khẩu thông thường hay " +"không" #: accounts/models/automations/check_account.py:158 msgid "Check whether the account password is a commonly leaked password." msgstr "" -"Kiểm tra xem tài khoản và mật khẩu có phải là mật khẩu bị rò rỉ thông thường " -"hay không." +"Kiểm tra xem tài khoản và mật khẩu có phải là mật khẩu bị rò rỉ thông thường" +" hay không." #: accounts/models/automations/gather_account.py:19 msgid "Address login" @@ -1035,7 +1035,7 @@ msgid "Verify asset account" msgstr "Xác thực tài khoản" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1050,14 +1050,14 @@ msgid "Secret strategy" 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 " +"- 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." +"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:49 @@ -1116,8 +1116,8 @@ msgstr "" #: accounts/models/virtual.py:38 msgid "The account username name same with user on connect" msgstr "" -"Khi đăng nhập tài sản, tài khoản tên người dùng giống với tên người dùng của " -"người sử dụng" +"Khi đăng nhập tài sản, tài khoản tên người dùng giống với tên người dùng của" +" người sử dụng" #: accounts/models/virtual.py:39 msgid "" @@ -1132,46 +1132,44 @@ 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" 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." +"{} - 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 " "encryption password for preference settings" msgstr "" "{} - Nhiệm vụ sao lưu tài khoản đã hoàn tất: Chưa thiết lập mật khẩu mã hóa " -"- Vui lòng truy cập thông tin cá nhân -> Thiết lập ưa thích để thiết lập mật " -"khẩu mã hóa tệp." +"- Vui lòng truy cập thông tin cá nhân -> Thiết lập ưa thích để thiết lập mật" +" khẩu mã hóa tệp." #: accounts/notifications.py:58 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" msgstr "" -"{} - Nhiệm vụ thay đổi mật khẩu đã hoàn tất, chi tiết xem trong tệp đính kèm." +"{} - 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 " "password in preferences" msgstr "" "{} - Nhiệm vụ thay đổi mật khẩu đã hoàn tất: Chưa thiết lập mật khẩu mã hóa " -"- Vui lòng truy cập thông tin cá nhân -> Thiết lập ưa thích để thiết lập mật " -"khẩu mã hóa." +"- Vui lòng truy cập thông tin cá nhân -> Thiết lập ưa thích để thiết lập mật" +" khẩu mã hóa." #: accounts/notifications.py:86 msgid "Gather account change information" @@ -1218,7 +1216,6 @@ 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: {}" @@ -1252,9 +1249,9 @@ msgstr "Thể loại" #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/serializers.py:76 audits/serializers.py:211 #: authentication/models/connection_token.py:67 -#: authentication/serializers/connect_token_secret.py:138 ops/models/job.py:155 -#: perms/serializers/user_permission.py:28 terminal/models/applet/applet.py:40 -#: terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:138 +#: ops/models/job.py:155 perms/serializers/user_permission.py:28 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:152 terminal/serializers/applet.py:30 #: terminal/serializers/session.py:33 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -1315,21 +1312,22 @@ msgstr "Tài khoản yêu cầu" msgid "Spec info" msgstr "Thông tin đặc biệt" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 -#: audits/models.py:97 audits/models.py:179 audits/models.py:296 -#: audits/serializers.py:212 authentication/models/connection_token.py:38 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:55 audits/models.py:97 audits/models.py:179 +#: audits/models.py:296 audits/serializers.py:212 +#: authentication/models/connection_token.py:38 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: authentication/notifications.py:16 authentication/notifications.py:55 #: notifications/models/notification.py:12 @@ -1347,7 +1345,7 @@ msgstr "ID" msgid "User" msgstr "Người dùng" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1372,11 +1370,11 @@ msgstr "Danh sách trắng IP" #: accounts/serializers/account/service.py:28 #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 -#: ops/models/job.py:165 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:44 terminal/models/applet/applet.py:46 -#: terminal/models/applet/applet.py:383 terminal/models/applet/host.py:143 -#: terminal/models/component/endpoint.py:29 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:165 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:44 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:383 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:29 #: terminal/models/component/endpoint.py:117 #: terminal/models/session/session.py:44 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1422,13 +1420,10 @@ msgid "" "length is the length of the password, and the range is 8 to 30.\n" "lowercase indicates whether the password contains lowercase letters, \n" "uppercase indicates whether it contains uppercase letters,\n" -"digit indicates whether it contains numbers, and symbol indicates whether it " -"contains special symbols.\n" -"exclude_symbols is used to exclude specific symbols. You can fill in the " -"symbol characters to be excluded (up to 16). \n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" "If you do not need to exclude symbols, you can leave it blank.\n" -"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" msgstr "" "length là chiều dài của mật khẩu, điền trong khoảng từ 8 đến 30. lowercase " "cho biết mật khẩu có chứa chữ cái thường hay không, uppercase cho biết có " @@ -1441,7 +1436,8 @@ msgstr "" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" -msgstr "Chiến lược tạo mật khẩu, dùng để thiết lập mật khẩu khi tạo tài khoản." +msgstr "" +"Chiến lược tạo mật khẩu, dùng để thiết lập mật khẩu khi tạo tài khoản." #: accounts/serializers/account/template.py:48 msgid "Whether to automatically push the account to the asset" @@ -1568,12 +1564,9 @@ msgstr "Tài khoản thực hiện hành động tự động" #: accounts/tasks/automation.py:36 msgid "" -"Unified execution entry for account automation tasks: when the system " -"performs tasks \n" -" such as account push, password change, account verification, account " -"collection, \n" -" and gateway account verification, all tasks are executed through " -"this unified entry" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" msgstr "" "Cổng vào thực hiện nhiệm vụ tự động hóa tài khoản được thống nhất, khi hệ " "thống thực hiện việc đưa tài khoản vào, thay đổi mật khẩu, xác minh tài " @@ -1596,28 +1589,21 @@ msgstr "Dọn dẹp theo chu kỳ ghi chép thay đổi mật khẩu và ghi ch #: accounts/tasks/automation.py:118 msgid "" -"The system will periodically clean up unnecessary password change and push " -"records, \n" -" including their associated change tasks, execution logs, assets, and " -"accounts. When any \n" -" of these associated items are deleted, the corresponding password " -"change and push records \n" -" become invalid. Therefore, to maintain a clean and efficient " -"database, the system will \n" -" clean up expired records at 2 a.m daily, based on the interval " -"specified by \n" -" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " -"This periodic cleanup \n" -" mechanism helps free up storage space and enhances the security and " -"overall performance \n" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" " of data management" msgstr "" -"Hệ thống sẽ định kỳ dọn dẹp những ghi chép thay đổi mật khẩu và ghi chép đẩy " -"không còn cần thiết, bao gồm những nhiệm vụ thay đổi mật khẩu liên quan, ghi " -"chép thực hiện, tài sản và tài khoản. Khi bất kỳ một trong những mục liên " -"quan này bị xóa, các ghi chép thay đổi mật khẩu và ghi chép đẩy tương ứng sẽ " -"trở nên vô hiệu. Do đó, để giữ cho cơ sở dữ liệu gọn gàng và hoạt động hiệu " -"quả, theo khoảng thời gian cấu hình trong file config.txt tại " +"Hệ thống sẽ định kỳ dọn dẹp những ghi chép thay đổi mật khẩu và ghi chép đẩy" +" không còn cần thiết, bao gồm những nhiệm vụ thay đổi mật khẩu liên quan, " +"ghi chép thực hiện, tài sản và tài khoản. Khi bất kỳ một trong những mục " +"liên quan này bị xóa, các ghi chép thay đổi mật khẩu và ghi chép đẩy tương " +"ứng sẽ trở nên vô hiệu. Do đó, để giữ cho cơ sở dữ liệu gọn gàng và hoạt " +"động hiệu quả, theo khoảng thời gian cấu hình trong file config.txt tại " "PERM_EXPIRED_CHECK_PERIODIC, sẽ tiến hành dọn dẹp những nội dung hết thời " "gian vào lúc 2 giờ sáng mỗi ngày. Cơ chế dọn dẹp định kỳ này không chỉ giúp " "giải phóng không gian lưu trữ mà còn nâng cao sự an toàn trong quản lý dữ " @@ -1632,8 +1618,8 @@ msgid "" "Whenever an account is created or modified and needs pushing to assets, run " "this task" msgstr "" -"Mỗi khi tạo hoặc sửa đổi tài khoản và cần đưa vào tài sản, hãy chạy nhiệm vụ " -"này." +"Mỗi khi tạo hoặc sửa đổi tài khoản và cần đưa vào tài sản, hãy chạy nhiệm vụ" +" này." #: accounts/tasks/push_account.py:62 accounts/tasks/push_account.py:104 msgid "Change secret accounts to assets" @@ -1648,8 +1634,7 @@ msgstr "" #: accounts/tasks/remove_account.py:28 msgid "" -"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " -"accounts' this \n" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" " task will be executed" msgstr "" "Trong bảng điều khiển - Thu thập tài khoản - Nhấp chuột vào đồng bộ xóa " @@ -1661,12 +1646,9 @@ msgstr "Dọn dẹp tài khoản lịch sử" #: accounts/tasks/remove_account.py:52 msgid "" -"Each time an asset account is updated, a historical account is generated, so " -"it is \n" -" necessary to clean up the asset account history. The system will " -"clean up excess account \n" -" records at 2 a.m. daily based on the configuration in the \"System " -"settings - Features - \n" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" " Account storage - Record limit" msgstr "" "Vì mỗi lần cập nhật tài khoản tài sản, sẽ tạo ra tài khoản lịch sử, nên cần " @@ -1684,8 +1666,7 @@ msgstr "Đồng bộ thông tin đến tài khoản liên quan" #: accounts/tasks/template.py:14 msgid "" -"When clicking 'Sync new secret to accounts' in 'Console - Account - " -"Templates - \n" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" " Accounts' this task will be executed" msgstr "" "Khi trong bảng điều khiển - Mẫu tài khoản - Tài khoản - Nhấp vào đồng bộ để " @@ -1855,8 +1836,8 @@ msgstr "Không tìm thấy tài khoản bị mất" #: accounts/utils.py:55 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." msgstr "" "Nếu mật khẩu bắt đầu bằng `{{` và kết thúc bằng `}}`, thì mật khẩu đó không " "được phép." @@ -1919,7 +1900,8 @@ msgstr "" "tiên)" #: acls/models/base.py:41 acls/serializers/base.py:57 -#: assets/models/cmd_filter.py:81 audits/models.py:99 audits/serializers.py:107 +#: assets/models/cmd_filter.py:81 audits/models.py:99 +#: audits/serializers.py:107 #: authentication/serializers/connect_token_secret.py:131 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:63 perms/serializers/permission.py:85 @@ -1943,7 +1925,7 @@ msgstr "Người dùng" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1988,10 +1970,8 @@ msgid "Command group" msgstr "Nhóm lệnh" #: acls/models/command_acl.py:86 -#, fuzzy, python-brace-format -#| msgid "The generated regular expression is incorrect: {}" msgid "The generated regular expression is incorrect: {}" -msgstr "Biểu thức chính quy sinh ra có lỗi" +msgstr "Biểu thức chính quy được tạo ra không chính xác: {}" #: acls/models/command_acl.py:103 #: terminal/templates/terminal/_msg_command_warning.html:22 @@ -2096,7 +2076,8 @@ msgstr "Thời gian đăng nhập" #: acls/notifications.py:24 acls/notifications.py:77 #: acls/templates/acls/asset_login_reminder.html:13 #: acls/templates/acls/user_login_reminder.html:11 -#: terminal/models/session/session.py:34 terminal/models/session/sharing.py:116 +#: terminal/models/session/session.py:34 +#: terminal/models/session/sharing.py:116 #: terminal/templates/terminal/_msg_command_warning.html:16 msgid "Login from" msgstr "Nguồn đăng nhập" @@ -2140,23 +2121,19 @@ msgid "Recipients" msgstr "Người nhận" #: acls/serializers/base.py:126 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:132 -#, 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ệ: `{}`" @@ -2195,8 +2172,8 @@ msgid "" "We would like to inform you that a user has recently logged into the " "following asset:" msgstr "" -"Chúng tôi xin thông báo rằng, gần đây có người dùng đã đăng nhập vào tài sản " -"sau:" +"Chúng tôi xin thông báo rằng, gần đây có người dùng đã đăng nhập vào tài sản" +" sau:" #: acls/templates/acls/asset_login_reminder.html:6 msgid "Asset details" @@ -2242,14 +2219,14 @@ msgid "Cannot create asset directly, you should create a host or other" msgstr "" "Không thể tạo tài sản trực tiếp, bạn nên tạo máy chủ hoặc các tài sản khác. " "<–SEP–> Số lượng tài sản đã vượt quá giới hạn 5000. <–SEP–> Không thể thay " -"đổi tên nút gốc. <–SEP–> Không thể xóa nút gốc ({}). <–SEP–> Xóa không thành " -"công, nút chứa tài sản. <–SEP–> Tên nút cùng cấp không được phép trùng nhau. " -"<–SEP–> Cần phải là số. <–SEP–> Nhiệm vụ: {} đã hoàn thành. <–SEP–> - Nền " -"tảng {} Ansible đã bị vô hiệu hóa, không thể thực hiện nhiệm vụ. <–SEP–> >>> " -"Giai đoạn chuẩn bị nhiệm vụ. <–SEP–> >>> Thực hiện nhiệm vụ theo từng phần, " -"tổng cộng {runner_count}. <–SEP–> >>> Bắt đầu thực hiện nhiệm vụ. <–SEP–> " -">>> Không có nhiệm vụ nào cần thực hiện. <–SEP–> >>> Bắt đầu thực hiện đợt " -"nhiệm vụ thứ {index}. <–SEP–> Không có tài khoản." +"đổi tên nút gốc. <–SEP–> Không thể xóa nút gốc ({}). <–SEP–> Xóa không thành" +" công, nút chứa tài sản. <–SEP–> Tên nút cùng cấp không được phép trùng " +"nhau. <–SEP–> Cần phải là số. <–SEP–> Nhiệm vụ: {} đã hoàn thành. <–SEP–> - " +"Nền tảng {} Ansible đã bị vô hiệu hóa, không thể thực hiện nhiệm vụ. <–SEP–>" +" >>> Giai đoạn chuẩn bị nhiệm vụ. <–SEP–> >>> Thực hiện nhiệm vụ theo từng " +"phần, tổng cộng {runner_count}. <–SEP–> >>> Bắt đầu thực hiện nhiệm vụ. " +"<–SEP–> >>> Không có nhiệm vụ nào cần thực hiện. <–SEP–> >>> Bắt đầu thực " +"hiện đợt nhiệm vụ thứ {index}. <–SEP–> Không có tài khoản." #: assets/api/asset/asset.py:157 msgid "The number of assets exceeds the limit of 5000" @@ -2260,7 +2237,6 @@ 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 ({})" @@ -2281,12 +2257,10 @@ 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:340 -#, 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ụ" @@ -2318,7 +2292,6 @@ 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 {}" @@ -2432,8 +2405,7 @@ msgstr "Cloud" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "Loại tùy chỉnh" @@ -2510,8 +2482,8 @@ msgstr "Các phiên bản SSH cũ, chẳng hạn như openssh 5.x hoặc 6.x" #: assets/const/protocol.py:53 msgid "Netcat help text" msgstr "" -"Use netcat (nc) as a proxy tool to forward connections from the proxy server " -"to the target host. This is useful in environments that do not support the " +"Use netcat (nc) as a proxy tool to forward connections from the proxy server" +" to the target host. This is useful in environments that do not support the " "SSH native proxy option (-W), or when more flexibility and timeout control " "are needed." @@ -2527,8 +2499,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" @@ -2549,16 +2521,16 @@ msgstr "Bảo mật" #: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the " -"security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " "via TLS.
NLA
This mode uses TLS encryption and requires the username " "and password to be given in advance" msgstr "" -"Lớp bảo mật đã kết nối:
Bất kỳ
Tự động lựa chọn chế độ bảo mật dựa " -"trên các giao thức bảo mật mà máy khách và máy chủ hỗ trợ
RDP
Chế " +"Lớp bảo mật đã kết nối:
Bất kỳ
Tự động lựa chọn chế độ bảo mật dựa" +" trên các giao thức bảo mật mà máy khách và máy chủ hỗ trợ
RDP
Chế " "độ mã hóa RDP truyền thống. Thường chỉ được sử dụng cho các máy chủ Windows " "cũ hoặc trong trường hợp cần màn hình đăng nhập Windows tiêu chuẩn
TLS " "
Xác thực và mã hóa RDP được thực hiện qua TLS
NLA
Chế độ này " @@ -2634,7 +2606,8 @@ msgstr "Mục kết nối" #: assets/const/protocol.py:239 msgid "The connection specific options eg. retryWrites=false&retryReads=false" -msgstr "Kết nối các tùy chọn cụ thể, ví dụ: retryWrites=false&retryReads=false" +msgstr "" +"Kết nối các tùy chọn cụ thể, ví dụ: retryWrites=false&retryReads=false" #: assets/const/protocol.py:251 msgid "Auth username" @@ -2647,14 +2620,12 @@ msgstr "Số lần thực hiện" #: assets/const/protocol.py:257 msgid "Enable if this Redis instance is part of a cluster" msgstr "" -"Nếu phiên bản Redis này là một phần của cụm, hãy bật chế độ cụm và thực hiện " -"số lượng hành động." +"Nếu phiên bản Redis này là một phần của cụm, hãy bật chế độ cụm và thực hiện" +" số lượng hành động." #: assets/const/protocol.py:276 -#, fuzzy -#| msgid "Name strategy" msgid "Namespace" -msgstr "Chính sách tên máy chủ" +msgstr "Không gian tên" #: assets/const/protocol.py:288 msgid "Safe mode" @@ -3168,11 +3139,10 @@ msgid "port out of range (0-65535)" msgstr "Cổng ngoài phạm vi (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "Giao thức là bắt buộc: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "Dữ liệu không hợp lệ" @@ -3189,29 +3159,24 @@ msgstr "" #: assets/serializers/asset/database.py:24 msgid "Postgresql ssl model help text" msgstr "" -"Ưu tiên: Tôi không quan tâm đến mã hóa, nhưng nếu máy chủ hỗ trợ mã hóa, tôi " -"sẵn lòng chịu chi phí cho mã hóa. \n" -"Yêu cầu: Tôi muốn dữ liệu của mình được mã hóa, tôi chấp nhận chi phí. Tôi " -"tin rằng mạng sẽ đảm bảo tôi luôn kết nối với máy chủ mà tôi muốn. \n" -"Xác minh CA: Tôi muốn dữ liệu của mình được mã hóa, tôi chấp nhận chi phí. " -"Tôi muốn đảm bảo rằng tôi kết nối với máy chủ mà tôi tin tưởng. \n" -"Xác minh đầy đủ: Tôi muốn dữ liệu của mình được mã hóa, tôi chấp nhận chi " -"phí. Tôi muốn đảm bảo rằng tôi kết nối với máy chủ mà tôi tin tưởng, và nó " -"là máy chủ mà tôi đã chỉ định." +"Ưu tiên: Tôi không quan tâm đến mã hóa, nhưng nếu máy chủ hỗ trợ mã hóa, tôi sẵn lòng chịu chi phí cho mã hóa. \n" +"Yêu cầu: Tôi muốn dữ liệu của mình được mã hóa, tôi chấp nhận chi phí. Tôi tin rằng mạng sẽ đảm bảo tôi luôn kết nối với máy chủ mà tôi muốn. \n" +"Xác minh CA: Tôi muốn dữ liệu của mình được mã hóa, tôi chấp nhận chi phí. Tôi muốn đảm bảo rằng tôi kết nối với máy chủ mà tôi tin tưởng. \n" +"Xác minh đầy đủ: Tôi muốn dữ liệu của mình được mã hóa, tôi chấp nhận chi phí. Tôi muốn đảm bảo rằng tôi kết nối với máy chủ mà tôi tin tưởng, và nó là máy chủ mà tôi đã chỉ định." #: assets/serializers/asset/ds.py:18 msgid "" -"The domain part used by the directory service (e.g., AD) and appended to the " -"username during login, such as example.com in user@example.com." +"The domain part used by the directory service (e.g., AD) and appended to the" +" username during login, such as example.com in user@example.com." msgstr "" -"Tên miền (Domain Name) là phần tên miền được thêm vào sau tên người dùng khi " -"đăng nhập vào dịch vụ thư mục (ví dụ như AD), chẳng hạn như example.com " +"Tên miền (Domain Name) là phần tên miền được thêm vào sau tên người dùng khi" +" đăng nhập vào dịch vụ thư mục (ví dụ như AD), chẳng hạn như example.com " "trong user@example.com" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" msgstr "" "Nếu máy chủ không thể truy cập trực tiếp địa chỉ api, bạn cần thiết lập một " "proxy HTTP. Ví dụ http(s)://host:port" @@ -3373,10 +3338,7 @@ msgstr "" #: assets/serializers/platform.py:104 msgid "This protocol is required, and it must be set when adding assets." msgstr "" -"Thỏa thuận này là bắt buộc, cần phải thiết lập khi thêm tài sản. Thỏa thuận " -"này là mặc định, sẽ hiển thị tự động khi thêm tài sản. Thỏa thuận này là " -"công khai, tài sản sẽ hiển thị thỏa thuận này cho người dùng và có thể kết " -"nối sử dụng. \n" +"Thỏa thuận này là bắt buộc, cần phải thiết lập khi thêm tài sản. Thỏa thuận này là mặc định, sẽ hiển thị tự động khi thêm tài sản. Thỏa thuận này là công khai, tài sản sẽ hiển thị thỏa thuận này cho người dùng và có thể kết nối sử dụng. \n" "\n" "Trợ giúp. \n" "\n" @@ -3384,9 +3346,7 @@ msgstr "" "\n" "Tự động hóa. \n" "\n" -"Khi truy cập tài sản, hãy sử dụng tài khoản đăng nhập, sau đó tự động chuyển " -"sang tài khoản khác, giống như đăng nhập bằng tài khoản thông thường rồi " -"chuyển sang tài khoản root. \n" +"Khi truy cập tài sản, hãy sử dụng tài khoản đăng nhập, sau đó tự động chuyển sang tài khoản khác, giống như đăng nhập bằng tài khoản thông thường rồi chuyển sang tài khoản root. \n" "\n" "Tài sản có thể được kết nối qua gateway khu vực. \n" "\n" @@ -3440,8 +3400,8 @@ msgid "" "another, similar to logging in with a regular account and then switching to " "root" msgstr "" -"Khi truy cập tài sản, sử dụng tài khoản đăng nhập, sau đó tự động chuyển đổi " -"sang một tài khoản khác, giống như việc đăng nhập bằng tài khoản thông " +"Khi truy cập tài sản, sử dụng tài khoản đăng nhập, sau đó tự động chuyển đổi" +" sang một tài khoản khác, giống như việc đăng nhập bằng tài khoản thông " "thường rồi chuyển sang root" #: assets/serializers/platform.py:211 @@ -3482,8 +3442,7 @@ msgstr "Thu thập thông tin tài sản" #: assets/tasks/gather_facts.py:25 msgid "" -"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " -"this task \n" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" " will be executed" msgstr "" "Khi nhấp vào cập nhật thông tin phần cứng trong chi tiết tài sản của bảng " @@ -3503,10 +3462,8 @@ msgstr "Kiểm tra số lượng tài sản dưới nút" #: assets/tasks/nodes_amount.py:18 msgid "" -"Manually verifying asset quantities updates the asset count for nodes under " -"the \n" -" current organization. This task will be called in the following two " -"cases: when updating \n" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" " nodes and when the number of nodes exceeds 100" msgstr "" "So sánh thủ công số lượng tài sản để cập nhật số lượng tài sản của nút dưới " @@ -3515,7 +3472,8 @@ msgstr "" #: assets/tasks/nodes_amount.py:34 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" +"The task of self-checking is already running and cannot be started " +"repeatedly" msgstr "Chương trình tự kiểm tra đã được kích hoạt, không thể khởi động lại" #: assets/tasks/nodes_amount.py:40 @@ -3524,8 +3482,7 @@ msgstr "Kiểm tra định kỳ số lượng tài sản dưới nút" #: assets/tasks/nodes_amount.py:42 msgid "" -"Schedule the check_node_assets_amount_task to periodically update the asset " -"count of \n" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" " all nodes under all organizations" msgstr "" "Định kỳ gọi nhiệm vụ check_node_assets_amount_task, cập nhật số lượng tài " @@ -3554,22 +3511,20 @@ msgstr "Kiểm tra khả năng kết nối của cổng" #: assets/tasks/ping_gateway.py:23 msgid "" -"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " -"be executed" -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" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" +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 {}" @@ -3582,7 +3537,8 @@ msgid "App Audits" msgstr "Activities" #: audits/backends/db.py:17 -msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" msgstr "" "Nội dung văn bản quá dài. Vui lòng sử dụng Elasticsearch để lưu trữ nhật ký " "hoạt động" @@ -3677,8 +3633,8 @@ msgstr "Kết thúc" #: audits/const.py:47 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:65 -#: terminal/serializers/session.py:181 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:65 terminal/serializers/session.py:181 msgid "Terminal" msgstr "Thiết bị đầu cuối" @@ -3714,7 +3670,8 @@ msgstr "Nhật ký kiểm tra công việc" #: audits/models.py:57 audits/models.py:107 audits/models.py:182 #: audits/models.py:333 authentication/models/connection_token.py:62 -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:111 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:111 msgid "Remote addr" msgstr "Địa chỉ xa" @@ -3952,18 +3909,15 @@ msgstr "Dọn dẹp nhật ký nhiệm vụ kiểm toán tài sản" #: audits/tasks.py:135 msgid "" -"Since the system generates login logs, operation logs, file upload logs, " -"activity \n" -" logs, Celery execution logs, session recordings, command records, " -"and password change \n" -" logs, it will perform cleanup of records that exceed the time limit " -"according to the \n" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" " 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" msgstr "" "Do hệ thống sẽ tạo ra nhật ký đăng nhập, nhật ký hoạt động, nhật ký tải lên " -"tệp, nhật ký hoạt động, nhật ký thực hiện celery, ghi hình phiên làm việc và " -"ghi chép lệnh, nhật ký thay đổi mật khẩu, vì vậy hệ thống sẽ theo cài đặt hệ " -"thống - danh sách nhiệm vụ - định kỳ dọn dẹp cấu hình, đối với những thứ " +"tệp, nhật ký hoạt động, nhật ký thực hiện celery, ghi hình phiên làm việc và" +" ghi chép lệnh, nhật ký thay đổi mật khẩu, vì vậy hệ thống sẽ theo cài đặt " +"hệ thống - danh sách nhiệm vụ - định kỳ dọn dẹp cấu hình, đối với những thứ " "vượt quá thời gian sẽ được dọn dẹp vào lúc 2 giờ sáng mỗi ngày" #: audits/tasks.py:155 @@ -3972,12 +3926,11 @@ msgstr "Tải lên tệp FTP vào bộ nhớ bên ngoài" #: audits/tasks.py:157 msgid "" -"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " -"management will be \n" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" " synchronized to external storage" msgstr "" -"Nếu đã thiết lập SERVER_REPLAY_STORAGE, các tệp được tải lên sẽ được đồng bộ " -"đến bộ nhớ bên ngoài thông qua quản lý tệp" +"Nếu đã thiết lập SERVER_REPLAY_STORAGE, các tệp được tải lên sẽ được đồng bộ" +" đến bộ nhớ bên ngoài thông qua quản lý tệp" #: authentication/api/access_key.py:39 msgid "Access keys can be created at most 10" @@ -3993,42 +3946,41 @@ msgid "This action require verify your MFA" msgstr "" "Thao tác này yêu cầu xác thực MFA của bạn, vui lòng bật và cấu hình trước" -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "" "Không cho phép sử dụng mã thông báo kết nối có thể tái sử dụng, chưa kích " "hoạt cài đặt toàn cầu" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "Tài khoản ẩn danh không hỗ trợ tài sản hiện tại" -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "Quyền truy cập đã hết hạn" -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "Hành động ACL là từ chối: {}({})" -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "Hành động ACL là xem xét" -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "Hành động ACL là xác thực khuôn mặt" -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "Quy tắc đăng nhập tài sản không hỗ trợ tài sản hiện tại." -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "Hành động ACL là nhận diện khuôn mặt trực tuyến" -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "Không có đặc điểm khuôn mặt khả dụng" @@ -4038,13 +3990,11 @@ 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:34 terminal/api/session/session.py:343 #: 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: {}" @@ -4053,7 +4003,6 @@ msgid "No user matched" msgstr "Không tìm thấy người dùng khớp" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -4070,7 +4019,6 @@ msgid "Forgot password" msgstr "Quên mật khẩu" #: authentication/api/password.py:70 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" @@ -4079,10 +4027,8 @@ msgid "App Authentication" msgstr "Authentication" #: authentication/backends/cas/views.py:19 -#, fuzzy -#| msgid "Error" msgid "CAS Error" -msgstr "Lỗi" +msgstr "Lỗi CAS" #: authentication/backends/custom.py:60 #: authentication/backends/oauth2/backends.py:158 @@ -4096,7 +4042,8 @@ msgstr "" #: authentication/backends/drf.py:63 msgid "Invalid token header. Sign string should not contain spaces." -msgstr "Tiêu đề token không hợp lệ. Chuỗi ký hiệu không nên chứa khoảng trắng." +msgstr "" +"Tiêu đề token không hợp lệ. Chuỗi ký hiệu không nên chứa khoảng trắng." #: authentication/backends/drf.py:69 msgid "" @@ -4148,7 +4095,6 @@ 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" @@ -4233,21 +4179,19 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"Tên người dùng hoặc mật khẩu bạn nhập không đúng, vui lòng nhập lại. Bạn còn " -"có thể thử {times_try} lần nữa (tài khoản sẽ bị khóa tạm thời trong " +"Tên người dùng hoặc mật khẩu bạn nhập không đúng, vui lòng nhập lại. Bạn còn" +" có thể thử {times_try} lần nữa (tài khoản sẽ bị khóa tạm thời trong " "{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)" msgstr "" -"Tài khoản đã bị khóa (vui lòng liên hệ với quản trị viên để mở khóa hoặc thử " -"lại sau {} phút)" +"Tài khoản đã bị khóa (vui lòng liên hệ với quản trị viên để mở khóa hoặc thử" +" 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)" @@ -4258,8 +4202,8 @@ msgstr "" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" msgstr "" "{error} You can also try {times_try} times (The account will be temporarily " "locked for {block_time} minutes)" @@ -4281,7 +4225,6 @@ 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: {}" @@ -4386,8 +4329,8 @@ msgstr "Vui lòng nhập mã an ninh động" #: authentication/mfa/base.py:32 msgid "" -"The two-factor code you entered has either already been used or has expired. " -"Please request a new one." +"The two-factor code you entered has either already been used or has expired." +" Please request a new one." msgstr "" "Mã xác thực kép bạn nhập đã được sử dụng hoặc đã hết hạn. Vui lòng yêu cầu " "mã xác thực kép mới." @@ -4466,45 +4409,31 @@ msgid "Clear phone number to disable" msgstr "Xóa số điện thoại để vô hiệu hóa." #: authentication/middleware.py:96 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): {}" #: authentication/mixins.py:166 -#, fuzzy -#| msgid "" -#| "The administrator has enabled \"Only allow existing users to log in\", \n" -#| " and the current user is not in the user list. Please " -#| "contact the administrator." msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please " -"contact the administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" "Quản trị viên đã bật 'chỉ cho phép người dùng đã tồn tại đăng nhập', người " -"dùng hiện tại không có trong danh sách người dùng, xin vui lòng liên hệ với " -"quản trị viên." +"dùng hiện tại không có trong danh sách người dùng, vui lòng liên hệ với quản" +" trị viên." #: authentication/mixins.py:178 msgid "User is invalid" msgstr "Người dùng không hợp lệ" #: authentication/mixins.py:195 -#, fuzzy, python-brace-format -#| msgid "" -#| "The administrator has enabled 'Only allow login from user source'. \n" -#| " The current user source is {}. Please contact the " -#| "administrator." msgid "" " The administrator has enabled 'Only allow login from user source'. \n" -" The current user source is {}. Please contact the " -"administrator. " +" The current user source is {}. Please contact the administrator. " msgstr "" -"Quản trị viên đã bật 'Chỉ cho phép đăng nhập từ nguồn người dùng', nguồn " -"người dùng hiện tại là {}. Vui lòng liên hệ với quản trị viên." +"Quản trị viên đã bật 'chỉ cho phép đăng nhập từ nguồn người dùng', nguồn " +"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:376 -#, 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" @@ -4573,7 +4502,6 @@ 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: {}" @@ -4712,7 +4640,6 @@ 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" @@ -4730,8 +4657,8 @@ msgstr "Loại tạo" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be " -"downloaded once" +"Please download the private key after creation. Each private key can only be" +" downloaded once" msgstr "" "Sau khi tạo hoàn tất, vui lòng tải về khóa riêng, mỗi khóa riêng chỉ có một " "lần cơ hội tải về" @@ -4748,9 +4675,9 @@ msgid "Is valid" msgstr "Is Valid" #: authentication/serializers/token.py:131 ops/models/adhoc.py:26 -#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 rbac/models/role.py:31 -#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 -#: settings/serializers/auth/oauth2.py:37 +#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 msgid "Scope" msgstr "Phạm vi" @@ -4760,8 +4687,8 @@ msgstr "Xóa phiên đã hết hạn" #: authentication/tasks.py:21 msgid "" -"Since user logins create sessions, the system will clean up expired sessions " -"every 24 hours" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" msgstr "" "Do người dùng đăng nhập vào hệ thống sẽ tạo ra phiên, hệ thống sẽ tự động " "dọn dẹp các phiên đã hết hạn sau mỗi 24 giờ" @@ -4779,10 +4706,10 @@ msgid "" "configured under System settings > Security > User password > Token " "Retention Period" msgstr "" -"Hệ thống sẽ tạo ra mã thông báo kết nối hoặc ghi chú mật khẩu tạm thời tương " -"ứng khi kết nối tài sản hoặc tạo mật khẩu tạm thời. Để đảm bảo an ninh hệ " -"thống và kiểm soát lượng dữ liệu lưu trữ, hệ thống sẽ tự động dọn dẹp tất cả " -"các ghi chú mã thông báo đã hết hạn theo cấu hình trong “Cài đặt bảo mật > " +"Hệ thống sẽ tạo ra mã thông báo kết nối hoặc ghi chú mật khẩu tạm thời tương" +" ứng khi kết nối tài sản hoặc tạo mật khẩu tạm thời. Để đảm bảo an ninh hệ " +"thống và kiểm soát lượng dữ liệu lưu trữ, hệ thống sẽ tự động dọn dẹp tất cả" +" các ghi chú mã thông báo đã hết hạn theo cấu hình trong “Cài đặt bảo mật > " "An toàn mật khẩu > Thời gian lưu giữ mã thông báo” vào lúc 2 giờ sáng mỗi " "ngày" @@ -4932,8 +4859,8 @@ msgid "" "If the password update was not initiated by you, your account may have " "security issues" msgstr "" -"Nếu lần cập nhật mật khẩu này không phải do bạn thực hiện, tài khoản của bạn " -"có thể gặp vấn đề về bảo mật" +"Nếu lần cập nhật mật khẩu này không phải do bạn thực hiện, tài khoản của bạn" +" có thể gặp vấn đề về bảo mật" #: authentication/templates/authentication/_msg_rest_password_success.html:13 #: authentication/templates/authentication/_msg_rest_public_key_success.html:13 @@ -5118,7 +5045,6 @@ 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" @@ -5127,18 +5053,15 @@ 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" msgstr "" -"Đang chờ {} xác nhận, bạn cũng có thể sao chép liên kết và gửi cho " -"anh ấy/cô ấy
\n" +"Đang chờ {} xác nhận, bạn cũng có thể sao chép liên kết và gửi cho anh ấy/cô ấy
\n" " Đừng đóng trang này" #: authentication/views/login.py:343 @@ -5155,8 +5078,8 @@ msgstr "Đăng xuất thành công, quay lại trang đăng nhập" #: authentication/views/mixins.py:28 msgid "" -"For your safety, automatic redirection login is not supported on the client. " -"If you need to open it in the client, please log in again" +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" msgstr "" "Để đảm bảo an toàn, ứng dụng không hỗ trợ tự động chuyển hướng đăng nhập. " "Nếu cần mở trong ứng dụng, vui lòng đăng nhập lại" @@ -5267,12 +5190,12 @@ msgstr "" "list thành text <- SEP -> Dữ liệu được mã hóa thành char <- SEP -> Dữ liệu " "được mã hóa thành text <- SEP -> Trường đã được mã hóa <- SEP -> JSON nhiều-" "một trường không hợp lệ, cần phải là {'type': 'all'} hoặc {'type': 'ids', " -"'ids': []} hoặc {'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', " -"'value': '1.1.1.1'}]} <- SEP -> Loại không hợp lệ, cần phải là all, ids hoặc " -"attrs <- SEP -> ID không hợp lệ, cần phải là danh sách <- SEP -> Trường này " -"là bắt buộc. <- SEP -> Thuộc tính không hợp lệ, cần phải là danh sách dict " -"<- SEP -> Thuộc tính không hợp lệ, phải có tên và giá trị <- SEP -> Bỏ qua " -"<- SEP -> Thời gian bỏ qua <- SEP -> Người cập nhật cuối cùng." +"'ids': []} hoặc {'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact'," +" 'value': '1.1.1.1'}]} <- SEP -> Loại không hợp lệ, cần phải là all, ids " +"hoặc attrs <- SEP -> ID không hợp lệ, cần phải là danh sách <- SEP -> Trường" +" này là bắt buộc. <- SEP -> Thuộc tính không hợp lệ, cần phải là danh sách " +"dict <- SEP -> Thuộc tính không hợp lệ, phải có tên và giá trị <- SEP -> Bỏ " +"qua <- SEP -> Thời gian bỏ qua <- SEP -> Người cập nhật cuối cùng." #: common/db/fields.py:122 msgid "Marshal list data to char field" @@ -5296,8 +5219,8 @@ msgstr "trường đã được mã hóa" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" "Trường JSON nhiều vào nhiều không hợp lệ, phải là {'type': 'all'} hoặc " @@ -5343,7 +5266,6 @@ 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 {}-{}" @@ -5356,12 +5278,10 @@ 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: {}" @@ -5374,7 +5294,6 @@ msgid "Yes/No" msgstr "Có/Không" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "Văn bản, độ dài tối đa {}" @@ -5383,26 +5302,22 @@ 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:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "Số, tối thiểu {} tối đa {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "Định dạng ngày giờ {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "" -"Tùy chọn, định dạng: Tên(Giá trị), tên là tùy chọn để dễ đọc, giá trị là bắt " -"buộc, tùy chọn có {}" +"Tùy chọn, định dạng: Tên(Giá trị), tên là tùy chọn để dễ đọc, giá trị là bắt" +" buộc, tùy chọn có {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "Tùy chọn, tùy chọn có {}" @@ -5433,8 +5348,7 @@ msgstr "" "cho việc đọc, id là bắt buộc" #: common/drf/renders/base.py:173 -msgid "" -"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" msgstr "" "nhãn, định dạng: [\"khóa:giá trị\", ...], nếu nhãn không tồn tại, sẽ được " "tạo ra" @@ -5444,7 +5358,6 @@ msgid "Objects, format [\"id\", ...]" msgstr "nhiều liên kết, định dạng là [\"id\", ...]" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -5534,7 +5447,6 @@ 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: {}" @@ -5547,10 +5459,6 @@ 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" @@ -5572,7 +5480,6 @@ 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ợ: {}" @@ -5589,7 +5496,6 @@ 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" @@ -5597,6 +5503,10 @@ 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ệ" @@ -5618,11 +5528,10 @@ msgstr "Loại dữ liệu lỗi, nên là danh sách" #: common/serializers/fields.py:353 #: 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ệ: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "Nhãn" @@ -5641,10 +5550,8 @@ msgstr "Gửi tệp đính kèm email" #: common/tasks.py:81 msgid "" -"When an account password is changed or an account backup generates " -"attachments, \n" -" this task needs to be executed for sending emails and handling " -"attachments" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" msgstr "" "Khi đổi mật khẩu tài khoản, tệp đính kèm từ việc sao lưu tài khoản cần được " "gửi qua email, thực hiện nhiệm vụ này" @@ -5680,12 +5587,11 @@ msgstr "Gửi mã xác nhận qua tin nhắn" #: common/utils/verify_code.py:19 msgid "" -"When resetting a password, forgetting a password, or verifying MFA, this " -"task needs to \n" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" " be executed to send SMS messages" msgstr "" -"Khi thiết lập lại mật khẩu, quên mật khẩu, và xác minh mfa, cần gửi tin nhắn " -"thì thực hiện nhiệm vụ này" +"Khi thiết lập lại mật khẩu, quên mật khẩu, và xác minh mfa, cần gửi tin nhắn" +" thì thực hiện nhiệm vụ này" #: common/validators.py:16 msgid "Special char not allowed" @@ -5724,10 +5630,6 @@ 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:28 -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" @@ -5738,12 +5640,11 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Luna là một chương trình được triển khai riêng biệt, bạn cần triển khai " -"Luna, Koko.
Nếu bạn thấy trang này, chứng tỏ bạn đang truy cập " +"
Luna là một chương trình được triển khai riêng biệt, bạn cần triển khai" +" 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 -#, 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ó " @@ -5755,8 +5656,8 @@ msgid "" "configure nginx for url distribution,
If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Koko là một chương trình được triển khai riêng biệt, bạn cần triển khai " -"Koko, và đảm bảo cấu hình nginx chuyển tiếp,
Nếu bạn thấy trang " +"
Koko là một chương trình được triển khai riêng biệt, bạn cần triển khai" +" Koko, và đảm bảo cấu hình nginx chuyển tiếp,
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.
" @@ -5805,7 +5706,6 @@ msgid "User message" msgstr "Người dùng tin nhắn" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} Đăng ký" @@ -5819,8 +5719,7 @@ msgstr "Đăng bài tin nhắn trong hệ thống" #: notifications/notifications.py:49 msgid "" -"This task needs to be executed for sending internal messages for system " -"alerts, \n" +"This task needs to be executed for sending internal messages for system alerts, \n" " work orders, and other notifications" msgstr "" "Một số cảnh báo của hệ thống, đơn đặt hàng, v.v. cần gửi tin nhắn trong hệ " @@ -5844,19 +5743,18 @@ 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:65 -#, 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 " +"sản đăng nhập ({})." #: ops/api/job.py:88 #, python-brace-format @@ -5885,7 +5783,8 @@ msgstr "Có tệp cùng tên tồn tại" msgid "" "File size exceeds maximum limit. Please select a file smaller than {limit}MB" msgstr "" -"Kích thước tệp vượt quá giới hạn tối đa. Vui lòng chọn tệp nhỏ hơn {limit}MB." +"Kích thước tệp vượt quá giới hạn tối đa. Vui lòng chọn tệp nhỏ hơn " +"{limit}MB." #: ops/api/job.py:273 msgid "" @@ -6056,12 +5955,14 @@ msgid "Periodic run" msgstr "Periodic" #: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 -#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:63 +#: settings/serializers/auth/ldap.py:81 +#: settings/serializers/auth/ldap_ha.py:63 msgid "Interval" msgstr "Khoảng cách" #: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 -#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:60 +#: settings/serializers/auth/ldap.py:78 +#: settings/serializers/auth/ldap_ha.py:60 msgid "Crontab" msgstr "Crontab" @@ -6140,7 +6041,6 @@ 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" @@ -6209,8 +6109,8 @@ msgid "" "referenced in the script using {{ jms_name }}" msgstr "" "Tên biến sử dụng trong script, tiền tố cố định jms_ + tên biến đầu vào, ví " -"dụ: tên biến là name, thì biến môi trường cuối cùng sẽ là jms_name, khi tham " -"chiếu trong script sẽ sử dụng {{ jms_name }}" +"dụ: tên biến là name, thì biến môi trường cuối cùng sẽ là jms_name, khi tham" +" chiếu trong script sẽ sử dụng {{ jms_name }}" #: ops/models/variable.py:16 ops/serializers/variable.py:32 msgid "Default Value" @@ -6329,14 +6229,12 @@ msgstr "Tạo hoặc cập nhật nhiệm vụ định kỳ" #: ops/tasks.py:134 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, tasks will be " -"registered or the parameters \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" " of scheduled tasks will be updated" msgstr "" -"Với sự phát triển của phiên bản, có thể sẽ có nhiệm vụ mới hoặc thay đổi tên " -"nhiệm vụ, thời gian thực hiện, do đó khi hệ thống khởi động, sẽ đăng ký " +"Với sự phát triển của phiên bản, có thể sẽ có nhiệm vụ mới hoặc thay đổi tên" +" nhiệm vụ, thời gian thực hiện, do đó khi hệ thống khởi động, sẽ đăng ký " "nhiệm vụ hoặc cập nhật tham số nhiệm vụ định kỳ" #: ops/tasks.py:147 @@ -6345,10 +6243,8 @@ msgstr "Kiểm tra hiệu suất dịch vụ định kỳ" #: ops/tasks.py:149 msgid "" -"Check every hour whether each component is offline and whether the CPU, " -"memory, \n" -" and disk usage exceed the thresholds, and send an alert message to " -"the administrator" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" msgstr "" "Mỗi giờ kiểm tra xem các thành phần có bị ngắt kết nối không, sử dụng CPU, " "bộ nhớ, tỷ lệ sử dụng đĩa có vượt quá ngưỡng không, gửi thông báo cảnh báo " @@ -6360,12 +6256,9 @@ msgstr "Dọn dẹp công việc bất thường" #: ops/tasks.py:161 msgid "" -"Due to exceptions caused by executing adhoc and playbooks in the Job " -"Center, \n" -" which result in the task status not being updated, the system will " -"clean up abnormal jobs \n" -" that have not been completed for more than 3 hours every hour and " -"mark these tasks as \n" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" " failed" msgstr "" "Do trung tâm công việc thực hiện lệnh tắt, playbook có thể phát sinh bất " @@ -6379,12 +6272,9 @@ msgstr "Dọn dẹp lịch sử thực hiện trung tâm công việc" #: ops/tasks.py:176 msgid "" -"Due to the execution of adhoc and playbooks in the Job Center, execution " -"records will \n" -" be generated. The system will clean up records that exceed the " -"retention period every day \n" -" at 2 a.m., based on the configuration of 'System Settings - Tasks - " -"Regular clean-up - \n" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" " Job execution retention days'" msgstr "" "Do trung tâm công việc thực hiện lệnh tắt, playbook, sẽ phát sinh bản ghi " @@ -6433,7 +6323,6 @@ msgid "Name of the job" msgstr "Tên công việc" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "Tổ chức hiện tại ({}) không thể bị xóa" @@ -6446,7 +6335,6 @@ msgstr "" "chức khác trước khi thực hiện thao tác xóa" #: orgs/api.py:75 -#, 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" @@ -6464,7 +6352,8 @@ msgstr "Vui lòng chọn một tổ chức trước khi lưu" #: terminal/notifications.py:294 #: terminal/templates/terminal/_msg_command_warning.html:27 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:62 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:62 msgid "Organization" msgstr "Tổ chức" @@ -6603,7 +6492,7 @@ msgid "today" msgstr "Hôm nay" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "Ngày" @@ -6620,7 +6509,6 @@ 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 ({})" @@ -6646,18 +6534,14 @@ msgstr "Kiểm tra quy tắc ủy quyền tài sản đã hết hạn" #: perms/tasks.py:30 msgid "" -"The cache of organizational collections, which have completed user " -"authorization tree \n" -" construction, will expire. Therefore, expired collections need to be " -"cleared from the \n" -" cache, and this task will be executed periodically based on the time " -"interval specified \n" -" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " -"config.txt" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" msgstr "" "Bộ nhớ cache của tập hợp tổ chức đã xây dựng cây ủy quyền người dùng sẽ hết " -"hạn, vì vậy cần xóa tập hợp đã hết hạn khỏi bộ nhớ cache, thực hiện nhiệm vụ " -"này theo khoảng thời gian được cấu hình trong tệp hệ thống config.txt với " +"hạn, vì vậy cần xóa tập hợp đã hết hạn khỏi bộ nhớ cache, thực hiện nhiệm vụ" +" này theo khoảng thời gian được cấu hình trong tệp hệ thống config.txt với " "PERM_EXPIRED_CHECK_PERIODIC" #: perms/tasks.py:49 @@ -6666,12 +6550,9 @@ msgstr "Gửi thông báo hết hạn quyền tài sản" #: perms/tasks.py:51 msgid "" -"Check every day at 10 a.m. and send a notification message to users " -"associated with \n" -" assets whose authorization is about to expire, as well as to the " -"organization's \n" -" administrators, 3 days in advance, to remind them that the asset " -"authorization will \n" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" " expire in a few days" msgstr "" "Kiểm tra vào lúc 10 giờ sáng mỗi ngày, sẽ gửi thông báo đến người dùng liên " @@ -6697,7 +6578,6 @@ msgid "Internal role, can't be update" msgstr "Nội bộ vai trò, không thể cập nhật" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} ít nhất một vai trò hệ thống" @@ -6873,7 +6753,7 @@ msgstr "Tài khoản đổi mật khẩu" msgid "App ops" msgstr "Ops" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "Chức năng" @@ -6916,8 +6796,8 @@ msgstr "Organizations" msgid "Ticket comment" msgstr "Nhận xét nhiệm vụ" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "Nhiệm vụ" @@ -6930,22 +6810,16 @@ msgid "View permission tree" msgstr "Xem cây ủy quyền" #: rbac/tree.py:189 -#, fuzzy -#| msgid "Access key" msgid "Access token" -msgstr "Key truy cập" +msgstr "Mã thông báo truy cập" #: rbac/tree.py:190 -#, fuzzy -#| msgid "Access key" msgid "View access token" -msgstr "Key truy cập" +msgstr "Xem mã thông báo truy cập" #: rbac/tree.py:191 -#, fuzzy -#| msgid "Access key" msgid "Revoke access token" -msgstr "Key truy cập" +msgstr "Thu hồi mã thông báo truy cập" #: reports/views.py:20 msgid "User login report" @@ -6999,14 +6873,13 @@ msgstr "Gửi thư thành công" msgid "Chat AI is not enabled" msgstr "AI trò chuyện chưa được bật" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 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" @@ -7217,7 +7090,8 @@ msgid "CAS" msgstr "CAS" #: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 -#: settings/serializers/auth/ldap_ha.py:27 settings/serializers/auth/oidc.py:61 +#: settings/serializers/auth/ldap_ha.py:27 +#: settings/serializers/auth/oidc.py:61 msgid "Server" msgstr "Địa chỉ máy chủ dịch vụ" @@ -7242,9 +7116,11 @@ msgstr "Thuộc tính tên người dùng" msgid "Enable attributes map" msgstr "Kích hoạt ánh xạ thuộc tính" -#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 -#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:49 +#: settings/serializers/auth/ldap.py:67 +#: settings/serializers/auth/ldap_ha.py:49 #: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 #: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 #: settings/serializers/auth/wecom.py:18 @@ -7299,55 +7175,64 @@ msgstr "LDAP" msgid "LDAP server URI" msgstr "Tên miền dịch vụ LDAP" -#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31 +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 msgid "Bind DN" msgstr "DN liên kết" -#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32 +#: settings/serializers/auth/ldap.py:50 +#: settings/serializers/auth/ldap_ha.py:32 msgid "Binding Distinguished Name" msgstr "Quản trị viên thư mục liên kết" -#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36 +#: settings/serializers/auth/ldap.py:54 +#: settings/serializers/auth/ldap_ha.py:36 msgid "Binding password" msgstr "Mật khẩu liên kết" -#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39 +#: settings/serializers/auth/ldap.py:57 +#: settings/serializers/auth/ldap_ha.py:39 msgid "Search OU" msgstr "OU người dùng" -#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41 +#: settings/serializers/auth/ldap.py:59 +#: settings/serializers/auth/ldap_ha.py:41 msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" msgstr "" "Kho tìm kiếm người dùng, nếu có nhiều OU, có thể phân tách bằng ký hiệu `|`" -#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45 +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 msgid "Search filter" msgstr "Bộ lọc người dùng." -#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46 +#: settings/serializers/auth/ldap.py:64 +#: settings/serializers/auth/ldap_ha.py:46 #, python-format msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" msgstr "" -"Các tùy chọn khả thi là (cn hoặc uid hoặc sAMAccountName=%(user)s) <---SEP---" -"> ánh xạ thuộc tính người dùng, trong đó `key` là tên thuộc tính người dùng " -"của JumpServer, `value` là tên thuộc tính người dùng của dịch vụ LDAP <---" -"SEP---> Thời gian vượt thời gian kết nối (giây) <---SEP---> Chế độ nghiêm " -"ngặt <---SEP---> Khi chế độ nghiêm ngặt được bật, việc đồng bộ toàn bộ hoặc " -"tự động sẽ vô hiệu hóa những người dùng không được phát hiện trong LDAP <---" -"SEP---> Thời gian hết hạn bộ nhớ cache User DN (giây) <---SEP---> Lưu cache " -"User DN được truy vấn khi người dùng đăng nhập, có thể cải thiện hiệu suất " -"xác thực người dùng một cách hiệu quả
nếu cấu trúc OU của người dùng có " -"thay đổi, chỉ cần bấm vào gửi để xóa bộ nhớ cache User DN <---SEP---> Số " -"lượng phân trang tìm kiếm (điểm) <---SEP---> Xác thực LDAP <---SEP---> Tên " -"miền dịch vụ LDAP HA <---SEP---> Lưu cache User DN được truy vấn khi người " -"dùng đăng nhập, có thể cải thiện hiệu suất xác thực người dùng một cách hiệu " -"quả
nếu cấu trúc OU của người dùng có thay đổi, chỉ cần bấm vào gửi để " -"xóa bộ nhớ cache User DN <---SEP---> OAuth2 <---SEP---> Nhà cung cấp dịch vụ " -"<---SEP---> ID khách hàng <---SEP---> Khóa mật khẩu khách hàng" +"Các tùy chọn khả thi là (cn hoặc uid hoặc sAMAccountName=%(user)s) " +"<---SEP---> ánh xạ thuộc tính người dùng, trong đó `key` là tên thuộc tính " +"người dùng của JumpServer, `value` là tên thuộc tính người dùng của dịch vụ " +"LDAP <---SEP---> Thời gian vượt thời gian kết nối (giây) <---SEP---> Chế độ " +"nghiêm ngặt <---SEP---> Khi chế độ nghiêm ngặt được bật, việc đồng bộ toàn " +"bộ hoặc tự động sẽ vô hiệu hóa những người dùng không được phát hiện trong " +"LDAP <---SEP---> Thời gian hết hạn bộ nhớ cache User DN (giây) <---SEP---> " +"Lưu cache User DN được truy vấn khi người dùng đăng nhập, có thể cải thiện " +"hiệu suất xác thực người dùng một cách hiệu quả
nếu cấu trúc OU của " +"người dùng có thay đổi, chỉ cần bấm vào gửi để xóa bộ nhớ cache User DN " +"<---SEP---> Số lượng phân trang tìm kiếm (điểm) <---SEP---> Xác thực LDAP " +"<---SEP---> Tên miền dịch vụ LDAP HA <---SEP---> Lưu cache User DN được truy" +" vấn khi người dùng đăng nhập, có thể cải thiện hiệu suất xác thực người " +"dùng một cách hiệu quả
nếu cấu trúc OU của người dùng có thay đổi, chỉ " +"cần bấm vào gửi để xóa bộ nhớ cache User DN <---SEP---> OAuth2 <---SEP---> " +"Nhà cung cấp dịch vụ <---SEP---> ID khách hàng <---SEP---> Khóa mật khẩu " +"khách hàng" -#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51 +#: settings/serializers/auth/ldap.py:69 +#: settings/serializers/auth/ldap_ha.py:51 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" @@ -7355,15 +7240,18 @@ msgstr "" "Ánh xạ thuộc tính của người dùng, trong đó `key` là tên thuộc tính người " "dùng JumpServer, `value` là tên thuộc tính người dùng dịch vụ LDAP" -#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67 +#: settings/serializers/auth/ldap.py:85 +#: settings/serializers/auth/ldap_ha.py:67 msgid "Connect timeout (s)" msgstr "Thời gian kết nối tối đa (giây)" -#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70 +#: settings/serializers/auth/ldap.py:88 +#: settings/serializers/auth/ldap_ha.py:70 msgid "Strict sync" msgstr "Chế độ nghiêm ngặt." -#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71 +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 msgid "" "In strict mode, users not found in LDAP will be disabled during full or " "automatic sync" @@ -7371,7 +7259,8 @@ msgstr "" "Khi chế độ nghiêm ngặt được kích hoạt, việc đồng bộ toàn bộ hoặc tự động sẽ " "vô hiệu hóa những người dùng không được tìm thấy trong LDAP trong hệ thống" -#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76 +#: settings/serializers/auth/ldap.py:94 +#: settings/serializers/auth/ldap_ha.py:76 msgid "User DN cache timeout (s)" msgstr "Thời gian hết hạn bộ nhớ cache User DN (giây)" @@ -7404,8 +7293,8 @@ msgstr "Tên miền dịch vụ LDAP HA" #: settings/serializers/auth/ldap_ha.py:78 msgid "" "Caching the User DN obtained during user login authentication can " -"effectivelyimprove the speed of user authentication., 0 means no cache
If " -"the user OU structure has been adjusted, click Submit to clear the user DN " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " "cache" msgstr "" "Bộ nhớ cache User DN được truy vấn trong quá trình xác thực người dùng có " @@ -7455,7 +7344,8 @@ msgid "End session endpoint" msgstr "Địa chỉ đầu cuối đăng xuất phiên" #: settings/serializers/auth/oauth2.py:57 -msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" msgstr "Khi người dùng đăng xuất, họ cũng sẽ thoát khỏi máy chủ OAuth2" #: settings/serializers/auth/oauth2.py:62 @@ -7466,8 +7356,8 @@ msgstr "" "Ánh xạ thuộc tính người dùng, trong đó `key` là tên thuộc tính người dùng " "của JumpServer, `value` là tên thuộc tính người dùng của dịch vụ OAuth2" -#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:117 -#: settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:117 settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "Luôn cập nhật thông tin người dùng" @@ -7540,8 +7430,9 @@ msgid "" "The issuer URL of the OpenID Provider, used to discover its configuration " "via the `$PROVIDER_ENDPOINT/.well-known/openid-configuration` endpoint." msgstr "" -"URL phát hành của nhà cung cấp OpenID, được sử dụng để khám phá cấu hình của " -"nó thông qua đầu cuối “$PROVIDER_ENDPOINT/.well-known/openid-configuration”." +"URL phát hành của nhà cung cấp OpenID, được sử dụng để khám phá cấu hình của" +" nó thông qua đầu cuối “$PROVIDER_ENDPOINT/.well-known/openid-" +"configuration”." #: settings/serializers/auth/oidc.py:87 msgid "JWKS endpoint" @@ -7603,10 +7494,11 @@ msgid "OTP in RADIUS" msgstr "Sử dụng Radius OTP" #: settings/serializers/auth/radius.py:24 -msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" msgstr "" -"* Việc sử dụng OTP trong RADIUS có nghĩa là người dùng có thể sử dụng RADIUS " -"như một phương pháp MFA." +"* Việc sử dụng OTP trong RADIUS có nghĩa là người dùng có thể sử dụng RADIUS" +" như một phương pháp MFA." #: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 msgid "SAML2" @@ -7715,9 +7607,9 @@ msgstr "Loại hình kinh doanh (Application id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." msgstr "" "Mẫu tin nhắn cần phải chứa {code} và tổng chiều dài mẫu + chữ ký không vượt " "quá 67 ký tự. Ví dụ, mã xác thực của bạn là {code}, có hiệu lực trong 5 " @@ -7769,11 +7661,11 @@ msgstr "URL của trang hiện tại" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service " -"and is usually used in links in system emails" +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" msgstr "" -"URL của trang là địa chỉ có thể truy cập bên ngoài của dịch vụ sản phẩm hiện " -"tại, thường được sử dụng trong các liên kết trong email hệ thống" +"URL của trang là địa chỉ có thể truy cập bên ngoài của dịch vụ sản phẩm hiện" +" tại, thường được sử dụng trong các liên kết trong email hệ thống" #: settings/serializers/basic.py:18 msgid "User guide url" @@ -7812,7 +7704,8 @@ msgstr "Hỗ trợ liên kết" msgid "" "Support URL refers to the address in the top navigation bar Help - Support" msgstr "" -"Hỗ trợ URL đề cập đến địa chỉ trong thanh điều hướng chính, trợ giúp - Hỗ trợ" +"Hỗ trợ URL đề cập đến địa chỉ trong thanh điều hướng chính, trợ giúp - Hỗ " +"trợ" #: settings/serializers/basic.py:44 msgid "Organization name already exists" @@ -7918,7 +7811,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "Khu vực" @@ -7967,55 +7860,71 @@ msgstr "Mô hình GPT" msgid "DeepSeek Model" msgstr "Mô hình DeepSeek" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "Mô hình tùy chỉnh" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "Có sử dụng mô hình tùy chỉnh không." + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "Mô hình GPT tùy chỉnh" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "Mô hình DeepSeek tùy chỉnh" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "Phê duyệt không cần đăng nhập" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "Cho phép phê duyệt đơn yêu cầu mà không cần đăng nhập trực tiếp" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "Thời gian" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "Khoảng thời gian ủy quyền mặc định cho tài sản yêu cầu đơn" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "Thời điểm" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "Đơn vị" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "Chu kỳ thực hiện" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "Thực thi lệnh hàng loạt" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "" -"Cho phép người dùng thực hiện lệnh hàng loạt trong trạm làm việc - Trung tâm " -"công việc - Adhoc" +"Cho phép người dùng thực hiện lệnh hàng loạt trong trạm làm việc - Trung tâm" +" công việc - Adhoc" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "Danh sách đen lệnh trung tâm công việc." -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "Trung tâm tác vụ danh sách đen" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -8023,11 +7932,11 @@ msgstr "Trung tâm tác vụ danh sách đen" msgid "Virtual app" msgstr "Ứng dụng ảo" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "Ứng dụng ảo" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -8101,8 +8010,8 @@ msgstr "Chủ đề tiền tố" #: settings/serializers/msg.py:70 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" msgstr "" "Gợi ý: Khi tạo người dùng, gửi email thiết lập mật khẩu với chủ đề (ví dụ: " "Tạo người dùng thành công)" @@ -8123,8 +8032,8 @@ msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" msgstr "" -"Gợi ý: Khi tạo người dùng, gửi nội dung email thiết lập mật khẩu, hỗ trợ các " -"thẻ {username} {name} {email}" +"Gợi ý: Khi tạo người dùng, gửi nội dung email thiết lập mật khẩu, hỗ trợ các" +" thẻ {username} {name} {email}" #: settings/serializers/msg.py:85 msgid "Tips: Email signature (eg:jumpserver)" @@ -8202,8 +8111,8 @@ msgid "" "If the user has failed to log in for a limited number of times, no login is " "allowed during this time interval." msgstr "" -"Khi số lần đăng nhập của người dùng không thành công đạt giới hạn, thì sẽ bị " -"cấm đăng nhập trong khoảng thời gian này" +"Khi số lần đăng nhập của người dùng không thành công đạt giới hạn, thì sẽ bị" +" cấm đăng nhập trong khoảng thời gian này" #: settings/serializers/security.py:70 settings/serializers/security.py:80 msgid "Login failures count" @@ -8254,15 +8163,15 @@ msgstr "Chỉ cho phép đăng nhập từ nguồn người dùng" #: settings/serializers/security.py:112 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" "Nếu bật, khi người dùng đăng nhập sẽ chỉ thực hiện xác thực tại nguồn; nếu " "tắt, khi người dùng đăng nhập sẽ tiến hành xác thực theo thứ tự nhất định " -"với tất cả các phương thức xác thực đã bật, chỉ cần một phương thức xác thực " -"thành công là có thể đăng nhập ngay." +"với tất cả các phương thức xác thực đã bật, chỉ cần một phương thức xác thực" +" thành công là có thể đăng nhập ngay." #: settings/serializers/security.py:123 #: users/templates/users/mfa_setting.html:160 @@ -8342,9 +8251,9 @@ msgid "" "The password and additional code are sent to a third party authentication " "system for verification" msgstr "" -"Mật khẩu và mã xác thực sẽ được gửi đến hệ thống xác thực bên thứ ba để kiểm " -"tra, ví dụ: một số hệ thống xác thực bên thứ ba yêu cầu Mật khẩu + 6 chữ số " -"để hoàn thành xác thực" +"Mật khẩu và mã xác thực sẽ được gửi đến hệ thống xác thực bên thứ ba để kiểm" +" tra, ví dụ: một số hệ thống xác thực bên thứ ba yêu cầu Mật khẩu + 6 chữ số" +" để hoàn thành xác thực" #: settings/serializers/security.py:169 msgid "Login CAPTCHA" @@ -8360,9 +8269,9 @@ msgstr "Thông báo đăng nhập từ xa" #: settings/serializers/security.py:175 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" msgstr "" "Dựa trên IP đăng nhập có thuộc thành phố đăng nhập thường xuyên hay không, " "nếu tài khoản đăng nhập tại thành phố không thường dùng sẽ gửi thông báo " @@ -8498,8 +8407,8 @@ msgstr "Đăng ký thành phần" #: settings/serializers/terminal.py:28 msgid "" -"Allow component register, after all component setup, you should disable this " -"for security" +"Allow component register, after all component setup, you should disable this" +" for security" msgstr "" "Có cho phép đăng ký thành phần hay không, nên tắt sau khi tất cả các thiết " "bị khởi động để đảm bảo an toàn" @@ -8514,8 +8423,8 @@ msgstr "" msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in " -"after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" msgstr "" "* Cho phép người dùng đăng nhập vào thành phần KoKo bằng phương thức xác " "thực khóa công khai
Nếu dịch vụ xác thực bên thứ ba (như AD/LDAP) đã " @@ -8532,18 +8441,18 @@ msgstr "Số lượng tài sản mỗi trang" #: settings/serializers/terminal.py:55 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" msgstr "" "* Bạn có thể cấu hình địa chỉ và cổng dịch vụ riêng lẻ trong điểm cuối dịch " -"vụ
Nếu được bật, trang Luna sẽ hiển thị phương pháp khởi động khách hàng " -"DB khi kết nối với tài sản" +"vụ
Nếu được bật, trang Luna sẽ hiển thị phương pháp khởi động khách hàng" +" DB khi kết nối với tài sản" #: settings/serializers/terminal.py:63 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" "* Bạn có thể cấu hình địa chỉ và cổng dịch vụ riêng lẻ trong điểm cuối dịch " @@ -8557,10 +8466,11 @@ msgstr "Kết nối khách hàng" #: settings/serializers/terminal.py:72 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to assets" +"Luna page will display the SSH client launch method when connecting to " +"assets" msgstr "" -"* Cho phép kết nối đến thành phần KoKo thông qua khách hàng SSH
Nếu được " -"bật, khi kết nối đến tài sản, trang Luna sẽ hiển thị phương pháp khởi động " +"* Cho phép kết nối đến thành phần KoKo thông qua khách hàng SSH
Nếu được" +" bật, khi kết nối đến tài sản, trang Luna sẽ hiển thị phương pháp khởi động " "khách hàng SSH" #: settings/serializers/tool.py:10 @@ -8573,8 +8483,8 @@ msgstr "Công cụ trong bảng điều khiển" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools " -"in the workbench" +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" msgstr "" "*! Nếu được bật, người dùng có quyền RBAC sẽ có thể sử dụng tất cả các công " "cụ trong bảng điều khiển" @@ -8601,8 +8511,7 @@ msgstr "Đăng ký nhiệm vụ nhập khẩu người dùng LDAP theo chu kỳ" #: settings/tasks/ldap.py:117 msgid "" -"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " -"sync task \n" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" "Khi các tham số đồng bộ tự động LDAP thay đổi, chẳng hạn như tham số " @@ -8614,8 +8523,7 @@ msgstr "Đăng ký nhiệm vụ nhập khẩu người dùng LDAP HA theo chu k #: settings/tasks/ldap.py:133 msgid "" -"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " -"LDAP HA sync task \n" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" " will be re-registered or updated, and this task will be invoked" msgstr "" "Khi các tham số tự động đồng bộ LDAP HA thay đổi, như tham số Crontab, sẽ " @@ -8642,24 +8550,19 @@ 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 -#, fuzzy, python-brace-format -#| msgid "Please add certificate: {}" msgid "Please add certificate: {}" -msgstr "Vui lòng thêm chứng chỉ" +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: {}" @@ -8668,27 +8571,22 @@ 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: {}" @@ -8701,57 +8599,46 @@ 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: {}" @@ -8760,12 +8647,10 @@ 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 {}" @@ -8861,8 +8746,8 @@ msgid "" "please click this link to " "update your password." msgstr "" -"Vui lòng nhấp vào liên kết để " -"cập nhật mật khẩu" +"Vui lòng nhấp vào liên kết để" +" cập nhật mật khẩu" #: templates/_message.html:37 #, python-format @@ -8879,8 +8764,8 @@ msgid "" "Your ssh public key not set or expired. Please click this link to update" msgstr "" -"Khóa SSH của bạn chưa được thiết lập hoặc đã hết hiệu lực, vui lòng nhấp vào " -" liên kết để cập nhật." +"Khóa SSH của bạn chưa được thiết lập hoặc đã hết hiệu lực, vui lòng nhấp vào" +" liên kết để cập nhật." #: templates/_mfa_login_field.html:29 #: users/templates/users/forgot_password.html:101 @@ -8902,30 +8787,24 @@ msgid "Home page" msgstr "Home" #: templates/redirect_confirm.html:42 -#, fuzzy -#| msgid "" -#| "You are about to be redirected to an external website. Please confirm " -#| "that you trust this link: " msgid "You are about to be redirected to an external website." -msgstr "" -"Bạn sắp chuyển đến một trang web bên ngoài, xin hãy xác nhận rằng bạn tin " -"tưởng liên kết này" +msgstr "Bạn sắp được chuyển đến một trang web bên ngoài" #: templates/redirect_confirm.html:45 msgid "Please confirm that you trust this link: " -msgstr "" +msgstr "Xin hãy đảm bảo rằng bạn tin cậy vào liên kết bên dưới:" #: templates/redirect_confirm.html:55 msgid "Back" -msgstr "" +msgstr "Quay lại" #: templates/redirect_confirm.html:70 msgid "Redirecting you to the Desktop App ( JumpServer Client )" -msgstr "" +msgstr "Đang chuyển hướng đến ứng dụng desktop (JumpServer khách hàng)" #: templates/redirect_confirm.html:73 msgid "You can safely close this window and return to the application." -msgstr "" +msgstr "Bạn có thể đóng cửa sổ này và quay lại ứng dụng" #: templates/resource_download.html:20 templates/resource_download.html:36 #: users/const.py:84 @@ -8933,12 +8812,10 @@ msgid "Client" msgstr "Khách hàng" #: templates/resource_download.html:22 -#, fuzzy -#| msgid "JumpServer Client, currently used to launch the client" msgid "JumpServerClient, currently used to launch the client" msgstr "" -"Khách hàng JumpServer, hiện tại được sử dụng để khởi động chương trình khách " -"hàng cụ thể để kết nối tài sản" +"Khách hàng JumpServer, hiện đang được sử dụng để khởi động chương trình " +"khách hàng cụ thể kết nối với tài sản" #: templates/resource_download.html:36 msgid "Microsoft" @@ -8965,8 +8842,8 @@ msgid "" "OpenSSH is a program used to connect remote applications in the Windows " "Remote Application Publisher" msgstr "" -"OpenSSH được sử dụng trong máy chủ ứng dụng từ xa Windows để kết nối các ứng " -"dụng từ xa" +"OpenSSH được sử dụng trong máy chủ ứng dụng từ xa Windows để kết nối các ứng" +" dụng từ xa" #: templates/resource_download.html:54 msgid "Offline video player" @@ -8985,7 +8862,6 @@ 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: {}" @@ -8998,7 +8874,6 @@ 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: {}" @@ -9011,7 +8886,6 @@ msgid "Invalid" msgstr "không hợp lệ" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "kiểm tra thất bại: {}" @@ -9038,7 +8912,6 @@ msgid "Session replay" msgstr "ghi lại phiên" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "phiên không tồn tại: {}" @@ -9046,7 +8919,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:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "người dùng không có quyền" @@ -9211,12 +9084,10 @@ msgstr "Máy chủ" #: terminal/models/applet/applet.py:94 #: 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:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "Tải platform.yml thất bại: {}" @@ -9562,20 +9433,17 @@ msgstr "Địa chỉ dịch vụ Core" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " 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.jumpserver.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.jumpserver.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -9588,12 +9456,12 @@ msgstr "Đã có giấy phép RDS" #: terminal/serializers/applet_host.py:50 msgid "" "If not exist, the RDS will be in trial mode, and the trial period is 120 " -"days. Detail" +"days. Detail" msgstr "" -"Nếu không có, RDS sẽ ở chế độ dùng thử, thời gian thử nghiệm là 120 ngày. Chi tiết" +"Nếu không có, RDS sẽ ở chế độ dùng thử, thời gian thử nghiệm là 120 ngày. Chi tiết" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9633,11 +9501,11 @@ msgstr "Giới hạn thời gian đăng xuất phiên RemoteApp của RDS (milig #: terminal/serializers/applet_host.py:74 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." msgstr "" -"Gợi ý: Thiết lập thời gian đăng xuất cho phiên RemoteAPP sau khi đã đóng tất " -"cả chương trình RemoteApp (0 miligiây, ngay lập tức đăng xuất phiên)" +"Gợi ý: Thiết lập thời gian đăng xuất cho phiên RemoteAPP sau khi đã đóng tất" +" cả chương trình RemoteApp (0 miligiây, ngay lập tức đăng xuất phiên)" #: terminal/serializers/applet_host.py:83 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -9646,16 +9514,16 @@ msgstr "Tình trạng tải" #: terminal/serializers/applet_host.py:97 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" -"Những tài khoản này dùng để kết nối với các ứng dụng đã phát hành, tài khoản " -"hiện được chia thành hai loại:
Một loại là riêng tư, mỗi người dùng có " -"một tài khoản riêng. Loại còn lại là công cộng, sẽ sử dụng tài khoản công " -"cộng để kết nối khi ứng dụng không hỗ trợ đa phiên và tài khoản riêng đã " +"Những tài khoản này dùng để kết nối với các ứng dụng đã phát hành, tài khoản" +" hiện được chia thành hai loại:
Một loại là riêng tư, mỗi người dùng " +"có một tài khoản riêng. Loại còn lại là công cộng, sẽ sử dụng tài khoản công" +" cộng để kết nối khi ứng dụng không hỗ trợ đa phiên và tài khoản riêng đã " "được sử dụng;
Lưu ý: Nếu không bật chế độ tự động tạo tài khoản, máy " "phát hành hiện tại chỉ có thể được tài sản có nhãn chỉ định phân bổ, mặc " "định sẽ không được đưa vào bể phân bổ, và cần bảo trì tài khoản thủ công." @@ -9672,8 +9540,8 @@ msgid "" msgstr "" "Ưu tiên sử dụng tài khoản cùng tên để kết nối với máy phát hành. Để đảm bảo " "an toàn, cần cấu hình trong tệp cấu hình mở " -"CACHE_LOGIN_PASSWORD_ENABLED=true, sau khi chỉnh sửa, hãy khởi động lại dịch " -"vụ." +"CACHE_LOGIN_PASSWORD_ENABLED=true, sau khi chỉnh sửa, hãy khởi động lại dịch" +" vụ." #: terminal/serializers/applet_host.py:164 msgid "Install applets" @@ -9723,16 +9591,16 @@ msgid "" "does not allow modification of the host)" msgstr "" "Địa chỉ máy chủ truy cập khi kết nối với tài sản, nếu để trống sẽ sử dụng " -"địa chỉ truy cập của trình duyệt hiện tại (điểm cuối mặc định không cho phép " -"sửa đổi máy chủ)" +"địa chỉ truy cập của trình duyệt hiện tại (điểm cuối mặc định không cho phép" +" sửa đổi máy chủ)" #: terminal/serializers/endpoint.py:54 msgid "" -"The assets within this IP range or Host, the following endpoint will be used " -"for the connection" +"The assets within this IP range or Host, the following endpoint will be used" +" for the connection" msgstr "" -"Phạm vi IP này hoặc các tài sản trong máy chủ sẽ được kết nối thông qua điểm " -"cuối sau" +"Phạm vi IP này hoặc các tài sản trong máy chủ sẽ được kết nối thông qua điểm" +" cuối sau" #: terminal/serializers/endpoint.py:55 msgid "" @@ -9774,7 +9642,6 @@ 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 `{}`" @@ -10001,8 +9868,7 @@ msgstr "Xóa phiên làm việc ngoại tuyến" #: terminal/tasks.py:45 msgid "" -"Check every 10 minutes for asset connection sessions that have been inactive " -"for 3 \n" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" " minutes and mark these sessions as completed" msgstr "" "Mỗi 10 phút kiểm tra các phiên kết nối của tài sản không hoạt động trong 3 " @@ -10014,8 +9880,7 @@ msgstr "Tải phiên video lên lưu trữ bên ngoài" #: terminal/tasks.py:70 terminal/tasks.py:104 msgid "" -"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " -"and \n" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" " recordings will be uploaded to external storage" msgstr "" "Nếu đã thiết lập SERVER_REPLAY_STORAGE, các tệp được tải lên thông qua quản " @@ -10031,8 +9896,7 @@ msgstr "Triển khai máy ứng dụng." #: terminal/tasks.py:126 msgid "" -"When deploying from the remote application publisher details page, and the " -"'Deploy' \n" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" " button is clicked, this task will be executed" msgstr "" "Triển khai máy phát hành, khi nhấp vào triển khai, thực hiện nhiệm vụ này." @@ -10043,12 +9907,11 @@ msgstr "Cài đặt ứng dụng." #: terminal/tasks.py:140 msgid "" -"When the 'Deploy' button is clicked in the 'Remote Application' section of " -"the remote \n" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" " application publisher details page, this task will be executed" msgstr "" -"Khi xem chi tiết máy phát hành ứng dụng từ xa - ứng dụng từ xa, khi nhấp vào " -"triển khai, thực hiện nhiệm vụ này." +"Khi xem chi tiết máy phát hành ứng dụng từ xa - ứng dụng từ xa, khi nhấp vào" +" triển khai, thực hiện nhiệm vụ này." #: terminal/tasks.py:152 msgid "Uninstall applet" @@ -10056,12 +9919,11 @@ msgstr "Gỡ cài đặt ứng dụng." #: terminal/tasks.py:155 msgid "" -"When the 'Uninstall' button is clicked in the 'Remote Application' section " -"of the \n" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" " remote application publisher details page, this task will be executed" msgstr "" -"Khi xem chi tiết máy phát hành ứng dụng từ xa - ứng dụng từ xa, khi nhấp vào " -"gỡ cài đặt, thực hiện nhiệm vụ này." +"Khi xem chi tiết máy phát hành ứng dụng từ xa - ứng dụng từ xa, khi nhấp vào" +" gỡ cài đặt, thực hiện nhiệm vụ này." #: terminal/tasks.py:167 msgid "Generate applet host accounts" @@ -10069,8 +9931,7 @@ msgstr "Thu thập tài khoản trên ứng dụng từ xa." #: terminal/tasks.py:170 msgid "" -"When a remote publishing server is created and an account needs to be " -"created \n" +"When a remote publishing server is created and an account needs to be created \n" " automatically, this task will be executed" msgstr "" "Khi cần tự động tạo tài khoản sau khi tạo máy phát hành từ xa, thực hiện " @@ -10082,15 +9943,12 @@ msgstr "Kiểm tra khả năng kết nối của lệnh và bộ nhớ ghi hình #: terminal/tasks.py:186 msgid "" -"Check every day at midnight whether the external storage for commands and " -"recordings \n" -" is accessible. If it is not accessible, send a notification to the " -"recipients specified \n" -" in 'System Settings - Notifications - Subscription - Storage - " -"Connectivity'" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" msgstr "" -"Mỗi ngày vào lúc 0 giờ kiểm tra khả năng kết nối của bộ nhớ lệnh và ghi hình " -"bên ngoài, nếu không thể kết nối thì gửi đến: Cài đặt hệ thống - Cài đặt " +"Mỗi ngày vào lúc 0 giờ kiểm tra khả năng kết nối của bộ nhớ lệnh và ghi hình" +" bên ngoài, nếu không thể kết nối thì gửi đến: Cài đặt hệ thống - Cài đặt " "thông báo - Đối tượng nhận trong cài đặt bộ nhớ lệnh và ghi hình." #: terminal/templates/terminal/_msg_command_alert.html:10 @@ -10099,8 +9957,8 @@ msgstr "Xem." #: terminal/templates/terminal/_msg_command_warning.html:5 msgid "" -"We would like to inform you that a command alert has been triggered with the " -"following details:" +"We would like to inform you that a command alert has been triggered with the" +" following details:" msgstr "Thông tin chi tiết về cảnh báo" #: terminal/templates/terminal/_msg_command_warning.html:7 @@ -10119,8 +9977,8 @@ msgid "" msgstr "" "Vui lòng kiểm tra tình trạng thực hiện lệnh này để đảm bảo nó phù hợp với " "chính sách an ninh của tổ chức bạn. Nếu bạn không được phép thực hiện thao " -"tác này hoặc phát hiện bất kỳ điều gì bất thường, hãy ngay lập tức thực hiện " -"các biện pháp cần thiết." +"tác này hoặc phát hiện bất kỳ điều gì bất thường, hãy ngay lập tức thực hiện" +" các biện pháp cần thiết." #: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" @@ -10175,7 +10033,6 @@ msgid "Ticket already closed" msgstr "Phiếu công việc đã đóng" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -10196,7 +10053,6 @@ 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" @@ -10336,23 +10192,18 @@ msgid "Ticket applied info" msgstr "Thông tin đơn xin công việc" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" msgstr "Bạn có một công việc mới, người xin - {}" #: tickets/notifications.py:120 -#, fuzzy, python-brace-format -#| msgid "{}: New Ticket - {} ({})" msgid "{}: New Ticket - {} ({})" -msgstr "Công việc mới - {} ({})" +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ý - {} ({})" @@ -10382,7 +10233,6 @@ 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 ({}-{})" @@ -10391,7 +10241,6 @@ 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" @@ -10400,7 +10249,6 @@ 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" @@ -10429,8 +10277,8 @@ msgstr "Đồng ý" msgid "" "This ticket does not exist, the process has ended, or this link has expired" msgstr "" -"Công việc không tồn tại, hoặc quy trình công việc đã kết thúc, hoặc liên kết " -"này đã hết hạn" +"Công việc không tồn tại, hoặc quy trình công việc đã kết thúc, hoặc liên kết" +" này đã hết hạn" #: tickets/views/approve.py:72 msgid "Click the button below to approve or reject" @@ -10560,9 +10408,9 @@ msgid "" "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" msgstr "" -"Sau khi kích hoạt, bạn sẽ được đưa vào quy trình liên kết xác thực đa yếu tố " -"(MFA) khi đăng nhập lần tiếp theo; bạn cũng có thể liên kết ngay tại (Thông " -"tin cá nhân -> Sửa đổi nhanh -> Cài đặt MFA xác thực đa yếu tố)!" +"Sau khi kích hoạt, bạn sẽ được đưa vào quy trình liên kết xác thực đa yếu tố" +" (MFA) khi đăng nhập lần tiếp theo; bạn cũng có thể liên kết ngay tại (Thông" +" tin cá nhân -> Sửa đổi nhanh -> Cài đặt MFA xác thực đa yếu tố)!" #: users/forms/profile.py:60 msgid "* Enable MFA to make the account more secure." @@ -10571,13 +10419,13 @@ msgstr "" #: users/forms/profile.py:69 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" msgstr "" "Để bảo vệ an toàn cho bạn và công ty, hãy giữ gìn cẩn thận tài khoản, mật " -"khẩu và các thông tin nhạy cảm quan trọng như: Đặt mật khẩu phức tạp và kích " -"hoạt MFA xác thực đa yếu tố" +"khẩu và các thông tin nhạy cảm quan trọng như: Đặt mật khẩu phức tạp và kích" +" hoạt MFA xác thực đa yếu tố" #: users/forms/profile.py:76 msgid "Finish" @@ -10777,8 +10625,8 @@ msgstr "Tên chủ đề terminal" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files, " -"account password change results files" +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" msgstr "" "Mật khẩu mã hóa tệp, khi email hệ thống có tệp đính kèm, sử dụng mật khẩu " "này để giải mã.
Ví dụ: tệp sao lưu tài khoản, tệp kết quả thay đổi mật " @@ -10804,7 +10652,8 @@ msgstr "Tải tài sản cây không đồng bộ" msgid "Connect default open method" msgstr "Kết nối với cách mở mặc định" -#: users/serializers/preference/luna.py:34 xpack/plugins/interface/models.py:41 +#: users/serializers/preference/luna.py:34 +#: xpack/plugins/interface/models.py:41 #: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "Chủ đề" @@ -10871,7 +10720,6 @@ 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" @@ -10885,8 +10733,8 @@ msgstr "Vai trò hệ thống" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across " -"all organizations" +"System roles are roles at the system level, and they will take effect across" +" all organizations" msgstr "" "Vai trò hệ thống là vai trò ở cấp độ hệ thống, có hiệu lực trên tất cả các " "tổ chức" @@ -10991,7 +10839,8 @@ msgstr "Có khóa công khai" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for more" +"* For security, only a partial of users is displayed. You can search for " +"more" msgstr "" "* Để đảm bảo an toàn, chỉ hiển thị một phần người dùng. Bạn có thể tìm kiếm " "thêm" @@ -11003,8 +10852,7 @@ msgstr "Tên bị trùng" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." +" and the current user is not in the user list. Please contact the administrator." msgstr "" "Quản trị viên đã bật 'chỉ cho phép người dùng đã tồn tại đăng nhập', người " "dùng hiện tại không có trong danh sách người dùng, xin vui lòng liên hệ với " @@ -11016,12 +10864,11 @@ msgstr "Xóa các phiên người dùng đã hết hạn" #: users/signal_handlers.py:181 msgid "" -"After logging in via the web, a user session record is created. At 2 a.m. " -"every day, \n" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" " the system cleans up inactive user devices" msgstr "" -"Sau khi đăng nhập qua web, sẽ phát sinh bản ghi phiên người dùng trực tuyến, " -"vào mỗi 2 giờ sáng hàng ngày, hệ thống sẽ dọn dẹp các thiết bị người dùng " +"Sau khi đăng nhập qua web, sẽ phát sinh bản ghi phiên người dùng trực tuyến," +" vào mỗi 2 giờ sáng hàng ngày, hệ thống sẽ dọn dẹp các thiết bị người dùng " "chưa trực tuyến" #: users/tasks.py:26 @@ -11030,8 +10877,7 @@ msgstr "Kiểm tra mật khẩu đã hết hạn" #: users/tasks.py:28 msgid "" -"Check every day at 10 AM whether the passwords of users in the system are " -"expired, \n" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" " and send a notification 5 days in advance" msgstr "" "Kiểm tra hàng ngày vào lúc 10 giờ sáng xem mật khẩu của người dùng trong hệ " @@ -11043,45 +10889,33 @@ msgstr "Kiểm tra định kỳ mật khẩu hết hạn." #: users/tasks.py:48 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if passwords have expired" msgstr "" -"Với sự phát triển của phiên bản, có thể sẽ có nhiệm vụ mới hoặc thay đổi tên " -"nhiệm vụ, thời gian thực hiện. Do đó, khi hệ thống khởi động, cần đăng ký " -"hoặc cập nhật tham số kiểm tra mật khẩu đã hết hạn của nhiệm vụ. \n" +"Với sự phát triển của phiên bản, có thể sẽ có nhiệm vụ mới hoặc thay đổi tên nhiệm vụ, thời gian thực hiện. Do đó, khi hệ thống khởi động, cần đăng ký hoặc cập nhật tham số kiểm tra mật khẩu đã hết hạn của nhiệm vụ. \n" "\n" "Kiểm tra người dùng đã hết hạn. \n" "\n" -"Hàng ngày vào lúc 2 giờ chiều, kiểm tra xem người dùng trong hệ thống có hết " -"hạn hay không và gửi thông báo trước 5 ngày. \n" +"Hàng ngày vào lúc 2 giờ chiều, kiểm tra xem người dùng trong hệ thống có hết hạn hay không và gửi thông báo trước 5 ngày. \n" "\n" "Kiểm tra định kỳ người dùng hết hạn. \n" "\n" -"Với sự phát triển của phiên bản, có thể sẽ có nhiệm vụ mới hoặc thay đổi tên " -"nhiệm vụ, thời gian thực hiện. Do đó, khi hệ thống khởi động, cần đăng ký " -"hoặc cập nhật tham số kiểm tra người dùng đã hết hạn. \n" +"Với sự phát triển của phiên bản, có thể sẽ có nhiệm vụ mới hoặc thay đổi tên nhiệm vụ, thời gian thực hiện. Do đó, khi hệ thống khởi động, cần đăng ký hoặc cập nhật tham số kiểm tra người dùng đã hết hạn. \n" "\n" "Kiểm tra người dùng chưa sử dụng. \n" "\n" -"Hàng ngày vào lúc 2 giờ chiều, theo cấu hình hệ thống - cài đặt bảo mật - " -"cấu hình tự động vô hiệu hóa người dùng không hoạt động, thực hiện việc vô " -"hiệu hóa đối với những người dùng lâu không đăng nhập hoặc không sử dụng " -"api_key. \n" +"Hàng ngày vào lúc 2 giờ chiều, theo cấu hình hệ thống - cài đặt bảo mật - cấu hình tự động vô hiệu hóa người dùng không hoạt động, thực hiện việc vô hiệu hóa đối với những người dùng lâu không đăng nhập hoặc không sử dụng api_key. \n" "\n" "Người dùng này đã không đăng nhập gần đây và đã bị vô hiệu hóa. \n" "\n" "Tài khoản của bạn sắp hết hạn. \n" "\n" -"Để không ảnh hưởng đến công việc của bạn, vui lòng liên hệ với quản lý để " -"xác nhận. \n" +"Để không ảnh hưởng đến công việc của bạn, vui lòng liên hệ với quản lý để xác nhận. \n" "\n" "Mật khẩu của bạn sẽ sớm hết hạn. \n" "\n" -"Vì sự an toàn tài khoản của bạn, vui lòng nhấn vào liên kết dưới đây để kịp " -"thời cập nhật mật khẩu. \n" +"Vì sự an toàn tài khoản của bạn, vui lòng nhấn vào liên kết dưới đây để kịp thời cập nhật mật khẩu. \n" "\n" "Nhấn vào đây để cập nhật mật khẩu. \n" "\n" @@ -11095,8 +10929,7 @@ msgstr "Kiểm tra người dùng đã hết hạn" #: users/tasks.py:69 msgid "" -"Check every day at 2 p.m whether the users in the system are expired, and " -"send a \n" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" " notification 5 days in advance" msgstr "" "Kiểm tra vào lúc 2 giờ chiều mỗi ngày, xem người dùng trong hệ thống có hết " @@ -11108,10 +10941,8 @@ msgstr "Kiểm tra định kỳ người dùng hết hạn." #: users/tasks.py:92 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if users have expired" msgstr "" "Với các phiên bản cập nhật, có thể sẽ có thêm nhiệm vụ hoặc thay đổi tên " @@ -11124,10 +10955,8 @@ msgstr "Kiểm tra người dùng chưa sử dụng." #: users/tasks.py:113 msgid "" -"At 2 p.m. every day, according to the configuration in \"System Settings - " -"Security - \n" -" Auth security - Auto disable threshold\" users who have not logged " -"in or whose API keys \n" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" " have not been used for a long time will be disabled" msgstr "" "Mỗi ngày lúc 2 giờ chiều, dựa vào cấu hình hệ thống - cài đặt bảo mật - cấu " @@ -11274,8 +11103,8 @@ msgstr "Liên kết trình xác thực MFA" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" msgstr "" "Sử dụng ứng dụng trình xác thực MFA quét mã QR dưới đây để nhận mã xác thực " "6 chữ số" @@ -11310,8 +11139,8 @@ msgid "" "After installation, click the next step to enter the binding page (if " "installed, go to the next step directly)." msgstr "" -"Sau khi cài đặt hoàn tất, nhấp vào bước tiếp theo để vào trang liên kết (nếu " -"đã cài đặt, hãy đi thẳng đến bước tiếp theo)" +"Sau khi cài đặt hoàn tất, nhấp vào bước tiếp theo để vào trang liên kết (nếu" +" đã cài đặt, hãy đi thẳng đến bước tiếp theo)" #: users/templates/users/user_password_verify.html:8 #: users/templates/users/user_password_verify.html:9 @@ -11327,8 +11156,8 @@ msgid "" "The account protection has been opened, please complete the following " "operations according to the prompts" msgstr "" -"Bảo vệ tài khoản đã được kích hoạt, vui lòng thực hiện các thao tác sau theo " -"hướng dẫn" +"Bảo vệ tài khoản đã được kích hoạt, vui lòng thực hiện các thao tác sau theo" +" hướng dẫn" #: users/templates/users/user_verify_mfa.html:17 msgid "Open MFA Authenticator and enter the 6-bit dynamic code" @@ -11349,7 +11178,8 @@ msgstr "Đã được gắn bó" #: users/views/profile/otp.py:107 msgid "MFA already bound, disable first, then bound" msgstr "" -"MFA (OTP) đã được gắn bó, vui lòng vô hiệu hóa trước khi tiến hành gắn bó lại" +"MFA (OTP) đã được gắn bó, vui lòng vô hiệu hóa trước khi tiến hành gắn bó " +"lại" #: users/views/profile/otp.py:134 msgid "OTP enable success" @@ -11376,10 +11206,9 @@ 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: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" msgstr "" "Người dùng không phải địa phương chỉ cho phép đăng nhập từ nền tảng bên thứ " "ba, không hỗ trợ thay đổi mật khẩu: {}" @@ -11389,7 +11218,6 @@ 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ệ " @@ -11400,7 +11228,6 @@ 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." @@ -11417,20 +11244,18 @@ msgid "" "Based on the current task configuration, assets that do not match the " "strategy will skipped." msgstr "" -"Theo cấu hình nhiệm vụ hiện tại, các tài sản không phù hợp với chính sách sẽ " -"bị bỏ qua." +"Theo cấu hình nhiệm vụ hiện tại, các tài sản không phù hợp với chính sách sẽ" +" bị bỏ qua." #: xpack/plugins/cloud/api.py:73 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." @@ -11487,10 +11312,8 @@ msgid "Volcengine" msgstr "Kubernetes Engine" #: xpack/plugins/cloud/const.py:22 -#, fuzzy -#| msgid "Huawei Cloud" msgid "State Cloud" -msgstr "Huaweicloud" +msgstr "Dịch vụ đám mây Thiên Dị" #: xpack/plugins/cloud/const.py:24 msgid "VMware" @@ -11630,10 +11453,6 @@ 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:290 -msgid "Instance" -msgstr "Thực thể" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11778,11 +11597,16 @@ 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:290 +msgid "Instance" +msgstr "Thực thể" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "Chi tiết thực thể đồng bộ" -#: xpack/plugins/cloud/models.py:319 xpack/plugins/cloud/serializers/task.py:79 +#: xpack/plugins/cloud/models.py:319 +#: xpack/plugins/cloud/serializers/task.py:79 msgid "Rule relation" msgstr "Quan hệ điều kiện" @@ -11838,7 +11662,8 @@ msgstr "Khớp quy tắc" msgid "Rule value" msgstr "Giá trị quy tắc" -#: xpack/plugins/cloud/models.py:395 xpack/plugins/cloud/serializers/task.py:82 +#: xpack/plugins/cloud/models.py:395 +#: xpack/plugins/cloud/serializers/task.py:82 msgid "Strategy rule" msgstr "Điều kiện" @@ -11854,7 +11679,8 @@ msgstr "Thuộc tính Action" msgid "Action value" msgstr "Giá trị Hành động" -#: xpack/plugins/cloud/models.py:422 xpack/plugins/cloud/serializers/task.py:85 +#: xpack/plugins/cloud/models.py:422 +#: xpack/plugins/cloud/serializers/task.py:85 msgid "Strategy action" msgstr "Hành động" @@ -12098,12 +11924,6 @@ 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 -#, fuzzy -#| msgid "Domain name" -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" @@ -12117,8 +11937,6 @@ msgid "User domain" msgstr "Miền người dùng" #: xpack/plugins/cloud/serializers/account_attrs.py:157 -#, fuzzy -#| msgid "Project" msgid "Project ID" msgstr "dự án" @@ -12139,7 +11957,6 @@ 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ệ: `{}`, {}" @@ -12187,8 +12004,8 @@ msgstr "Số lượng phiên bản" #: xpack/plugins/cloud/tasks.py:33 msgid "" -"Execute this task when manually or scheduled cloud synchronization tasks are " -"performed" +"Execute this task when manually or scheduled cloud synchronization tasks are" +" performed" msgstr "" "Thực hiện nhiệm vụ đồng bộ trên đám mây theo cách thủ công hoặc theo lịch " "trình khi thực hiện nhiệm vụ này" @@ -12199,16 +12016,11 @@ msgstr "Định kỳ xóa ghi lại nhiệm vụ thực hiện các phiên bản #: xpack/plugins/cloud/tasks.py:52 msgid "" -"Every day, according to the configuration in \"System Settings - Tasks - " -"Regular \n" -" clean-up - Cloud sync task history retention days\" the system will " -"clean up the execution \n" +"Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" " records generated by cloud synchronization" msgstr "" -"Hằng ngày, hệ thống sẽ thực hiện việc dọn dẹp các ghi chép được tạo ra trong " -"quá trình đồng bộ đám mây dựa trên cấu hình trong “Cài đặt hệ thống - Nhiệm " -"vụ - Dọn dẹp định kỳ - Số ngày lưu trữ ghi chép lịch sử nhiệm vụ đồng bộ đám " -"mây”. \n" +"Hằng ngày, hệ thống sẽ thực hiện việc dọn dẹp các ghi chép được tạo ra trong quá trình đồng bộ đám mây dựa trên cấu hình trong “Cài đặt hệ thống - Nhiệm vụ - Dọn dẹp định kỳ - Số ngày lưu trữ ghi chép lịch sử nhiệm vụ đồng bộ đám mây”. \n" "\n" "Khôi phục mặc định thành công!\n" "\n" @@ -12284,25 +12096,3 @@ msgstr "Nhập giấy phép thành công" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "Giấy phép không hợp lệ" - -#~ msgid "" -#~ "CAS login was successful, but no corresponding local user was found in " -#~ "the system, and automatic user creation is disabled in the CAS " -#~ "authentication configuration. Login failed." -#~ msgstr "" -#~ "Đăng nhập CAS thành công, nhưng hệ thống không tìm thấy người dùng cục " -#~ "bộ, và tính năng tự động tạo người dùng trong cấu hình xác thực CAS không " -#~ "được kích hoạt, đăng nhập thất bại" - -#~ msgid "Invalid token or cache refreshed." -#~ msgstr "Token làm mới hoặc bộ nhớ cache không hợp lệ." - -#~ msgid "Create user" -#~ msgstr "Tạo người dùng (nếu không tồn tại)" - -#~ msgid "" -#~ "After successful user authentication, if the user does not exist, " -#~ "automatically create the user" -#~ msgstr "" -#~ "Sau khi xác thực người dùng thành công, nếu người dùng không tồn tại, sẽ " -#~ "tự động tạo người dùng" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 482190012..4f95972ac 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: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -17,23 +17,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.3\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "账号已存在" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "未找到可用于创建账户的有效资产。" #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "账号未找到" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "参数 'action' 必须是 [{}]" @@ -116,12 +115,10 @@ 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" @@ -147,7 +144,7 @@ msgstr ">>> 开始执行测试网关账号可连接性任务" #: authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -156,8 +153,6 @@ 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 "密码" @@ -537,7 +532,7 @@ msgstr "改密状态" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -627,7 +622,7 @@ msgstr "图标" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -907,8 +902,6 @@ 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 "用户名" @@ -1023,7 +1016,7 @@ msgid "Verify asset account" msgstr "账号验证" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1110,14 +1103,12 @@ 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 " @@ -1131,14 +1122,12 @@ 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 " @@ -1192,7 +1181,6 @@ msgid "Change password and Add" msgstr "改密并添加" #: accounts/risk_handlers.py:127 -#, python-brace-format msgid "Execution failed: {}" msgstr "执行失败:{}" @@ -1289,15 +1277,15 @@ msgstr "必须指定至少一个资产或节点" msgid "Spec info" msgstr "特殊信息" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 @@ -1321,7 +1309,7 @@ msgstr "ID" msgid "User" msgstr "用户" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1883,7 +1871,7 @@ msgstr "用户" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1928,7 +1916,6 @@ msgid "Command group" msgstr "命令组" #: acls/models/command_acl.py:86 -#, python-brace-format msgid "The generated regular expression is incorrect: {}" msgstr "生成的正则表达式有误: {}" @@ -2067,8 +2054,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" @@ -2079,23 +2066,19 @@ msgid "Recipients" msgstr "接收人" #: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79 -#, python-brace-format msgid "The organization `{}` does not exist" msgstr "组织 `{}` 不存在" #: acls/serializers/base.py:132 -#, 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 "地址无效: `{}`" @@ -2104,8 +2087,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 #: authentication/templates/authentication/_msg_oauth_bind.html:12 @@ -2185,7 +2168,6 @@ 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 "不能删除根节点 ({})" @@ -2206,12 +2188,10 @@ msgid "App Assets" msgstr "资产管理" #: assets/automations/base/manager.py:139 -#, python-brace-format msgid "Task: {} finished" msgstr "任务:{} 完成" #: assets/automations/base/manager.py:340 -#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - 平台 {} Ansible 已禁用, 无法执行任务" @@ -2243,7 +2223,6 @@ msgid "No account" msgstr "没有账号" #: assets/automations/ping_gateway/manager.py:36 -#, python-brace-format msgid "Asset, {}, using account {}" msgstr "资产, {}, 使用账号 {}" @@ -2357,8 +2336,7 @@ msgstr "云服务" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "自定义类型" @@ -3079,11 +3057,10 @@ msgid "port out of range (0-65535)" msgstr "端口超出范围 (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "协议是必填的: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "无效的数据" @@ -3418,17 +3395,14 @@ 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 "为了安全,禁止推送用户 {}" @@ -3846,40 +3820,39 @@ msgstr "参数中的值必须包含 %s" msgid "This action require verify your MFA" msgstr "该操作需要验证您的 MFA, 请先开启并配置" -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "不允许使用可重复使用的连接令牌,未启用全局设置" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "匿名账号不支持当前资产" -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "授权已过期" -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "ACL 动作是拒绝: {}({})" -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "ACL 动作是复核" -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "ACL 动作是人脸验证" -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "资产登录规则不支持当前资产" -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "ACL 动作是人脸在线" -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "没有可用的人脸特征" @@ -3889,13 +3862,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "用户不存在: {}" @@ -3904,7 +3875,6 @@ msgid "No user matched" msgstr "没有匹配到用户" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -3920,7 +3890,6 @@ msgid "Forgot password" msgstr "忘记密码" #: authentication/api/password.py:70 authentication/mfa/email.py:42 -#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "验证码有效期为 {} 分钟" @@ -3992,7 +3961,6 @@ msgid "Authentication failed password incorrect" msgstr "认证失败 (用户名或密码不正确)" #: authentication/confirm/relogin.py:11 -#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "登录时长已超过 {} 分钟,请重新登录" @@ -4081,14 +4049,12 @@ 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)" @@ -4119,7 +4085,6 @@ msgid "Wait login confirm ticket for accept" msgstr "等待登录复核处理" #: authentication/errors/const.py:67 -#, python-brace-format msgid "Login confirm ticket was {}" msgstr "登录复核: {}" @@ -4301,7 +4266,6 @@ msgid "Clear phone number to disable" msgstr "清空手机号码禁用" #: authentication/middleware.py:96 settings/utils/ldap.py:714 -#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "认证失败 (登录前检查失败): {}" @@ -4318,7 +4282,6 @@ msgid "User is invalid" msgstr "无效的用户" #: authentication/mixins.py:195 -#, python-brace-format msgid "" " The administrator has enabled 'Only allow login from user source'. \n" " The current user source is {}. Please contact the " @@ -4326,7 +4289,6 @@ msgid "" msgstr "管理员已开启'仅允许从用户来源登录',当前用户来源为 {},请联系管理员。" #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "该 MFA ({}) 方式没有启用" @@ -4395,7 +4357,6 @@ msgid "Connection token inactive" msgstr "连接令牌未激活" #: authentication/models/connection_token.py:174 -#, python-brace-format msgid "Connection token expired at: {}" msgstr "连接令牌过期: {}" @@ -4532,7 +4493,6 @@ msgstr "组织名称" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 -#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 不能为空" @@ -4596,8 +4556,8 @@ msgid "" "Retention Period" msgstr "" "系统在连接资产或创建临时密码时,会生成相应的连接 Token 或临时密码记录。为了保" -"障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时长”" -"中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录" +"障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时" +"长”中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录" #: authentication/templates/authentication/_access_key_modal.html:6 msgid "API key list" @@ -4908,7 +4868,6 @@ msgid "Redirecting" msgstr "跳转中" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "正在跳转到 {} 认证" @@ -4917,12 +4876,10 @@ 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" @@ -5120,7 +5077,6 @@ msgid "Updated by" msgstr "最后更新者" #: common/db/validators.py:9 -#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "无效的端口范围,应该在 {}-{} 之内" @@ -5133,12 +5089,10 @@ 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 "解析文件错误: {}" @@ -5151,7 +5105,6 @@ msgid "Yes/No" msgstr "是/否" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "文本,最大长度 {}" @@ -5160,24 +5113,20 @@ msgid "Long text, no length limit" msgstr "长文本,无长度限制" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "数字,最小 {} 最大 {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "日期时间格式 {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "选项,格式: 名称(值),名称是可选的,方便阅读,值是必填的,可选项有 {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "选项,可选项有 {}" @@ -5215,7 +5164,6 @@ msgid "Objects, format [\"id\", ...]" msgstr "多关联项,格式是 [\"id\", ...]" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -5301,7 +5249,6 @@ 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 "连接网关服务器错误,错误:{}" @@ -5314,10 +5261,6 @@ 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 "阿里云" @@ -5339,7 +5282,6 @@ msgid "Custom type (File)" msgstr "自定义 (文件)" #: common/sdk/sms/endpoint.py:32 -#, python-brace-format msgid "SMS provider not support: {}" msgstr "短信服务商不支持:{}" @@ -5356,7 +5298,6 @@ msgid "The verification code is incorrect" msgstr "验证码错误" #: common/sdk/sms/exceptions.py:18 -#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "请在 {} 秒后发送" @@ -5364,6 +5305,10 @@ msgstr "请在 {} 秒后发送" msgid "Children" msgstr "节点" +#: common/serializers/common.py:98 +msgid "File" +msgstr "文件" + #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "无效的数据" @@ -5385,11 +5330,10 @@ msgstr "错误的数据类型,应该是列表" #: common/serializers/fields.py:353 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 -#, python-brace-format msgid "Invalid choice: {}" msgstr "无效选项: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "标签" @@ -5487,10 +5431,6 @@ msgstr "你的账号已创建成功" msgid "JumpServer - An open-source PAM" msgstr "JumpServer 开源堡垒机" -#: jumpserver/context_processor.py:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "Flower 服务不可用,请检查" @@ -5505,7 +5445,6 @@ msgstr "" "这个页面,证明你访问的不是nginx监听的端口,祝你好运
" #: jumpserver/views/other.py:78 -#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "Websocket 服务运行在端口: {}, 请检查nginx是否代理是否设置" @@ -5564,7 +5503,6 @@ msgid "User message" msgstr "用户消息" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} 订阅" @@ -5601,17 +5539,14 @@ 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:65 -#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" msgstr "登录资产 {}({}) 被拒绝,由登录资产规则 ACL ({}) 限制" @@ -5894,7 +5829,6 @@ msgid "Celery Task Execution" msgstr "Celery 任务执行" #: ops/models/job.py:82 -#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "模块 {} 不适用于此资产" @@ -6175,7 +6109,6 @@ msgid "Name of the job" msgstr "Job 名称" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "当前组织 ({}) 不能被删除" @@ -6186,7 +6119,6 @@ msgid "" msgstr "LDAP 同步设置组织为当前组织,请切换其他组织后再进行删除操作" #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "组织存在资源 ({}) 不能被删除" @@ -6343,7 +6275,7 @@ msgid "today" msgstr "今天" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "天" @@ -6360,7 +6292,6 @@ msgid "Asset permissions is about to expire" msgstr "资产授权规则将要过期" #: perms/notifications.py:64 -#, python-brace-format msgid "asset permissions of organization {}" msgstr "组织 ({}) 的资产授权" @@ -6435,7 +6366,6 @@ msgid "Internal role, can't be update" msgstr "内部角色,不能更新" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} 至少有一个系统角色" @@ -6609,7 +6539,7 @@ msgstr "账号改密" msgid "App ops" msgstr "作业中心" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "功能" @@ -6652,8 +6582,8 @@ msgstr "组织管理" msgid "Ticket comment" msgstr "工单评论" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "工单" @@ -6729,14 +6659,13 @@ msgstr "发送邮件成功" msgid "Chat AI is not enabled" msgstr "聊天 AI 没有开启" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "测试成功" #: settings/api/email.py:22 -#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "邮件已经发送{}, 请检查" @@ -7603,7 +7532,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "地域" @@ -7652,53 +7581,69 @@ msgstr "GPT 模型" msgid "DeepSeek Model" msgstr "DeepSeek 模型" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "自定义模型" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "是否使用自定义模型" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "自定义 GPT 模型" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "自定义 DeepSeek 模型" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "免登录审批" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "允许无需登录直接批准工单" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "时段" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "工单申请资产的默认授权时间段" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "时" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "单位" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "执行周期" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "批量命令执行" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "允许用户在工作台 - 作业中心 - Adhoc 中执行批量命令" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "作业中心命令黑名单" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "作业中心命令黑名单" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -7706,11 +7651,11 @@ msgstr "作业中心命令黑名单" msgid "Virtual app" msgstr "虚拟应用" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "虚拟应用" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -8275,23 +8220,19 @@ 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 "未知错误: {}" @@ -8300,27 +8241,22 @@ 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属性映射没有包含: {}" @@ -8333,57 +8269,46 @@ 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 "认证成功: {}" @@ -8392,12 +8317,10 @@ 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 ", 禁用 {}" @@ -8598,7 +8521,6 @@ msgid "This is enterprise edition applet" msgstr "企业版远程应用,在社区版中不能使用" #: terminal/api/applet/applet.py:91 -#, python-brace-format msgid "Applet not found in path: {}" msgstr "路径中未找到远程应用: {}" @@ -8611,7 +8533,6 @@ 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 "无法删除正在使用的存储: {}" @@ -8624,7 +8545,6 @@ msgid "Invalid" msgstr "无效" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "测试失败: {}" @@ -8651,7 +8571,6 @@ msgid "Session replay" msgstr "会话录像" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "会话不存在: {}" @@ -8659,7 +8578,7 @@ msgstr "会话不存在: {}" msgid "Session is finished or the protocol not supported" msgstr "会话已经完成或协议不支持" -#: terminal/api/session/session.py:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "用户没有权限" @@ -8824,12 +8743,10 @@ msgstr "主机" #: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 -#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 无效,缺少文件 {}" #: terminal/models/applet/applet.py:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "加载 platform.yml 失败: {}" @@ -9204,9 +9121,9 @@ msgid "" "days. Detail" msgstr "" -"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" +"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9377,7 +9294,6 @@ msgid "No asset or invalid asset" msgstr "没有资产或资产未激活" #: terminal/serializers/storage.py:23 -#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "端点无效: 移除路径 `{}`" @@ -9426,8 +9342,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" @@ -9763,7 +9679,6 @@ msgid "Ticket already closed" msgstr "工单已经关闭" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -9783,7 +9698,6 @@ msgid "After change" msgstr "变更后" #: tickets/handlers/base.py:96 -#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} 工单" @@ -9923,22 +9837,18 @@ msgid "Ticket applied info" msgstr "工单申请信息" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" 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 "你的工单已被处理, 处理人 - {} ({})" @@ -9968,7 +9878,6 @@ msgstr "申请动作" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 -#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "通过工单创建 ({}-{})" @@ -9977,7 +9886,6 @@ 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 "授权名称 `{}` 已存在" @@ -9986,7 +9894,6 @@ msgid "Process map" msgstr "流程图" #: tickets/serializers/ticket/ticket.py:91 -#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "工单流程 `{}` 不存在" @@ -10453,7 +10360,6 @@ 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 "新密码不能是最近 {} 次的密码" @@ -10888,7 +10794,6 @@ 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: {}" @@ -10899,7 +10804,6 @@ msgid "Token invalid or expired" msgstr "令牌错误或失效" #: users/views/profile/reset.py:204 -#, python-brace-format msgid "User auth from {}, go there change password" msgstr "用户认证源来自 {}, 请去相应系统修改密码" @@ -10908,7 +10812,6 @@ 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 "* 新密码不能是最近 {} 次的密码" @@ -10931,12 +10834,10 @@ 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 "用户 {} 删除了当前资源已释放的资产" @@ -11134,10 +11035,6 @@ msgstr "同步地区" msgid "Get instances of region \"%s\" error, error: %s" msgstr "获取区域 \"%s\" 的实例错误,错误:%s" -#: xpack/plugins/cloud/manager.py:169 xpack/plugins/cloud/models.py:290 -msgid "Instance" -msgstr "实例" - #: xpack/plugins/cloud/manager.py:195 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -11280,6 +11177,10 @@ msgstr "同步任务" msgid "Sync instance task history" msgstr "同步实例任务历史" +#: xpack/plugins/cloud/models.py:290 +msgid "Instance" +msgstr "实例" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "同步实例详情" @@ -11600,10 +11501,6 @@ 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 "认证地址" @@ -11637,7 +11534,6 @@ 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 地址无效: `{}`, {}" @@ -11751,3 +11647,6 @@ msgstr "许可证导入成功" #: xpack/plugins/license/api.py:53 msgid "Invalid license" 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 709afb70e..2edadea5f 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: 2025-12-09 10:13+0800\n" +"POT-Creation-Date: 2025-12-12 15:12+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -16,26 +16,24 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.3\n" -"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:19:20 | https://" -"zhconvert.org\n" +"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:19:20 | https://zhconvert.org\n" -#: accounts/api/account/account.py:142 +#: accounts/api/account/account.py:143 #: accounts/serializers/account/account.py:181 #: accounts/serializers/account/account.py:362 msgid "Account already exists" msgstr "帳號已存在" -#: accounts/api/account/account.py:207 +#: accounts/api/account/account.py:208 msgid "No valid assets found for account creation." msgstr "未找到可用於創建帳戶的有效資產。" #: accounts/api/account/application.py:77 -#: authentication/api/connection_token.py:453 +#: authentication/api/connection_token.py:463 msgid "Account not found" msgstr "帳號未找到" #: accounts/api/automations/base.py:88 tickets/api/ticket.py:132 -#, python-brace-format msgid "The parameter 'action' must be [{}]" msgstr "參數 'action' 必須是 [{}]" @@ -118,17 +116,14 @@ 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" -"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no " -"secret: {}, using time: {}s" +"ok: {}, weak password: {}, leaked password: {}, repeated password: {}, no secret: {}, using time: {}s" msgstr "" "---\n" "摘要: \n" @@ -144,12 +139,12 @@ msgstr ">>> 開始執行測試閘道器帳號可連結性的任務" #: accounts/const/account.py:6 #: accounts/serializers/automations/change_secret.py:36 -#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:25 -#: authentication/confirm/password.py:27 authentication/const.py:13 -#: authentication/forms.py:28 +#: audits/signal_handlers/login_log.py:34 +#: authentication/confirm/password.py:25 authentication/confirm/password.py:27 +#: authentication/const.py:13 authentication/forms.py:28 #: authentication/templates/authentication/login.html:368 #: authentication/templates/authentication/login.html:414 -#: reports/api/users/user.py:101 settings/models.py:246 +#: reports/api/users/user.py:101 settings/models.py:250 #: settings/serializers/auth/ldap.py:27 settings/serializers/auth/ldap.py:53 #: settings/serializers/auth/ldap_ha.py:35 settings/serializers/msg.py:37 #: settings/serializers/terminal.py:32 terminal/serializers/storage.py:123 @@ -158,8 +153,6 @@ 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 "密碼" @@ -217,7 +210,8 @@ msgstr "發現" msgid "Template" msgstr "模板" -#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:76 +#: accounts/const/account.py:32 ops/const.py:47 +#: xpack/plugins/cloud/const.py:76 msgid "Skip" msgstr "跳過" @@ -539,7 +533,7 @@ msgstr "改密狀態" #: acls/serializers/base.py:112 #: acls/templates/acls/asset_login_reminder.html:11 #: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337 -#: audits/serializers.py:246 authentication/api/connection_token.py:465 +#: audits/serializers.py:246 authentication/api/connection_token.py:475 #: ops/models/base.py:18 perms/models/asset_permission.py:75 #: settings/serializers/msg.py:33 terminal/backends/command/models.py:18 #: terminal/models/session/session.py:31 terminal/notifications.py:291 @@ -607,9 +601,11 @@ msgstr "帳號活動" #: perms/models/asset_permission.py:61 rbac/models/role.py:29 #: rbac/serializers/role.py:28 settings/models.py:39 settings/models.py:188 #: settings/serializers/msg.py:90 settings/serializers/terminal.py:9 -#: terminal/models/applet/applet.py:34 terminal/models/component/endpoint.py:13 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 #: terminal/models/component/endpoint.py:107 -#: terminal/models/component/storage.py:26 terminal/models/component/task.py:13 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 #: terminal/models/component/terminal.py:86 #: terminal/models/virtualapp/provider.py:10 #: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 @@ -619,7 +615,8 @@ msgstr "帳號活動" #: users/notifications.py:145 users/notifications.py:184 #: users/notifications.py:224 users/notifications.py:252 #: users/notifications.py:279 xpack/plugins/cloud/models.py:35 -#: xpack/plugins/cloud/models.py:316 xpack/plugins/cloud/serializers/task.py:77 +#: xpack/plugins/cloud/models.py:316 +#: xpack/plugins/cloud/serializers/task.py:77 msgid "Name" msgstr "名稱" @@ -629,7 +626,7 @@ msgstr "圖示" #: accounts/models/application.py:20 accounts/models/base.py:39 #: accounts/models/mixins/vault.py:49 -#: accounts/serializers/account/account.py:498 +#: accounts/serializers/account/account.py:499 #: accounts/serializers/account/base.py:20 #: authentication/models/temp_token.py:11 #: authentication/templates/authentication/_access_key_modal.html:31 @@ -653,16 +650,19 @@ msgstr "IPグループ" #: accounts/models/application.py:23 #: authentication/backends/passkey/models.py:14 #: authentication/models/access_key.py:25 -#: authentication/models/private_token.py:8 authentication/models/ssh_key.py:20 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 msgid "Date last used" msgstr "最後使用日期" #: accounts/models/application.py:24 acls/models/base.py:43 #: assets/models/asset/common.py:182 authentication/models/access_key.py:24 #: authentication/models/connection_token.py:60 -#: authentication/models/ssh_key.py:13 authentication/serializers/ssh_key.py:23 +#: authentication/models/ssh_key.py:13 +#: authentication/serializers/ssh_key.py:23 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/asset_permission.py:82 terminal/models/component/endpoint.py:30 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:30 #: terminal/models/component/endpoint.py:118 #: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 #: tickets/const.py:37 @@ -896,8 +896,8 @@ msgstr "重複密碼" #: accounts/templates/accounts/gather_account_report.html:118 #: accounts/templates/accounts/push_account_report.html:79 #: accounts/templates/accounts/push_account_report.html:119 -#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204 -#: authentication/forms.py:21 authentication/forms.py:23 +#: acls/serializers/base.py:19 acls/serializers/base.py:50 +#: audits/models.py:204 authentication/forms.py:21 authentication/forms.py:23 #: authentication/models/temp_token.py:10 #: authentication/serializers/connect_token_secret.py:43 #: authentication/serializers/connect_token_secret.py:53 @@ -909,8 +909,6 @@ 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 "使用者名稱" @@ -1025,7 +1023,7 @@ msgid "Verify asset account" msgstr "帳號驗證" #: accounts/models/base.py:37 accounts/models/base.py:66 -#: accounts/serializers/account/account.py:497 +#: accounts/serializers/account/account.py:498 #: accounts/serializers/account/base.py:17 #: accounts/serializers/automations/change_secret.py:50 #: authentication/serializers/connect_token_secret.py:42 @@ -1104,50 +1102,41 @@ msgstr "登錄資產時,帳號使用者名稱與使用者使用者名稱相同 msgid "" "Connect asset without using a username and password, and it only supports " "web-based and custom-type assets" -msgstr "" -"連接資產時不使用使用者名稱和密碼的帳號,僅支持 web類型 和 自訂類型 的資產" +msgstr "連接資產時不使用使用者名稱和密碼的帳號,僅支持 web類型 和 自訂類型 的資產" #: accounts/notifications.py:13 accounts/notifications.py:39 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 " "encryption password for preference settings" -msgstr "" -"{} - 帳號備份任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置的基本中" -"設置文件加密密碼" +msgstr "{} - 帳號備份任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置的基本中設置文件加密密碼" #: accounts/notifications.py:58 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 " "password in preferences" -msgstr "" -"{} - 改密任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置中設置加密密" -"碼" +msgstr "{} - 改密任務已完成: 未設置加密密碼 - 請前往個人資訊 -> 偏好設置中設置加密密碼" #: accounts/notifications.py:86 msgid "Gather account change information" @@ -1194,7 +1183,6 @@ msgid "Change password and Add" msgstr "改密並添加" #: accounts/risk_handlers.py:127 -#, python-brace-format msgid "Execution failed: {}" msgstr "執行失敗:{}" @@ -1228,9 +1216,9 @@ msgstr "類別" #: assets/serializers/platform.py:161 assets/serializers/platform.py:173 #: audits/serializers.py:76 audits/serializers.py:211 #: authentication/models/connection_token.py:67 -#: authentication/serializers/connect_token_secret.py:138 ops/models/job.py:155 -#: perms/serializers/user_permission.py:28 terminal/models/applet/applet.py:40 -#: terminal/models/component/storage.py:58 +#: authentication/serializers/connect_token_secret.py:138 +#: ops/models/job.py:155 perms/serializers/user_permission.py:28 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 #: terminal/models/component/storage.py:152 terminal/serializers/applet.py:30 #: terminal/serializers/session.py:33 terminal/serializers/storage.py:281 #: terminal/serializers/storage.py:294 tickets/models/comment.py:26 @@ -1291,21 +1279,22 @@ msgstr "資產或者節點至少選擇一項" msgid "Spec info" msgstr "特殊資訊" -#: accounts/serializers/account/account.py:499 +#: accounts/serializers/account/account.py:500 #: authentication/serializers/connect_token_secret.py:173 #: authentication/templates/authentication/_access_key_modal.html:30 -#: perms/models/perm_node.py:21 settings/models.py:245 +#: perms/models/perm_node.py:21 settings/models.py:249 #: users/serializers/group.py:33 msgid "ID" msgstr "ID" -#: accounts/serializers/account/account.py:509 acls/notifications.py:18 +#: accounts/serializers/account/account.py:510 acls/notifications.py:18 #: acls/notifications.py:68 acls/serializers/base.py:104 #: acls/templates/acls/asset_login_reminder.html:8 #: acls/templates/acls/user_login_reminder.html:8 -#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:55 -#: audits/models.py:97 audits/models.py:179 audits/models.py:296 -#: audits/serializers.py:212 authentication/models/connection_token.py:38 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:55 audits/models.py:97 audits/models.py:179 +#: audits/models.py:296 audits/serializers.py:212 +#: authentication/models/connection_token.py:38 #: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 #: authentication/notifications.py:16 authentication/notifications.py:55 #: notifications/models/notification.py:12 @@ -1323,7 +1312,7 @@ msgstr "ID" msgid "User" msgstr "用戶" -#: accounts/serializers/account/account.py:510 +#: accounts/serializers/account/account.py:511 #: authentication/templates/authentication/_access_key_modal.html:33 #: terminal/notifications.py:165 terminal/notifications.py:225 msgid "Date" @@ -1337,9 +1326,7 @@ msgstr "密鑰密碼" msgid "" "* If no username is required for authentication, enter null. For AD " "accounts, use the format username@domain." -msgstr "" -"提示:如果認證時不需要使用者名稱,可填寫為 null,如果是 AD 帳號,格式為 " -"username@domain" +msgstr "提示:如果認證時不需要使用者名稱,可填寫為 null,如果是 AD 帳號,格式為 username@domain" #: accounts/serializers/account/service.py:15 #: authentication/serializers/token.py:23 @@ -1348,11 +1335,11 @@ msgstr "IP 白名單" #: accounts/serializers/account/service.py:28 #: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 -#: assets/models/cmd_filter.py:88 common/db/models.py:36 ops/models/adhoc.py:25 -#: ops/models/job.py:165 ops/models/playbook.py:31 rbac/models/role.py:37 -#: settings/models.py:44 terminal/models/applet/applet.py:46 -#: terminal/models/applet/applet.py:383 terminal/models/applet/host.py:143 -#: terminal/models/component/endpoint.py:29 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:165 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:44 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:383 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:29 #: terminal/models/component/endpoint.py:117 #: terminal/models/session/session.py:44 #: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 @@ -1398,20 +1385,16 @@ msgid "" "length is the length of the password, and the range is 8 to 30.\n" "lowercase indicates whether the password contains lowercase letters, \n" "uppercase indicates whether it contains uppercase letters,\n" -"digit indicates whether it contains numbers, and symbol indicates whether it " -"contains special symbols.\n" -"exclude_symbols is used to exclude specific symbols. You can fill in the " -"symbol characters to be excluded (up to 16). \n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" "If you do not need to exclude symbols, you can leave it blank.\n" -"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, " -"\"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" msgstr "" -"length 是密碼的長度,填入範圍為 8 到 30。lowercase 表示密碼中是否包含小寫字" -"母,uppercase 表示是否包含大寫字母,digit 表示是否包含數字,symbol 表示是否包" -"含特殊符號。exclude_symbols 用於排除特定符號,您可以填寫要排除的符號字元(最" -"多 16 個),如果無需排除符號,可以留空。預設: {\"length\": 16, " -"\"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, " -"\"exclude_symbols\": \"\"}" +"length 是密碼的長度,填入範圍為 8 到 30。lowercase 表示密碼中是否包含小寫字母,uppercase " +"表示是否包含大寫字母,digit 表示是否包含數字,symbol 表示是否包含特殊符號。exclude_symbols " +"用於排除特定符號,您可以填寫要排除的符號字元(最多 16 個),如果無需排除符號,可以留空。預設: {\"length\": 16, " +"\"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true," +" \"exclude_symbols\": \"\"}" #: accounts/serializers/account/template.py:47 msgid "Secret generation strategy for account creation" @@ -1433,9 +1416,8 @@ msgid "" "asset secret > Login secret > Manual input.
For security, please set " "config CACHE_LOGIN_PASSWORD_ENABLED to true" msgstr "" -"當前僅支持 AD/LDAP 登錄方式用戶。 同名帳號密碼生效順序: 資產上存在的同名帳號" -"密碼 > 登錄密碼 > 手動輸入
為了安全起見,請設置配置項 " -"CACHE_LOGIN_PASSWORD_ENABLED=true,重啟服務才能開啟" +"當前僅支持 AD/LDAP 登錄方式用戶。 同名帳號密碼生效順序: 資產上存在的同名帳號密碼 > 登錄密碼 > 手動輸入
" +"為了安全起見,請設置配置項 CACHE_LOGIN_PASSWORD_ENABLED=true,重啟服務才能開啟" #: accounts/serializers/automations/backup.py:19 msgid "Zip Encrypt Password" @@ -1536,15 +1518,10 @@ msgstr "帳號執行自動化" #: accounts/tasks/automation.py:36 msgid "" -"Unified execution entry for account automation tasks: when the system " -"performs tasks \n" -" such as account push, password change, account verification, account " -"collection, \n" -" and gateway account verification, all tasks are executed through " -"this unified entry" -msgstr "" -"帳號自動化任務統一執行入口,當系統執行帳號推送、更改密碼、驗證帳號、收集帳號" -"以及驗證網關帳號任務時,統一通過當前任務執行" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" +msgstr "帳號自動化任務統一執行入口,當系統執行帳號推送、更改密碼、驗證帳號、收集帳號以及驗證網關帳號任務時,統一通過當前任務執行" #: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" @@ -1560,28 +1537,18 @@ msgstr "週期清理改密記錄和推送記錄" #: accounts/tasks/automation.py:118 msgid "" -"The system will periodically clean up unnecessary password change and push " -"records, \n" -" including their associated change tasks, execution logs, assets, and " -"accounts. When any \n" -" of these associated items are deleted, the corresponding password " -"change and push records \n" -" become invalid. Therefore, to maintain a clean and efficient " -"database, the system will \n" -" clean up expired records at 2 a.m daily, based on the interval " -"specified by \n" -" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. " -"This periodic cleanup \n" -" mechanism helps free up storage space and enhances the security and " -"overall performance \n" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" " of data management" msgstr "" -"系統會定期清理不再需要的改密記錄和推送記錄,包括那些關聯的改密任務、執行記" -"錄、資產和帳號。當這些關聯項中的任意一個被刪除時,對應的改密和推送記錄將變為" -"無效。因此,為了保持資料庫的整潔和高效運行,根據系統配置文件 config.txt 中 " -"PERM_EXPIRED_CHECK_PERIODIC 的時間間隔,對於超出時間的記錄,於每天凌晨2點進行" -"清理。這種定期清理機制不僅有助於釋放儲存空間,還能提高資料管理的安全性和整體" -"性能" +"系統會定期清理不再需要的改密記錄和推送記錄,包括那些關聯的改密任務、執行記錄、資產和帳號。當這些關聯項中的任意一個被刪除時,對應的改密和推送記錄將變為無效。因此,為了保持資料庫的整潔和高效運行,根據系統配置文件" +" config.txt 中 PERM_EXPIRED_CHECK_PERIODIC " +"的時間間隔,對於超出時間的記錄,於每天凌晨2點進行清理。這種定期清理機制不僅有助於釋放儲存空間,還能提高資料管理的安全性和整體性能" #: accounts/tasks/push_account.py:40 accounts/tasks/push_account.py:54 msgid "Push accounts to assets" @@ -1605,8 +1572,7 @@ msgstr "當修改帳號密碼並推送到資產時,執行該任務" #: accounts/tasks/remove_account.py:28 msgid "" -"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered " -"accounts' this \n" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" " task will be executed" msgstr "在控制台-收集帳號-收集的帳號中單擊同步刪除時,將執行此任務" @@ -1616,16 +1582,12 @@ msgstr "清理歷史帳號" #: accounts/tasks/remove_account.py:52 msgid "" -"Each time an asset account is updated, a historical account is generated, so " -"it is \n" -" necessary to clean up the asset account history. The system will " -"clean up excess account \n" -" records at 2 a.m. daily based on the configuration in the \"System " -"settings - Features - \n" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" " Account storage - Record limit" msgstr "" -"由於每次更新資產帳號,均會生成歷史帳號,因此需要清理資產帳號的歷史。系統會根" -"據帳號存儲-記錄限制的配置,每天凌晨2點對於超出的數量的帳號記錄進行清理" +"由於每次更新資產帳號,均會生成歷史帳號,因此需要清理資產帳號的歷史。系統會根據帳號存儲-記錄限制的配置,每天凌晨2點對於超出的數量的帳號記錄進行清理" #: accounts/tasks/remove_account.py:89 msgid "Remove historical accounts that are out of range." @@ -1637,8 +1599,7 @@ msgstr "同步資訊到關聯的帳號" #: accounts/tasks/template.py:14 msgid "" -"When clicking 'Sync new secret to accounts' in 'Console - Account - " -"Templates - \n" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" " Accounts' this task will be executed" msgstr "當在控制台-帳號模板-帳號-同步更新帳號信息點擊同步時,執行該任務" @@ -1802,8 +1763,8 @@ msgstr "未找到丟失的帳號" #: accounts/utils.py:55 msgid "" -"If the password starts with {{` and ends with }} `, then the password is not " -"allowed." +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." msgstr "如果密碼以 `{{` 開始,並且以 `}}` 結束,則該密碼是不允許的。" #: accounts/utils.py:63 @@ -1862,7 +1823,8 @@ msgid "1-100, the lower the value will be match first" msgstr "優先度可選範圍為 1-100 (數值越小越優先)" #: acls/models/base.py:41 acls/serializers/base.py:57 -#: assets/models/cmd_filter.py:81 audits/models.py:99 audits/serializers.py:107 +#: assets/models/cmd_filter.py:81 audits/models.py:99 +#: audits/serializers.py:107 #: authentication/serializers/connect_token_secret.py:131 #: authentication/templates/authentication/_access_key_modal.html:34 #: perms/serializers/permission.py:63 perms/serializers/permission.py:85 @@ -1886,7 +1848,7 @@ msgstr "用戶管理" #: assets/models/automations/base.py:25 #: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33 #: assets/serializers/platform.py:182 assets/serializers/platform.py:214 -#: authentication/api/connection_token.py:464 ops/models/base.py:17 +#: authentication/api/connection_token.py:474 ops/models/base.py:17 #: ops/models/job.py:157 ops/serializers/job.py:21 #: perms/serializers/permission.py:57 #: terminal/templates/terminal/_msg_command_execute_alert.html:16 @@ -1931,10 +1893,8 @@ msgid "Command group" msgstr "命令組" #: acls/models/command_acl.py:86 -#, fuzzy, python-brace-format -#| msgid "The generated regular expression is incorrect: {}" msgid "The generated regular expression is incorrect: {}" -msgstr "生成的正則表達式有誤" +msgstr "生成的正則表達式有誤: {}" #: acls/models/command_acl.py:103 #: terminal/templates/terminal/_msg_command_warning.html:22 @@ -2039,7 +1999,8 @@ msgstr "ACL 名稱" #: acls/notifications.py:24 acls/notifications.py:77 #: acls/templates/acls/asset_login_reminder.html:13 #: acls/templates/acls/user_login_reminder.html:11 -#: terminal/models/session/session.py:34 terminal/models/session/sharing.py:116 +#: terminal/models/session/session.py:34 +#: terminal/models/session/sharing.py:116 #: terminal/templates/terminal/_msg_command_warning.html:16 msgid "Login from" msgstr "登錄來源" @@ -2083,23 +2044,19 @@ msgid "Recipients" msgstr "接收人" #: acls/serializers/base.py:126 tickets/serializers/ticket/ticket.py:79 -#, python-brace-format msgid "The organization `{}` does not exist" msgstr "組織 `{}` 不存在" #: acls/serializers/base.py:132 -#, 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 "地址無效: `{}`" @@ -2158,9 +2115,7 @@ msgid "" "Please review the login activity to ensure the security and proper usage of " "the asset. If you did not authorize this login or if you notice any " "suspicious activity, please take the necessary actions immediately." -msgstr "" -"請您稽核此登入行為,以確保資產的安全和正確使用。如果您未授權此次登入或發現任" -"何可疑行為,請立即採取必要的行動。" +msgstr "請您稽核此登入行為,以確保資產的安全和正確使用。如果您未授權此次登入或發現任何可疑行為,請立即採取必要的行動。" #: acls/templates/acls/asset_login_reminder.html:20 #: acls/templates/acls/user_login_reminder.html:19 @@ -2189,7 +2144,6 @@ 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 "不能刪除根節點 ({})" @@ -2210,12 +2164,10 @@ msgid "App Assets" msgstr "資產管理" #: assets/automations/base/manager.py:139 -#, python-brace-format msgid "Task: {} finished" msgstr "任務:{} 完成" #: assets/automations/base/manager.py:340 -#, python-brace-format msgid " - Platform {} ansible disabled" msgstr " - 平台 {} Ansible 已禁用, 無法執行任務" @@ -2247,7 +2199,6 @@ msgid "No account" msgstr "沒有帳號" #: assets/automations/ping_gateway/manager.py:36 -#, python-brace-format msgid "Asset, {}, using account {}" msgstr "資產, {}, 使用帳號 {}" @@ -2361,8 +2312,7 @@ msgstr "雲服務" msgid "Web" msgstr "Web" -#: assets/const/category.py:16 common/sdk/sms/custom_file.py:47 -#: common/sdk/sms/endpoint.py:20 +#: assets/const/category.py:16 common/sdk/sms/endpoint.py:20 msgid "Custom type" msgstr "自訂" @@ -2439,8 +2389,8 @@ msgstr "舊的 SSH 版本,例如 openssh 5.x 或 6.x" #: assets/const/protocol.py:53 msgid "Netcat help text" msgstr "" -"使用 netcat (nc) 作為代理工具,將連線從代理伺服器轉送到目標主機。適用於不支" -"援 SSH 原生代理選項 (-W) 的環境,或需要更多靈活性和逾時控制的場景。" +"使用 netcat (nc) 作為代理工具,將連線從代理伺服器轉送到目標主機。適用於不支援 SSH 原生代理選項 (-W) " +"的環境,或需要更多靈活性和逾時控制的場景。" #: assets/const/protocol.py:64 msgid "SFTP root" @@ -2453,8 +2403,7 @@ msgid "" "account username
- ${HOME} The home directory of the connected account " "
- ${USER} The username of the user" msgstr "" -"SFTP根目錄,支持變數:
-${ACCOUNT}已連接帳戶使用者名稱
-${HOME}連接帳戶" -"的主目錄
-${USER}用戶的使用者名稱" +"SFTP根目錄,支持變數:
-${ACCOUNT}已連接帳戶使用者名稱
-${HOME}連接帳戶的主目錄
-${USER}用戶的使用者名稱" #: assets/const/protocol.py:81 msgid "Console" @@ -2475,18 +2424,17 @@ msgstr "安全" #: assets/const/protocol.py:89 msgid "" -"Security layer to use for the connection:
Any
Automatically select the " -"security mode based on the security protocols supported by both the client " +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " "and the server
RDP
Legacy RDP encryption. This mode is generally only " "used for older Windows servers or in cases where a standard Windows login " "screen is desired
TLS
RDP authentication and encryption implemented " "via TLS.
NLA
This mode uses TLS encryption and requires the username " "and password to be given in advance" msgstr "" -"連接的安全層:
Any
根據客戶端和伺服器支援的安全協議自動選擇安全模式" -"
RDP
傳統的 RDP 加密模式。通常僅用於較舊的 Windows 伺服器或需要標準 " -"Windows 登入螢幕的情況
TLS
通過 TLS 實現的 RDP 認證和加密
NLA
此" -"模式使用 TLS 加密,並要求提前提供用戶名和密碼
" +"連接的安全層:
Any
根據客戶端和伺服器支援的安全協議自動選擇安全模式
RDP
傳統的 RDP 加密模式。通常僅用於較舊的 " +"Windows 伺服器或需要標準 Windows 登入螢幕的情況
TLS
通過 TLS 實現的 RDP " +"認證和加密
NLA
此模式使用 TLS 加密,並要求提前提供用戶名和密碼
" #: assets/const/protocol.py:106 msgid "AD domain" @@ -2571,10 +2519,8 @@ msgid "Enable if this Redis instance is part of a cluster" msgstr "如果此 Redis 實例是集群的一部分,則啟用" #: assets/const/protocol.py:276 -#, fuzzy -#| msgid "Name strategy" msgid "Namespace" -msgstr "主機名稱策略" +msgstr "命名空間" #: assets/const/protocol.py:288 msgid "Safe mode" @@ -2584,8 +2530,7 @@ msgstr "安全模式" msgid "" "When safe mode is enabled, some operations will be disabled, such as: New " "tab, right click, visit other website, etc." -msgstr "" -"當安全模式啟用時,一些操作將被禁用,例如:新建標籤頁、右鍵、訪問其它網站 等" +msgstr "當安全模式啟用時,一些操作將被禁用,例如:新建標籤頁、右鍵、訪問其它網站 等" #: assets/const/protocol.py:295 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 @@ -3045,9 +2990,7 @@ msgstr "協定,格式為 名稱/連接埠" msgid "" "Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " "\"secret_type\": \"password\"}]" -msgstr "" -"帳號,格式為 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " -"\"secret_type\": \"password\"}]" +msgstr "帳號,格式為 [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", \"secret_type\": \"password\"}]" #: assets/serializers/asset/common.py:135 msgid "" @@ -3085,11 +3028,10 @@ msgid "port out of range (0-65535)" msgstr "埠超出範圍 (0-65535)" #: assets/serializers/asset/common.py:315 -#, python-brace-format msgid "Protocol is required: {}" msgstr "協議是必填的: {}" -#: assets/serializers/asset/common.py:354 labels/api.py:107 +#: assets/serializers/asset/common.py:354 msgid "Invalid data" msgstr "無效的數據" @@ -3100,39 +3042,32 @@ msgstr "默認資料庫" #: assets/serializers/asset/database.py:23 msgid "CA cert help text" msgstr "" -"Common Name (CN) 字段已被棄用,請根據 RFC 5280 使用 Subject Alternative Name " -"(SAN) 字段來驗證網域名,以提高安全性。" +"Common Name (CN) 字段已被棄用,請根據 RFC 5280 使用 Subject Alternative Name (SAN) " +"字段來驗證網域名,以提高安全性。" #: assets/serializers/asset/database.py:24 msgid "Postgresql ssl model help text" msgstr "" "Prefer:我不在乎是否加密,但如果伺服器支持加密,我願意支付加密的費用。\n" -"Require:我希望我的資料被加密,我可以承擔那個費用。我相信網路將確保我始終連接" -"到我想要的伺服器。\n" -"Verify CA:我希望我的資料被加密,我可以承擔那個費用。我想要確認我連接到我信任" -"的伺服器。\n" -"Verify Full:我希望我的資料被加密,我接受負擔。我想確保我連接到我信任的伺服" -"器,並且它是我指定的伺服器。" +"Require:我希望我的資料被加密,我可以承擔那個費用。我相信網路將確保我始終連接到我想要的伺服器。\n" +"Verify CA:我希望我的資料被加密,我可以承擔那個費用。我想要確認我連接到我信任的伺服器。\n" +"Verify Full:我希望我的資料被加密,我接受負擔。我想確保我連接到我信任的伺服器,並且它是我指定的伺服器。" #: assets/serializers/asset/ds.py:18 msgid "" -"The domain part used by the directory service (e.g., AD) and appended to the " -"username during login, such as example.com in user@example.com." +"The domain part used by the directory service (e.g., AD) and appended to the" +" username during login, such as example.com in user@example.com." msgstr "" -"域名(Domain Name)用於目錄服務(如 AD)登錄時附加在用戶名後的域名部分,例如 " -"user@example.com 中的 example.com \n" +"域名(Domain Name)用於目錄服務(如 AD)登錄時附加在用戶名後的域名部分,例如 user@example.com 中的 example.com \n" "模塊 {} 不適用於此資產 \n" "執行手動或定時雲同步任務時執行此任務 \n" -"每天系統會根據「系統設定-任務-定期清理-雲同步任務歷史記錄保留天數」中的配置," -"清理雲同步執行過程中產生的記錄。" +"每天系統會根據「系統設定-任務-定期清理-雲同步任務歷史記錄保留天數」中的配置,清理雲同步執行過程中產生的記錄。" #: assets/serializers/asset/gpt.py:20 msgid "" -"If the server cannot directly connect to the API address, you need set up an " -"HTTP proxy. e.g. http(s)://host:port" -msgstr "" -"如果伺服器不能直接訪問 api 地址,你需要設置一個 HTTP 代理。例如 http(s)://" -"host:port" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" +msgstr "如果伺服器不能直接訪問 api 地址,你需要設置一個 HTTP 代理。例如 http(s)://host:port" #: assets/serializers/asset/gpt.py:24 msgid "HTTP proxy" @@ -3315,9 +3250,7 @@ msgid "" "Login with account when accessing assets, then automatically switch to " "another, similar to logging in with a regular account and then switching to " "root" -msgstr "" -"在訪問資產時使用帳戶登入,然後自動切換到另一個帳戶,就像用普通帳戶登入然後切" -"換到 root 一樣" +msgstr "在訪問資產時使用帳戶登入,然後自動切換到另一個帳戶,就像用普通帳戶登入然後切換到 root 一樣" #: assets/serializers/platform.py:211 msgid "Assets can be connected using a zone gateway" @@ -3357,8 +3290,7 @@ msgstr "收集資產資訊" #: assets/tasks/gather_facts.py:25 msgid "" -"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' " -"this task \n" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" " will be executed" msgstr "當在控制台資產詳情-基本設置點擊更新硬體信息執行該任務" @@ -3376,18 +3308,15 @@ msgstr "檢查節點下資產數量" #: assets/tasks/nodes_amount.py:18 msgid "" -"Manually verifying asset quantities updates the asset count for nodes under " -"the \n" -" current organization. This task will be called in the following two " -"cases: when updating \n" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" " nodes and when the number of nodes exceeds 100" -msgstr "" -"手動校對資產數量更新當前組織下的節點資產數量;更新節點時,當節點數量超過100" -"時,會調用該任務" +msgstr "手動校對資產數量更新當前組織下的節點資產數量;更新節點時,當節點數量超過100時,會調用該任務" #: assets/tasks/nodes_amount.py:34 msgid "" -"The task of self-checking is already running and cannot be started repeatedly" +"The task of self-checking is already running and cannot be started " +"repeatedly" msgstr "自檢程序已經在運行,不能重複啟動" #: assets/tasks/nodes_amount.py:40 @@ -3396,11 +3325,9 @@ msgstr "週期性檢查節點下資產數量" #: assets/tasks/nodes_amount.py:42 msgid "" -"Schedule the check_node_assets_amount_task to periodically update the asset " -"count of \n" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" " all nodes under all organizations" -msgstr "" -"定時調用check_node_assets_amount_task任務,更新所有組織下所有節點的資產數量" +msgstr "定時調用check_node_assets_amount_task任務,更新所有組織下所有節點的資產數量" #: assets/tasks/ping.py:20 assets/tasks/ping.py:30 msgid "Test assets connectivity" @@ -3423,22 +3350,19 @@ msgstr "測試網關可連接性" #: assets/tasks/ping_gateway.py:23 msgid "" -"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will " -"be executed" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" 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 "為了安全,禁止推送用戶 {}" @@ -3451,7 +3375,8 @@ msgid "App Audits" msgstr "日志审计" #: audits/backends/db.py:17 -msgid "The text content is too long. Use Elasticsearch to store operation logs" +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" msgstr "文字內容太長。請使用 Elasticsearch 儲存操作日誌" #: audits/backends/db.py:78 @@ -3544,8 +3469,8 @@ msgstr "結束" #: audits/const.py:47 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:185 -#: terminal/models/virtualapp/provider.py:14 terminal/serializers/session.py:65 -#: terminal/serializers/session.py:181 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:65 terminal/serializers/session.py:181 msgid "Terminal" msgstr "終端" @@ -3581,7 +3506,8 @@ msgstr "作業審計" #: audits/models.py:57 audits/models.py:107 audits/models.py:182 #: audits/models.py:333 authentication/models/connection_token.py:62 -#: terminal/models/session/session.py:36 terminal/models/session/sharing.py:111 +#: terminal/models/session/session.py:36 +#: terminal/models/session/sharing.py:111 msgid "Remote addr" msgstr "遠端地址" @@ -3819,17 +3745,13 @@ msgstr "清理資產審計會話任務日誌" #: audits/tasks.py:135 msgid "" -"Since the system generates login logs, operation logs, file upload logs, " -"activity \n" -" logs, Celery execution logs, session recordings, command records, " -"and password change \n" -" logs, it will perform cleanup of records that exceed the time limit " -"according to the \n" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" " 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" msgstr "" -"由於系統會產生登錄日誌、操作日誌、文件上傳日誌、活動日誌、celery執行日誌、會" -"話錄像和命令記錄、改密日誌,系統會根據系統設置-任務列表定期清理配置,對於超出" -"時間的,將於每天凌晨2點進行清理" +"由於系統會產生登錄日誌、操作日誌、文件上傳日誌、活動日誌、celery執行日誌、會話錄像和命令記錄、改密日誌,系統會根據系統設置-" +"任務列表定期清理配置,對於超出時間的,將於每天凌晨2點進行清理" #: audits/tasks.py:155 msgid "Upload FTP file to external storage" @@ -3837,11 +3759,9 @@ msgstr "上傳 FTP 文件到外部儲存" #: audits/tasks.py:157 msgid "" -"If SERVER_REPLAY_STORAGE is configured, files uploaded through file " -"management will be \n" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" " synchronized to external storage" -msgstr "" -"如果設定了SERVER_REPLAY_STORAGE,將通過文件管理上傳的文件同步到外部儲存" +msgstr "如果設定了SERVER_REPLAY_STORAGE,將通過文件管理上傳的文件同步到外部儲存" #: authentication/api/access_key.py:39 msgid "Access keys can be created at most 10" @@ -3856,40 +3776,39 @@ msgstr "參數中的值必須包含 %s" msgid "This action require verify your MFA" msgstr "該操作需要驗證您的 MFA, 請先開啟並配置" -#: authentication/api/connection_token.py:304 +#: authentication/api/connection_token.py:314 msgid "Reusable connection token is not allowed, global setting not enabled" msgstr "不允許使用可重複使用的連接令牌,未啟用全局設置" -#: authentication/api/connection_token.py:426 +#: authentication/api/connection_token.py:436 msgid "Anonymous account is not supported for this asset" msgstr "匿名帳號不支持當前資產" -#: authentication/api/connection_token.py:456 +#: authentication/api/connection_token.py:466 msgid "Permission expired" msgstr "授權已過期" -#: authentication/api/connection_token.py:489 -#, python-brace-format +#: authentication/api/connection_token.py:499 msgid "ACL action is reject: {}({})" msgstr "ACL 動作是拒絕: {}({})" -#: authentication/api/connection_token.py:493 +#: authentication/api/connection_token.py:503 msgid "ACL action is review" msgstr "ACL 動作是覆核" -#: authentication/api/connection_token.py:503 +#: authentication/api/connection_token.py:513 msgid "ACL action is face verify" msgstr "ACL Action 係人臉驗證" -#: authentication/api/connection_token.py:508 +#: authentication/api/connection_token.py:518 msgid "ACL action not supported for this asset" msgstr "資產登錄規則不支持當前資產" -#: authentication/api/connection_token.py:515 +#: authentication/api/connection_token.py:525 msgid "ACL action is face online" msgstr "ACL Action 係人臉在線" -#: authentication/api/connection_token.py:540 +#: authentication/api/connection_token.py:550 msgid "No available face feature" msgstr "沒有可用的人臉特徵" @@ -3899,13 +3818,11 @@ 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:34 terminal/api/session/session.py:343 #: users/views/profile/reset.py:63 -#, python-brace-format msgid "User does not exist: {}" msgstr "用戶不存在: {}" @@ -3914,7 +3831,6 @@ msgid "No user matched" msgstr "沒有匹配到用戶" #: authentication/api/password.py:38 -#, python-brace-format msgid "" "The user is from {}, please go to the corresponding system to change the " "password" @@ -3930,7 +3846,6 @@ msgid "Forgot password" msgstr "忘記密碼" #: authentication/api/password.py:70 authentication/mfa/email.py:42 -#, python-brace-format msgid "The validity period of the verification code is {} minute" msgstr "驗證碼有效期為 {} 分鐘" @@ -3939,10 +3854,8 @@ msgid "App Authentication" msgstr "身份验证管理" #: authentication/backends/cas/views.py:19 -#, fuzzy -#| msgid "Error" msgid "CAS Error" -msgstr "錯誤" +msgstr "CAS 錯誤" #: authentication/backends/custom.py:60 #: authentication/backends/oauth2/backends.py:158 @@ -4004,7 +3917,6 @@ msgid "Authentication failed password incorrect" msgstr "認證失敗 (使用者名稱或密碼不正確)" #: authentication/confirm/relogin.py:11 -#, python-brace-format msgid "Login time has exceeded {} minutes, please login again" msgstr "登錄時長已超過 {} 分鐘,請重新登入" @@ -4089,18 +4001,15 @@ msgid "" "You can also try {times_try} times (The account will be temporarily locked " "for {block_time} minutes)" msgstr "" -"您輸入的使用者名稱或密碼不正確,請重新輸入。 您還可以嘗試 {times_try} 次 (帳" -"號將被臨時 鎖定 {block_time} 分鐘)" +"您輸入的使用者名稱或密碼不正確,請重新輸入。 您還可以嘗試 {times_try} 次 (帳號將被臨時 鎖定 {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)" @@ -4109,10 +4018,9 @@ msgstr "IP 已被鎖定 (請聯絡管理員解鎖或 {} 分鐘後重試)" #: authentication/errors/const.py:59 #, python-brace-format msgid "" -"{error}, You can also try {times_try} times (The account will be temporarily " -"locked for {block_time} minutes)" -msgstr "" -"{error} 您還可以嘗試 {times_try} 次 (帳號將被臨時鎖定 {block_time} 分鐘)" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" +msgstr "{error} 您還可以嘗試 {times_try} 次 (帳號將被臨時鎖定 {block_time} 分鐘)" #: authentication/errors/const.py:63 msgid "MFA required" @@ -4131,7 +4039,6 @@ msgid "Wait login confirm ticket for accept" msgstr "等待登錄覆核處理" #: authentication/errors/const.py:67 -#, python-brace-format msgid "Login confirm ticket was {}" msgstr "登錄覆核: {}" @@ -4236,8 +4143,8 @@ msgstr "請輸入動態安全碼" #: authentication/mfa/base.py:32 msgid "" -"The two-factor code you entered has either already been used or has expired. " -"Please request a new one." +"The two-factor code you entered has either already been used or has expired." +" Please request a new one." msgstr "您輸入的雙重驗證碼已被使用或已過期。請申請新的雙重驗證碼。" #: authentication/mfa/custom.py:21 @@ -4313,41 +4220,26 @@ msgid "Clear phone number to disable" msgstr "清空手機號碼禁用" #: authentication/middleware.py:96 settings/utils/ldap.py:714 -#, python-brace-format msgid "Authentication failed (before login check failed): {}" msgstr "認證失敗 (登錄前檢查失敗): {}" #: authentication/mixins.py:166 -#, fuzzy -#| msgid "" -#| "The administrator has enabled \"Only allow existing users to log in\", \n" -#| " and the current user is not in the user list. Please " -#| "contact the administrator." msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please " -"contact the administrator." -msgstr "" -"管理員已開啟'僅允許已存在用戶登錄',當前用戶不在用戶列表中,請聯絡管理員。" +" and the current user is not in the user list. Please contact the administrator." +msgstr "管理員已開啟 '僅允許已存在用戶登入',當前用戶不在用戶列表中,請聯繫管理員。" #: authentication/mixins.py:178 msgid "User is invalid" msgstr "無效的用戶" #: authentication/mixins.py:195 -#, fuzzy, python-brace-format -#| msgid "" -#| "The administrator has enabled 'Only allow login from user source'. \n" -#| " The current user source is {}. Please contact the " -#| "administrator." msgid "" " The administrator has enabled 'Only allow login from user source'. \n" -" The current user source is {}. Please contact the " -"administrator. " -msgstr "管理員已開啟'僅允許從用戶來源登錄',當前用戶來源為{},請聯絡管理員。" +" The current user source is {}. Please contact the administrator. " +msgstr "管理員已開啟 '僅允許從用戶來源登入',當前用戶來源為 {},請聯繫管理員。" #: authentication/mixins.py:376 -#, python-brace-format msgid "The MFA type ({}) is not enabled" msgstr "該 MFA ({}) 方式沒有啟用" @@ -4416,7 +4308,6 @@ msgid "Connection token inactive" msgstr "連接令牌未啟用" #: authentication/models/connection_token.py:174 -#, python-brace-format msgid "Connection token expired at: {}" msgstr "連接令牌過期: {}" @@ -4553,7 +4444,6 @@ msgstr "組織名稱" #: authentication/serializers/password_mfa.py:29 #: users/templates/users/forgot_password.html:153 -#, python-brace-format msgid "The {} cannot be empty" msgstr "{} 不能為空" @@ -4571,8 +4461,8 @@ msgstr "創建類型" #: authentication/serializers/ssh_key.py:33 msgid "" -"Please download the private key after creation. Each private key can only be " -"downloaded once" +"Please download the private key after creation. Each private key can only be" +" downloaded once" msgstr "創建完成後請下載私鑰,每個私鑰僅有一次下載機會" #: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 @@ -4587,9 +4477,9 @@ msgid "Is valid" msgstr "是否有效" #: authentication/serializers/token.py:131 ops/models/adhoc.py:26 -#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 rbac/models/role.py:31 -#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 -#: settings/serializers/auth/oauth2.py:37 +#: ops/models/playbook.py:34 ops/serializers/mixin.py:10 +#: rbac/models/role.py:31 rbac/models/rolebinding.py:46 +#: rbac/serializers/role.py:12 settings/serializers/auth/oauth2.py:37 msgid "Scope" msgstr "範圍" @@ -4599,8 +4489,8 @@ msgstr "清除過期會話" #: authentication/tasks.py:21 msgid "" -"Since user logins create sessions, the system will clean up expired sessions " -"every 24 hours" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" msgstr "由於用戶登錄系統會產生會話,系統每24小時清理已過期的會話" #: authentication/tasks.py:30 @@ -4616,9 +4506,8 @@ msgid "" "configured under System settings > Security > User password > Token " "Retention Period" msgstr "" -"系統在連接資產或創建臨時密碼時,會生成相應的連接 Token 或臨時密碼記錄。為了保" -"障系統安全並控制數據存儲量,系統會根據「安全設置 > 密碼安全 > Token 保留時" -"長」中的配置,每天凌晨 2 點自動清理所有已過期的 Token 記錄" +"系統在連接資產或創建臨時密碼時,會生成相應的連接 Token 或臨時密碼記錄。為了保障系統安全並控制數據存儲量,系統會根據「安全設置 > 密碼安全 > " +"Token 保留時長」中的配置,每天凌晨 2 點自動清理所有已過期的 Token 記錄" #: authentication/templates/authentication/_access_key_modal.html:6 msgid "API key list" @@ -4929,7 +4818,6 @@ msgid "Redirecting" msgstr "跳轉中" #: authentication/views/login.py:173 -#, python-brace-format msgid "Redirecting to {} authentication" msgstr "正在跳轉到 {} 認證" @@ -4938,12 +4826,10 @@ 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" @@ -4965,10 +4851,9 @@ msgstr "退出登錄成功,返回到登入頁面" #: authentication/views/mixins.py:28 msgid "" -"For your safety, automatic redirection login is not supported on the client. " -"If you need to open it in the client, please log in again" -msgstr "" -"為了您的安全,客戶端不支持自動跳轉登錄。如果需要在客戶端中打開,請重新登錄" +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" +msgstr "為了您的安全,客戶端不支持自動跳轉登錄。如果需要在客戶端中打開,請重新登錄" #: authentication/views/slack.py:36 authentication/views/slack.py:124 msgid "Slack Error" @@ -5094,13 +4979,12 @@ msgstr "加密的欄位" #: common/db/fields.py:577 msgid "" -"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or " -"{'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " "'match': 'exact', 'value': '1.1.1.1'}}" msgstr "" -"JSON 多對多欄位無效,應為 {'type': 'all'} 或 {'type': 'ids', 'ids': []} 或 " -"{'type': 'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': " -"'1.1.1.1'}}" +"JSON 多對多欄位無效,應為 {'type': 'all'} 或 {'type': 'ids', 'ids': []} 或 {'type': " +"'attrs', 'attrs': [{'name': 'ip', 'match': 'exact', 'value': '1.1.1.1'}}" #: common/db/fields.py:584 msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" @@ -5141,7 +5025,6 @@ msgid "Updated by" msgstr "最後更新者" #: common/db/validators.py:9 -#, python-brace-format msgid "Invalid port range, should be like and within {}-{}" msgstr "無效的埠範圍,應該在 {}-{} 之內" @@ -5154,12 +5037,10 @@ 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 "解析文件錯誤: {}" @@ -5172,7 +5053,6 @@ msgid "Yes/No" msgstr "是/否" #: common/drf/renders/base.py:143 -#, python-brace-format msgid "Text, max length {}" msgstr "文字,最大長度 {}" @@ -5181,24 +5061,20 @@ msgid "Long text, no length limit" msgstr "長文字,無長度限制" #: common/drf/renders/base.py:147 -#, python-brace-format msgid "Number, min {} max {}" msgstr "數字,最小 {} 最大 {}" #: common/drf/renders/base.py:150 -#, python-brace-format msgid "Datetime format {}" msgstr "日期時間格式 {}" #: common/drf/renders/base.py:156 -#, python-brace-format msgid "" "Choices, format name(value), name is optional for human read, value is " "requisite, options {}" msgstr "選項,格式: 名稱(值),名稱是可選的,方便閱讀,值是必填的,可選項有 {}" #: common/drf/renders/base.py:159 -#, python-brace-format msgid "Choices, options {}" msgstr "選項,可選項有 {}" @@ -5223,12 +5099,10 @@ msgstr "關聯項,格式是 id" msgid "" "Objects, format [\"name(id)\", ...], name is optional for human read, id is " "requisite" -msgstr "" -"多關聯項,格式: [\"名稱(id)\", ...], 名稱是可選的,方便閱讀,id 是必填的" +msgstr "多關聯項,格式: [\"名稱(id)\", ...], 名稱是可選的,方便閱讀,id 是必填的" #: common/drf/renders/base.py:173 -msgid "" -"Labels, format [\"key:value\", ...], if label not exists, will create it" +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" msgstr "標籤,格式: [\"鍵:值\", ...], 如果標籤不存在,將創建它" #: common/drf/renders/base.py:175 @@ -5236,7 +5110,6 @@ msgid "Objects, format [\"id\", ...]" msgstr "多關聯項,格式是 [\"id\", ...]" #: common/drf/renders/base.py:276 -#, python-brace-format msgid "" "{} - The encryption password has not been set - please go to personal " "information -> file encryption password to set the encryption password" @@ -5322,7 +5195,6 @@ 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 "連接網關伺服器錯誤,錯誤:{}" @@ -5335,10 +5207,6 @@ 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 "阿里雲" @@ -5360,7 +5228,6 @@ msgid "Custom type (File)" msgstr "自訂 (文件)" #: common/sdk/sms/endpoint.py:32 -#, python-brace-format msgid "SMS provider not support: {}" msgstr "簡訊服務商不支持:{}" @@ -5377,7 +5244,6 @@ msgid "The verification code is incorrect" msgstr "驗證碼錯誤" #: common/sdk/sms/exceptions.py:18 -#, python-brace-format msgid "Please wait {} seconds before sending" msgstr "請在 {} 秒後發送" @@ -5385,6 +5251,10 @@ msgstr "請在 {} 秒後發送" msgid "Children" msgstr "節點" +#: common/serializers/common.py:98 +msgid "File" +msgstr "文件" + #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "无效的数据" @@ -5406,11 +5276,10 @@ msgstr "錯誤的數據類型,應該是列表" #: common/serializers/fields.py:353 #: xpack/plugins/cloud/serializers/account.py:121 #: xpack/plugins/cloud/serializers/task.py:122 -#, python-brace-format msgid "Invalid choice: {}" msgstr "無效選項: {}" -#: common/serializers/mixin.py:451 terminal/models/applet/applet.py:45 +#: common/serializers/mixin.py:469 terminal/models/applet/applet.py:45 #: terminal/models/virtualapp/virtualapp.py:29 msgid "Tags" msgstr "標籤" @@ -5431,10 +5300,8 @@ msgstr "發送郵件附件" #: common/tasks.py:81 msgid "" -"When an account password is changed or an account backup generates " -"attachments, \n" -" this task needs to be executed for sending emails and handling " -"attachments" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" msgstr "當帳號改密,帳號備份產生附件時,需對發送郵件及附件執行該任務" #: common/tasks.py:104 @@ -5466,8 +5333,7 @@ msgstr "傳簡訊驗證碼" #: common/utils/verify_code.py:19 msgid "" -"When resetting a password, forgetting a password, or verifying MFA, this " -"task needs to \n" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" " be executed to send SMS messages" msgstr "當重置密碼、忘記密碼、驗證mfa時,需要發送短信,執行該任務" @@ -5508,10 +5374,6 @@ msgstr "你的帳號已創建成功" msgid "JumpServer - An open-source PAM" msgstr "JumpServer 開源堡壘機" -#: jumpserver/context_processor.py:28 -msgid "FIT2CLOUD" -msgstr "" - #: jumpserver/views/celery_flower.py:22 msgid "

Flower service unavailable, check it

" msgstr "Flower 服務不可用,請檢查" @@ -5522,11 +5384,10 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Luna是單獨部署的一個程序,你需要部署luna,koko,
如果你看到了" -"這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" +"
Luna是單獨部署的一個程序,你需要部署luna,koko, " +"
如果你看到了這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" #: jumpserver/views/other.py:78 -#, python-brace-format msgid "Websocket server run on port: {}, you should proxy it on nginx" msgstr "Websocket 服務運行在埠: {}, 請檢查nginx是否代理是否設置" @@ -5536,8 +5397,8 @@ msgid "" "configure nginx for url distribution, If you see this page, " "prove that you are not accessing the nginx listening port. Good luck." msgstr "" -"
Koko是單獨部署的一個程序,你需要部署Koko, 並確保nginx配置轉發,
如果你看到了這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" +"
Koko是單獨部署的一個程序,你需要部署Koko, 並確保nginx配置轉發, " +"
如果你看到了這個頁面,證明你訪問的不是nginx監聽的埠,祝你好運
" #: labels/apps.py:8 msgid "App Labels" @@ -5584,7 +5445,6 @@ msgid "User message" msgstr "用戶消息" #: notifications/models/notification.py:21 -#, python-brace-format msgid "{} subscription" msgstr "{} 訂閱" @@ -5598,8 +5458,7 @@ msgstr "發布站內消息" #: notifications/notifications.py:49 msgid "" -"This task needs to be executed for sending internal messages for system " -"alerts, \n" +"This task needs to be executed for sending internal messages for system alerts, \n" " work orders, and other notifications" msgstr "系統某些告警、工單等需要發送站內信時執行該任務" @@ -5621,19 +5480,16 @@ 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:65 -#, python-brace-format msgid "Login to asset {}({}) is rejected by login asset ACL ({})" -msgstr "" +msgstr "登入資產 {}({}) 被拒絕,由登入資產規則 ACL ({}) 限制" #: ops/api/job.py:88 #, python-brace-format @@ -5831,12 +5687,14 @@ msgid "Periodic run" msgstr "週期性執行" #: ops/mixin.py:36 ops/mixin.py:113 ops/mixin.py:172 -#: settings/serializers/auth/ldap.py:81 settings/serializers/auth/ldap_ha.py:63 +#: settings/serializers/auth/ldap.py:81 +#: settings/serializers/auth/ldap_ha.py:63 msgid "Interval" msgstr "間隔" #: ops/mixin.py:39 ops/mixin.py:111 ops/mixin.py:169 -#: settings/serializers/auth/ldap.py:78 settings/serializers/auth/ldap_ha.py:60 +#: settings/serializers/auth/ldap.py:78 +#: settings/serializers/auth/ldap_ha.py:60 msgid "Crontab" msgstr "Crontab" @@ -5916,7 +5774,6 @@ msgid "Celery Task Execution" msgstr "Celery 任務執行" #: ops/models/job.py:82 -#, python-brace-format msgid "Module {} is not suitable for this asset" msgstr "模組 {} 不適用於此資產" @@ -5984,8 +5841,8 @@ msgid "" "the resulting environment variable will be jms_name, and it can be " "referenced in the script using {{ jms_name }}" msgstr "" -"在腳本中使用的變量名稱,固定前綴為 jms_ + 輸入的變量名,例如變量名為 name,則" -"最終生成的環境變量為 jms_name。在腳本中引用時使用 {{ jms_name }}。" +"在腳本中使用的變量名稱,固定前綴為 jms_ + 輸入的變量名,例如變量名為 name,則最終生成的環境變量為 jms_name。在腳本中引用時使用 " +"{{ jms_name }}。" #: ops/models/variable.py:16 ops/serializers/variable.py:32 msgid "Default Value" @@ -6099,14 +5956,10 @@ msgstr "創建或更新週期任務" #: ops/tasks.py:134 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, tasks will be " -"registered or the parameters \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" " of scheduled tasks will be updated" -msgstr "" -"隨著版本迭代,可能會新增任務或者修改任務的名稱,執行時間,所以在系統啟動時," -"將會註冊任務或者更新定時任務參數" +msgstr "隨著版本迭代,可能會新增任務或者修改任務的名稱,執行時間,所以在系統啟動時,將會註冊任務或者更新定時任務參數" #: ops/tasks.py:147 msgid "Periodic check service performance" @@ -6114,13 +5967,9 @@ msgstr "週期檢測服務性能" #: ops/tasks.py:149 msgid "" -"Check every hour whether each component is offline and whether the CPU, " -"memory, \n" -" and disk usage exceed the thresholds, and send an alert message to " -"the administrator" -msgstr "" -"每小時檢測各組件是否離線,cpu,內存,硬碟使用率是否超過閾值,向管理人員發送消" -"息預警" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" +msgstr "每小時檢測各組件是否離線,cpu,內存,硬碟使用率是否超過閾值,向管理人員發送消息預警" #: ops/tasks.py:159 msgid "Clean up unexpected jobs" @@ -6128,16 +5977,12 @@ msgstr "清理異常作業" #: ops/tasks.py:161 msgid "" -"Due to exceptions caused by executing adhoc and playbooks in the Job " -"Center, \n" -" which result in the task status not being updated, the system will " -"clean up abnormal jobs \n" -" that have not been completed for more than 3 hours every hour and " -"mark these tasks as \n" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" " failed" msgstr "" -"由於作業中心執行快捷命令,playbook會產生異常,任務狀態未更新完成,系統將每小" -"時執行清理超過3小時未完成的異常作業,並將任務標記為失敗" +"由於作業中心執行快捷命令,playbook會產生異常,任務狀態未更新完成,系統將每小時執行清理超過3小時未完成的異常作業,並將任務標記為失敗" #: ops/tasks.py:174 msgid "Clean job_execution db record" @@ -6145,17 +5990,13 @@ msgstr "清理作業中心執行歷史" #: ops/tasks.py:176 msgid "" -"Due to the execution of adhoc and playbooks in the Job Center, execution " -"records will \n" -" be generated. The system will clean up records that exceed the " -"retention period every day \n" -" at 2 a.m., based on the configuration of 'System Settings - Tasks - " -"Regular clean-up - \n" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" " Job execution retention days'" msgstr "" -"由於作業中心執行快捷命令,playbook,會產生執行記錄,系統會根據系統設置 - 任務" -"列表 - 定期清理 - 作業中心執行歷史配置,每天凌晨2點對超出保存時間的記錄進行清" -"理" +"由於作業中心執行快捷命令,playbook,會產生執行記錄,系統會根據系統設置 - 任務列表 - 定期清理 - " +"作業中心執行歷史配置,每天凌晨2點對超出保存時間的記錄進行清理" #: ops/templates/ops/celery_task_log.html:4 msgid "Task log" @@ -6198,7 +6039,6 @@ msgid "Name of the job" msgstr "Job 名稱" #: orgs/api.py:60 -#, python-brace-format msgid "The current organization ({}) cannot be deleted" msgstr "當前組織 ({}) 不能被刪除" @@ -6209,7 +6049,6 @@ msgid "" msgstr "LDAP 同步設定組織為當前組織,請切換其他組織後再進行刪除操作" #: orgs/api.py:75 -#, python-brace-format msgid "The organization have resource ({}) cannot be deleted" msgstr "組織存在資源 ({}) 不能被刪除" @@ -6227,7 +6066,8 @@ msgstr "請選擇一個組織後再保存" #: terminal/notifications.py:294 #: terminal/templates/terminal/_msg_command_warning.html:27 #: terminal/templates/terminal/_msg_session_sharing.html:14 -#: tickets/models/ticket/general.py:303 tickets/serializers/ticket/ticket.py:62 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:62 msgid "Organization" msgstr "組織" @@ -6366,7 +6206,7 @@ msgid "today" msgstr "今天" #: perms/notifications.py:12 perms/notifications.py:44 -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "day" msgstr "天" @@ -6383,7 +6223,6 @@ msgid "Asset permissions is about to expire" msgstr "資產授權規則將要過期" #: perms/notifications.py:64 -#, python-brace-format msgid "asset permissions of organization {}" msgstr "組織 ({}) 的資產授權" @@ -6391,9 +6230,7 @@ msgstr "組織 ({}) 的資產授權" msgid "" "Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " "choices: @ALL, @SPEC, @USER, @ANON, @INPUT" -msgstr "" -"帳號,格式為 [\"@虛擬帳號\", \"root\", \"%模板id\"], 虛擬選項: @ALL, @SPEC, " -"@USER, @ANON, @INPUT" +msgstr "帳號,格式為 [\"@虛擬帳號\", \"root\", \"%模板id\"], 虛擬選項: @ALL, @SPEC, @USER, @ANON, @INPUT" #: perms/serializers/permission.py:49 msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" @@ -6409,18 +6246,13 @@ msgstr "校驗資產授權規則已過期" #: perms/tasks.py:30 msgid "" -"The cache of organizational collections, which have completed user " -"authorization tree \n" -" construction, will expire. Therefore, expired collections need to be " -"cleared from the \n" -" cache, and this task will be executed periodically based on the time " -"interval specified \n" -" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file " -"config.txt" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" msgstr "" -"用戶授權樹已經構建完成的組織集合緩存會過期,所以需要將過期的集合從緩存中清理" -"掉,根據系統配置文件 config.txt 中 PERM_EXPIRED_CHECK_PERIODIC 的時間間隔定時" -"執行該任務" +"用戶授權樹已經構建完成的組織集合緩存會過期,所以需要將過期的集合從緩存中清理掉,根據系統配置文件 config.txt 中 " +"PERM_EXPIRED_CHECK_PERIODIC 的時間間隔定時執行該任務" #: perms/tasks.py:49 msgid "Send asset permission expired notification" @@ -6428,16 +6260,11 @@ msgstr "發送資產權限過期通知" #: perms/tasks.py:51 msgid "" -"Check every day at 10 a.m. and send a notification message to users " -"associated with \n" -" assets whose authorization is about to expire, as well as to the " -"organization's \n" -" administrators, 3 days in advance, to remind them that the asset " -"authorization will \n" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" " expire in a few days" -msgstr "" -"每天上午10點檢查,對資產授權即將過期的所關聯的用戶及該組織管理員提前三天發送" -"消息通知,提示資產還有幾天即將過期" +msgstr "每天上午10點檢查,對資產授權即將過期的所關聯的用戶及該組織管理員提前三天發送消息通知,提示資產還有幾天即將過期" #: perms/templates/perms/_msg_item_permissions_expire.html:7 #: perms/templates/perms/_msg_permed_items_expire.html:7 @@ -6458,7 +6285,6 @@ msgid "Internal role, can't be update" msgstr "內部角色,不能更新" #: rbac/api/rolebinding.py:45 -#, python-brace-format msgid "{} at least one system role" msgstr "{} 至少有一個系統角色" @@ -6632,7 +6458,7 @@ msgstr "帳號改密" msgid "App ops" msgstr "作業中心" -#: rbac/tree.py:60 settings/serializers/feature.py:193 +#: rbac/tree.py:60 settings/serializers/feature.py:205 msgid "Feature" msgstr "功能" @@ -6675,8 +6501,8 @@ msgstr "組織管理" msgid "Ticket comment" msgstr "工單評論" -#: rbac/tree.py:185 settings/serializers/feature.py:174 -#: settings/serializers/feature.py:176 tickets/models/ticket/general.py:310 +#: rbac/tree.py:185 settings/serializers/feature.py:186 +#: settings/serializers/feature.py:188 tickets/models/ticket/general.py:310 msgid "Ticket" msgstr "工單管理" @@ -6689,22 +6515,16 @@ msgid "View permission tree" msgstr "查看授權樹" #: rbac/tree.py:189 -#, fuzzy -#| msgid "Access key" msgid "Access token" -msgstr "Access key" +msgstr "訪問令牌" #: rbac/tree.py:190 -#, fuzzy -#| msgid "Access key" msgid "View access token" -msgstr "Access key" +msgstr "查看訪問令牌" #: rbac/tree.py:191 -#, fuzzy -#| msgid "Access key" msgid "Revoke access token" -msgstr "Access key" +msgstr "撤銷訪問令牌" #: reports/views.py:20 msgid "User login report" @@ -6758,14 +6578,13 @@ msgstr "發送郵件成功" msgid "Chat AI is not enabled" msgstr "聊天 AI 沒有開啟" -#: settings/api/chat.py:89 settings/api/dingtalk.py:31 +#: settings/api/chat.py:95 settings/api/dingtalk.py:31 #: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 #: settings/api/vault.py:49 settings/api/wecom.py:37 msgid "Test success" msgstr "測試成功" #: settings/api/email.py:22 -#, python-brace-format msgid "Test mail sent to {}, please check" msgstr "郵件已經發送{}, 請檢查" @@ -6936,9 +6755,7 @@ msgid "" "authentication service platform does not return the user's email " "information, the system will automatically create the user using this email " "suffix" -msgstr "" -"第三方使用者認證成功後,若第三方認證服務平台未回傳該使用者的電子信箱資訊,系" -"統將自動以此電子信箱後綴建立使用者" +msgstr "第三方使用者認證成功後,若第三方認證服務平台未回傳該使用者的電子信箱資訊,系統將自動以此電子信箱後綴建立使用者" #: settings/serializers/auth/base.py:37 msgid "Forgot Password URL" @@ -6957,23 +6774,21 @@ msgid "" "Should an flash page be displayed before the user is redirected to third-" "party authentication when the administrator enables third-party redirect " "authentication" -msgstr "" -"Action管理員啟用第三方重新定向身份驗證時,在使用者重定向到第三方身份驗證之前" -"是否顯示 Flash 頁面" +msgstr "Action管理員啟用第三方重新定向身份驗證時,在使用者重定向到第三方身份驗證之前是否顯示 Flash 頁面" #: settings/serializers/auth/base.py:55 msgid "" "When you create a user, you associate the user to the organization of your " "choice. Users always belong to the Default organization." -msgstr "" -"建立使用者時,您會將該使用者與您選擇的組織關聯。使用者始終屬於 Default 組織。" +msgstr "建立使用者時,您會將該使用者與您選擇的組織關聯。使用者始終屬於 Default 組織。" #: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 msgid "CAS" msgstr "CAS" #: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:45 -#: settings/serializers/auth/ldap_ha.py:27 settings/serializers/auth/oidc.py:61 +#: settings/serializers/auth/ldap_ha.py:27 +#: settings/serializers/auth/oidc.py:61 msgid "Server" msgstr "服務端地址" @@ -6998,9 +6813,11 @@ msgstr "使用者名稱屬性" msgid "Enable attributes map" msgstr "啟用屬性映射" -#: settings/serializers/auth/cas.py:34 settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 #: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 -#: settings/serializers/auth/ldap.py:67 settings/serializers/auth/ldap_ha.py:49 +#: settings/serializers/auth/ldap.py:67 +#: settings/serializers/auth/ldap_ha.py:49 #: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 #: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 #: settings/serializers/auth/wecom.py:18 @@ -7011,9 +6828,7 @@ msgstr "映射屬性" msgid "" "User attribute mapping, where the `key` is the CAS service user attribute " "name and the `value` is the JumpServer user attribute name" -msgstr "" -"使用者屬性對照,其中 `key` 是 CAS 服務使用者屬性名稱,`value` 是 JumpServer " -"使用者屬性名稱" +msgstr "使用者屬性對照,其中 `key` 是 CAS 服務使用者屬性名稱,`value` 是 JumpServer 使用者屬性名稱" #: settings/serializers/auth/dingtalk.py:16 msgid "Dingtalk" @@ -7023,17 +6838,13 @@ msgstr "啟用釘釘認證" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the DingTalk service user attribute name" -msgstr "" -"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是釘釘服務使" -"用者屬性名稱" +msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是釘釘服務使用者屬性名稱" #: settings/serializers/auth/feishu.py:20 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the FeiShu service user attribute name" -msgstr "" -"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是飛書服務使" -"用者屬性名稱" +msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是飛書服務使用者屬性名稱" #: settings/serializers/auth/lark.py:13 users/models/user/_source.py:24 msgid "Lark" @@ -7043,9 +6854,7 @@ msgstr "Lark" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Lark service user attribute name" -msgstr "" -"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Lark 服務" -"使用者屬性名稱" +msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Lark 服務使用者屬性名稱" #: settings/serializers/auth/ldap.py:42 settings/serializers/auth/ldap.py:108 msgid "LDAP" @@ -7055,60 +6864,70 @@ msgstr "LDAP" msgid "LDAP server URI" msgstr "LDAP 服務域名" -#: settings/serializers/auth/ldap.py:49 settings/serializers/auth/ldap_ha.py:31 +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 msgid "Bind DN" msgstr "綁定 DN" -#: settings/serializers/auth/ldap.py:50 settings/serializers/auth/ldap_ha.py:32 +#: settings/serializers/auth/ldap.py:50 +#: settings/serializers/auth/ldap_ha.py:32 msgid "Binding Distinguished Name" msgstr "綁定的 DN" -#: settings/serializers/auth/ldap.py:54 settings/serializers/auth/ldap_ha.py:36 +#: settings/serializers/auth/ldap.py:54 +#: settings/serializers/auth/ldap_ha.py:36 msgid "Binding password" msgstr "原來的密碼" -#: settings/serializers/auth/ldap.py:57 settings/serializers/auth/ldap_ha.py:39 +#: settings/serializers/auth/ldap.py:57 +#: settings/serializers/auth/ldap_ha.py:39 msgid "Search OU" msgstr "系統架構" -#: settings/serializers/auth/ldap.py:59 settings/serializers/auth/ldap_ha.py:41 +#: settings/serializers/auth/ldap.py:59 +#: settings/serializers/auth/ldap_ha.py:41 msgid "" "User Search Base, if there are multiple OUs, you can separate them with the " "`|` symbol" msgstr "使用者搜尋庫,如果有多個OU,可以用`|`符號分隔" -#: settings/serializers/auth/ldap.py:63 settings/serializers/auth/ldap_ha.py:45 +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 msgid "Search filter" msgstr "用戶過濾器" -#: settings/serializers/auth/ldap.py:64 settings/serializers/auth/ldap_ha.py:46 +#: settings/serializers/auth/ldap.py:64 +#: settings/serializers/auth/ldap_ha.py:46 #, python-format msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" msgstr "可能的選項是(cn或uid或sAMAccountName=%(user)s)" -#: settings/serializers/auth/ldap.py:69 settings/serializers/auth/ldap_ha.py:51 +#: settings/serializers/auth/ldap.py:69 +#: settings/serializers/auth/ldap_ha.py:51 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the LDAP service user attribute name" -msgstr "" -"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 LDAP 服務" -"使用者屬性名稱" +msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 LDAP 服務使用者屬性名稱" -#: settings/serializers/auth/ldap.py:85 settings/serializers/auth/ldap_ha.py:67 +#: settings/serializers/auth/ldap.py:85 +#: settings/serializers/auth/ldap_ha.py:67 msgid "Connect timeout (s)" msgstr "連接超時時間 (秒)" -#: settings/serializers/auth/ldap.py:88 settings/serializers/auth/ldap_ha.py:70 +#: settings/serializers/auth/ldap.py:88 +#: settings/serializers/auth/ldap_ha.py:70 msgid "Strict sync" msgstr "嚴格模式" -#: settings/serializers/auth/ldap.py:89 settings/serializers/auth/ldap_ha.py:71 +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 msgid "" "In strict mode, users not found in LDAP will be disabled during full or " "automatic sync" msgstr "啟用嚴格模式後,全量或自動同步將禁用系統中未在 LDAP 中發現的用戶" -#: settings/serializers/auth/ldap.py:94 settings/serializers/auth/ldap_ha.py:76 +#: settings/serializers/auth/ldap.py:94 +#: settings/serializers/auth/ldap_ha.py:76 msgid "User DN cache timeout (s)" msgstr "快取逾時時間 (秒)" @@ -7119,8 +6938,7 @@ msgid "" "cache
If the user OU structure has been adjusted, click Submit to clear " "the user DN cache" msgstr "" -"對用戶登入驗證時查詢出的 User DN 進行緩存,可以有效提升用戶認證的速度
如果" -"用戶 OU 架構有调整,點擊提交即可清除用戶 DN 緩存" +"對用戶登入驗證時查詢出的 User DN 進行緩存,可以有效提升用戶認證的速度
如果用戶 OU 架構有调整,點擊提交即可清除用戶 DN 緩存" #: settings/serializers/auth/ldap.py:102 #: settings/serializers/auth/ldap_ha.py:84 @@ -7139,12 +6957,11 @@ msgstr "LDAP HA 服務域名" #: settings/serializers/auth/ldap_ha.py:78 msgid "" "Caching the User DN obtained during user login authentication can " -"effectivelyimprove the speed of user authentication., 0 means no cache
If " -"the user OU structure has been adjusted, click Submit to clear the user DN " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " "cache" msgstr "" -"對用戶登入認證時查詢出的 User DN 進行快取,可以有效提高用戶認證的速度
如果" -"用戶 OU 架構有調整,點擊提交即可清除用戶 DN 快取" +"對用戶登入認證時查詢出的 User DN 進行快取,可以有效提高用戶認證的速度
如果用戶 OU 架構有調整,點擊提交即可清除用戶 DN 快取" #: settings/serializers/auth/oauth2.py:19 #: settings/serializers/auth/oauth2.py:22 @@ -7188,19 +7005,18 @@ msgid "End session endpoint" msgstr "Logout session endpoint address" #: settings/serializers/auth/oauth2.py:57 -msgid "When the user signs out, they also be logged out from the OAuth2 server" +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" msgstr "當使用者退出時,他們也會從 OAuth2 伺服器退出" #: settings/serializers/auth/oauth2.py:62 msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OAuth2 service user attribute name" -msgstr "" -"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OAuth2 服" -"務使用者屬性名稱" +msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OAuth2 服務使用者屬性名稱" -#: settings/serializers/auth/oauth2.py:67 settings/serializers/auth/oidc.py:117 -#: settings/serializers/auth/saml2.py:45 +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:117 settings/serializers/auth/saml2.py:45 msgid "Always update user" msgstr "總是更新用戶資訊" @@ -7232,9 +7048,7 @@ msgstr "Ignore SSL certificate verification" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the OIDC service user attribute name" -msgstr "" -"使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OIDC 服務" -"使用者屬性名稱" +msgstr "使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 OIDC 服務使用者屬性名稱" #: settings/serializers/auth/oidc.py:45 msgid "Enable PKCE" @@ -7252,8 +7066,7 @@ msgstr "使用 Keycloak" msgid "" "Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " "Protocol" -msgstr "" -"使用 Keycloak 作為 OpenID Connect 伺服器,或者使用標準 OpenID Connect 協議" +msgstr "使用 Keycloak 作為 OpenID Connect 伺服器,或者使用標準 OpenID Connect 協議" #: settings/serializers/auth/oidc.py:64 msgid "Realm name" @@ -7320,8 +7133,7 @@ msgid "" "The hostname can using passkey auth, If not set, will use request host and " "the request host in DOMAINS, If multiple domains, use comma to separate" msgstr "" -"可以使用 Passkey 認證的域名,如果不設置,將使用請求主機(主機名在可信域 " -"DOMAINS中), 如果有多個域名,使用逗號分隔, 不需要埠號" +"可以使用 Passkey 認證的域名,如果不設置,將使用請求主機(主機名在可信域 DOMAINS中), 如果有多個域名,使用逗號分隔, 不需要埠號" #: settings/serializers/auth/passkey.py:22 msgid "FIDO Server name" @@ -7332,7 +7144,8 @@ msgid "OTP in RADIUS" msgstr "Use Radius OTP" #: settings/serializers/auth/radius.py:24 -msgid "* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" msgstr "* 在 RADIUS 中使用 OTP 意味著使用者可以利用 RADIUS 作為 MFA 的方法 " #: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 @@ -7363,9 +7176,7 @@ msgstr "SP 證書" msgid "" "User attribute mapping, where the `key` is the SAML2 service user attribute " "name and the `value` is the JumpServer user attribute name" -msgstr "" -" 使用者屬性映射,其中 `key` 是 SAML2 服務使用者屬性名稱,`value` 是 " -"JumpServer 使用者屬性名稱" +msgstr " 使用者屬性映射,其中 `key` 是 SAML2 服務使用者屬性名稱,`value` 是 JumpServer 使用者屬性名稱" #: settings/serializers/auth/saml2.py:43 msgid "When the user signs out, they also be logged out from the SAML2 server" @@ -7375,9 +7186,7 @@ msgstr "當使用者登出時,他們也會從 SAML2 伺服器登出" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the Slack service user attribute name" -msgstr "" -"使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Slack 服" -"務使用者屬性名稱" +msgstr "使用者屬性對照,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是 Slack 服務使用者屬性名稱" #: settings/serializers/auth/sms.py:18 msgid "Enable Short Message Service (SMS)" @@ -7442,12 +7251,10 @@ msgstr "業務型態(Application id)" #: settings/serializers/auth/sms.py:85 #, python-brace-format msgid "" -"Template need contain {code} and Signature + template length does not exceed " -"67 words. For example, your verification code is {code}, which is valid for " -"5 minutes. Please do not disclose it to others." -msgstr "" -"模板需要包含 {code},並且模板+簽名長度不能超過67個字。例如, 您的驗證碼是 " -"{code}, 有效期為5分鐘。請不要洩露給其他人。" +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." +msgstr "模板需要包含 {code},並且模板+簽名長度不能超過67個字。例如, 您的驗證碼是 {code}, 有效期為5分鐘。請不要洩露給其他人。" #: settings/serializers/auth/sms.py:94 #, python-brace-format @@ -7483,9 +7290,7 @@ msgstr "單位: 秒" msgid "" "User attribute mapping, where the `key` is the JumpServer user attribute " "name and the `value` is the WeCom service user attribute name" -msgstr "" -"使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是企業微信服" -"務使用者屬性名稱" +msgstr "使用者屬性映射,其中 `key` 是 JumpServer 使用者屬性名稱,`value` 是企業微信服務使用者屬性名稱" #: settings/serializers/basic.py:11 msgid "Site URL" @@ -7493,8 +7298,8 @@ msgstr "目前網站 URL" #: settings/serializers/basic.py:13 msgid "" -"Site URL is the externally accessible address of the current product service " -"and is usually used in links in system emails" +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" msgstr "站點 URL 是目前產品服務的外部可訪問地址,通常在系統郵件的連結中使用" #: settings/serializers/basic.py:18 @@ -7579,8 +7384,7 @@ msgstr "會話日誌保留天數" msgid "" "Session, record, command will be delete if more than duration, only in " "database, OSS will not be affected." -msgstr "" -"會話、錄影,命令記錄超過該時長將會被清除 (影響資料庫儲存,OSS 等不受影響)" +msgstr "會話、錄影,命令記錄超過該時長將會被清除 (影響資料庫儲存,OSS 等不受影響)" #: settings/serializers/cleaning.py:53 msgid "Change secret and push record retention days" @@ -7618,8 +7422,7 @@ msgid "" "accounts that exceed the predetermined number. If the value reaches or " "exceeds 999 (default), no historical account deletion will be performed" msgstr "" -"如果特定數值小於999,系統將在每日晚間自動執行任務:檢查並刪除超出預定數量的歷" -"史帳號。如果該數值達到或超過999,則不進行任何歷史帳號的刪除操作。" +"如果特定數值小於999,系統將在每日晚間自動執行任務:檢查並刪除超出預定數量的歷史帳號。如果該數值達到或超過999,則不進行任何歷史帳號的刪除操作。" #: settings/serializers/feature.py:89 msgid "Mount Point" @@ -7632,7 +7435,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/manager.py:169 xpack/plugins/cloud/models.py:293 +#: xpack/plugins/cloud/models.py:293 msgid "Region" msgstr "地域" @@ -7681,53 +7484,69 @@ msgstr "GPT 模型" msgid "DeepSeek Model" msgstr "DeepSeek 模型" -#: settings/serializers/feature.py:178 +#: settings/serializers/feature.py:172 +msgid "Custom Model" +msgstr "自定義模型" + +#: settings/serializers/feature.py:173 +msgid "Whether to use a custom model" +msgstr "是否使用自定義模型" + +#: settings/serializers/feature.py:177 +msgid "Custom gpt model" +msgstr "自訂 GPT 模型" + +#: settings/serializers/feature.py:181 +msgid "Custom DeepSeek model" +msgstr "自訂 DeepSeek 模型" + +#: settings/serializers/feature.py:190 msgid "Approval without login" msgstr "免登入審核" -#: settings/serializers/feature.py:179 +#: settings/serializers/feature.py:191 msgid "Allow direct approval ticket without login" msgstr "允許無需登入直接批准工單" -#: settings/serializers/feature.py:183 +#: settings/serializers/feature.py:195 msgid "Period" msgstr "時段" -#: settings/serializers/feature.py:184 +#: settings/serializers/feature.py:196 msgid "" "The default authorization time period when applying for assets via a ticket" msgstr "工單申請資產的預設授權時間段" -#: settings/serializers/feature.py:187 +#: settings/serializers/feature.py:199 msgid "hour" msgstr "時" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "Unit" msgstr "單位" -#: settings/serializers/feature.py:188 +#: settings/serializers/feature.py:200 msgid "The unit of period" msgstr "執行週期" -#: settings/serializers/feature.py:196 +#: settings/serializers/feature.py:208 msgid "Adhoc command" msgstr "批次指令執行" -#: settings/serializers/feature.py:197 +#: settings/serializers/feature.py:209 msgid "" "Allow users to execute batch commands in the Workbench - Job Center - Adhoc" msgstr "允許使用者在工作台 - 作業中心 - Adhoc 中執行批量指令" -#: settings/serializers/feature.py:201 +#: settings/serializers/feature.py:213 msgid "Command blacklist" msgstr "作業中心命令黑名單" -#: settings/serializers/feature.py:202 +#: settings/serializers/feature.py:214 msgid "Command blacklist in Adhoc" msgstr "作業中心指令黑名單" -#: settings/serializers/feature.py:208 +#: settings/serializers/feature.py:220 #: terminal/models/virtualapp/provider.py:17 #: terminal/models/virtualapp/virtualapp.py:36 #: terminal/models/virtualapp/virtualapp.py:97 @@ -7735,11 +7554,11 @@ msgstr "作業中心指令黑名單" msgid "Virtual app" msgstr "虛擬應用" -#: settings/serializers/feature.py:211 +#: settings/serializers/feature.py:223 msgid "Virtual App" msgstr "虛擬應用" -#: settings/serializers/feature.py:213 +#: settings/serializers/feature.py:225 msgid "" "Virtual applications, you can use the Linux operating system as an " "application server in remote applications." @@ -7765,8 +7584,7 @@ msgstr "登入郵件伺服器的使用者名稱。這通常是你的郵件地址 msgid "" "Password to use for the email server. It is used in conjunction with " "`Account` when authenticating to the email server" -msgstr "" -"用於電子郵件伺服器的密碼。在向電子郵件伺服器進行身份驗證時,與`帳號`一起使用" +msgstr "用於電子郵件伺服器的密碼。在向電子郵件伺服器進行身份驗證時,與`帳號`一起使用" #: settings/serializers/msg.py:42 msgid "Sender" @@ -7786,8 +7604,7 @@ msgid "" "server. In most email documentation this type of TLS connection is referred " "to as SSL. It is generally used on port 465" msgstr "" -"與 SMTP 伺服器通信時是否使用隱式 TLS(安全)連接。在大多數電子郵件文檔中,這" -"種類型的 TLS 連接稱為 SSL。它通常在埠 465 上使用" +"與 SMTP 伺服器通信時是否使用隱式 TLS(安全)連接。在大多數電子郵件文檔中,這種類型的 TLS 連接稱為 SSL。它通常在埠 465 上使用" #: settings/serializers/msg.py:55 msgid "Use TLS" @@ -7797,9 +7614,7 @@ msgstr "使用 TLS" msgid "" "Whether to use a TLS (secure) connection when talking to the SMTP server. " "This is used for explicit TLS connections, generally on port 587" -msgstr "" -"與 SMTP 伺服器通信時是否使用 TLS(安全)連接。這用於顯式 TLS 連接,通常在埠 " -"587 上" +msgstr "與 SMTP 伺服器通信時是否使用 TLS(安全)連接。這用於顯式 TLS 連接,通常在埠 587 上" #: settings/serializers/msg.py:65 msgid "Subject prefix" @@ -7807,8 +7622,8 @@ msgstr "主題前綴" #: settings/serializers/msg.py:70 msgid "" -"Tips: When creating a user, send the subject of the email (eg:Create account " -"successfully)" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" msgstr "提示: 創建用戶時,發送設置密碼郵件的主題 (例如: 創建用戶成功)" #: settings/serializers/msg.py:74 users/notifications.py:18 @@ -7824,8 +7639,7 @@ msgstr "提示: 創建用戶時,發送設置密碼郵件的敬語 (例如: 你 msgid "" "Tips: When creating a user, send the content of the email, support " "{username} {name} {email} label" -msgstr "" -"提示: 創建用戶時,發送設置密碼郵件的內容, 支持 {username} {name} {email} 標籤" +msgstr "提示: 創建用戶時,發送設置密碼郵件的內容, 支持 {username} {name} {email} 標籤" #: settings/serializers/msg.py:85 msgid "Tips: Email signature (eg:jumpserver)" @@ -7841,9 +7655,7 @@ msgstr "顯示未分組節點" #: settings/serializers/other.py:12 msgid "Perm single to ungroup node" -msgstr "" -"放置單獨授權的資產到未分組節點, 避免能看到資產所在節點,但該節點未被授權的問" -"題" +msgstr "放置單獨授權的資產到未分組節點, 避免能看到資產所在節點,但該節點未被授權的問題" #: settings/serializers/security.py:19 msgid "User password expiration (day)" @@ -7854,9 +7666,7 @@ msgid "" "If the user does not update the password during the time, the user password " "will expire failure;The password expiration reminder mail will be automatic " "sent to the user by system within 5 days (daily) before the password expires" -msgstr "" -"如果用戶在此期間沒有更新密碼,用戶密碼將過期失效; 密碼過期提醒郵件將在密碼過" -"期前5天內由系統 (每天)自動發送給用戶" +msgstr "如果用戶在此期間沒有更新密碼,用戶密碼將過期失效; 密碼過期提醒郵件將在密碼過期前5天內由系統 (每天)自動發送給用戶" #: settings/serializers/security.py:28 msgid "User expired tokens record keep days" @@ -7865,8 +7675,7 @@ msgstr "用戶過期 Token 保留天數" #: settings/serializers/security.py:29 msgid "" "Retention period (in days) for expired user tokens before automatic cleanup." -msgstr "" -"系統在每日清理任務中永久刪除用戶過期 token 記錄之前,保留這些記錄的天數" +msgstr "系統在每日清理任務中永久刪除用戶過期 token 記錄之前,保留這些記錄的天數" #: settings/serializers/security.py:33 msgid "Recent password count" @@ -7936,9 +7745,7 @@ msgid "" "users of other authentication methods except local authentication methods " "are allowed to log in and automatically create users (if the user does not " "exist)" -msgstr "" -"如果開啟,不存在的用戶將不被允許登錄;如果關閉,除本地認證方式外,其他認證方" -"式的用戶都允許登錄並自動創建用戶 (如果用戶不存在)" +msgstr "如果開啟,不存在的用戶將不被允許登錄;如果關閉,除本地認證方式外,其他認證方式的用戶都允許登錄並自動創建用戶 (如果用戶不存在)" #: settings/serializers/security.py:110 msgid "Only from source login" @@ -7946,13 +7753,12 @@ msgstr "僅從用戶來源登錄" #: settings/serializers/security.py:112 msgid "" -"If it is enabled, the user will only authenticate to the source when logging " -"in; if it is disabled, the user will authenticate all the enabled " +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " "authentication methods in a certain order when logging in, and as long as " "one of the authentication methods is successful, they can log in directly" msgstr "" -"如果開啟,用戶登錄時僅會向來源端進行認證;如果關閉,用戶登錄時會按照一定的順" -"序對所有已開啟的認證方式進行順序認證,只要有一個認證成功就可以直接登錄" +"如果開啟,用戶登錄時僅會向來源端進行認證;如果關閉,用戶登錄時會按照一定的順序對所有已開啟的認證方式進行順序認證,只要有一個認證成功就可以直接登錄" #: settings/serializers/security.py:123 #: users/templates/users/mfa_setting.html:160 @@ -8025,9 +7831,7 @@ msgstr "啟用登入附加碼" msgid "" "The password and additional code are sent to a third party authentication " "system for verification" -msgstr "" -"密碼和附加碼一併發送給第三方認證系統進行校驗, 如:有的第三方認證系統,需要 密" -"碼+6位數字 完成認證" +msgstr "密碼和附加碼一併發送給第三方認證系統進行校驗, 如:有的第三方認證系統,需要 密碼+6位數字 完成認證" #: settings/serializers/security.py:169 msgid "Login CAPTCHA" @@ -8043,12 +7847,10 @@ msgstr "異地登入通知" #: settings/serializers/security.py:175 msgid "" -"The system determines whether the login IP address belongs to a common login " -"city. If the account is logged in from a common login city, the system sends " -"a remote login reminder" -msgstr "" -"根據登錄 IP 是否所屬常用登錄城市進行判斷,若帳號在非常用城市登錄,會發送異地" -"登錄提醒" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" +msgstr "根據登錄 IP 是否所屬常用登錄城市進行判斷,若帳號在非常用城市登錄,會發送異地登錄提醒" #: settings/serializers/security.py:181 msgid "Auto Disable Threshold (day)" @@ -8116,8 +7918,7 @@ msgstr "允許用戶查看資產在線會話資訊" msgid "" "When a user connects to an asset, the account selection popup displays the " "number of active sessions for the current asset (RDP protocol only)." -msgstr "" -"當用戶連接資產時,帳號選擇彈窗中顯示當前資產的在線會話數量(僅 rdp 協議)" +msgstr "當用戶連接資產時,帳號選擇彈窗中顯示當前資產的在線會話數量(僅 rdp 協議)" #: settings/serializers/security.py:245 msgid "Max online time (hour)" @@ -8171,8 +7972,8 @@ msgstr "元件註冊" #: settings/serializers/terminal.py:28 msgid "" -"Allow component register, after all component setup, you should disable this " -"for security" +"Allow component register, after all component setup, you should disable this" +" for security" msgstr "是否允許元件註冊,當所有終端啟動後,為了安全應該關閉" #: settings/serializers/terminal.py:34 @@ -8184,11 +7985,11 @@ msgstr "* 允許用戶透過密碼驗證登入KoKo元件" msgid "" "* Allow users to log in to the KoKo component via Public key " "authentication
If third-party authentication services, such as AD/LDAP, " -"are enabled, you should disable this option to prevent users from logging in " -"after being deleted from the AD/LDAP server" +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" msgstr "" -"* 允許用戶透過公鑰驗證方式登入 KoKo 元件
如果第三方認證服務(如 AD/LDAP)" -"已啟用,則應禁用此選項,以防止用戶從 AD/LDAP 伺服器中刪除後再次登入" +"* 允許用戶透過公鑰驗證方式登入 KoKo 元件
如果第三方認證服務(如 AD/LDAP)已啟用,則應禁用此選項,以防止用戶從 AD/LDAP " +"伺服器中刪除後再次登入" #: settings/serializers/terminal.py:47 msgid "Asset sorting" @@ -8200,21 +8001,18 @@ msgstr "資產列表每頁數量" #: settings/serializers/terminal.py:55 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the DB client launch " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " "method when connecting to assets" -msgstr "" -"* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資" -"產時顯示 DB 客戶端啟動方法" +msgstr "* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資產時顯示 DB 客戶端啟動方法" #: settings/serializers/terminal.py:63 msgid "" -"* You can individually configure the service address and port in the service " -"endpoint
If enabled, the Luna page will display the download rdp file " +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " "button and RDP Client launch method when connecting to assets" msgstr "" -"* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資" -"產時顯示下載 rdp 文件按鈕和 RDP 客戶端啟動方法" +"* 您可以在服務端點中單獨配置服務地址和端口
如果啟用,Luna 界面將在連接資產時顯示下載 rdp 文件按鈕和 RDP 客戶端啟動方法" #: settings/serializers/terminal.py:70 msgid "Client connection" @@ -8223,10 +8021,9 @@ msgstr "客戶端連接" #: settings/serializers/terminal.py:72 msgid "" "* Allow connecting to the KoKo component via SSH client
If enabled, the " -"Luna page will display the SSH client launch method when connecting to assets" -msgstr "" -"* 允許透過 SSH 客戶端連接到 KoKo 元件
如果啟用,則在連接到資產時,Luna 界" -"面將顯示 SSH 客戶端啟動方法" +"Luna page will display the SSH client launch method when connecting to " +"assets" +msgstr "* 允許透過 SSH 客戶端連接到 KoKo 元件
如果啟用,則在連接到資產時,Luna 界面將顯示 SSH 客戶端啟動方法" #: settings/serializers/tool.py:10 msgid "Tool" @@ -8238,8 +8035,8 @@ msgstr "工作台中的工具" #: settings/serializers/tool.py:15 msgid "" -"*! If enabled, users with RBAC permissions will be able to utilize all tools " -"in the workbench" +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" msgstr "*! 如果啟用,具有 RBAC 權限的用戶將能夠使用工作台中的所有工具" #: settings/tasks/ldap.py:67 @@ -8262,12 +8059,9 @@ msgstr "註冊週期匯入 LDAP 用戶 任務" #: settings/tasks/ldap.py:117 msgid "" -"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP " -"sync task \n" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" " will be re-registered or updated, and this task will be invoked" -msgstr "" -"當設置了LDAP自動同步參數發生變化時,比如Crontab參數,重新註冊或更新ldap同步任" -"務將調用該任務" +msgstr "當設置了LDAP自動同步參數發生變化時,比如Crontab參數,重新註冊或更新ldap同步任務將調用該任務" #: settings/tasks/ldap.py:131 msgid "Registration periodic import ldap ha user task" @@ -8275,12 +8069,9 @@ msgstr "註冊定期導入 LDAP HA 用戶 任務" #: settings/tasks/ldap.py:133 msgid "" -"When LDAP HA auto-sync parameters change, such as Crontab parameters, the " -"LDAP HA sync task \n" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" " will be re-registered or updated, and this task will be invoked" -msgstr "" -"當 LDAP HA 自動同步參數發生變化時,例如 Crontab 參數,將重新註冊或更新“LDAP " -"HA 同步任務,並調用此任務" +msgstr "當 LDAP HA 自動同步參數發生變化時,例如 Crontab 參數,將重新註冊或更新“LDAP HA 同步任務,並調用此任務" #: settings/templates/ldap/_msg_import_ldap_user.html:2 msgid "Sync task finish" @@ -8303,24 +8094,19 @@ 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 -#, fuzzy, python-brace-format -#| msgid "Please add certificate: {}" msgid "Please add certificate: {}" -msgstr "請添加證書" +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 "未知錯誤: {}" @@ -8329,27 +8115,22 @@ 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屬性映射沒有包含: {}" @@ -8362,57 +8143,46 @@ 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 "認證成功: {}" @@ -8421,12 +8191,10 @@ 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 ",禁用 {}" @@ -8508,9 +8276,7 @@ msgstr "過期。" msgid "" "Your password has expired, please click this link update password." -msgstr "" -"您的密碼已過期,請點擊 連結 更" -"新密碼" +msgstr "您的密碼已過期,請點擊 連結 更新密碼" #: templates/_message.html:26 msgid "Your password will at" @@ -8528,17 +8294,14 @@ msgstr "請點擊 連結 更新 msgid "" "Your information was incomplete. Please click this link to complete your information." -msgstr "" -"您的資訊不完整,請點擊 連結 補充完整" +msgstr "您的資訊不完整,請點擊 連結 補充完整" #: templates/_message.html:48 #, python-format msgid "" "Your ssh public key not set or expired. Please click this link to update" -msgstr "" -"您的SSH金鑰尚未設定或已失效,請點擊 連結 " -" 更新" +msgstr "您的SSH金鑰尚未設定或已失效,請點擊 連結 更新" #: templates/_mfa_login_field.html:29 #: users/templates/users/forgot_password.html:101 @@ -8560,28 +8323,24 @@ msgid "Home page" msgstr "首頁" #: templates/redirect_confirm.html:42 -#, fuzzy -#| msgid "" -#| "You are about to be redirected to an external website. Please confirm " -#| "that you trust this link: " msgid "You are about to be redirected to an external website." -msgstr "您即將跳轉到一個外部網站,請確認您信任該連結" +msgstr "您即將跳轉到一個外部網站" #: templates/redirect_confirm.html:45 msgid "Please confirm that you trust this link: " -msgstr "" +msgstr "請確保你信任以下連結:" #: templates/redirect_confirm.html:55 msgid "Back" -msgstr "" +msgstr "返回" #: templates/redirect_confirm.html:70 msgid "Redirecting you to the Desktop App ( JumpServer Client )" -msgstr "" +msgstr "正在重定向到桌面應用程序 ( JumpServer 客戶端 )" #: templates/redirect_confirm.html:73 msgid "You can safely close this window and return to the application." -msgstr "" +msgstr "你可以關閉此窗口並返回應用程序" #: templates/resource_download.html:20 templates/resource_download.html:36 #: users/const.py:84 @@ -8589,10 +8348,8 @@ msgid "Client" msgstr "用戶端" #: templates/resource_download.html:22 -#, fuzzy -#| msgid "JumpServer Client, currently used to launch the client" msgid "JumpServerClient, currently used to launch the client" -msgstr "JumpServer 用戶端,目前用來喚起 特定用戶端程序 連接資產" +msgstr "JumpServer 客戶端,目前用來喚起特定客戶端程式連接資產" #: templates/resource_download.html:36 msgid "Microsoft" @@ -8633,7 +8390,6 @@ msgid "This is enterprise edition applet" msgstr "企業版遠程應用,在社區版中不能使用" #: terminal/api/applet/applet.py:91 -#, python-brace-format msgid "Applet not found in path: {}" msgstr "在路徑中未找到遠程應用: {}" @@ -8646,7 +8402,6 @@ 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 "無法刪除正在使用的儲存: {}" @@ -8659,7 +8414,6 @@ msgid "Invalid" msgstr "無效" #: terminal/api/component/storage.py:132 terminal/tasks.py:208 -#, python-brace-format msgid "Test failure: {}" msgstr "測試失敗: {}" @@ -8686,7 +8440,6 @@ msgid "Session replay" msgstr "會話錄影" #: terminal/api/session/session.py:335 -#, python-brace-format msgid "Session does not exist: {}" msgstr "會話不存在: {}" @@ -8694,7 +8447,7 @@ msgstr "會話不存在: {}" msgid "Session is finished or the protocol not supported" msgstr "會話已經完成或協議不支持" -#: terminal/api/session/session.py:351 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:351 msgid "User does not have permission" msgstr "用戶沒有權限" @@ -8859,12 +8612,10 @@ msgstr "主機" #: terminal/models/applet/applet.py:94 #: terminal/models/virtualapp/virtualapp.py:66 -#, python-brace-format msgid "Applet pkg not valid, Missing file {}" msgstr "Applet pkg 無效,缺少文件 {}" #: terminal/models/applet/applet.py:113 -#, python-brace-format msgid "Load platform.yml failed: {}" msgstr "載入 platform.yml 失敗: {}" @@ -9210,19 +8961,15 @@ msgstr "Core 服務地址" #: terminal/serializers/applet_host.py:38 msgid "" " \n" -" Tips: The application release machine communicates with the Core " -"service. \n" -" If the release machine and the Core service are on the same network " -"segment, \n" -" it is recommended to fill in the intranet address, otherwise fill in " -"the current site URL \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" "
\n" " eg: https://172.16.10.110 or https://dev.jumpserver.com\n" " " msgstr "" -"提示:應用發布機和 Core 服務進行通信使用,如果發布機和 Core 服務在同一網段," -"建議填寫內網地址,否則填寫當前站點 URL
例如:https://172.16.10.110 or " -"https://dev.jumpserver.com" +"提示:應用發布機和 Core 服務進行通信使用,如果發布機和 Core 服務在同一網段,建議填寫內網地址,否則填寫當前站點 " +"URL
例如:https://172.16.10.110 or https://dev.jumpserver.com" #: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 msgid "Ignore Certificate Verification" @@ -9235,12 +8982,12 @@ msgstr "已有 RDS 許可證" #: terminal/serializers/applet_host.py:50 msgid "" "If not exist, the RDS will be in trial mode, and the trial period is 120 " -"days. Detail" +"days. Detail" msgstr "" -"如果不存在,RDS將處於試用模式,試用期為 120 天。詳情" +"如果不存在,RDS將處於試用模式,試用期為 120 天。詳情" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9258,9 +9005,7 @@ msgstr "RDS 單用戶單會話" msgid "" "Tips: A RDS user can have only one session at a time. If set, when next " "login connected, previous session will be disconnected." -msgstr "" -"提示:RDS 用戶一次只能有一個會話。如果設定了,當下一次登入連接時,之前的會話" -"將會被斷開" +msgstr "提示:RDS 用戶一次只能有一個會話。如果設定了,當下一次登入連接時,之前的會話將會被斷開" #: terminal/serializers/applet_host.py:65 msgid "RDS Max Disconnection Time (ms)" @@ -9270,9 +9015,7 @@ msgstr "RDS 最大斷開時間(毫秒)" msgid "" "Tips: Set the maximum duration for keeping a disconnected session active on " "the server (log off the session after 60000 milliseconds)." -msgstr "" -"提示:設置某個已斷開連接的會話在伺服器上能保持活動狀態的最長時間(60000 毫秒" -"後註銷會話)" +msgstr "提示:設置某個已斷開連接的會話在伺服器上能保持活動狀態的最長時間(60000 毫秒後註銷會話)" #: terminal/serializers/applet_host.py:72 msgid "RDS Remote App Logoff Time Limit (ms)" @@ -9280,11 +9023,9 @@ msgstr "RDS 遠程應用註銷時間限制(毫秒)" #: terminal/serializers/applet_host.py:74 msgid "" -"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp " -"programs (0 milliseconds, log off the session immediately)." -msgstr "" -"提示:關閉所有 RemoteApp 程序之後設置 RemoteAPP 會話的註銷時間(0 毫秒,立即" -"註銷會話)" +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." +msgstr "提示:關閉所有 RemoteApp 程序之後設置 RemoteAPP 會話的註銷時間(0 毫秒,立即註銷會話)" #: terminal/serializers/applet_host.py:83 terminal/serializers/terminal.py:47 #: terminal/serializers/virtualapp_provider.py:13 @@ -9293,16 +9034,15 @@ msgstr "負載狀態" #: terminal/serializers/applet_host.py:97 msgid "" -"These accounts are used to connect to the published application, the account " -"is now divided into two types, one is dedicated to each account, each user " +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " "has a private account, the other is public, when the application does not " -"support multiple open and the special has been used, the public account will " -"be used to connect" +"support multiple open and the special has been used, the public account will" +" be used to connect" msgstr "" -"這些帳號用於連接髮布的應用,帳號現在分為兩種類型:
一種是專用的,每個用" -"戶都有一個專用帳號。 另一種是公共的,當應用不支持多開且專用的已經被使用時,會" -"使用公共帳號連接;
注意: 如果不開啟自動創建帳號, 當前發布機僅能被指定標" -"簽的資產調度到,默認不會放到調度池中,且需要手動維護帳號" +"這些帳號用於連接髮布的應用,帳號現在分為兩種類型:
一種是專用的,每個用戶都有一個專用帳號。 " +"另一種是公共的,當應用不支持多開且專用的已經被使用時,會使用公共帳號連接;
注意: 如果不開啟自動創建帳號, " +"當前發布機僅能被指定標簽的資產調度到,默認不會放到調度池中,且需要手動維護帳號" #: terminal/serializers/applet_host.py:104 msgid "The number of public accounts created automatically" @@ -9314,8 +9054,7 @@ msgid "" "please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " "restart the service to enable it." msgstr "" -"優先使用同名帳號連接髮布機。為了安全,需配置文件中開啟配置 " -"CACHE_LOGIN_PASSWORD_ENABLED=true, 修改後重啟服務" +"優先使用同名帳號連接髮布機。為了安全,需配置文件中開啟配置 CACHE_LOGIN_PASSWORD_ENABLED=true, 修改後重啟服務" #: terminal/serializers/applet_host.py:164 msgid "Install applets" @@ -9363,14 +9102,12 @@ msgid "" "The host address accessed when connecting to assets, if it is empty, the " "access address of the current browser will be used (the default endpoint " "does not allow modification of the host)" -msgstr "" -"連接資產時訪問的主機地址,如果為空則使用當前瀏覽器的訪問地址 (默認端點不允許" -"修改主機)" +msgstr "連接資產時訪問的主機地址,如果為空則使用當前瀏覽器的訪問地址 (默認端點不允許修改主機)" #: terminal/serializers/endpoint.py:54 msgid "" -"The assets within this IP range or Host, the following endpoint will be used " -"for the connection" +"The assets within this IP range or Host, the following endpoint will be used" +" for the connection" msgstr "此 IP 範圍或主機內的資產,將使用以下端點進行連接。" #: terminal/serializers/endpoint.py:55 @@ -9411,7 +9148,6 @@ msgid "No asset or invalid asset" msgstr "沒有資產或資產未激活" #: terminal/serializers/storage.py:23 -#, python-brace-format msgid "Endpoint invalid: remove path `{}`" msgstr "端點無效: 移除路徑 `{}`" @@ -9460,8 +9196,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" @@ -9636,8 +9372,7 @@ msgstr "清除離線會話" #: terminal/tasks.py:45 msgid "" -"Check every 10 minutes for asset connection sessions that have been inactive " -"for 3 \n" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" " minutes and mark these sessions as completed" msgstr "每10分鐘檢查3分鐘未活躍的資產連接會話,將這些會話標記為已完成" @@ -9647,11 +9382,9 @@ msgstr "上傳會話錄影到外部儲存" #: terminal/tasks.py:70 terminal/tasks.py:104 msgid "" -"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands " -"and \n" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" " recordings will be uploaded to external storage" -msgstr "" -"如果設置了SERVER_REPLAY_STORAGE,將通過文件管理上傳的文件同步到外部存儲" +msgstr "如果設置了SERVER_REPLAY_STORAGE,將通過文件管理上傳的文件同步到外部存儲" #: terminal/tasks.py:102 msgid "Upload session replay part file to external storage" @@ -9663,8 +9396,7 @@ msgstr "運行應用機部署" #: terminal/tasks.py:126 msgid "" -"When deploying from the remote application publisher details page, and the " -"'Deploy' \n" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" " button is clicked, this task will be executed" msgstr "發布機部署,點擊部署時,執行該任務" @@ -9674,8 +9406,7 @@ msgstr "安裝應用" #: terminal/tasks.py:140 msgid "" -"When the 'Deploy' button is clicked in the 'Remote Application' section of " -"the remote \n" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" " application publisher details page, this task will be executed" msgstr "當遠程應用發布機詳情-遠程應用,點擊部署時,執行該任務" @@ -9685,8 +9416,7 @@ msgstr "卸載應用" #: terminal/tasks.py:155 msgid "" -"When the 'Uninstall' button is clicked in the 'Remote Application' section " -"of the \n" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" " remote application publisher details page, this task will be executed" msgstr "當遠程應用發布機詳情-遠程應用,點擊卸載時,執行該任務" @@ -9696,8 +9426,7 @@ msgstr "收集遠程應用上的帳號" #: terminal/tasks.py:170 msgid "" -"When a remote publishing server is created and an account needs to be " -"created \n" +"When a remote publishing server is created and an account needs to be created \n" " automatically, this task will be executed" msgstr "當創建遠程發布機後,需要自動創建帳號時,執行該任務" @@ -9707,15 +9436,10 @@ msgstr "檢查命令及錄影儲存可連接性 " #: terminal/tasks.py:186 msgid "" -"Check every day at midnight whether the external storage for commands and " -"recordings \n" -" is accessible. If it is not accessible, send a notification to the " -"recipients specified \n" -" in 'System Settings - Notifications - Subscription - Storage - " -"Connectivity'" -msgstr "" -"每天淩晨0點檢查命令及錄像外部存儲是否可連接,如不可連接則發送給:系統設置-通" -"知設置-消息訂閱-命令及錄像存儲設置的接收人" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" +msgstr "每天淩晨0點檢查命令及錄像外部存儲是否可連接,如不可連接則發送給:系統設置-通知設置-消息訂閱-命令及錄像存儲設置的接收人" #: terminal/templates/terminal/_msg_command_alert.html:10 msgid "view" @@ -9723,8 +9447,8 @@ msgstr "查看" #: terminal/templates/terminal/_msg_command_warning.html:5 msgid "" -"We would like to inform you that a command alert has been triggered with the " -"following details:" +"We would like to inform you that a command alert has been triggered with the" +" following details:" msgstr "我們想通知您,命令警報已觸發,具體內容如下:" #: terminal/templates/terminal/_msg_command_warning.html:7 @@ -9740,9 +9464,7 @@ msgid "" "Please review this command execution to ensure it complies with your " "organization’s security policies. If you did not authorize this action or " "notice anything unusual, please take the necessary actions immediately." -msgstr "" -"請檢查此命令的執行情況,以確保其符合您組織的安全政策。如果您未授權此操作或發" -"現任何異常,請立即採取必要的措施。" +msgstr "請檢查此命令的執行情況,以確保其符合您組織的安全政策。如果您未授權此操作或發現任何異常,請立即採取必要的措施。" #: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 msgid "Applicant" @@ -9797,12 +9519,10 @@ msgid "Ticket already closed" msgstr "工單已經關閉" #: tickets/handlers/apply_asset.py:39 -#, python-brace-format msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" -msgstr "" -"通過工單創建, 工單標題: {}, 工單申請人: {}, 工單處理人: {}, 工單 ID: {}" +msgstr "通過工單創建, 工單標題: {}, 工單申請人: {}, 工單處理人: {}, 工單 ID: {}" #: tickets/handlers/base.py:84 msgid "Change field" @@ -9817,7 +9537,6 @@ msgid "After change" msgstr "變更後" #: tickets/handlers/base.py:96 -#, python-brace-format msgid "{} {} the ticket" msgstr "{} {} 工單" @@ -9957,23 +9676,18 @@ msgid "Ticket applied info" msgstr "工單申請資訊" #: tickets/notifications.py:116 -#, python-brace-format msgid "Your has a new ticket, applicant - {}" msgstr "你有一個新的工單, 申請人 - {}" #: tickets/notifications.py:120 -#, fuzzy, python-brace-format -#| msgid "{}: New Ticket - {} ({})" msgid "{}: New Ticket - {} ({})" -msgstr "新工單 - {} ({})" +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 "你的工單已被處理, 處理人 - {} ({})" @@ -10003,7 +9717,6 @@ msgstr "申請動作" #: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:74 -#, python-brace-format msgid "Created by ticket ({}-{})" msgstr "通過工單創建 ({}-{})" @@ -10012,7 +9725,6 @@ 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 "授權名稱 `{}` 已存在" @@ -10021,7 +9733,6 @@ msgid "Process map" msgstr "流程圖" #: tickets/serializers/ticket/ticket.py:91 -#, python-brace-format msgid "The ticket flow `{}` does not exist" msgstr "工單流程 `{}` 不存在" @@ -10176,9 +9887,7 @@ msgid "" "When enabled, you will enter the MFA binding process the next time you log " "in. you can also directly bind in \"personal information -> quick " "modification -> change MFA Settings\"!" -msgstr "" -"啟用之後您將會在下次登錄時進入多因子認證綁定流程;您也可以在 (個人資訊->快速" -"修改->設置 MFA 多因子認證)中直接綁定!" +msgstr "啟用之後您將會在下次登錄時進入多因子認證綁定流程;您也可以在 (個人資訊->快速修改->設置 MFA 多因子認證)中直接綁定!" #: users/forms/profile.py:60 msgid "* Enable MFA to make the account more secure." @@ -10186,12 +9895,10 @@ msgstr "* 啟用 MFA 多因子認證,使帳號更加安全。" #: users/forms/profile.py:69 msgid "" -"In order to protect you and your company, please keep your account, password " -"and key sensitive information properly. (for example: setting complex " +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " "password, enabling MFA)" -msgstr "" -"為了保護您和公司的安全,請妥善保管您的帳號、密碼和金鑰等重要敏感資訊; (如:" -"設置複雜密碼,並啟用 MFA 多因子認證)" +msgstr "為了保護您和公司的安全,請妥善保管您的帳號、密碼和金鑰等重要敏感資訊; (如:設置複雜密碼,並啟用 MFA 多因子認證)" #: users/forms/profile.py:76 msgid "Finish" @@ -10393,8 +10100,8 @@ msgstr "終端主題名稱" #: users/serializers/preference/lina.py:12 msgid "" "*! The password for file encryption, used for decryption when the system " -"sends emails containing file attachments.
Such as: account backup files, " -"account password change results files" +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" msgstr "" "File Encryption Password, when the system sends mails containing file " "attachments, use this password for decryption.
For example: Account " @@ -10420,7 +10127,8 @@ msgstr "非同步載入資產樹" msgid "Connect default open method" msgstr "連接默認打開方式" -#: users/serializers/preference/luna.py:34 xpack/plugins/interface/models.py:41 +#: users/serializers/preference/luna.py:34 +#: xpack/plugins/interface/models.py:41 #: xpack/plugins/interface/serializers/interface.py:26 msgid "Theme" msgstr "主題" @@ -10452,9 +10160,7 @@ msgid "" "Determines whether the client computer should scale the content on the " "remote computer to fit the window size of the client computer when the " "window is resized." -msgstr "" -"確定調整窗口大小時用戶端計算機是否應縮放遠程計算機上的內容以適應用戶端計算機" -"的窗口大小" +msgstr "確定調整窗口大小時用戶端計算機是否應縮放遠程計算機上的內容以適應用戶端計算機的窗口大小" #: users/serializers/preference/luna.py:63 msgid "Remote app connect method" @@ -10489,7 +10195,6 @@ 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 "新密碼不能是最近 {} 次的密碼" @@ -10503,10 +10208,11 @@ msgstr "系統角色" #: users/serializers/user.py:55 msgid "" -"System roles are roles at the system level, and they will take effect across " -"all organizations" +"System roles are roles at the system level, and they will take effect across" +" all organizations" msgstr "" -"System role is a system-level role, it will be effective in all organizations" +"System role is a system-level role, it will be effective in all " +"organizations" #: users/serializers/user.py:61 msgid "Org roles" @@ -10517,8 +10223,8 @@ msgid "" "Org roles are roles at the organization level, and they will only take " "effect within current organization" msgstr "" -"Organization role is an organization-level role, it is only effective within " -"the current organization" +"Organization role is an organization-level role, it is only effective within" +" the current organization" #: users/serializers/user.py:70 msgid "Organizations and roles" @@ -10582,8 +10288,8 @@ msgid "" "other sources.There are security settings that can restrict users to log in " "to the system only from the sources." msgstr "" -"User origin identifies the location where the user was created. It can be AD " -"or other sources. Security settings can restrict users to log in to the " +"User origin identifies the location where the user was created. It can be AD" +" or other sources. Security settings can restrict users to log in to the " "system only from designated sources." #: users/serializers/user.py:260 @@ -10608,7 +10314,8 @@ msgstr "有公鑰" #: users/serializers/user.py:426 msgid "" -"* For security, only a partial of users is displayed. You can search for more" +"* For security, only a partial of users is displayed. You can search for " +"more" msgstr "" "*For security reasons, only a portion of users is displayed. You can search " "for more" @@ -10620,10 +10327,8 @@ msgstr "名稱重複" #: users/signal_handlers.py:41 msgid "" "The administrator has enabled \"Only allow existing users to log in\", \n" -" and the current user is not in the user list. Please contact the " -"administrator." -msgstr "" -"管理員已開啟'僅允許已存在用戶登錄',當前用戶不在用戶列表中,請聯絡管理員。" +" and the current user is not in the user list. Please contact the administrator." +msgstr "管理員已開啟'僅允許已存在用戶登錄',當前用戶不在用戶列表中,請聯絡管理員。" #: users/signal_handlers.py:179 msgid "Clean up expired user sessions" @@ -10631,11 +10336,9 @@ msgstr "清除過期的用戶會話" #: users/signal_handlers.py:181 msgid "" -"After logging in via the web, a user session record is created. At 2 a.m. " -"every day, \n" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" " the system cleans up inactive user devices" -msgstr "" -"使用網頁登錄後,將產生用戶會話在線記錄,每天淩晨2點,清理未在線的用戶設備" +msgstr "使用網頁登錄後,將產生用戶會話在線記錄,每天淩晨2點,清理未在線的用戶設備" #: users/tasks.py:26 msgid "Check password expired" @@ -10643,8 +10346,7 @@ msgstr "校驗密碼已過期" #: users/tasks.py:28 msgid "" -"Check every day at 10 AM whether the passwords of users in the system are " -"expired, \n" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" " and send a notification 5 days in advance" msgstr "每天上午10點檢查,系統中用戶的密碼是否過期,提前5天發送通知" @@ -10654,14 +10356,10 @@ msgstr "週期校驗密碼過期" #: users/tasks.py:48 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if passwords have expired" -msgstr "" -"隨著版本迭代,可能會新增任務或修改任務的名稱、執行時間,因此在系統啟動時,註" -"冊或更新校驗密碼已過期任務的參數" +msgstr "隨著版本迭代,可能會新增任務或修改任務的名稱、執行時間,因此在系統啟動時,註冊或更新校驗密碼已過期任務的參數" #: users/tasks.py:67 msgid "Check user expired" @@ -10669,8 +10367,7 @@ msgstr "校驗用戶已過期" #: users/tasks.py:69 msgid "" -"Check every day at 2 p.m whether the users in the system are expired, and " -"send a \n" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" " notification 5 days in advance" msgstr "每天下午2點檢查,系統中的用戶是否過期,提前5天發送通知" @@ -10680,14 +10377,10 @@ msgstr "週期檢測用戶過期" #: users/tasks.py:92 msgid "" -"With version iterations, new tasks may be added, or task names and execution " -"times may \n" -" be modified. Therefore, upon system startup, it is necessary to " -"register or update the \n" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" " parameters of the task that checks if users have expired" -msgstr "" -"隨著版本迭代,可能會新增任務或修改任務的名稱、執行時間,因此在系統啟動時,註" -"冊或更新校驗用戶已過期任務的參數" +msgstr "隨著版本迭代,可能會新增任務或修改任務的名稱、執行時間,因此在系統啟動時,註冊或更新校驗用戶已過期任務的參數" #: users/tasks.py:111 msgid "Check unused users" @@ -10695,14 +10388,10 @@ msgstr "檢查未使用的用戶" #: users/tasks.py:113 msgid "" -"At 2 p.m. every day, according to the configuration in \"System Settings - " -"Security - \n" -" Auth security - Auto disable threshold\" users who have not logged " -"in or whose API keys \n" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" " have not been used for a long time will be disabled" -msgstr "" -"每天下午2點,根據系統配置-安全設置-不活躍用戶自動禁用配置,對長時間不登錄或" -"api_key不使用的用戶進行禁用" +msgstr "每天下午2點,根據系統配置-安全設置-不活躍用戶自動禁用配置,對長時間不登錄或api_key不使用的用戶進行禁用" #: users/tasks.py:157 msgid "The user has not logged in recently and has been disabled." @@ -10837,8 +10526,8 @@ msgstr "綁定MFA驗證器" #: users/templates/users/user_otp_enable_bind.html:13 msgid "" -"Use the MFA Authenticator application to scan the following qr code for a 6-" -"bit verification code" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" msgstr "使用 MFA 驗證器應用掃描以下二維碼,獲取6位驗證碼" #: users/templates/users/user_otp_enable_bind.html:22 @@ -10930,10 +10619,9 @@ 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: {}" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" msgstr "非本地用戶僅允許從第三方平台登錄,不支持修改密碼: {}" #: users/views/profile/reset.py:188 users/views/profile/reset.py:199 @@ -10941,7 +10629,6 @@ msgid "Token invalid or expired" msgstr "令牌錯誤或失效" #: users/views/profile/reset.py:204 -#, python-brace-format msgid "User auth from {}, go there change password" msgstr "用戶認證源來自 {}, 請去相應系統修改密碼" @@ -10950,7 +10637,6 @@ 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 "* 新密碼不能是最近 {} 次的密碼" @@ -10975,12 +10661,10 @@ 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" @@ -11038,10 +10722,8 @@ msgid "Volcengine" msgstr "火山引擎" #: xpack/plugins/cloud/const.py:22 -#, fuzzy -#| msgid "Huawei Cloud" msgid "State Cloud" -msgstr "華為雲" +msgstr "天翼雲" #: xpack/plugins/cloud/const.py:24 msgid "VMware" @@ -11179,12 +10861,7 @@ msgstr "同步地區" #: xpack/plugins/cloud/manager.py:149 #, python-format 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:290 -msgid "Instance" -msgstr "實例" +msgstr "An error occurred while getting the instances of Region \"%s\", Error: %s" #: xpack/plugins/cloud/manager.py:195 #, python-format @@ -11330,11 +11007,16 @@ msgstr "同步任務" msgid "Sync instance task history" msgstr "同步實例任務歷史" +#: xpack/plugins/cloud/models.py:290 +msgid "Instance" +msgstr "實例" + #: xpack/plugins/cloud/models.py:307 msgid "Sync instance detail" msgstr "同步實例詳情" -#: xpack/plugins/cloud/models.py:319 xpack/plugins/cloud/serializers/task.py:79 +#: xpack/plugins/cloud/models.py:319 +#: xpack/plugins/cloud/serializers/task.py:79 msgid "Rule relation" msgstr "條件關係" @@ -11390,7 +11072,8 @@ msgstr "規則匹配" msgid "Rule value" msgstr "規則值" -#: xpack/plugins/cloud/models.py:395 xpack/plugins/cloud/serializers/task.py:82 +#: xpack/plugins/cloud/models.py:395 +#: xpack/plugins/cloud/serializers/task.py:82 msgid "Strategy rule" msgstr "條件" @@ -11406,7 +11089,8 @@ msgstr "動作屬性" msgid "Action value" msgstr "動作值" -#: xpack/plugins/cloud/models.py:422 xpack/plugins/cloud/serializers/task.py:85 +#: xpack/plugins/cloud/models.py:422 +#: xpack/plugins/cloud/serializers/task.py:85 msgid "Strategy action" msgstr "動作" @@ -11615,8 +11299,6 @@ msgid "Port \"%(port)s\" of instance IP \"%(ip)s\" is not reachable" msgstr "The port%(port)s of Instance IP %(ip)s is inaccessible." #: xpack/plugins/cloud/providers/scp.py:108 -#, fuzzy -#| msgid "empty" msgid "Empty" msgstr "空" @@ -11652,12 +11334,6 @@ msgstr "API 端點" msgid "Auto node classification" msgstr "自動節點分類" -#: xpack/plugins/cloud/serializers/account_attrs.py:108 -#, fuzzy -#| msgid "Domain name" -msgid "domain_name" -msgstr "域名稱" - #: xpack/plugins/cloud/serializers/account_attrs.py:124 msgid "Auth url" msgstr "認證地址" @@ -11671,10 +11347,8 @@ msgid "User domain" msgstr "用戶域" #: xpack/plugins/cloud/serializers/account_attrs.py:157 -#, fuzzy -#| msgid "Project" msgid "Project ID" -msgstr "project" +msgstr "專案" #: xpack/plugins/cloud/serializers/account_attrs.py:164 msgid "Cert File" @@ -11693,7 +11367,6 @@ 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 地址無效: `{}`, {}" @@ -11706,9 +11379,7 @@ msgid "" "The port is used to detect the validity of the IP address. When the " "synchronization task is executed, only the valid IP address will be " "synchronized.
If the port is 0, all IP addresses are valid." -msgstr "" -"埠用來檢測 IP 地址的有效性,在同步任務執行時,只會同步有效的 IP 地址。
如" -"果埠為 0,則表示所有 IP 地址均有效。" +msgstr "埠用來檢測 IP 地址的有效性,在同步任務執行時,只會同步有效的 IP 地址。
如果埠為 0,則表示所有 IP 地址均有效。" #: xpack/plugins/cloud/serializers/account_attrs.py:227 msgid "Hostname prefix" @@ -11740,8 +11411,8 @@ msgstr "實例個數" #: xpack/plugins/cloud/tasks.py:33 msgid "" -"Execute this task when manually or scheduled cloud synchronization tasks are " -"performed" +"Execute this task when manually or scheduled cloud synchronization tasks are" +" performed" msgstr "在執行手動或定時雲同步任務時進行此任務" #: xpack/plugins/cloud/tasks.py:50 @@ -11750,14 +11421,10 @@ msgstr "定期清除同步實例任務執行記錄" #: xpack/plugins/cloud/tasks.py:52 msgid "" -"Every day, according to the configuration in \"System Settings - Tasks - " -"Regular \n" -" clean-up - Cloud sync task history retention days\" the system will " -"clean up the execution \n" +"Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" " records generated by cloud synchronization" -msgstr "" -"系統每天會根據「系統設置-任務-定期清理-雲同步任務歷史記錄保留天數」中的配置," -"清理雲同步執行過程中產生的記錄。" +msgstr "系統每天會根據「系統設置-任務-定期清理-雲同步任務歷史記錄保留天數」中的配置,清理雲同步執行過程中產生的記錄。" #: xpack/plugins/interface/api.py:52 msgid "Restore default successfully." @@ -11807,22 +11474,3 @@ msgstr "許可證匯入成功" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "許可證無效" - -#~ msgid "" -#~ "CAS login was successful, but no corresponding local user was found in " -#~ "the system, and automatic user creation is disabled in the CAS " -#~ "authentication configuration. Login failed." -#~ msgstr "" -#~ "CAS 登入成功,但系統未找到本地使用者,且 CAS 認證配置中未啟用自動創建使用" -#~ "者功能,登入失敗" - -#~ msgid "Invalid token or cache refreshed." -#~ msgstr "刷新的令牌或快取無效。" - -#~ msgid "Create user" -#~ msgstr "創建使用者(如不存在)" - -#~ msgid "" -#~ "After successful user authentication, if the user does not exist, " -#~ "automatically create the user" -#~ msgstr "使用者認證成功後,若使用者不存在,則自動創建使用者" diff --git a/apps/i18n/lina/es.json b/apps/i18n/lina/es.json index 9b112058d..d6f24b517 100644 --- a/apps/i18n/lina/es.json +++ b/apps/i18n/lina/es.json @@ -8,6 +8,8 @@ "AccessDistribution": "Distribución de visitas", "AccessIP": "Lista blanca de IP", "AccessKey": "Clave de acceso", + "AccessToken": "Token de acceso", + "AccessTokenTip": "El token de acceso es un certificado temporal generado a través del cliente JumpServer utilizando el flujo de OAuth2 (autorización por código) para acceder a recursos protegidos.", "Account": "Información de la cuenta", "AccountActivities": "Actividad de la cuenta", "AccountAndPasswordChangeRank": "Clasificación de cambio de contraseña de cuenta", @@ -44,6 +46,7 @@ "AccountPushUpdate": "Actualizar la notificación de la cuenta", "AccountReport": "Informe de cuentas", "AccountResult": "Cambio de contraseña de cuenta exitoso/fallido", + "AccountSecretReadDisabled": "La función de lectura de nombre de usuario y contraseña ha sido desactivada por el administrador", "AccountSelectHelpText": "La lista de cuentas agrega el nombre de usuario de la cuenta. Tipo de contraseña.", "AccountSessions": "Sesión de cuenta", "AccountStatisticsReport": "Informe estadístico de cuentas", @@ -279,6 +282,7 @@ "CACertificate": "Certificado CA", "CAS": "CAS", "CMPP2": "CMPP v2.0", + "CTYun": "Tianyi Cloud", "CTYunPrivate": "eCloud Nube Privada", "CalculationResults": "Error en la expresión cron", "CallRecords": "Registro de llamadas", @@ -1176,6 +1180,8 @@ "RetrySelected": "Reintentar selección", "Review": "Revisión", "Reviewer": "Aprobador", + "Revoke": "Revocar", + "Risk": "Riesgo", "RiskDetection": "Detección de riesgos", "RiskDetectionDetail": "Detalles de detección de riesgos", "RiskyAccount": "Cuenta de riesgo", @@ -1639,6 +1645,7 @@ "overwriteProtocolsAndPortsMsg": "Esta acción reemplazará todos los protocolos y puertos, ¿continuar?", "pleaseSelectAssets": "Por favor, seleccione un activo.", "removeWarningMsg": "¿Está seguro de que desea eliminar?", + "selectFiles": "Se ha seleccionado el archivo número {number}", "selectedAssets": "Activos seleccionados", "setVariable": "configurar parámetros", "userId": "ID de usuario", diff --git a/apps/i18n/lina/ja.json b/apps/i18n/lina/ja.json index e03c00455..83e77ea53 100644 --- a/apps/i18n/lina/ja.json +++ b/apps/i18n/lina/ja.json @@ -8,6 +8,8 @@ "AccessDistribution": "アクセス分布", "AccessIP": "IP ホワイトリスト", "AccessKey": "アクセスキー", + "AccessToken": "アクセス・トークン", + "AccessTokenTip": "アクセス・トークンは、JumpServer クライアントを通じて OAuth2(Authorization Code Grant)フローを使用して生成される一時的な証明書であり、保護されたリソースへのアクセスに使用されます。", "Account": "アカウント情報", "AccountActivities": "アカウント活動", "AccountAmount": "アカウント数", @@ -46,6 +48,7 @@ "AccountPushUpdate": "アカウント更新プッシュ", "AccountReport": "アカウントレポート", "AccountResult": "アカウントパスワード変更成功/失敗", + "AccountSecretReadDisabled": "アカウントパスワードの読み取り機能は管理者によって無効になっています。", "AccountSelectHelpText": "アカウント一覧に追加されている内容は、アカウントのユーザー名", "AccountSessions": " アカウントセッション ", "AccountStatisticsReport": "アカウント統計レポート", @@ -283,6 +286,7 @@ "CACertificate": "CA 証明書", "CAS": "CAS", "CMPP2": "CMPP v2.0", + "CTYun": "天翼クラウド", "CTYunPrivate": "イークラウド・プライベートクラウド", "CalculationResults": "cron 式のエラー", "CallRecords": "つうわきろく", @@ -1181,6 +1185,8 @@ "RetrySelected": "選択したものを再試行", "Review": "審査", "Reviewer": "承認者", + "Revoke": "取り消し", + "Risk": "リスク", "RiskDetection": "リスク検出", "RiskDetectionDetail": "リスク検出の詳細", "RiskyAccount": "リスクアカウント", @@ -1644,6 +1650,7 @@ "overwriteProtocolsAndPortsMsg": "この操作はすべてのプロトコルとポートを上書きしますが、続行してよろしいですか?", "pleaseSelectAssets": "資産を選択してください", "removeWarningMsg": "削除してもよろしいですか", + "selectFiles": "{number}ファイルを選択しました。", "selectedAssets": "選択した資産", "setVariable": "パラメータ設定", "userId": "ユーザーID", diff --git a/apps/i18n/lina/ko.json b/apps/i18n/lina/ko.json index d053323fb..00824f5b3 100644 --- a/apps/i18n/lina/ko.json +++ b/apps/i18n/lina/ko.json @@ -8,6 +8,8 @@ "AccessDistribution": "방문 분포", "AccessIP": "IP 화이트리스트", "AccessKey": "액세스 키", + "AccessToken": "접속 토큰", + "AccessTokenTip": "접속 토큰은 JumpServer 클라이언트를 통해 OAuth2(인증 코드 인증) 프로세스를 사용하여 생성된 임시 자격 증명으로, 보호된 리소스에 접근하는 데 사용됩니다.", "Account": "계정", "AccountActivities": "계정 활동", "AccountAndPasswordChangeRank": "계정 비밀번호 변경 순위", @@ -44,6 +46,7 @@ "AccountPushUpdate": "계정 업데이트 푸시", "AccountReport": "계정 보고서", "AccountResult": "계정 비밀번호 변경 성공/실패", + "AccountSecretReadDisabled": "계정 비밀번호 읽기 기능은 관리자가 비활성화하였습니다.", "AccountSelectHelpText": "계정 목록에 추가하는 것은 계정의 사용자 이름—암호 유형입니다.", "AccountSessions": "계정 세션", "AccountStatisticsReport": "계정 통계 보고서", @@ -279,6 +282,7 @@ "CACertificate": "CA 인증서", "CAS": "CAS", "CMPP2": "CMPP v2.0", + "CTYun": "천윳 클라우드", "CTYunPrivate": "천翼 개인 클라우드", "CalculationResults": "cron 표현식 오류", "CallRecords": "호출 기록", @@ -1176,6 +1180,8 @@ "RetrySelected": "선택한 항목 재시도", "Review": "검토", "Reviewer": "승인자", + "Revoke": "취소", + "Risk": "위험", "RiskDetection": "위험 감지", "RiskDetectionDetail": "위험 감지 상세 정보", "RiskyAccount": "위험 계정", @@ -1639,6 +1645,7 @@ "overwriteProtocolsAndPortsMsg": "이 작업은 모든 프로토콜과 포트를 덮어씌우게 됩니다. 계속하시겠습니까?", "pleaseSelectAssets": "자산을 선택해 주세요", "removeWarningMsg": "제거할 것인지 확실합니까?", + "selectFiles": "선택한 파일 {number}개", "selectedAssets": "선택한 자산", "setVariable": "설정 매개변수", "userId": "사용자 ID", diff --git a/apps/i18n/lina/pt_br.json b/apps/i18n/lina/pt_br.json index a57302701..6581c4a06 100644 --- a/apps/i18n/lina/pt_br.json +++ b/apps/i18n/lina/pt_br.json @@ -8,6 +8,8 @@ "AccessDistribution": "Distribuição de Acesso", "AccessIP": "Lista branca de IP", "AccessKey": "Chave de Acesso", + "AccessToken": "Token de acesso", + "AccessTokenTip": "O token de acesso é um credencial temporário gerado pelo cliente JumpServer usando o fluxo OAuth2 (autorização por código), utilizado para acessar recursos protegidos.", "Account": "Informações da conta", "AccountActivities": "Atividades da conta", "AccountAndPasswordChangeRank": "Alteração de Senha por Classificação", @@ -44,6 +46,7 @@ "AccountPushUpdate": " Atualização de notificação de conta ", "AccountReport": "Relatório de Contas", "AccountResult": "Alteração de senha da conta bem-sucedida/falhada", + "AccountSecretReadDisabled": "A funcionalidade de leitura de nome de usuário e senha foi desativada pelo administrador", "AccountSelectHelpText": "A lista de contas inclui o nome de usuário da conta", "AccountSessions": "Conta de sessão ", "AccountStatisticsReport": "Relatório de Estatísticas de Contas", @@ -280,6 +283,7 @@ "CACertificate": " Certificado CA", "CAS": "CAS", "CMPP2": "CMPP v2.0", + "CTYun": "Tianyi Cloud", "CTYunPrivate": " eCloud Nuvem Privada", "CalculationResults": "Erro de expressão cron", "CallRecords": "Registro de chamadas", @@ -1177,6 +1181,8 @@ "RetrySelected": "repetir a seleção", "Review": "Revisar", "Reviewer": "Aprovador", + "Revoke": "Revogar", + "Risk": "Risco", "RiskDetection": " Detecção de risco ", "RiskDetectionDetail": "Detalhes da Detecção de Risco", "RiskyAccount": " Conta de risco ", @@ -1640,6 +1646,7 @@ "overwriteProtocolsAndPortsMsg": "Esta ação substituirá todos os protocolos e portas. Deseja continuar?", "pleaseSelectAssets": "Por favor, selecione um ativo.", "removeWarningMsg": "Tem certeza de que deseja remover", + "selectFiles": "Foram selecionados {number} arquivos", "selectedAssets": "Ativos selecionados", "setVariable": "Parâmetros de configuração", "userId": "ID do usuário", diff --git a/apps/i18n/lina/ru.json b/apps/i18n/lina/ru.json index 668e544b1..a783b6860 100644 --- a/apps/i18n/lina/ru.json +++ b/apps/i18n/lina/ru.json @@ -8,6 +8,8 @@ "AccessDistribution": "Распределение доступа", "AccessIP": "Белый список IP", "AccessKey": "Ключ доступа", + "AccessToken": "Токен доступа", + "AccessTokenTip": "Токен доступа создается через клиент JumpServer с использованием процесса OAuth2 (авторизация через код) в качестве временного удостоверения для доступа к защищенным ресурсам.", "Account": "Информация об УЗ", "AccountActivities": "Активность учетной записи", "AccountAndPasswordChangeRank": "Рейтинг изменений паролей и учётных записей", @@ -44,6 +46,7 @@ "AccountPushUpdate": "Обновление УЗ для публикации", "AccountReport": "Отчет по УЗ", "AccountResult": "Успешное или неудачное изменение секрета УЗ", + "AccountSecretReadDisabled": "Функция чтения логина и пароля была отключена администратором", "AccountSelectHelpText": "В списке учетных записей отображается имя пользователя", "AccountSessions": "Сессии учетной записи", "AccountStatisticsReport": "Отчет по учетным записям", @@ -279,6 +282,7 @@ "CACertificate": "Сертификат ЦС", "CAS": "CAS", "CMPP2": "CMPP v2.0", + "CTYun": "Tianyi Cloud", "CTYunPrivate": "eCloud Private Cloud", "CalculationResults": "Ошибка в выражении cron", "CallRecords": "Запись вызовов", @@ -1176,6 +1180,8 @@ "RetrySelected": "Повторить выбранное", "Review": "Требовать одобрения", "Reviewer": "Утверждающий", + "Revoke": "Отмена", + "Risk": "Риск", "RiskDetection": "Выявление рисков", "RiskDetectionDetail": "Детали обнаружения риска", "RiskyAccount": "УЗ с риском", @@ -1639,6 +1645,7 @@ "overwriteProtocolsAndPortsMsg": "Это действие заменит все протоколы и порты. Продолжить?", "pleaseSelectAssets": "Пожалуйста, выберите актив", "removeWarningMsg": "Вы уверены, что хотите удалить", + "selectFiles": "Выбрано {number} файлов", "selectedAssets": "Выбранные активы", "setVariable": "Задать переменную", "userId": "ID пользователя", diff --git a/apps/i18n/lina/vi.json b/apps/i18n/lina/vi.json index b058abf62..8e00450ea 100644 --- a/apps/i18n/lina/vi.json +++ b/apps/i18n/lina/vi.json @@ -8,6 +8,8 @@ "AccessDistribution": "Phân bố truy cập", "AccessIP": "Danh sách trắng IP", "AccessKey": "Khóa truy cập", + "AccessToken": "Mã thông hành", + "AccessTokenTip": "Mã thông hành là giấy chứng nhận tạm thời được tạo ra thông qua quy trình OAuth2 (ủy quyền mã) sử dụng khách hàng JumpServer, dùng để truy cập tài nguyên được bảo vệ.", "Account": "Tài khoản", "AccountActivities": "Tài khoản hoạt động", "AccountAndPasswordChangeRank": "Thay đổi mật khẩu tài khoản xếp hạng", @@ -44,6 +46,7 @@ "AccountPushUpdate": "Cập nhật thông tin tài khoản", "AccountReport": "Báo cáo tài khoản", "AccountResult": "Thay đổi mật khẩu tài khoản thành công/thất bại", + "AccountSecretReadDisabled": "Chức năng đọc tài khoản mật khẩu đã bị quản lý bởi quản trị viên vô hiệu hóa", "AccountSelectHelpText": "Danh sách tài khoản thêm tên người dùng của tài khoản", "AccountSessions": "Phiên tài khoản", "AccountStatisticsReport": "Báo cáo thống kê tài khoản", @@ -279,6 +282,7 @@ "CACertificate": "Chứng chỉ CA", "CAS": "CAS", "CMPP2": "CMPP v2.0", + "CTYun": "Điện toán đám mây Thiên Vân", "CTYunPrivate": "Đám mây riêng Tianyi", "CalculationResults": "Biểu thức cron sai", "CallRecords": "Ghi chép gọi", @@ -1176,6 +1180,8 @@ "RetrySelected": "Thử lại đã chọn", "Review": "Xem xét", "Reviewer": "Người phê duyệt", + "Revoke": "Huỷ bỏ", + "Risk": "Rủi ro", "RiskDetection": "Phát hiện rủi ro", "RiskDetectionDetail": "Chi tiết phát hiện rủi ro", "RiskyAccount": "Tài khoản rủi ro", @@ -1639,6 +1645,7 @@ "overwriteProtocolsAndPortsMsg": "Hành động này sẽ ghi đè lên tất cả các giao thức và cổng, có tiếp tục không?", "pleaseSelectAssets": "Vui lòng chọn tài sản.", "removeWarningMsg": "Bạn có chắc chắn muốn xóa bỏ?", + "selectFiles": "Đã chọn chọn {number} tệp tin", "selectedAssets": "Tài sản đã chọn", "setVariable": "Cài đặt tham số", "userId": "ID người dùng", diff --git a/apps/i18n/lina/zh_hant.json b/apps/i18n/lina/zh_hant.json index 3f67ecad6..9a5af0adf 100644 --- a/apps/i18n/lina/zh_hant.json +++ b/apps/i18n/lina/zh_hant.json @@ -8,6 +8,8 @@ "AccessDistribution": "訪問分布", "AccessIP": "IP 白名單", "AccessKey": "訪問金鑰", + "AccessToken": "訪問令牌", + "AccessTokenTip": "訪問令牌是透過 JumpServer 客戶端使用 OAuth2(授權碼授權)流程生成的臨時憑證,用於訪問受保護的資源。", "Account": "雲帳號", "AccountActivities": "帳號活動", "AccountAmount": "帳號數量", @@ -46,6 +48,7 @@ "AccountPushUpdate": "更新帳號推送", "AccountReport": "帳號報表", "AccountResult": "帳號改密成功/失敗", + "AccountSecretReadDisabled": "帳號密碼讀取功能已被管理員禁用", "AccountSelectHelpText": "帳號清單所加入的是使用者名稱", "AccountSessions": "帳號會話", "AccountStatisticsReport": "帳號統計報告", @@ -283,6 +286,7 @@ "CACertificate": "CA 證書", "CAS": "CAS", "CMPP2": "CMPP v2.0", + "CTYun": "天翼雲", "CTYunPrivate": "天翼私有雲", "CalculationResults": "呼叫記錄", "CallRecords": "調用記錄", @@ -1181,6 +1185,8 @@ "RetrySelected": "重新嘗試所選", "Review": "審查", "Reviewer": "審批人", + "Revoke": "撤銷", + "Risk": "風險", "RiskDetection": "風險檢測", "RiskDetectionDetail": "風險檢測詳情", "RiskyAccount": "風險帳號", @@ -1644,6 +1650,7 @@ "overwriteProtocolsAndPortsMsg": "此操作將覆蓋所有協議和端口,是否繼續?", "pleaseSelectAssets": "請選擇資產", "removeWarningMsg": "你確定要移除", + "selectFiles": "已選擇{number}文件", "selectedAssets": "已選資產", "setVariable": "設置參數", "userId": "用戶ID", diff --git a/apps/i18n/luna/en.json b/apps/i18n/luna/en.json index 2291c5efa..1272ca269 100644 --- a/apps/i18n/luna/en.json +++ b/apps/i18n/luna/en.json @@ -288,5 +288,6 @@ "start time": "Start time", "success": "Success", "system user": "System user", - "user": "User" + "user": "User", + "tabLimits": "15 tabs are currently open.\nTo ensure system stability, would you like to open Luna in a new browser tab to continue?" } \ No newline at end of file diff --git a/apps/i18n/luna/es.json b/apps/i18n/luna/es.json index f19598002..864fb642d 100644 --- a/apps/i18n/luna/es.json +++ b/apps/i18n/luna/es.json @@ -288,5 +288,6 @@ "start time": "Hora de inicio", "success": "Éxito", "system user": "Usuario del sistema", + "tabLimits": "Actualmente tienes 15 pestañas abiertas. \n¿Para garantizar la estabilidad del sistema, deberías abrir Luna en una nueva pestaña del navegador para continuar con la operación?", "user": "Usuario" } \ No newline at end of file diff --git a/apps/i18n/luna/ja.json b/apps/i18n/luna/ja.json index 400bc8958..1b3665051 100644 --- a/apps/i18n/luna/ja.json +++ b/apps/i18n/luna/ja.json @@ -288,5 +288,6 @@ "start time": "開始時間", "success": "成功", "system user": "システムユーザー", + "tabLimits": "現在、15個のタブが開かれています。システムの安定性を確保するために、新しいブラウザのタブでLunaを開いて操作を続けますか?", "user": "ユーザー" } \ No newline at end of file diff --git a/apps/i18n/luna/ko.json b/apps/i18n/luna/ko.json index b6a6f6fb6..0b232bae4 100644 --- a/apps/i18n/luna/ko.json +++ b/apps/i18n/luna/ko.json @@ -288,5 +288,6 @@ "start time": "시작 시간", "success": "성공", "system user": "시스템 사용자", + "tabLimits": "현재 15개의 탭이 열려 있습니다. 시스템의 안정성을 위해 Luna를 계속 사용하려면 새로운 브라우저 탭에서 열어보시겠습니까?", "user": "사용자" } \ No newline at end of file diff --git a/apps/i18n/luna/pt_br.json b/apps/i18n/luna/pt_br.json index 0a597b146..cdded2fe8 100644 --- a/apps/i18n/luna/pt_br.json +++ b/apps/i18n/luna/pt_br.json @@ -288,5 +288,6 @@ "start time": "Hora de início", "success": " Sucesso", "system user": "Usuário do Sistema", + "tabLimits": "Atualmente, 15 abas estão abertas. Para garantir a estabilidade do sistema, você deseja abrir o Luna em uma nova aba do navegador para continuar a operação?", "user": "Usuário" } \ No newline at end of file diff --git a/apps/i18n/luna/ru.json b/apps/i18n/luna/ru.json index e079e6a6c..512e97c23 100644 --- a/apps/i18n/luna/ru.json +++ b/apps/i18n/luna/ru.json @@ -288,5 +288,6 @@ "start time": "время начала", "success": "успешно", "system user": "системный пользователь", + "tabLimits": "В данный момент открыто 15 вкладок. \nЧтобы обеспечить стабильность системы, стоит ли открыть Luna в новой вкладке браузера для продолжения работы?", "user": "пользователь" } \ No newline at end of file diff --git a/apps/i18n/luna/vi.json b/apps/i18n/luna/vi.json index a21fe6eb6..d4e05c446 100644 --- a/apps/i18n/luna/vi.json +++ b/apps/i18n/luna/vi.json @@ -288,5 +288,6 @@ "start time": "Thời gian bắt đầu", "success": "Thành công", "system user": "Tên đăng nhập", + "tabLimits": "Hiện tại đã mở 15 tab. \nĐể đảm bảo tính ổn định của hệ thống, có qua tab trình duyệt mới để mở Luna và tiếp tục thao tác không?", "user": "Người dùng" } \ No newline at end of file diff --git a/apps/i18n/luna/zh.json b/apps/i18n/luna/zh.json index 823e2b43f..b9d47cbd4 100644 --- a/apps/i18n/luna/zh.json +++ b/apps/i18n/luna/zh.json @@ -288,5 +288,6 @@ "start time": "开始时间", "success": "成功", "system user": "系统用户", - "user": "用户" + "user": "用户", + "tabLimits": "当前已打开 15 个标签页。\n为保证系统稳定是否在新的浏览器标签页中打开 Luna 以继续操作?" } \ No newline at end of file diff --git a/apps/i18n/luna/zh_hant.json b/apps/i18n/luna/zh_hant.json index e1a972daa..9136b7f20 100644 --- a/apps/i18n/luna/zh_hant.json +++ b/apps/i18n/luna/zh_hant.json @@ -289,5 +289,6 @@ "start time": "開始時間", "success": "成功", "system user": "系統用戶", + "tabLimits": "當前已打開 15 個標籤頁。 \n為了確保系統穩定,是否在新的瀏覽器標籤頁中打開 Luna 以繼續操作?", "user": "用戶" } \ No newline at end of file diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index 887cc2d41..5b2da2938 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -699,6 +699,7 @@ class Config(dict): 'LIMIT_SUPER_PRIV': False, # Chat AI + 'IS_CUSTOM_MODEL': False, 'CHAT_AI_ENABLED': False, 'CHAT_AI_METHOD': 'api', 'CHAT_AI_EMBED_URL': '', @@ -707,10 +708,12 @@ class Config(dict): 'GPT_API_KEY': '', 'GPT_PROXY': '', 'GPT_MODEL': 'gpt-4o-mini', + 'CUSTOM_GPT_MODEL': 'gpt-4o-mini', 'DEEPSEEK_BASE_URL': '', 'DEEPSEEK_API_KEY': '', 'DEEPSEEK_PROXY': '', 'DEEPSEEK_MODEL': 'deepseek-chat', + 'CUSTOM_DEEPSEEK_MODEL': 'deepseek-chat', 'VIRTUAL_APP_ENABLED': False, 'FILE_UPLOAD_SIZE_LIMIT_MB': 200, diff --git a/apps/jumpserver/settings/custom.py b/apps/jumpserver/settings/custom.py index 94f96b464..eb849f766 100644 --- a/apps/jumpserver/settings/custom.py +++ b/apps/jumpserver/settings/custom.py @@ -239,6 +239,7 @@ LIMIT_SUPER_PRIV = CONFIG.LIMIT_SUPER_PRIV ASSET_SIZE = 'small' # Chat AI +IS_CUSTOM_MODEL = CONFIG.IS_CUSTOM_MODEL CHAT_AI_ENABLED = CONFIG.CHAT_AI_ENABLED CHAT_AI_METHOD = CONFIG.CHAT_AI_METHOD CHAT_AI_EMBED_URL = CONFIG.CHAT_AI_EMBED_URL diff --git a/apps/settings/api/chat.py b/apps/settings/api/chat.py index 6a0e12020..3b9fadd18 100644 --- a/apps/settings/api/chat.py +++ b/apps/settings/api/chat.py @@ -42,16 +42,22 @@ class ChatAITestingAPI(GenericAPIView): ) tp = config['CHAT_AI_TYPE'] + is_custom_model = config['IS_CUSTOM_MODEL'] if tp == ChatAITypeChoices.gpt: url = config['GPT_BASE_URL'] api_key = config['GPT_API_KEY'] proxy = config['GPT_PROXY'] model = config['GPT_MODEL'] + custom_model = config['CUSTOM_GPT_MODEL'] else: url = config['DEEPSEEK_BASE_URL'] api_key = config['DEEPSEEK_API_KEY'] proxy = config['DEEPSEEK_PROXY'] model = config['DEEPSEEK_MODEL'] + custom_model = config['CUSTOM_DEEPSEEK_MODEL'] + + model = custom_model or model \ + if is_custom_model else model kwargs = { 'base_url': url or None, diff --git a/apps/settings/const.py b/apps/settings/const.py index b0f9154ae..7ad3d3b34 100644 --- a/apps/settings/const.py +++ b/apps/settings/const.py @@ -19,11 +19,23 @@ class ChatAITypeChoices(TextChoices): class GPTModelChoices(TextChoices): - gpt_4o_mini = 'gpt-4o-mini', 'gpt-4o-mini' - gpt_4o = 'gpt-4o', 'gpt-4o' - o3_mini = 'o3-mini', 'o3-mini' - o1_mini = 'o1-mini', 'o1-mini' - o1 = 'o1', 'o1' + # 🚀 Latest flagship dialogue model + GPT_5_2 = 'gpt-5.2', 'gpt-5.2' + GPT_5_2_PRO = 'gpt-5.2-pro', 'gpt-5.2-pro' + + GPT_5_1 = 'gpt-5.1', 'gpt-5.1' + GPT_5 = 'gpt-5', 'gpt-5' + + # 💡 Lightweight & Cost-Friendly Version + GPT_5_MINI = 'gpt-5-mini', 'gpt-5-mini' + GPT_5_NANO = 'gpt-5-nano', 'gpt-5-nano' + + # 🧠 GPT-4 series of dialogues (still supports chat tasks) + GPT_4O = 'gpt-4o', 'gpt-4o' + GPT_4O_MINI = 'gpt-4o-mini', 'gpt-4o-mini' + GPT_4_1 = 'gpt-4.1', 'gpt-4.1' + GPT_4_1_MINI = 'gpt-4.1-mini', 'gpt-4.1-mini' + GPT_4_1_NANO = 'gpt-4.1-nano', 'gpt-4.1-nano' class DeepSeekModelChoices(TextChoices): diff --git a/apps/settings/models.py b/apps/settings/models.py index 6dc0f60ba..c461680cb 100644 --- a/apps/settings/models.py +++ b/apps/settings/models.py @@ -203,12 +203,16 @@ def get_chatai_data(): 'proxy': settings.GPT_PROXY, 'model': settings.GPT_MODEL, } + custom_model = settings.CUSTOM_GPT_MODEL if settings.CHAT_AI_TYPE != ChatAITypeChoices.gpt: data['url'] = settings.DEEPSEEK_BASE_URL data['api_key'] = settings.DEEPSEEK_API_KEY data['proxy'] = settings.DEEPSEEK_PROXY data['model'] = settings.DEEPSEEK_MODEL + custom_model = settings.CUSTOM_DEEPSEEK_MODEL + data['model'] = custom_model or data['model'] \ + if settings.IS_CUSTOM_MODEL else data['model'] return data diff --git a/apps/settings/serializers/feature.py b/apps/settings/serializers/feature.py index 4ff3c684e..249acc1e9 100644 --- a/apps/settings/serializers/feature.py +++ b/apps/settings/serializers/feature.py @@ -150,7 +150,7 @@ class ChatAISettingSerializer(serializers.Serializer): help_text=_('The proxy server address of the GPT service. For example: http://ip:port') ) GPT_MODEL = serializers.ChoiceField( - default=GPTModelChoices.gpt_4o_mini, choices=GPTModelChoices.choices, + default=GPTModelChoices.GPT_4_1_MINI, choices=GPTModelChoices.choices, label=_("GPT Model"), required=False, ) DEEPSEEK_BASE_URL = serializers.CharField( @@ -168,6 +168,18 @@ class ChatAISettingSerializer(serializers.Serializer): default=DeepSeekModelChoices.deepseek_chat, choices=DeepSeekModelChoices.choices, label=_("DeepSeek Model"), required=False, ) + IS_CUSTOM_MODEL = serializers.BooleanField( + required=False, default=False, label=_("Custom Model"), + help_text=_("Whether to use a custom model") + ) + CUSTOM_GPT_MODEL = serializers.CharField( + max_length=256, allow_blank=True, + required=False, label=_('Custom gpt model'), + ) + CUSTOM_DEEPSEEK_MODEL = serializers.CharField( + max_length=256, allow_blank=True, + required=False, label=_('Custom DeepSeek model'), + ) class TicketSettingSerializer(serializers.Serializer):