perf: 新增 SFTP 会话类型

pull/10905/head
Eric 2023-07-04 17:04:25 +08:00 committed by Bryan
parent 785e4cc3e4
commit fb279dbc39
3 changed files with 69 additions and 59 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-27 16:02+0800\n" "POT-Creation-Date: 2023-07-04 18:28+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1464,8 +1464,8 @@ msgstr "ゲートウェイ"
msgid "Asset group" msgid "Asset group"
msgstr "資産グループ" msgstr "資産グループ"
#: assets/models/group.py:34 assets/models/platform.py:17 #: assets/models/group.py:31 assets/models/platform.py:17
#: assets/serializers/platform.py:102 #: assets/serializers/platform.py:112
#: xpack/plugins/cloud/providers/nutanix.py:30 #: xpack/plugins/cloud/providers/nutanix.py:30
msgid "Default" msgid "Default"
msgstr "デフォルト" msgstr "デフォルト"
@ -1478,7 +1478,7 @@ msgstr "デフォルトアセットグループ"
msgid "System" msgid "System"
msgstr "システム" msgstr "システム"
#: assets/models/label.py:19 assets/models/node.py:557 #: assets/models/label.py:19 assets/models/node.py:545
#: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14 #: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14
#: authentication/models/connection_token.py:29 #: authentication/models/connection_token.py:29
#: authentication/serializers/connect_token_secret.py:122 #: authentication/serializers/connect_token_secret.py:122
@ -1499,28 +1499,28 @@ msgstr "ラベル"
msgid "New node" msgid "New node"
msgstr "新しいノード" msgstr "新しいノード"
#: assets/models/node.py:485 audits/backends/db.py:55 audits/backends/db.py:56 #: assets/models/node.py:473 audits/backends/db.py:55 audits/backends/db.py:56
msgid "empty" msgid "empty"
msgstr "空" msgstr "空"
#: assets/models/node.py:556 perms/models/perm_node.py:28 #: assets/models/node.py:544 perms/models/perm_node.py:28
msgid "Key" msgid "Key"
msgstr "キー" msgstr "キー"
#: assets/models/node.py:558 assets/serializers/node.py:20 #: assets/models/node.py:546 assets/serializers/node.py:20
msgid "Full value" msgid "Full value"
msgstr "フルバリュー" msgstr "フルバリュー"
#: assets/models/node.py:562 perms/models/perm_node.py:30 #: assets/models/node.py:550 perms/models/perm_node.py:30
msgid "Parent key" msgid "Parent key"
msgstr "親キー" msgstr "親キー"
#: assets/models/node.py:571 perms/serializers/permission.py:35 #: assets/models/node.py:559 perms/serializers/permission.py:35
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96 #: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96
msgid "Node" msgid "Node"
msgstr "ノード" msgstr "ノード"
#: assets/models/node.py:574 #: assets/models/node.py:562
msgid "Can match node" msgid "Can match node"
msgstr "ノードを一致させることができます" msgstr "ノードを一致させることができます"
@ -3048,18 +3048,15 @@ msgstr "リダイレクト"
msgid "Redirecting to {} authentication" msgid "Redirecting to {} authentication"
msgstr "{} 認証へのリダイレクト" msgstr "{} 認証へのリダイレクト"
#: authentication/views/login.py:207
msgid "Please enable cookies and try again."
msgstr "クッキーを有効にして、もう一度お試しください。"
#: authentication/views/login.py:207 #: authentication/views/login.py:207
msgid "Login timeout, please try again." msgid "Login timeout, please try again."
msgstr "ログインタイムアウト、もう一度お試しください" msgstr "ログインタイムアウト、もう一度お試しください"
#: authentication/views/login.py:248 #: authentication/views/login.py:250
msgid "User email already exists ({})" msgid "User email already exists ({})"
msgstr "ユーザー メールボックスは既に存在します ({})" msgstr "ユーザー メールボックスは既に存在します ({})"
#: authentication/views/login.py:326 #: authentication/views/login.py:328
msgid "" msgid ""
"Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n" "Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
" Don't close this page" " Don't close this page"
@ -3067,15 +3064,15 @@ msgstr ""
"<b>{}</b> 確認を待ちます。彼女/彼へのリンクをコピーすることもできます <br/>\n" "<b>{}</b> 確認を待ちます。彼女/彼へのリンクをコピーすることもできます <br/>\n"
" このページを閉じないでください" " このページを閉じないでください"
#: authentication/views/login.py:331 #: authentication/views/login.py:333
msgid "No ticket found" msgid "No ticket found"
msgstr "チケットが見つかりません" msgstr "チケットが見つかりません"
#: authentication/views/login.py:367 #: authentication/views/login.py:369
msgid "Logout success" msgid "Logout success"
msgstr "ログアウト成功" msgstr "ログアウト成功"
#: authentication/views/login.py:368 #: authentication/views/login.py:370
msgid "Logout success, return login page" msgid "Logout success, return login page"
msgstr "ログアウト成功、ログインページを返す" msgstr "ログアウト成功、ログインページを返す"
@ -5490,8 +5487,8 @@ msgstr "期限切れです。"
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
" Your password has expired, please click <a " " Your password has expired, please click <a href="
"href=\"%(user_password_update_url)s\"> this link </a> update password.\n" "\"%(user_password_update_url)s\"> this link </a> update password.\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
@ -5512,34 +5509,34 @@ msgid ""
" " " "
msgstr "" msgstr ""
"\n" "\n"
" クリックしてください <a " " クリックしてください <a href=\"%(user_password_update_url)s"
"href=\"%(user_password_update_url)s\"> リンク </a> パスワードの更新\n" "\"> リンク </a> パスワードの更新\n"
" " " "
#: templates/_message.html:43 #: templates/_message.html:43
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
" Your information was incomplete. Please click <a " " Your information was incomplete. Please click <a href="
"href=\"%(first_login_url)s\"> this link </a>to complete your information.\n" "\"%(first_login_url)s\"> this link </a>to complete your information.\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
" あなたの情報が不完全なので、クリックしてください。 <a " " あなたの情報が不完全なので、クリックしてください。 <a href="
"href=\"%(first_login_url)s\"> リンク </a> 補完\n" "\"%(first_login_url)s\"> リンク </a> 補完\n"
" " " "
#: templates/_message.html:56 #: templates/_message.html:56
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
" Your ssh public key not set or expired. Please click <a " " Your ssh public key not set or expired. Please click <a href="
"href=\"%(user_pubkey_update)s\"> this link </a>to update\n" "\"%(user_pubkey_update)s\"> this link </a>to update\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
" SSHキーが設定されていないか無効になっている場合は、 <a " " SSHキーが設定されていないか無効になっている場合は、 <a href="
"href=\"%(user_pubkey_update)s\"> リンク </a> 更新\n" "\"%(user_pubkey_update)s\"> リンク </a> 更新\n"
" " " "
#: templates/_mfa_login_field.html:28 #: templates/_mfa_login_field.html:28
@ -5715,11 +5712,17 @@ msgstr "一致しない"
msgid "Tunnel" msgid "Tunnel"
msgstr "" msgstr ""
#: terminal/const.py:73 #: terminal/const.py:70
#, fuzzy
#| msgid "SFTP home"
msgid "SFTP"
msgstr "SFTP ルート パス"
#: terminal/const.py:74
msgid "Read Only" msgid "Read Only"
msgstr "読み取り専用" msgstr "読み取り専用"
#: terminal/const.py:74 #: terminal/const.py:75
msgid "Writable" msgid "Writable"
msgstr "書き込み可能" msgstr "書き込み可能"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n" "Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-15 15:35+0800\n" "POT-Creation-Date: 2023-07-04 18:28+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n" "Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n" "Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -1455,8 +1455,8 @@ msgstr "网关"
msgid "Asset group" msgid "Asset group"
msgstr "资产组" msgstr "资产组"
#: assets/models/group.py:34 assets/models/platform.py:17 #: assets/models/group.py:31 assets/models/platform.py:17
#: assets/serializers/platform.py:102 #: assets/serializers/platform.py:112
#: xpack/plugins/cloud/providers/nutanix.py:30 #: xpack/plugins/cloud/providers/nutanix.py:30
msgid "Default" msgid "Default"
msgstr "默认" msgstr "默认"
@ -1469,7 +1469,7 @@ msgstr "默认资产组"
msgid "System" msgid "System"
msgstr "系统" msgstr "系统"
#: assets/models/label.py:19 assets/models/node.py:557 #: assets/models/label.py:19 assets/models/node.py:545
#: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14 #: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14
#: authentication/models/connection_token.py:29 #: authentication/models/connection_token.py:29
#: authentication/serializers/connect_token_secret.py:122 #: authentication/serializers/connect_token_secret.py:122
@ -1490,28 +1490,28 @@ msgstr "标签"
msgid "New node" msgid "New node"
msgstr "新节点" msgstr "新节点"
#: assets/models/node.py:485 audits/backends/db.py:55 audits/backends/db.py:56 #: assets/models/node.py:473 audits/backends/db.py:55 audits/backends/db.py:56
msgid "empty" msgid "empty"
msgstr "空" msgstr "空"
#: assets/models/node.py:556 perms/models/perm_node.py:28 #: assets/models/node.py:544 perms/models/perm_node.py:28
msgid "Key" msgid "Key"
msgstr "键" msgstr "键"
#: assets/models/node.py:558 assets/serializers/node.py:20 #: assets/models/node.py:546 assets/serializers/node.py:20
msgid "Full value" msgid "Full value"
msgstr "全称" msgstr "全称"
#: assets/models/node.py:562 perms/models/perm_node.py:30 #: assets/models/node.py:550 perms/models/perm_node.py:30
msgid "Parent key" msgid "Parent key"
msgstr "ssh私钥" msgstr "ssh私钥"
#: assets/models/node.py:571 perms/serializers/permission.py:35 #: assets/models/node.py:559 perms/serializers/permission.py:35
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96 #: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96
msgid "Node" msgid "Node"
msgstr "节点" msgstr "节点"
#: assets/models/node.py:574 #: assets/models/node.py:562
msgid "Can match node" msgid "Can match node"
msgstr "可以匹配节点" msgstr "可以匹配节点"
@ -3010,11 +3010,11 @@ msgstr "正在跳转到 {} 认证"
msgid "Login timeout, please try again." msgid "Login timeout, please try again."
msgstr "登录超时,请重新登录" msgstr "登录超时,请重新登录"
#: authentication/views/login.py:247 #: authentication/views/login.py:250
msgid "User email already exists ({})" msgid "User email already exists ({})"
msgstr "用户邮箱已存在 ({})" msgstr "用户邮箱已存在 ({})"
#: authentication/views/login.py:325 #: authentication/views/login.py:328
msgid "" msgid ""
"Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n" "Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
" Don't close this page" " Don't close this page"
@ -3022,15 +3022,15 @@ msgstr ""
"等待 <b>{}</b> 确认, 你也可以复制链接发给他/她 <br/>\n" "等待 <b>{}</b> 确认, 你也可以复制链接发给他/她 <br/>\n"
" 不要关闭本页面" " 不要关闭本页面"
#: authentication/views/login.py:330 #: authentication/views/login.py:333
msgid "No ticket found" msgid "No ticket found"
msgstr "没有发现工单" msgstr "没有发现工单"
#: authentication/views/login.py:366 #: authentication/views/login.py:369
msgid "Logout success" msgid "Logout success"
msgstr "退出登录成功" msgstr "退出登录成功"
#: authentication/views/login.py:367 #: authentication/views/login.py:370
msgid "Logout success, return login page" msgid "Logout success, return login page"
msgstr "退出登录成功,返回到登录页面" msgstr "退出登录成功,返回到登录页面"
@ -5403,13 +5403,13 @@ msgstr "过期。"
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
" Your password has expired, please click <a " " Your password has expired, please click <a href="
"href=\"%(user_password_update_url)s\"> this link </a> update password.\n" "\"%(user_password_update_url)s\"> this link </a> update password.\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
" 您的密码已经过期,请点击 <a " " 您的密码已经过期,请点击 <a href="
"href=\"%(user_password_update_url)s\"> 链接 </a> 更新密码\n" "\"%(user_password_update_url)s\"> 链接 </a> 更新密码\n"
" " " "
#: templates/_message.html:30 #: templates/_message.html:30
@ -5433,8 +5433,8 @@ msgstr ""
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
" Your information was incomplete. Please click <a " " Your information was incomplete. Please click <a href="
"href=\"%(first_login_url)s\"> this link </a>to complete your information.\n" "\"%(first_login_url)s\"> this link </a>to complete your information.\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
@ -5446,13 +5446,13 @@ msgstr ""
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
" Your ssh public key not set or expired. Please click <a " " Your ssh public key not set or expired. Please click <a href="
"href=\"%(user_pubkey_update)s\"> this link </a>to update\n" "\"%(user_pubkey_update)s\"> this link </a>to update\n"
" " " "
msgstr "" msgstr ""
"\n" "\n"
" 您的SSH密钥没有设置或已失效请点击 <a " " 您的SSH密钥没有设置或已失效请点击 <a href="
"href=\"%(user_pubkey_update)s\"> 链接 </a> 更新\n" "\"%(user_pubkey_update)s\"> 链接 </a> 更新\n"
" " " "
#: templates/_mfa_login_field.html:28 #: templates/_mfa_login_field.html:28
@ -5623,11 +5623,17 @@ msgstr "未匹配"
msgid "Tunnel" msgid "Tunnel"
msgstr "隧道" msgstr "隧道"
#: terminal/const.py:73 #: terminal/const.py:70
#, fuzzy
#| msgid "SFTP home"
msgid "SFTP"
msgstr "SFTP"
#: terminal/const.py:74
msgid "Read Only" msgid "Read Only"
msgstr "只读" msgstr "只读"
#: terminal/const.py:74 #: terminal/const.py:75
msgid "Writable" msgid "Writable"
msgstr "读写" msgstr "读写"

View File

@ -67,6 +67,7 @@ class SessionType(TextChoices):
normal = 'normal', _('Normal') normal = 'normal', _('Normal')
tunnel = 'tunnel', _('Tunnel') tunnel = 'tunnel', _('Tunnel')
command = 'command', _('Command') command = 'command', _('Command')
sftp = 'sftp', _('SFTP')
class ActionPermission(TextChoices): class ActionPermission(TextChoices):