diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index 64a15a70f..0b377baf9 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-07-14 19:34+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -194,7 +194,7 @@ msgstr "" msgid "Template" msgstr "" -#: accounts/const/account.py:32 ops/const.py:46 xpack/plugins/cloud/const.py:74 +#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "" @@ -206,7 +206,7 @@ msgstr "" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "" @@ -215,7 +215,7 @@ msgid "Push account" msgstr "" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "" @@ -252,11 +252,11 @@ msgstr "" msgid "Random generate" msgstr "" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "" -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr "" @@ -326,7 +326,7 @@ msgstr "" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -1465,11 +1465,11 @@ msgstr "" msgid "Delete account: %s" msgstr "" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "" -#: accounts/tasks/automation.py:35 +#: accounts/tasks/automation.py:36 msgid "" "Unified execution entry for account automation tasks: when the system " "performs tasks \n" @@ -1479,19 +1479,19 @@ msgid "" "this unified entry" msgstr "" -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "" -#: accounts/tasks/automation.py:67 +#: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "" -#: accounts/tasks/automation.py:96 +#: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "" -#: accounts/tasks/automation.py:98 +#: accounts/tasks/automation.py:118 msgid "" "The system will periodically clean up unnecessary password change and push " "records, \n" @@ -3269,7 +3269,7 @@ msgstr "" #: audits/const.py:18 audits/const.py:29 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:154 +#: terminal/api/session/session.py:155 msgid "Download" msgstr "" @@ -3277,7 +3277,7 @@ msgstr "" msgid "Rename dir" msgstr "" -#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:284 +#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:285 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:102 @@ -3566,7 +3566,7 @@ msgid "Slack" msgstr "" #: audits/signal_handlers/login_log.py:41 authentication/utils.py:120 -#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12 +#: authentication/views/dingtalk.py:152 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133 #: users/models/user/_source.py:22 msgid "DingTalk" @@ -3667,7 +3667,7 @@ msgstr "" msgid "Current user not support mfa type: {}" msgstr "" -#: authentication/api/password.py:34 terminal/api/session/session.py:337 +#: authentication/api/password.py:34 terminal/api/session/session.py:342 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "" @@ -3910,8 +3910,8 @@ msgstr "" msgid "WeCom is not bound" msgstr "" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 -#: authentication/views/dingtalk.py:247 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:206 +#: authentication/views/dingtalk.py:248 msgid "DingTalk is not bound" msgstr "" @@ -4572,7 +4572,7 @@ msgstr "" msgid "The %s is already bound to another user" msgstr "" -#: authentication/views/base.py:158 +#: authentication/views/base.py:159 #, python-format msgid "Binding %s successfully" msgstr "" @@ -4581,7 +4581,7 @@ msgstr "" msgid "DingTalk Error, Please contact your system administrator" msgstr "" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:205 msgid "DingTalk Error" msgstr "" @@ -4601,15 +4601,15 @@ msgstr "" msgid "The DingTalk is already bound to another user" msgstr "" -#: authentication/views/dingtalk.py:152 +#: authentication/views/dingtalk.py:153 msgid "Binding DingTalk successfully" msgstr "" -#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +#: authentication/views/dingtalk.py:207 authentication/views/dingtalk.py:242 msgid "Failed to get user from DingTalk" msgstr "" -#: authentication/views/dingtalk.py:248 +#: authentication/views/dingtalk.py:249 msgid "Please login with a password and then bind the DingTalk" msgstr "" @@ -4725,7 +4725,7 @@ msgstr "" msgid "Timing" msgstr "" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "" @@ -5370,125 +5370,125 @@ msgstr "" msgid "App Ops" msgstr "" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr "" -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "" @@ -5978,7 +5978,7 @@ msgid "Delete (SFTP)" msgstr "" #: perms/const.py:18 -msgid "Share (SSH)" +msgid "Share (Web SSH, Web RDP, Web VNC)" msgstr "" #: perms/const.py:28 @@ -8081,25 +8081,25 @@ msgstr "" msgid "Have online sessions" msgstr "" -#: terminal/api/session/session.py:49 +#: terminal/api/session/session.py:50 #, python-format msgid "User %s %s session %s replay" msgstr "" -#: terminal/api/session/session.py:158 terminal/api/session/session.py:288 +#: terminal/api/session/session.py:159 terminal/api/session/session.py:292 #: terminal/models/session/replay.py:12 msgid "Session replay" msgstr "" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:334 msgid "Session does not exist: {}" msgstr "" -#: terminal/api/session/session.py:332 +#: terminal/api/session/session.py:337 msgid "Session is finished or the protocol not supported" msgstr "" -#: terminal/api/session/session.py:345 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "" diff --git a/apps/i18n/core/es/LC_MESSAGES/django.po b/apps/i18n/core/es/LC_MESSAGES/django.po index 72de0d130..c0c4697bb 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-07-14 19:34+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -219,7 +219,7 @@ msgstr "Descubrir" msgid "Template" msgstr "Plantilla" -#: accounts/const/account.py:32 ops/const.py:46 +#: accounts/const/account.py:32 ops/const.py:47 #: xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "Omitir" @@ -232,7 +232,7 @@ msgstr "Actualizar" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "Fallido" @@ -241,7 +241,7 @@ msgid "Push account" msgstr "Notificación de cuenta" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "Cambiar contraseña" @@ -278,11 +278,11 @@ msgstr "Especificar" msgid "Random generate" msgstr "Generar aleatoriamente" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "Reemplazar (solo reemplazar las claves enviadas por JumpServer)" -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr "Vaciar todo y añadir" @@ -352,7 +352,7 @@ msgstr "SFTP" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -1541,11 +1541,11 @@ msgstr "Añadir cuenta: %s" msgid "Delete account: %s" msgstr "Eliminar cuenta: %s" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "Ejecución automatizada de cuentas" -#: accounts/tasks/automation.py:35 +#: 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" @@ -1556,23 +1556,23 @@ msgstr "" "cuentas, recopilación de cuentas y verificación de tareas de cuentas de " "puerta de enlace, todas se ejecutarán a través de la tarea actual." -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "Registro de ejecución automatizada" -#: accounts/tasks/automation.py:67 +#: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "" "Cuando se ejecuta manualmente el registro de cambio de contraseña, se " "realiza a través de esta tarea" -#: accounts/tasks/automation.py:96 +#: 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" -#: accounts/tasks/automation.py:98 +#: 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" @@ -3463,7 +3463,7 @@ msgstr "Establecer enlace simbólico" #: audits/const.py:18 audits/const.py:29 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:154 +#: terminal/api/session/session.py:155 msgid "Download" msgstr "Descargar" @@ -3471,7 +3471,7 @@ msgstr "Descargar" msgid "Rename dir" msgstr "Mapear directorio" -#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:284 +#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:285 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:102 @@ -3760,7 +3760,7 @@ msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/utils.py:120 -#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12 +#: authentication/views/dingtalk.py:152 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133 #: users/models/user/_source.py:22 msgid "DingTalk" @@ -3881,7 +3881,7 @@ msgstr "El emparejamiento facial ha fallado." 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:337 +#: authentication/api/password.py:34 terminal/api/session/session.py:342 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "El usuario no existe: {}" @@ -4140,8 +4140,8 @@ msgstr "WeChat empresarial ya está vinculado" msgid "WeCom is not bound" msgstr "No hay WeChat empresarial vinculado" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 -#: authentication/views/dingtalk.py:247 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:206 +#: authentication/views/dingtalk.py:248 msgid "DingTalk is not bound" msgstr "DingTalk no está vinculado" @@ -4856,7 +4856,7 @@ msgstr "Error al consultar el usuario %s" msgid "The %s is already bound to another user" msgstr "%s ya está vinculado a otro usuario" -#: authentication/views/base.py:158 +#: authentication/views/base.py:159 #, python-format msgid "Binding %s successfully" msgstr "Vinculación de %s exitosa" @@ -4865,7 +4865,7 @@ msgstr "Vinculación de %s exitosa" msgid "DingTalk Error, Please contact your system administrator" msgstr "Error de DingTalk, por favor contacta al administrador del sistema" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:205 msgid "DingTalk Error" msgstr "Error de DingTalk" @@ -4885,15 +4885,15 @@ msgstr "Error al consultar el usuario de DingTalk" msgid "The DingTalk is already bound to another user" msgstr "Este DingTalk ya está vinculado a otros usuarios" -#: authentication/views/dingtalk.py:152 +#: authentication/views/dingtalk.py:153 msgid "Binding DingTalk successfully" msgstr "Vinculación de DingTalk exitosa" -#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +#: authentication/views/dingtalk.py:207 authentication/views/dingtalk.py:242 msgid "Failed to get user from DingTalk" msgstr "No se pudo obtener el usuario de DingTalk" -#: authentication/views/dingtalk.py:248 +#: authentication/views/dingtalk.py:249 msgid "Please login with a password and then bind the DingTalk" msgstr "Por favor, inicia sesión con tu contraseña y luego vincula DingTalk" @@ -5016,7 +5016,7 @@ msgstr "Acción manual" msgid "Timing" msgstr "Acción programada" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "En ejecución" @@ -5726,125 +5726,125 @@ msgstr "No se puede eliminar este archivo" msgid "App Ops" msgstr "Centro de trabajos" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "Enviar" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "Verificación" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "Recopilar" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr "Agregar" -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "Contraseña personalizada" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "Al azar" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "Cada uno al azar" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "En blanco" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "VCS" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "Comando" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "Playbook" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "Subir" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "Solo para cuentas privilegiadas" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "Prioridad para cuentas privilegiadas" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "Shell" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "PowerShell" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "Python" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "MySQL" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "PostgreSQL" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "SQLServer" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "Raw" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "Huawei" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "MariaDB" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "Oracle" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "Tiempo de espera" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "La ejecución de comandos ha sido deshabilitada" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "público" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "Privado" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "Cuadro de texto" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "Cuadro de selección" @@ -6369,8 +6369,8 @@ msgid "Delete (SFTP)" msgstr "Eliminar (SFTP)" #: perms/const.py:18 -msgid "Share (SSH)" -msgstr "Compartir (SSH)" +msgid "Share (Web SSH, Web RDP, Web VNC)" +msgstr "Compartir (Web SSH, Web RDP, Web VNC)" #: perms/const.py:28 msgid "Transfer" @@ -8785,25 +8785,25 @@ msgstr "Prueba fallida: por favor, verifica la configuración" msgid "Have online sessions" msgstr "Hay una sesión en línea" -#: terminal/api/session/session.py:49 +#: terminal/api/session/session.py:50 #, python-format msgid "User %s %s session %s replay" msgstr "El usuario %s %s ha grabado la sesión %s" -#: terminal/api/session/session.py:158 terminal/api/session/session.py:288 +#: terminal/api/session/session.py:159 terminal/api/session/session.py:292 #: terminal/models/session/replay.py:12 msgid "Session replay" msgstr "Grabación de sesiones" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:334 msgid "Session does not exist: {}" msgstr "La sesión no existe: {}" -#: terminal/api/session/session.py:332 +#: terminal/api/session/session.py:337 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:345 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "El usuario no tiene permiso" @@ -11902,3 +11902,6 @@ msgstr "Importación de licencia exitosa" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "Licencia no válida" + +#~ msgid "Share (SSH)" +#~ msgstr "Compartir (SSH)" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index dfa6133ab..43deb0cf9 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-07-14 19:34+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -197,7 +197,7 @@ msgstr "発見" msgid "Template" msgstr "テンプレート" -#: accounts/const/account.py:32 ops/const.py:46 +#: accounts/const/account.py:32 ops/const.py:47 #: xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "スキップ" @@ -210,7 +210,7 @@ msgstr "更新" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "失敗しました" @@ -219,7 +219,7 @@ msgid "Push account" msgstr "アカウントプッシュ" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "パスワードを変更する" @@ -256,11 +256,11 @@ msgstr "特定" msgid "Random generate" msgstr "ランダム生成" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "置換(JumpServer によってプッシュされたキーのみを置換)" -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr "すべてクリアして追加" @@ -330,7 +330,7 @@ msgstr "SFTP" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -1497,11 +1497,11 @@ msgstr "アカウントを追加: %s" msgid "Delete account: %s" msgstr "アカウントを削除: %s" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "アカウント実行の自動化" -#: accounts/tasks/automation.py:35 +#: 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" @@ -1509,19 +1509,19 @@ msgid "" msgstr "" "アカウント自動化タスクの一元的な実行入口で、システムがアカウントのプッシュ、パスワードの変更、アカウントの確認、アカウントの収集、ゲートウェイアカウントのバリデーションタスクを実行する際、統一して現行のタスクを実行します" -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "自動化レコードを実行する" -#: accounts/tasks/automation.py:67 +#: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "パスワード変更記録を手動で実行する際は、このタスクを通じて実行します" -#: accounts/tasks/automation.py:96 +#: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "パスワード変更記録とプッシュ記録を定期的にクリアする" -#: accounts/tasks/automation.py:98 +#: 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" @@ -3312,7 +3312,7 @@ msgstr "Symlink" #: audits/const.py:18 audits/const.py:29 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:154 +#: terminal/api/session/session.py:155 msgid "Download" msgstr "ダウンロード" @@ -3320,7 +3320,7 @@ msgstr "ダウンロード" msgid "Rename dir" msgstr "マップディレクトリ" -#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:284 +#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:285 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:102 @@ -3609,7 +3609,7 @@ msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/utils.py:120 -#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12 +#: authentication/views/dingtalk.py:152 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133 #: users/models/user/_source.py:22 msgid "DingTalk" @@ -3709,7 +3709,7 @@ msgstr "顔認証の照合に失敗" msgid "Current user not support mfa type: {}" msgstr "現在のユーザーはmfaタイプをサポートしていません: {}" -#: authentication/api/password.py:34 terminal/api/session/session.py:337 +#: authentication/api/password.py:34 terminal/api/session/session.py:342 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "ユーザーが存在しない: {}" @@ -3952,8 +3952,8 @@ msgstr "企業の微信はすでにバインドされています" msgid "WeCom is not bound" msgstr "企業の微信をバインドしていません" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 -#: authentication/views/dingtalk.py:247 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:206 +#: authentication/views/dingtalk.py:248 msgid "DingTalk is not bound" msgstr "DingTalkはバインドされていません" @@ -4616,7 +4616,7 @@ msgstr "%sユーザーのクエリに失敗しました" msgid "The %s is already bound to another user" msgstr "%sが別のユーザーにバインドされています。" -#: authentication/views/base.py:158 +#: authentication/views/base.py:159 #, python-format msgid "Binding %s successfully" msgstr "バインド%s成功" @@ -4625,7 +4625,7 @@ msgstr "バインド%s成功" msgid "DingTalk Error, Please contact your system administrator" msgstr "DingTalkエラー、システム管理者に連絡してください" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:205 msgid "DingTalk Error" msgstr "DingTalkエラー" @@ -4645,15 +4645,15 @@ msgstr "DingTalkクエリユーザーが失敗しました" msgid "The DingTalk is already bound to another user" msgstr "DingTalkはすでに別のユーザーにバインドされています" -#: authentication/views/dingtalk.py:152 +#: authentication/views/dingtalk.py:153 msgid "Binding DingTalk successfully" msgstr "DingTalkのバインドに成功" -#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +#: authentication/views/dingtalk.py:207 authentication/views/dingtalk.py:242 msgid "Failed to get user from DingTalk" msgstr "DingTalkからユーザーを取得できませんでした" -#: authentication/views/dingtalk.py:248 +#: authentication/views/dingtalk.py:249 msgid "Please login with a password and then bind the DingTalk" msgstr "パスワードでログインし、DingTalkをバインドしてください" @@ -4771,7 +4771,7 @@ msgstr "手動トリガー" msgid "Timing" msgstr "定期トリガー" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "ランニング" @@ -5419,125 +5419,125 @@ msgstr "このファイルを削除できません" msgid "App Ops" msgstr "アプリ操作" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "プッシュする" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "校验" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "収集" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr "追加" -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "カスタムパスワード" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "すべての資産は同じランダムパスワードを使用します" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "すべての資産は異なるランダムパスワードを使用します" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "空欄" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "VCS" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "コマンド" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "Playbook" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "ファイルのアップロード" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "特権アカウントのみ" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "特権アカウント優先" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "シェル" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "PowerShell" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "Python" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "MySQL" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "PostgreSQL" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "SQLServer" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "Raw" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "Huawei" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "MariaDB" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "Oracle" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "タイムアウト" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "コマンド実行が無効" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "公有" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "私有" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "テキストボックス" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "選択ボックス" @@ -6028,8 +6028,8 @@ msgid "Delete (SFTP)" msgstr "削除(SFTP)" #: perms/const.py:18 -msgid "Share (SSH)" -msgstr "共有(SSH)" +msgid "Share (Web SSH, Web RDP, Web VNC)" +msgstr "共有 (Web SSH, Web RDP, Web VNC)" #: perms/const.py:28 msgid "Transfer" @@ -8195,25 +8195,25 @@ msgstr "テストに失敗しました:構成を確認してください" msgid "Have online sessions" msgstr "オンラインセッションを持つ" -#: terminal/api/session/session.py:49 +#: terminal/api/session/session.py:50 #, python-format msgid "User %s %s session %s replay" msgstr "ユーザー%s %sこのセッション %s の録画です" -#: terminal/api/session/session.py:158 terminal/api/session/session.py:288 +#: terminal/api/session/session.py:159 terminal/api/session/session.py:292 #: terminal/models/session/replay.py:12 msgid "Session replay" msgstr "セッション再生" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:334 msgid "Session does not exist: {}" msgstr "セッションが存在しません: {}" -#: terminal/api/session/session.py:332 +#: terminal/api/session/session.py:337 msgid "Session is finished or the protocol not supported" msgstr "セッションが終了したか、プロトコルがサポートされていません" -#: terminal/api/session/session.py:345 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "ユーザーに権限がありません" @@ -11155,3 +11155,6 @@ msgstr "ライセンスのインポートに成功" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "ライセンスが無効です" + +#~ msgid "Share (SSH)" +#~ msgstr "共有(SSH)" diff --git a/apps/i18n/core/ko/LC_MESSAGES/django.po b/apps/i18n/core/ko/LC_MESSAGES/django.po index ae1bc9104..b28168432 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-07-14 19:34+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -197,7 +197,7 @@ msgstr "발견" msgid "Template" msgstr "템플릿" -#: accounts/const/account.py:32 ops/const.py:46 +#: accounts/const/account.py:32 ops/const.py:47 #: xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "건너뛰기" @@ -210,7 +210,7 @@ msgstr "업데이트" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "실패" @@ -219,7 +219,7 @@ msgid "Push account" msgstr "계정 푸시" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "비밀번호 변경" @@ -256,11 +256,11 @@ msgstr "지정" msgid "Random generate" msgstr "무작위 생성" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "대체 (JumpServer가 푸시한 키만 대체)" -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr "모두 지우고 추가" @@ -330,7 +330,7 @@ msgstr "SFTP" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -1484,11 +1484,11 @@ msgstr "계정 추가: %s" msgid "Delete account: %s" msgstr "계정 삭제: %s" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "계정 자동화 실행" -#: accounts/tasks/automation.py:35 +#: 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" @@ -1497,19 +1497,19 @@ msgstr "" "계정 자동화 작업의 통합 실행 입구로, 시스템이 계정 푸시, 비밀번호 변경, 계정 확인, 계정 수집, 게이트웨이 계정 작업 확인 등을 " "수행할 때, 현재 작업을 통해 통합적으로 실행됩니다." -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "자동화 실행 기록" -#: accounts/tasks/automation.py:67 +#: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "수동으로 비밀번호 변경 기록을 실행할 때, 해당 작업을 통해 실행됩니다." -#: accounts/tasks/automation.py:96 +#: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "정기적으로 비밀번호 변경 기록과 푸시 기록 정리" -#: accounts/tasks/automation.py:98 +#: 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" @@ -3303,7 +3303,7 @@ msgstr "심볼릭 링크 생성" #: audits/const.py:18 audits/const.py:29 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:154 +#: terminal/api/session/session.py:155 msgid "Download" msgstr "다운로드" @@ -3311,7 +3311,7 @@ msgstr "다운로드" msgid "Rename dir" msgstr "디렉터리 매핑" -#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:284 +#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:285 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:102 @@ -3600,7 +3600,7 @@ msgid "Slack" msgstr "슬랙" #: audits/signal_handlers/login_log.py:41 authentication/utils.py:120 -#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12 +#: authentication/views/dingtalk.py:152 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133 #: users/models/user/_source.py:22 msgid "DingTalk" @@ -3699,7 +3699,7 @@ msgstr "얼굴 인식 실패" msgid "Current user not support mfa type: {}" msgstr "현재 사용자는 MFA 유형을 지원하지 않습니다: {}" -#: authentication/api/password.py:34 terminal/api/session/session.py:337 +#: authentication/api/password.py:34 terminal/api/session/session.py:342 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "사용자가 존재하지 않습니다: {}" @@ -3944,8 +3944,8 @@ msgstr "기업 위챗이 이미 연결되었습니다" msgid "WeCom is not bound" msgstr "기업 위챗이 연결되지 않았습니다" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 -#: authentication/views/dingtalk.py:247 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:206 +#: authentication/views/dingtalk.py:248 msgid "DingTalk is not bound" msgstr "딩딩이 연결되지 않았습니다" @@ -4610,7 +4610,7 @@ msgstr "%s 사용자 조회 실패" msgid "The %s is already bound to another user" msgstr "%s 다른 사용자에 이미 바인딩되었습니다." -#: authentication/views/base.py:158 +#: authentication/views/base.py:159 #, python-format msgid "Binding %s successfully" msgstr "%s 바인딩 성공" @@ -4619,7 +4619,7 @@ msgstr "%s 바인딩 성공" msgid "DingTalk Error, Please contact your system administrator" msgstr "딩딩 오류, 시스템 관리자에게 문의해 주세요." -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:205 msgid "DingTalk Error" msgstr "딩딩 오류" @@ -4639,15 +4639,15 @@ msgstr "딩딩 사용자 조회 실패" msgid "The DingTalk is already bound to another user" msgstr "해당 딩딩은 다른 사용자와 바인딩되었습니다" -#: authentication/views/dingtalk.py:152 +#: authentication/views/dingtalk.py:153 msgid "Binding DingTalk successfully" msgstr "딩딩 바인딩 성공" -#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +#: authentication/views/dingtalk.py:207 authentication/views/dingtalk.py:242 msgid "Failed to get user from DingTalk" msgstr "딩딩에서 사용자 정보를 가져오는 데 실패했습니다" -#: authentication/views/dingtalk.py:248 +#: authentication/views/dingtalk.py:249 msgid "Please login with a password and then bind the DingTalk" msgstr "비밀번호로 로그인한 후 딩딩을 바인딩해 주세요" @@ -4765,7 +4765,7 @@ msgstr "수동으로 트리거" msgid "Timing" msgstr "예약 트리거" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "실행 중" @@ -5429,125 +5429,125 @@ msgstr "이 파일을 삭제할 수 없습니다" msgid "App Ops" msgstr "작업 센터" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "푸시" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "검증" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "수집" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr "추가" -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "사용자 정의 비밀번호" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "무작위 하나" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "각자 무작위" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "빈칸" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "VCS" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "명령" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "플레이북" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "업로드" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "특권 계정에 제한됨" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "특권 계정 우선" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "쉘" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "파워쉘" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "파이썬" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "마이SQL" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "포스트그레SQL" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "SQL서버" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "원시" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "화웨이" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "마리아DB" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "오라클" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "타임아웃" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "명령 실행이 비활성화됨" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "공용" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "프라이빗" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "텍스트 상자" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "선택 상자" @@ -6041,8 +6041,8 @@ msgid "Delete (SFTP)" msgstr "삭제 (SFTP)" #: perms/const.py:18 -msgid "Share (SSH)" -msgstr "공유 (SSH)" +msgid "Share (Web SSH, Web RDP, Web VNC)" +msgstr "공유 (웹 SSH, 웹 RDP, 웹 VNC)" #: perms/const.py:28 msgid "Transfer" @@ -8250,25 +8250,25 @@ msgstr "테스트 실패: 구성을 확인하십시오." msgid "Have online sessions" msgstr "온라인 세션이 있습니다." -#: terminal/api/session/session.py:49 +#: terminal/api/session/session.py:50 #, python-format msgid "User %s %s session %s replay" msgstr "사용자 %s %s는 세션 %s의 녹화를 했습니다." -#: terminal/api/session/session.py:158 terminal/api/session/session.py:288 +#: terminal/api/session/session.py:159 terminal/api/session/session.py:292 #: terminal/models/session/replay.py:12 msgid "Session replay" msgstr "세션 녹화" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:334 msgid "Session does not exist: {}" msgstr "회화가 존재하지 않습니다: {}" -#: terminal/api/session/session.py:332 +#: terminal/api/session/session.py:337 msgid "Session is finished or the protocol not supported" msgstr "회화가 이미 완료되었거나 프로토콜이 지원되지 않습니다." -#: terminal/api/session/session.py:345 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "사용자에게 권한이 없습니다." @@ -11239,3 +11239,6 @@ msgstr "라이센스 가져오기 성공" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "라이센스가 유효하지 않습니다." + +#~ msgid "Share (SSH)" +#~ msgstr "공유 (SSH)" diff --git a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po index 8c5331ccd..6abb871c9 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-07-14 19:34+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -197,7 +197,7 @@ msgstr "Descubra" msgid "Template" msgstr "Modelo" -#: accounts/const/account.py:32 ops/const.py:46 +#: accounts/const/account.py:32 ops/const.py:47 #: xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "Pular" @@ -210,7 +210,7 @@ msgstr "Atualizar" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "Falha" @@ -219,7 +219,7 @@ msgid "Push account" msgstr "Push de Conta" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "Alterar Senha" @@ -256,12 +256,12 @@ msgstr "Específico" msgid "Random generate" msgstr "Gerar Aleatoriamente" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "" "Substituir (Substituir apenas as chaves impulsionadas pelo JumpServer) " -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr " Limpar tudo e adicionar " @@ -331,7 +331,7 @@ msgstr "SFTP" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -1529,11 +1529,11 @@ msgstr "Adicionar conta: %s" msgid "Delete account: %s" msgstr "Excluir conta: %s" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "Execução automática da conta" -#: accounts/tasks/automation.py:35 +#: 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" @@ -1544,22 +1544,22 @@ msgstr "" "coleta de conta, verificação de tarefa de conta do gateway, é executada " "unificamente através desta tarefa atual" -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "Registro de execução automática" -#: accounts/tasks/automation.py:67 +#: 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" -#: accounts/tasks/automation.py:96 +#: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "" "Limpeza periódica de registros de alteração de senha e registros de push" -#: accounts/tasks/automation.py:98 +#: 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" @@ -3426,7 +3426,7 @@ msgstr "Criar link simbólico" #: audits/const.py:18 audits/const.py:29 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:154 +#: terminal/api/session/session.py:155 msgid "Download" msgstr "Baixar" @@ -3434,7 +3434,7 @@ msgstr "Baixar" msgid "Rename dir" msgstr "Mapeamento de Diretórios" -#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:284 +#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:285 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:102 @@ -3723,7 +3723,7 @@ msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/utils.py:120 -#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12 +#: authentication/views/dingtalk.py:152 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133 #: users/models/user/_source.py:22 msgid "DingTalk" @@ -3833,7 +3833,7 @@ msgstr "Falha na comparação facial" 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:337 +#: authentication/api/password.py:34 terminal/api/session/session.py:342 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "Usuário não encontrado: {}" @@ -4089,8 +4089,8 @@ msgstr "O WeChat corporativo já está vinculado" msgid "WeCom is not bound" msgstr "Não vinculado ao WeChat corporativo" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 -#: authentication/views/dingtalk.py:247 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:206 +#: authentication/views/dingtalk.py:248 msgid "DingTalk is not bound" msgstr "Não vinculado ao DingTalk" @@ -4794,7 +4794,7 @@ msgstr "%s Falha ao consultar o usuário" msgid "The %s is already bound to another user" msgstr "%s já está vinculado a outro usuário" -#: authentication/views/base.py:158 +#: authentication/views/base.py:159 #, python-format msgid "Binding %s successfully" msgstr "Vinculação com %s bem sucedida" @@ -4804,7 +4804,7 @@ msgid "DingTalk Error, Please contact your system administrator" msgstr "" "Erro do DingTalk, por favor, entre em contato com o administrador do sistema" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:205 msgid "DingTalk Error" msgstr "Erro do DingTalk" @@ -4824,15 +4824,15 @@ msgstr "Falha ao consultar o usuário no DingTalk" msgid "The DingTalk is already bound to another user" msgstr "Este DingTalk já está vinculado a outro usuário." -#: authentication/views/dingtalk.py:152 +#: authentication/views/dingtalk.py:153 msgid "Binding DingTalk successfully" msgstr "Vinculação bem sucedida com o DingTalk" -#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +#: authentication/views/dingtalk.py:207 authentication/views/dingtalk.py:242 msgid "Failed to get user from DingTalk" msgstr "Falha ao obter usuário do DingTalk" -#: authentication/views/dingtalk.py:248 +#: authentication/views/dingtalk.py:249 msgid "Please login with a password and then bind the DingTalk" msgstr "Por favor, faça o login com a senha e depois vincule ao DingTalk" @@ -4953,7 +4953,7 @@ msgstr "AçãoManual" msgid "Timing" msgstr "AçãoProgramada" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "Em execução" @@ -5633,125 +5633,125 @@ msgstr "Não é possível excluir este arquivo" msgid "App Ops" msgstr "Centro de Action" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "Empurrar" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "Verificação" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "Coleção" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr " Acrescentar " -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "Senha personalizada" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "Aleatório" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "Aleatório individual" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "Branco" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "VCS" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "Comando" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "Playbook" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "Upload" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "Somente para contas privilegiadas" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "Contas privilegiadas têm prioridade" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "Shell" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "PowerShell" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "Python" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "MySQL" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "PostgreSQL" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "SQLServer" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "Raw" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "Huawei" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "MariaDB" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "Oracle" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "Tempo esgotado" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "Execução de comando foi desabilitada" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "Público" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "Privado" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "Caixa de texto" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "Caixa de seleção" @@ -6264,8 +6264,8 @@ msgid "Delete (SFTP)" msgstr "Excluir (SFTP)" #: perms/const.py:18 -msgid "Share (SSH)" -msgstr "Compartilhar (SSH)" +msgid "Share (Web SSH, Web RDP, Web VNC)" +msgstr "Compartilhar (Web SSH, Web RDP, Web VNC)" #: perms/const.py:28 msgid "Transfer" @@ -8587,25 +8587,25 @@ msgstr "Teste falhou: Por favor, verifique as configurações" msgid "Have online sessions" msgstr "Existem sessões online" -#: terminal/api/session/session.py:49 +#: terminal/api/session/session.py:50 #, python-format msgid "User %s %s session %s replay" msgstr "O usuário %s %s a gravação da sessão %s" -#: terminal/api/session/session.py:158 terminal/api/session/session.py:288 +#: terminal/api/session/session.py:159 terminal/api/session/session.py:292 #: terminal/models/session/replay.py:12 msgid "Session replay" msgstr "Gravação de sessão" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:334 msgid "Session does not exist: {}" msgstr "Sessão não existe: {}" -#: terminal/api/session/session.py:332 +#: terminal/api/session/session.py:337 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:345 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "Usuário sem permissões" @@ -11655,3 +11655,6 @@ msgstr "Importação de licença bem-sucedida" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "Licença inválida" + +#~ msgid "Share (SSH)" +#~ msgstr "Compartilhar (SSH)" diff --git a/apps/i18n/core/ru/LC_MESSAGES/django.po b/apps/i18n/core/ru/LC_MESSAGES/django.po index 9d7265d36..4f02c5f19 100644 --- a/apps/i18n/core/ru/LC_MESSAGES/django.po +++ b/apps/i18n/core/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-14 19:36+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: 2025-06-11 11:51+0300\n" "Last-Translator: \n" "Language-Team: \n" @@ -199,7 +199,7 @@ msgstr "Обнаружение" msgid "Template" msgstr "Шаблон" -#: accounts/const/account.py:32 ops/const.py:46 +#: accounts/const/account.py:32 ops/const.py:47 #: xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "Пропустить" @@ -212,7 +212,7 @@ msgstr "Обновить" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "Не удалось" @@ -221,7 +221,7 @@ msgid "Push account" msgstr "Публикация учетной записи" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "Смена секрета" @@ -258,11 +258,11 @@ msgstr "Указанный секрет" msgid "Random generate" msgstr "Случайно созданный" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "Сменить (только опубликованные с JumpServer ключи можно сменить) " -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr "Очистить и добавить ключ SSH" @@ -332,7 +332,7 @@ msgstr "SFTP" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -1512,11 +1512,11 @@ msgstr "Добавление УЗ: %s" msgid "Delete account: %s" msgstr "Удаление УЗ: %s" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "Выполнение автоматизации УЗ" -#: accounts/tasks/automation.py:35 +#: 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" @@ -1526,20 +1526,20 @@ msgstr "" "такие как публикация учетной записи, смена пароля, проверка учетной записи, сбор учетных данных\n" "и проверка учетной записи шлюза, все задачи выполняются через эту единую запись" -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "Журнал автоматизированного выполнения" -#: accounts/tasks/automation.py:67 +#: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "" "Для ручного выполнения записи о смене пароля используется данная задача" -#: accounts/tasks/automation.py:96 +#: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "Периодическая очистка записей об изменении паролей и публикации УЗ" -#: accounts/tasks/automation.py:98 +#: 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" @@ -3408,7 +3408,7 @@ msgstr "Создать символическую ссылку" #: audits/const.py:18 audits/const.py:29 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:154 +#: terminal/api/session/session.py:155 msgid "Download" msgstr "Скачать" @@ -3416,7 +3416,7 @@ msgstr "Скачать" msgid "Rename dir" msgstr "Сопоставление каталога" -#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:284 +#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:285 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:102 @@ -3705,7 +3705,7 @@ msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/utils.py:120 -#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12 +#: authentication/views/dingtalk.py:152 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133 #: users/models/user/_source.py:22 msgid "DingTalk" @@ -3813,7 +3813,7 @@ msgstr "Не удалось сравнить лица" msgid "Current user not support mfa type: {}" msgstr "Текущий пользователь не поддерживает тип МФА: {}." -#: authentication/api/password.py:34 terminal/api/session/session.py:337 +#: authentication/api/password.py:34 terminal/api/session/session.py:342 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "Пользователь не существует: {}" @@ -4069,8 +4069,8 @@ msgstr "WeCom уже привязан" msgid "WeCom is not bound" msgstr "WeCom не привязан" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 -#: authentication/views/dingtalk.py:247 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:206 +#: authentication/views/dingtalk.py:248 msgid "DingTalk is not bound" msgstr "DingTalk не привязан" @@ -4775,7 +4775,7 @@ msgstr "Ошибка при запросе пользователя %s" msgid "The %s is already bound to another user" msgstr "%s уже привязан к другому пользователю" -#: authentication/views/base.py:158 +#: authentication/views/base.py:159 #, python-format msgid "Binding %s successfully" msgstr "Привязка %s выполнена успешно" @@ -4784,7 +4784,7 @@ msgstr "Привязка %s выполнена успешно" msgid "DingTalk Error, Please contact your system administrator" msgstr "Ошибка DingTalk, пожалуйста, свяжитесь с администратором" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:205 msgid "DingTalk Error" msgstr "Ошибка DingTalk" @@ -4804,15 +4804,15 @@ msgstr "Ошибка при запросе пользователя DingTalk" msgid "The DingTalk is already bound to another user" msgstr "Этот DingTalk уже связан с другим пользователем" -#: authentication/views/dingtalk.py:152 +#: authentication/views/dingtalk.py:153 msgid "Binding DingTalk successfully" msgstr "Привязка DingTalk выполнена успешно" -#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +#: authentication/views/dingtalk.py:207 authentication/views/dingtalk.py:242 msgid "Failed to get user from DingTalk" msgstr "Не удалось получить пользователя DingTalk" -#: authentication/views/dingtalk.py:248 +#: authentication/views/dingtalk.py:249 msgid "Please login with a password and then bind the DingTalk" msgstr "Пожалуйста, войдите с помощью пароля, а затем привяжите DingTalk" @@ -4934,7 +4934,7 @@ msgstr "Ручной триггер" msgid "Timing" msgstr "Триггер по времени" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "В процессе" @@ -5611,125 +5611,125 @@ msgstr "Не удалось удалить этот файл" msgid "App Ops" msgstr "Центр заданий" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "Публикация" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "Проверка" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "Сбор" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr "Добавить ключ SSH" -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "Настраиваемый пароль" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "Все активы используют один случайный пароль" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "Для каждого актива будет свой случайный пароль" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "Пусто" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "VCS" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "Быстрые команды" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "Playbook" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "Загрузка файла" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "Только привилегированные" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "Сначала привилегированные" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "Shell" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "PowerShell" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "Python" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "MySQL" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "PostgreSQL" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "SQLServer" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "Raw" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "HUAWEI" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "MariaDB" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "Oracle" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "Тайм-аут" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "Выполнение команды отключено" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "Публичный" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "Частный" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "Текст" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "Выбор" @@ -6238,8 +6238,8 @@ msgid "Delete (SFTP)" msgstr "Удаление (SFTP)" #: perms/const.py:18 -msgid "Share (SSH)" -msgstr "Поделиться (SSH)" +msgid "Share (Web SSH, Web RDP, Web VNC)" +msgstr "Делитесь (Web SSH, Web RDP, Web VNC)" #: perms/const.py:28 msgid "Transfer" @@ -8550,25 +8550,25 @@ msgstr "Сбой теста: пожалуйста, проверьте конфи msgid "Have online sessions" msgstr "Есть активные сессии" -#: terminal/api/session/session.py:49 +#: terminal/api/session/session.py:50 #, python-format msgid "User %s %s session %s replay" msgstr "Пользователь %s %s запись сеанса %s" -#: terminal/api/session/session.py:158 terminal/api/session/session.py:288 +#: terminal/api/session/session.py:159 terminal/api/session/session.py:292 #: terminal/models/session/replay.py:12 msgid "Session replay" msgstr "Запись сессий" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:334 msgid "Session does not exist: {}" msgstr "Сессия не существует: {}" -#: terminal/api/session/session.py:332 +#: terminal/api/session/session.py:337 msgid "Session is finished or the protocol not supported" msgstr "Сессия завершена или протокол не поддерживается" -#: terminal/api/session/session.py:345 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "У пользователя нет прав" @@ -11610,3 +11610,6 @@ msgstr "Лицензия успешно импортирована" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "Лицензия недействительна" + +#~ msgid "Share (SSH)" +#~ msgstr "Поделиться (SSH)" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index ec68cc5ab..9f31d8ec2 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-07-17 11:31+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -140,8 +140,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 "密码" @@ -198,7 +196,7 @@ msgstr "发现" msgid "Template" msgstr "模板" -#: accounts/const/account.py:32 ops/const.py:46 xpack/plugins/cloud/const.py:74 +#: accounts/const/account.py:32 ops/const.py:47 xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "跳过" @@ -210,7 +208,7 @@ msgstr "更新" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "失败" @@ -219,7 +217,7 @@ msgid "Push account" msgstr "账号推送" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "改密" @@ -256,11 +254,11 @@ msgstr "指定" msgid "Random generate" msgstr "随机生成" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "替换 (只替换由 JumpServer 推送的密钥)" -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr "清空所有并添加" @@ -330,7 +328,7 @@ msgstr "SFTP" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -875,8 +873,6 @@ msgstr "重复密码" #: 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 "用户名" @@ -1489,11 +1485,11 @@ msgstr "添加账号: %s" msgid "Delete account: %s" msgstr "删除账号: %s" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "账号执行自动化" -#: accounts/tasks/automation.py:35 +#: accounts/tasks/automation.py:36 msgid "" "Unified execution entry for account automation tasks: when the system " "performs tasks \n" @@ -1505,19 +1501,19 @@ msgstr "" "账号自动化任务统一执行入口,当系统执行账号推送,更改密码,验证账号,收集账" "号,验证网关账号任务时,统一通过当前任务执行" -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "自动化执行记录" -#: accounts/tasks/automation.py:67 +#: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "当手动执行改密记录时,通过该任务执行" -#: accounts/tasks/automation.py:96 +#: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "周期清理改密记录和推送记录" -#: accounts/tasks/automation.py:98 +#: accounts/tasks/automation.py:118 msgid "" "The system will periodically clean up unnecessary password change and push " "records, \n" @@ -1949,8 +1945,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" @@ -1982,8 +1978,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 @@ -2232,8 +2228,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 "自定义类型" @@ -2942,7 +2937,7 @@ msgstr "端口超出范围 (0-65535)" msgid "Protocol is required: {}" msgstr "协议是必填的: {}" -#: assets/serializers/asset/common.py:353 labels/api.py:107 +#: assets/serializers/asset/common.py:353 msgid "Invalid data" msgstr "无效的数据" @@ -4397,8 +4392,8 @@ msgid "" "Retention Period" msgstr "" "系统在连接资产或创建临时密码时,会生成相应的连接 Token 或临时密码记录。为了保" -"障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时长”" -"中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录" +"障系统安全并控制数据存储量,系统会根据“安全设置 > 密码安全 > Token 保留时" +"长”中的配置,每天凌晨 2 点自动清理所有已过期的 Token 记录" #: authentication/templates/authentication/_access_key_modal.html:6 msgid "API key list" @@ -4803,7 +4798,7 @@ msgstr "手动触发" msgid "Timing" msgstr "定时触发" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "运行中" @@ -5110,10 +5105,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 "阿里云" @@ -5158,6 +5149,10 @@ msgstr "请在 {} 秒后发送" msgid "Children" msgstr "节点" +#: common/serializers/common.py:98 +msgid "File" +msgstr "文件" + #: common/serializers/fields.py:139 msgid "Invalid data type" msgstr "无效的数据" @@ -5280,10 +5275,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 服务不可用,请检查" @@ -5463,125 +5454,125 @@ msgstr "无法删除此文件" msgid "App Ops" msgstr "作业中心" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "推送" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "校验" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "收集" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr "追加" -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "自定义密码" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "随机一个" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "各自随机" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "空白" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "VCS" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "命令" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "Playbook" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "上传" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "仅限特权账号" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "特权账号优先" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "Shell" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "PowerShell" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "Python" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "MySQL" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "PostgreSQL" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "SQLServer" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "Raw" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "华为" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "MariaDB" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "Oracle" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "超时" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "命令执行已禁用" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "公有" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "私有" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "文本框" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "选择框" @@ -7288,7 +7279,7 @@ msgstr "租户 ID" #: settings/serializers/feature.py:110 terminal/serializers/storage.py:68 #: xpack/plugins/cloud/manager.py:119 xpack/plugins/cloud/manager.py:124 -#: xpack/plugins/cloud/manager.py:161 xpack/plugins/cloud/models.py:292 +#: xpack/plugins/cloud/models.py:292 msgid "Region" msgstr "地域" @@ -8282,7 +8273,7 @@ msgstr "会话不存在: {}" msgid "Session is finished or the protocol not supported" msgstr "会话已经完成或协议不支持" -#: terminal/api/session/session.py:350 tickets/api/ticket.py:140 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "用户没有权限" @@ -8834,9 +8825,9 @@ msgid "" "days. Detail" msgstr "" -"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" +"如果不存在,RDS 将处于试用模式,试用期为 120 天。详情" #: terminal/serializers/applet_host.py:55 msgid "RDS License Server" @@ -9050,8 +9041,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" @@ -10654,10 +10645,6 @@ msgstr "同步地区" msgid "Get instances of region \"%s\" error, error: %s" msgstr "获取区域 \"%s\" 的实例错误,错误:%s" -#: xpack/plugins/cloud/manager.py:161 xpack/plugins/cloud/models.py:289 -msgid "Instance" -msgstr "实例" - #: xpack/plugins/cloud/manager.py:187 #, python-format msgid "Failed to synchronize the instance \"%s\"" @@ -10800,6 +10787,10 @@ msgstr "同步任务" msgid "Sync instance task history" msgstr "同步实例任务历史" +#: xpack/plugins/cloud/models.py:289 +msgid "Instance" +msgstr "实例" + #: xpack/plugins/cloud/models.py:306 msgid "Sync instance detail" msgstr "同步实例详情" @@ -11104,10 +11095,6 @@ msgstr "订阅 ID" msgid "Auto node classification" msgstr "自动节点分类" -#: xpack/plugins/cloud/serializers/account_attrs.py:108 -msgid "domain_name" -msgstr "域名称" - #: xpack/plugins/cloud/serializers/account_attrs.py:114 #: xpack/plugins/cloud/serializers/account_attrs.py:118 #: xpack/plugins/cloud/serializers/account_attrs.py:150 @@ -11263,3 +11250,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 ff2d9553f..0f3eae502 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-07-14 19:34+0800\n" +"POT-Creation-Date: 2025-07-17 15:06+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -197,7 +197,7 @@ msgstr "發現" msgid "Template" msgstr "模板" -#: accounts/const/account.py:32 ops/const.py:46 +#: accounts/const/account.py:32 ops/const.py:47 #: xpack/plugins/cloud/const.py:74 msgid "Skip" msgstr "跳過" @@ -210,7 +210,7 @@ msgstr "更新" #: accounts/const/account.py:34 accounts/const/automation.py:115 #: accounts/serializers/automations/change_secret.py:171 audits/const.py:66 #: audits/signal_handlers/activity_log.py:34 common/const/choices.py:66 -#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:53 +#: ops/const.py:77 terminal/const.py:81 xpack/plugins/cloud/const.py:53 msgid "Failed" msgstr "失敗" @@ -219,7 +219,7 @@ msgid "Push account" msgstr "帳號推送" #: accounts/const/automation.py:26 accounts/risk_handlers.py:26 -#: audits/const.py:32 ops/const.py:9 +#: audits/const.py:32 ops/const.py:11 msgid "Change secret" msgstr "更改密碼" @@ -256,11 +256,11 @@ msgstr "指定" msgid "Random generate" msgstr "隨機生成" -#: accounts/const/automation.py:59 ops/const.py:15 +#: accounts/const/automation.py:59 ops/const.py:17 msgid "Replace (Replace only keys pushed by JumpServer) " msgstr "替換 (只替換由 JumpServer 推送的金鑰)" -#: accounts/const/automation.py:60 ops/const.py:14 +#: accounts/const/automation.py:60 ops/const.py:16 msgid "Empty and append SSH KEY" msgstr "清空所有並添加" @@ -330,7 +330,7 @@ msgstr "SFTP" #: accounts/const/automation.py:116 #: accounts/serializers/automations/change_secret.py:170 audits/const.py:65 #: audits/models.py:65 audits/signal_handlers/activity_log.py:34 -#: common/const/choices.py:65 ops/const.py:74 ops/serializers/celery.py:48 +#: common/const/choices.py:65 ops/const.py:75 ops/serializers/celery.py:48 #: terminal/const.py:80 terminal/models/session/sharing.py:121 #: tickets/views/approve.py:128 msgid "Success" @@ -1481,30 +1481,30 @@ msgstr "添加帳號: %s" msgid "Delete account: %s" msgstr "刪除帳號: %s" -#: accounts/tasks/automation.py:32 +#: accounts/tasks/automation.py:33 msgid "Account execute automation" msgstr "帳號執行自動化" -#: accounts/tasks/automation.py:35 +#: 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 "帳號自動化任務統一執行入口,當系統執行帳號推送、更改密碼、驗證帳號、收集帳號以及驗證網關帳號任務時,統一通過當前任務執行" -#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +#: accounts/tasks/automation.py:65 accounts/tasks/automation.py:73 msgid "Execute automation record" msgstr "自動化執行記錄" -#: accounts/tasks/automation.py:67 +#: accounts/tasks/automation.py:68 msgid "When manually executing password change records, this task is used" msgstr "當手動執行改密記錄時,通過該任務執行" -#: accounts/tasks/automation.py:96 +#: accounts/tasks/automation.py:116 msgid "Clean change secret and push record period" msgstr "週期清理改密記錄和推送記錄" -#: accounts/tasks/automation.py:98 +#: 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" @@ -3291,7 +3291,7 @@ msgstr "建立軟連結" #: audits/const.py:18 audits/const.py:29 #: ops/templates/ops/celery_task_log.html:86 -#: terminal/api/session/session.py:154 +#: terminal/api/session/session.py:155 msgid "Download" msgstr "下載" @@ -3299,7 +3299,7 @@ msgstr "下載" msgid "Rename dir" msgstr "映射目錄" -#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:284 +#: audits/const.py:23 rbac/tree.py:278 terminal/api/session/session.py:285 #: terminal/templates/terminal/_msg_command_warning.html:18 #: terminal/templates/terminal/_msg_session_sharing.html:10 #: xpack/plugins/cloud/manager.py:102 @@ -3588,7 +3588,7 @@ msgid "Slack" msgstr "Slack" #: audits/signal_handlers/login_log.py:41 authentication/utils.py:120 -#: authentication/views/dingtalk.py:151 notifications/backends/__init__.py:12 +#: authentication/views/dingtalk.py:152 notifications/backends/__init__.py:12 #: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:133 #: users/models/user/_source.py:22 msgid "DingTalk" @@ -3687,7 +3687,7 @@ msgstr "臉部比對失敗" msgid "Current user not support mfa type: {}" msgstr "當前用戶不支持 MFA 類型: {}" -#: authentication/api/password.py:34 terminal/api/session/session.py:337 +#: authentication/api/password.py:34 terminal/api/session/session.py:342 #: users/views/profile/reset.py:63 msgid "User does not exist: {}" msgstr "用戶不存在: {}" @@ -3929,8 +3929,8 @@ msgstr "企業微信已經綁定" msgid "WeCom is not bound" msgstr "沒有綁定企業微信" -#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:205 -#: authentication/views/dingtalk.py:247 +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:206 +#: authentication/views/dingtalk.py:248 msgid "DingTalk is not bound" msgstr "釘釘沒有綁定" @@ -4593,7 +4593,7 @@ msgstr "%s 查詢用戶失敗" msgid "The %s is already bound to another user" msgstr "%s 已綁定到另一個用戶" -#: authentication/views/base.py:158 +#: authentication/views/base.py:159 #, python-format msgid "Binding %s successfully" msgstr "綁定 %s 成功" @@ -4602,7 +4602,7 @@ msgstr "綁定 %s 成功" msgid "DingTalk Error, Please contact your system administrator" msgstr "釘釘錯誤,請聯絡系統管理員" -#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:204 +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:205 msgid "DingTalk Error" msgstr "釘釘錯誤" @@ -4622,15 +4622,15 @@ msgstr "釘釘查詢用戶失敗" msgid "The DingTalk is already bound to another user" msgstr "該釘釘已經綁定其他用戶" -#: authentication/views/dingtalk.py:152 +#: authentication/views/dingtalk.py:153 msgid "Binding DingTalk successfully" msgstr "綁定 釘釘 成功" -#: authentication/views/dingtalk.py:206 authentication/views/dingtalk.py:241 +#: authentication/views/dingtalk.py:207 authentication/views/dingtalk.py:242 msgid "Failed to get user from DingTalk" msgstr "從釘釘獲取用戶失敗" -#: authentication/views/dingtalk.py:248 +#: authentication/views/dingtalk.py:249 msgid "Please login with a password and then bind the DingTalk" msgstr "請使用密碼登錄,然後綁定釘釘" @@ -4748,7 +4748,7 @@ msgstr "手動觸發" msgid "Timing" msgstr "定時觸發" -#: common/const/choices.py:64 ops/const.py:73 +#: common/const/choices.py:64 ops/const.py:74 msgid "Running" msgstr "運行中" @@ -5396,125 +5396,125 @@ msgstr "無法刪除此文件" msgid "App Ops" msgstr "作業中心" -#: ops/const.py:6 +#: ops/const.py:8 msgid "Push" msgstr "推送" -#: ops/const.py:7 +#: ops/const.py:9 msgid "Verify" msgstr "校驗" -#: ops/const.py:8 +#: ops/const.py:10 msgid "Collect" msgstr "收集" -#: ops/const.py:13 +#: ops/const.py:15 msgid "Append SSH KEY" msgstr "追加" -#: ops/const.py:19 +#: ops/const.py:21 msgid "Custom password" msgstr "自訂密碼" -#: ops/const.py:20 +#: ops/const.py:22 msgid "All assets use the same random password" msgstr "隨機一個" -#: ops/const.py:21 +#: ops/const.py:23 msgid "All assets use different random password" msgstr "各自隨機" -#: ops/const.py:33 +#: ops/const.py:34 msgid "Blank" msgstr "空白" -#: ops/const.py:34 +#: ops/const.py:35 msgid "VCS" msgstr "VCS" -#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: ops/const.py:39 ops/models/adhoc.py:44 ops/models/variable.py:26 msgid "Adhoc" msgstr "命令" -#: ops/const.py:39 ops/models/job.py:154 ops/models/playbook.py:89 +#: ops/const.py:40 ops/models/job.py:154 ops/models/playbook.py:89 #: ops/models/variable.py:23 msgid "Playbook" msgstr "Playbook" -#: ops/const.py:40 +#: ops/const.py:41 msgid "Upload File" msgstr "上傳" -#: ops/const.py:44 +#: ops/const.py:45 msgid "Privileged only" msgstr "只限於特權帳號" -#: ops/const.py:45 +#: ops/const.py:46 msgid "Privileged first" msgstr "特權帳號優先" -#: ops/const.py:50 ops/const.py:61 +#: ops/const.py:51 ops/const.py:62 msgid "Shell" msgstr "Shell" -#: ops/const.py:51 ops/const.py:62 +#: ops/const.py:52 ops/const.py:63 msgid "Powershell" msgstr "PowerShell" -#: ops/const.py:52 ops/const.py:63 +#: ops/const.py:53 ops/const.py:64 msgid "Python" msgstr "Python" -#: ops/const.py:53 ops/const.py:64 +#: ops/const.py:54 ops/const.py:65 msgid "MySQL" msgstr "MySQL" -#: ops/const.py:54 ops/const.py:66 +#: ops/const.py:55 ops/const.py:67 msgid "PostgreSQL" msgstr "PostgreSQL" -#: ops/const.py:55 ops/const.py:67 +#: ops/const.py:56 ops/const.py:68 msgid "SQLServer" msgstr "SQLServer" -#: ops/const.py:56 ops/const.py:69 +#: ops/const.py:57 ops/const.py:70 msgid "Raw" msgstr "Raw" -#: ops/const.py:57 +#: ops/const.py:58 msgid "HUAWEI" msgstr "華為" -#: ops/const.py:65 +#: ops/const.py:66 msgid "MariaDB" msgstr "MariaDB" -#: ops/const.py:68 +#: ops/const.py:69 msgid "Oracle" msgstr "Oracle" -#: ops/const.py:75 +#: ops/const.py:76 msgid "Timeout" msgstr "超時" -#: ops/const.py:82 +#: ops/const.py:83 msgid "Command execution disabled" msgstr "命令執行禁用" -#: ops/const.py:86 +#: ops/const.py:87 msgctxt "scope" msgid "Public" msgstr "公有" -#: ops/const.py:87 +#: ops/const.py:88 msgid "Private" msgstr "私有" -#: ops/const.py:91 +#: ops/const.py:92 msgid "Text" msgstr "文本框" -#: ops/const.py:92 +#: ops/const.py:93 msgid "Select" msgstr "選擇框" @@ -6005,8 +6005,8 @@ msgid "Delete (SFTP)" msgstr "刪除 (SFTP)" #: perms/const.py:18 -msgid "Share (SSH)" -msgstr "分享 (SSH)" +msgid "Share (Web SSH, Web RDP, Web VNC)" +msgstr "分享 (網頁 SSH, 網頁 RDP, 網頁 VNC)" #: perms/const.py:28 msgid "Transfer" @@ -8128,25 +8128,25 @@ msgstr "測試失敗:請檢查配置" msgid "Have online sessions" msgstr "有在線會話" -#: terminal/api/session/session.py:49 +#: terminal/api/session/session.py:50 #, python-format msgid "User %s %s session %s replay" msgstr "用戶 %s %s 了會話 %s 的錄影" -#: terminal/api/session/session.py:158 terminal/api/session/session.py:288 +#: terminal/api/session/session.py:159 terminal/api/session/session.py:292 #: terminal/models/session/replay.py:12 msgid "Session replay" msgstr "會話錄影" -#: terminal/api/session/session.py:329 +#: terminal/api/session/session.py:334 msgid "Session does not exist: {}" msgstr "會話不存在: {}" -#: terminal/api/session/session.py:332 +#: terminal/api/session/session.py:337 msgid "Session is finished or the protocol not supported" msgstr "會話已經完成或協議不支持" -#: terminal/api/session/session.py:345 +#: terminal/api/session/session.py:350 msgid "User does not have permission" msgstr "用戶沒有權限" @@ -11083,3 +11083,6 @@ msgstr "許可證匯入成功" #: xpack/plugins/license/api.py:53 msgid "Invalid license" msgstr "許可證無效" + +#~ msgid "Share (SSH)" +#~ msgstr "分享 (SSH)" diff --git a/apps/i18n/lion/en.json b/apps/i18n/lion/en.json index cdd1d302b..d442c0329 100644 --- a/apps/i18n/lion/en.json +++ b/apps/i18n/lion/en.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "Unable to connect to VNC server", "GuacamoleErrUnsupportedCredentialTypeRequested": "Unsupported credential type requested.", "GuacamoleErrUpstreamError": "Upstream error.", + "InputVerifyCode": "Input Verify Code", "JMSErrAPIFailed": "Core API failed", "JMSErrAuthUser": "Not auth user", "JMSErrBadParams": "Bad request params", @@ -100,6 +101,5 @@ "VerifyCode": "Verify code", "VirtualKeyboard": "Virtual Keyboard", "WebSocketError": "WebSocket connect failed, please check network", - "Writable": "Writable", - "InputVerifyCode": "Input Verify Code" + "Writable": "Writable" } \ No newline at end of file diff --git a/apps/i18n/lion/es.json b/apps/i18n/lion/es.json index 6f10a59b6..50f7065d1 100644 --- a/apps/i18n/lion/es.json +++ b/apps/i18n/lion/es.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "No se puede conectar al servidor VNC", "GuacamoleErrUnsupportedCredentialTypeRequested": "El tipo de credenciales para la conexión remota no es compatible", "GuacamoleErrUpstreamError": "Ocurrió un error en el servidor de conexión remota", + "InputVerifyCode": "Por favor, introduce el código de verificación.", "JMSErrAPIFailed": "Error en Core API", "JMSErrAuthUser": "Usuario no autenticado", "JMSErrBadParams": "Error en los parámetros de solicitud", diff --git a/apps/i18n/lion/ja.json b/apps/i18n/lion/ja.json index c122ddf47..4265be588 100644 --- a/apps/i18n/lion/ja.json +++ b/apps/i18n/lion/ja.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "VNCサーバーに接続できません", "GuacamoleErrUnsupportedCredentialTypeRequested": "リモート接続の資格タイプがサポートされていません", "GuacamoleErrUpstreamError": "リモート接続のサーバーにエラーが発生", + "InputVerifyCode": "verification code を入力してください", "JMSErrAPIFailed": "Core APIエラーが発生", "JMSErrAuthUser": "ユーザーは認証されていません", "JMSErrBadParams": "リクエストパラメータが間違っています", diff --git a/apps/i18n/lion/ko.json b/apps/i18n/lion/ko.json index cd7ff1d39..0d48e49eb 100644 --- a/apps/i18n/lion/ko.json +++ b/apps/i18n/lion/ko.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "VNC 서버에 연결할 수 없습니다", "GuacamoleErrUnsupportedCredentialTypeRequested": "원격 연결의 자격 증명 유형이 지원되지 않습니다", "GuacamoleErrUpstreamError": "원격 연결의 서버에서 오류가 발생했습니다", + "InputVerifyCode": "인증 코드를 입력해 주세요.", "JMSErrAPIFailed": "Core API 오류가 발생했습니다", "JMSErrAuthUser": "사용자 인증되지 않음", "JMSErrBadParams": "요청 매개변수 오류", diff --git a/apps/i18n/lion/pt_br.json b/apps/i18n/lion/pt_br.json index 9163ec40b..56dda12e3 100644 --- a/apps/i18n/lion/pt_br.json +++ b/apps/i18n/lion/pt_br.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "Não é possível conectar ao servidor VNC", "GuacamoleErrUnsupportedCredentialTypeRequested": "Tipo de credencial de conexão remota não suportado", "GuacamoleErrUpstreamError": "Ocorreu um erro no servidor de conexão remota", + "InputVerifyCode": "Por favor, insira o código de verificação.", "JMSErrAPIFailed": "Ocorreu um erro com a API principal", "JMSErrAuthUser": "Usuário não autenticado", "JMSErrBadParams": "Erro de parâmetro de solicitação", diff --git a/apps/i18n/lion/ru.json b/apps/i18n/lion/ru.json index 48e3053dd..54cb61fdd 100644 --- a/apps/i18n/lion/ru.json +++ b/apps/i18n/lion/ru.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "Не удается подключиться к VNC серверу", "GuacamoleErrUnsupportedCredentialTypeRequested": "Запрашиваемый тип учетных данных не поддерживается", "GuacamoleErrUpstreamError": "Ошибка на стороне удаленного сервера", + "InputVerifyCode": "Пожалуйста, введите код проверки.", "JMSErrAPIFailed": "Ошибка API Core", "JMSErrAuthUser": "Пользователь не аутентифицирован", "JMSErrBadParams": "Ошибка параметров запроса", diff --git a/apps/i18n/lion/zh.json b/apps/i18n/lion/zh.json index 9ec5ebfc5..22bd17541 100644 --- a/apps/i18n/lion/zh.json +++ b/apps/i18n/lion/zh.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "无法连接到 VNC 服务器", "GuacamoleErrUnsupportedCredentialTypeRequested": "远程连接的凭证类型不支持", "GuacamoleErrUpstreamError": "远程连接的服务器发生错误", + "InputVerifyCode": "请输入验证码", "JMSErrAPIFailed": "Core API 发生错误", "JMSErrAuthUser": "用户未认证", "JMSErrBadParams": "请求参数错误", @@ -100,6 +101,5 @@ "VerifyCode": "验证码", "VirtualKeyboard": "虚拟键盘", "WebSocketError": "WebSocket 连接失败,请检查网络", - "Writable": "读写", - "InputVerifyCode": "请输入验证码" + "Writable": "读写" } \ No newline at end of file diff --git a/apps/i18n/lion/zh_Hant.json b/apps/i18n/lion/zh_Hant.json index 62b5c3322..467f316d6 100644 --- a/apps/i18n/lion/zh_Hant.json +++ b/apps/i18n/lion/zh_Hant.json @@ -51,6 +51,7 @@ "GuacamoleErrUnableToConnectToVNCServer": "無法連接到 VNC 伺服器", "GuacamoleErrUnsupportedCredentialTypeRequested": "遠程連接的憑證類型不支持", "GuacamoleErrUpstreamError": "遠程連接的伺服器發生錯誤", + "InputVerifyCode": "請輸入驗證碼", "JMSErrAPIFailed": "Core API 發生錯誤", "JMSErrAuthUser": "用戶未認證", "JMSErrBadParams": "請求參數錯誤",