mirror of https://github.com/jumpserver/jumpserver
feat: Cloud 支持局域网 IP 扫描 (#8589)
* feat: Cloud 支持局域网 IP 扫描 * feat: Cloud 支持局域网 IP 扫描 Co-authored-by: Jiangjie.Bai <bugatti_it@163.com>pull/8705/head
parent
70cf847cd9
commit
b27b02eb9d
|
@ -1,6 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
import re
|
import re
|
||||||
|
import socket
|
||||||
from django.templatetags.static import static
|
from django.templatetags.static import static
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
@ -368,8 +369,23 @@ def group_by_count(it, count):
|
||||||
return [it[i:i+count] for i in range(0, len(it), count)]
|
return [it[i:i+count] for i in range(0, len(it), count)]
|
||||||
|
|
||||||
|
|
||||||
|
def test_ip_connectivity(host, port, timeout=3):
|
||||||
|
"""
|
||||||
|
timeout: seconds
|
||||||
|
"""
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
sock.settimeout(timeout)
|
||||||
|
result = sock.connect_ex((host, int(port)))
|
||||||
|
sock.close()
|
||||||
|
if result == 0:
|
||||||
|
connectivity = True
|
||||||
|
else:
|
||||||
|
connectivity = False
|
||||||
|
return connectivity
|
||||||
|
|
||||||
|
|
||||||
def static_or_direct(logo_path):
|
def static_or_direct(logo_path):
|
||||||
if logo_path.startswith('img/'):
|
if logo_path.startswith('img/'):
|
||||||
return static(logo_path)
|
return static(logo_path)
|
||||||
else:
|
else:
|
||||||
return logo_path
|
return logo_path
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:73ea6289c22c329752330fae1fef6d174573c7f46355137ffbc864407b2b8270
|
oid sha256:62879a50d21ad41c43bf748f6045bf30a933d5d08021d97dc1c68e23f6bf8e65
|
||||||
size 129073
|
size 130015
|
||||||
|
|
|
@ -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: 2022-08-04 14:17+0800\n"
|
"POT-Creation-Date: 2022-08-05 14:42+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"
|
||||||
|
@ -164,7 +164,7 @@ msgstr "コンマ区切り文字列の形式。* はすべて一致すること
|
||||||
#: users/templates/users/_msg_user_created.html:12
|
#: users/templates/users/_msg_user_created.html:12
|
||||||
#: xpack/plugins/change_auth_plan/models/asset.py:34
|
#: xpack/plugins/change_auth_plan/models/asset.py:34
|
||||||
#: xpack/plugins/change_auth_plan/models/asset.py:195
|
#: xpack/plugins/change_auth_plan/models/asset.py:195
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:24
|
#: xpack/plugins/cloud/serializers/account_attrs.py:26
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr "ユーザー名"
|
msgstr "ユーザー名"
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ msgid "Domain"
|
||||||
msgstr "ドメイン"
|
msgstr "ドメイン"
|
||||||
|
|
||||||
#: applications/models/application.py:231 xpack/plugins/cloud/models.py:33
|
#: applications/models/application.py:231 xpack/plugins/cloud/models.py:33
|
||||||
#: xpack/plugins/cloud/serializers/account.py:60
|
#: xpack/plugins/cloud/serializers/account.py:61
|
||||||
msgid "Attrs"
|
msgid "Attrs"
|
||||||
msgstr "ツールバーの"
|
msgstr "ツールバーの"
|
||||||
|
|
||||||
|
@ -394,7 +394,7 @@ msgstr "クラスター"
|
||||||
#: applications/serializers/attrs/application_category/db.py:11
|
#: applications/serializers/attrs/application_category/db.py:11
|
||||||
#: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14
|
#: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14
|
||||||
#: terminal/models/endpoint.py:11
|
#: terminal/models/endpoint.py:11
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:70
|
#: xpack/plugins/cloud/serializers/account_attrs.py:72
|
||||||
msgid "Host"
|
msgid "Host"
|
||||||
msgstr "ホスト"
|
msgstr "ホスト"
|
||||||
|
|
||||||
|
@ -408,7 +408,7 @@ msgstr "ホスト"
|
||||||
#: applications/serializers/attrs/application_type/sqlserver.py:10
|
#: applications/serializers/attrs/application_type/sqlserver.py:10
|
||||||
#: assets/models/asset.py:214 assets/models/domain.py:62
|
#: assets/models/asset.py:214 assets/models/domain.py:62
|
||||||
#: settings/serializers/auth/radius.py:15
|
#: settings/serializers/auth/radius.py:15
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:71
|
#: xpack/plugins/cloud/serializers/account_attrs.py:73
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr "ポート"
|
msgstr "ポート"
|
||||||
|
|
||||||
|
@ -431,7 +431,7 @@ msgstr "アプリケーションパス"
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:70
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:70
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:73
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:73
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:104
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:104
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:54
|
#: xpack/plugins/cloud/serializers/account_attrs.py:56
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr "このフィールドは必須です。"
|
msgstr "このフィールドは必須です。"
|
||||||
|
|
||||||
|
@ -529,6 +529,7 @@ msgstr "内部"
|
||||||
#: assets/models/asset.py:162 assets/models/asset.py:216
|
#: assets/models/asset.py:162 assets/models/asset.py:216
|
||||||
#: assets/serializers/account.py:15 assets/serializers/asset.py:63
|
#: assets/serializers/account.py:15 assets/serializers/asset.py:63
|
||||||
#: perms/serializers/asset/user_permission.py:43
|
#: perms/serializers/asset/user_permission.py:43
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:159
|
||||||
msgid "Platform"
|
msgid "Platform"
|
||||||
msgstr "プラットフォーム"
|
msgstr "プラットフォーム"
|
||||||
|
|
||||||
|
@ -773,7 +774,7 @@ msgstr "OK"
|
||||||
#: assets/models/base.py:32 audits/models.py:118
|
#: assets/models/base.py:32 audits/models.py:118
|
||||||
#: xpack/plugins/change_auth_plan/serializers/app.py:88
|
#: xpack/plugins/change_auth_plan/serializers/app.py:88
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:199
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:199
|
||||||
#: xpack/plugins/cloud/const.py:32
|
#: xpack/plugins/cloud/const.py:33
|
||||||
msgid "Failed"
|
msgid "Failed"
|
||||||
msgstr "失敗しました"
|
msgstr "失敗しました"
|
||||||
|
|
||||||
|
@ -799,7 +800,7 @@ msgstr "確認済みの日付"
|
||||||
#: xpack/plugins/change_auth_plan/models/base.py:196
|
#: xpack/plugins/change_auth_plan/models/base.py:196
|
||||||
#: xpack/plugins/change_auth_plan/serializers/base.py:21
|
#: xpack/plugins/change_auth_plan/serializers/base.py:21
|
||||||
#: xpack/plugins/change_auth_plan/serializers/base.py:73
|
#: xpack/plugins/change_auth_plan/serializers/base.py:73
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:26
|
#: xpack/plugins/cloud/serializers/account_attrs.py:28
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "パスワード"
|
msgstr "パスワード"
|
||||||
|
|
||||||
|
@ -2414,8 +2415,8 @@ msgstr ""
|
||||||
"おかえりなさい、ログインするためにユーザー名とパスワードを入力してください"
|
"おかえりなさい、ログインするためにユーザー名とパスワードを入力してください"
|
||||||
|
|
||||||
#: authentication/templates/authentication/login.html:256
|
#: authentication/templates/authentication/login.html:256
|
||||||
#: users/templates/users/forgot_password.html:15
|
|
||||||
#: users/templates/users/forgot_password.html:16
|
#: users/templates/users/forgot_password.html:16
|
||||||
|
#: users/templates/users/forgot_password.html:17
|
||||||
msgid "Forgot password"
|
msgid "Forgot password"
|
||||||
msgstr "パスワードを忘れた"
|
msgstr "パスワードを忘れた"
|
||||||
|
|
||||||
|
@ -2742,9 +2743,9 @@ msgstr "確認コードが正しくありません"
|
||||||
msgid "Please wait {} seconds before sending"
|
msgid "Please wait {} seconds before sending"
|
||||||
msgstr "{} 秒待ってから送信してください"
|
msgstr "{} 秒待ってから送信してください"
|
||||||
|
|
||||||
#: common/utils/ip/geoip/utils.py:24
|
#: common/utils/ip/geoip/utils.py:24 xpack/plugins/cloud/const.py:24
|
||||||
msgid "LAN"
|
msgid "LAN"
|
||||||
msgstr "LAN"
|
msgstr "ローカルエリアネットワーク"
|
||||||
|
|
||||||
#: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78
|
#: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78
|
||||||
msgid "Invalid ip"
|
msgid "Invalid ip"
|
||||||
|
@ -3691,7 +3692,7 @@ msgid "Client Id"
|
||||||
msgstr "クライアントID"
|
msgstr "クライアントID"
|
||||||
|
|
||||||
#: settings/serializers/auth/oauth2.py:32 settings/serializers/auth/oidc.py:21
|
#: settings/serializers/auth/oauth2.py:32 settings/serializers/auth/oidc.py:21
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:36
|
#: xpack/plugins/cloud/serializers/account_attrs.py:38
|
||||||
msgid "Client Secret"
|
msgid "Client Secret"
|
||||||
msgstr "クライアント秘密"
|
msgstr "クライアント秘密"
|
||||||
|
|
||||||
|
@ -5155,12 +5156,12 @@ msgid "Bucket"
|
||||||
msgstr "バケット"
|
msgstr "バケット"
|
||||||
|
|
||||||
#: terminal/serializers/storage.py:30
|
#: terminal/serializers/storage.py:30
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:15
|
#: xpack/plugins/cloud/serializers/account_attrs.py:17
|
||||||
msgid "Access key id"
|
msgid "Access key id"
|
||||||
msgstr "アクセスキー"
|
msgstr "アクセスキー"
|
||||||
|
|
||||||
#: terminal/serializers/storage.py:34
|
#: terminal/serializers/storage.py:34
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:18
|
#: xpack/plugins/cloud/serializers/account_attrs.py:20
|
||||||
msgid "Access key secret"
|
msgid "Access key secret"
|
||||||
msgstr "アクセスキーシークレット"
|
msgstr "アクセスキーシークレット"
|
||||||
|
|
||||||
|
@ -5968,11 +5969,11 @@ msgstr "あなたのssh公開鍵はサイト管理者によってリセットさ
|
||||||
msgid "click here to set your password"
|
msgid "click here to set your password"
|
||||||
msgstr "ここをクリックしてパスワードを設定してください"
|
msgstr "ここをクリックしてパスワードを設定してください"
|
||||||
|
|
||||||
#: users/templates/users/forgot_password.html:23
|
#: users/templates/users/forgot_password.html:24
|
||||||
msgid "Input your email, that will send a mail to your"
|
msgid "Input your email, that will send a mail to your"
|
||||||
msgstr "あなたのメールを入力し、それはあなたにメールを送信します"
|
msgstr "あなたのメールを入力し、それはあなたにメールを送信します"
|
||||||
|
|
||||||
#: users/templates/users/forgot_password.html:32
|
#: users/templates/users/forgot_password.html:33
|
||||||
msgid "Submit"
|
msgid "Submit"
|
||||||
msgstr "送信"
|
msgstr "送信"
|
||||||
|
|
||||||
|
@ -6415,31 +6416,31 @@ msgstr "谷歌雲"
|
||||||
msgid "Fusion Compute"
|
msgid "Fusion Compute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:27
|
#: xpack/plugins/cloud/const.py:28
|
||||||
msgid "Instance name"
|
msgid "Instance name"
|
||||||
msgstr "インスタンス名"
|
msgstr "インスタンス名"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:28
|
#: xpack/plugins/cloud/const.py:29
|
||||||
msgid "Instance name and Partial IP"
|
msgid "Instance name and Partial IP"
|
||||||
msgstr "インスタンス名と部分IP"
|
msgstr "インスタンス名と部分IP"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:33
|
#: xpack/plugins/cloud/const.py:34
|
||||||
msgid "Succeed"
|
msgid "Succeed"
|
||||||
msgstr "成功"
|
msgstr "成功"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:37
|
#: xpack/plugins/cloud/const.py:38
|
||||||
msgid "Unsync"
|
msgid "Unsync"
|
||||||
msgstr "同期していません"
|
msgstr "同期していません"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:38
|
#: xpack/plugins/cloud/const.py:39
|
||||||
msgid "New Sync"
|
msgid "New Sync"
|
||||||
msgstr "新しい同期"
|
msgstr "新しい同期"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:39
|
#: xpack/plugins/cloud/const.py:40
|
||||||
msgid "Synced"
|
msgid "Synced"
|
||||||
msgstr "同期済み"
|
msgstr "同期済み"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:40
|
#: xpack/plugins/cloud/const.py:41
|
||||||
msgid "Released"
|
msgid "Released"
|
||||||
msgstr "リリース済み"
|
msgstr "リリース済み"
|
||||||
|
|
||||||
|
@ -6709,52 +6710,84 @@ msgstr "華南-広州-友好ユーザー環境"
|
||||||
msgid "CN East-Suqian"
|
msgid "CN East-Suqian"
|
||||||
msgstr "華東-宿遷"
|
msgstr "華東-宿遷"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account.py:61
|
#: xpack/plugins/cloud/serializers/account.py:62
|
||||||
msgid "Validity display"
|
msgid "Validity display"
|
||||||
msgstr "有効表示"
|
msgstr "有効表示"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account.py:62
|
#: xpack/plugins/cloud/serializers/account.py:63
|
||||||
msgid "Provider display"
|
msgid "Provider display"
|
||||||
msgstr "プロバイダ表示"
|
msgstr "プロバイダ表示"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:33
|
#: xpack/plugins/cloud/serializers/account_attrs.py:35
|
||||||
msgid "Client ID"
|
msgid "Client ID"
|
||||||
msgstr "クライアントID"
|
msgstr "クライアントID"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:39
|
#: xpack/plugins/cloud/serializers/account_attrs.py:41
|
||||||
msgid "Tenant ID"
|
msgid "Tenant ID"
|
||||||
msgstr "テナントID"
|
msgstr "テナントID"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:42
|
#: xpack/plugins/cloud/serializers/account_attrs.py:44
|
||||||
msgid "Subscription ID"
|
msgid "Subscription ID"
|
||||||
msgstr "サブスクリプションID"
|
msgstr "サブスクリプションID"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:93
|
#: xpack/plugins/cloud/serializers/account_attrs.py:95
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:98
|
#: xpack/plugins/cloud/serializers/account_attrs.py:100
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:122
|
#: xpack/plugins/cloud/serializers/account_attrs.py:124
|
||||||
msgid "API Endpoint"
|
msgid "API Endpoint"
|
||||||
msgstr "APIエンドポイント"
|
msgstr "APIエンドポイント"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:104
|
#: xpack/plugins/cloud/serializers/account_attrs.py:106
|
||||||
msgid "Auth url"
|
msgid "Auth url"
|
||||||
msgstr "認証アドレス"
|
msgstr "認証アドレス"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:105
|
#: xpack/plugins/cloud/serializers/account_attrs.py:107
|
||||||
msgid "eg: http://openstack.example.com:5000/v3"
|
msgid "eg: http://openstack.example.com:5000/v3"
|
||||||
msgstr "例えば: http://openstack.example.com:5000/v3"
|
msgstr "例えば: http://openstack.example.com:5000/v3"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:108
|
#: xpack/plugins/cloud/serializers/account_attrs.py:110
|
||||||
msgid "User domain"
|
msgid "User domain"
|
||||||
msgstr "ユーザードメイン"
|
msgstr "ユーザードメイン"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:115
|
#: xpack/plugins/cloud/serializers/account_attrs.py:117
|
||||||
msgid "Service account key"
|
msgid "Service account key"
|
||||||
msgstr "サービスアカウントキー"
|
msgstr "サービスアカウントキー"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:116
|
#: xpack/plugins/cloud/serializers/account_attrs.py:118
|
||||||
msgid "The file is in JSON format"
|
msgid "The file is in JSON format"
|
||||||
msgstr "ファイルはJSON形式です。"
|
msgstr "ファイルはJSON形式です。"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:131
|
||||||
|
msgid "IP address invalid `{}`, {}"
|
||||||
|
msgstr "IPアドレスが無効: '{}', {}"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:137
|
||||||
|
msgid ""
|
||||||
|
"Format for comma-delimited string,Such as: 192.168.1.0/24, "
|
||||||
|
"10.0.0.0-10.0.0.255"
|
||||||
|
msgstr "形式はコンマ区切りの文字列です,例:192.168.1.0/24,10.0.0.0-10.0.0.255"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:141
|
||||||
|
msgid ""
|
||||||
|
"The port is used to detect the validity of the IP address. When the "
|
||||||
|
"synchronization task is executed, only the valid IP address will be "
|
||||||
|
"synchronized. <br>If the port is 0, all IP addresses are valid."
|
||||||
|
msgstr ""
|
||||||
|
"このポートは、 IP アドレスの有効性を検出するために使用されます。同期タスクが"
|
||||||
|
"実行されると、有効な IP アドレスのみが同期されます。 <br>ポートが0の場合、す"
|
||||||
|
"べてのIPアドレスが有効です。"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:149
|
||||||
|
msgid "Hostname prefix"
|
||||||
|
msgstr "ホスト名プレフィックス"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:152
|
||||||
|
msgid "IP segment"
|
||||||
|
msgstr "IP セグメント"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:156
|
||||||
|
msgid "Test port"
|
||||||
|
msgstr "テストポート"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/task.py:29
|
#: xpack/plugins/cloud/serializers/task.py:29
|
||||||
msgid ""
|
msgid ""
|
||||||
"Only instances matching the IP range will be synced. <br>If the instance "
|
"Only instances matching the IP range will be synced. <br>If the instance "
|
||||||
|
@ -6873,12 +6906,3 @@ msgstr "究極のエディション"
|
||||||
#: xpack/plugins/license/models.py:77
|
#: xpack/plugins/license/models.py:77
|
||||||
msgid "Community edition"
|
msgid "Community edition"
|
||||||
msgstr "コミュニティ版"
|
msgstr "コミュニティ版"
|
||||||
|
|
||||||
#~ msgid "Logo title"
|
|
||||||
#~ msgstr "アイコンタイトル"
|
|
||||||
|
|
||||||
#~ msgid "IP is not allowed"
|
|
||||||
#~ msgstr "IPは許可されていません"
|
|
||||||
|
|
||||||
#~ msgid "User cannot self-update fields: {}"
|
|
||||||
#~ msgstr "ユーザーは自分のフィールドを更新できません: {}"
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:4e8c2c0a8a9b7d9de0bd11c1fba8073bbe44fe7274ff6bb3537d5fa19b083baa
|
oid sha256:adb46a0b7afdddc1b8a399e0fc0a0926012308ddce0ff487b68cb6c209d74039
|
||||||
size 106370
|
size 107133
|
||||||
|
|
|
@ -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: 2022-08-04 14:17+0800\n"
|
"POT-Creation-Date: 2022-08-05 14:42+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"
|
||||||
|
@ -163,7 +163,7 @@ msgstr "格式为逗号分隔的字符串, * 表示匹配所有. "
|
||||||
#: users/templates/users/_msg_user_created.html:12
|
#: users/templates/users/_msg_user_created.html:12
|
||||||
#: xpack/plugins/change_auth_plan/models/asset.py:34
|
#: xpack/plugins/change_auth_plan/models/asset.py:34
|
||||||
#: xpack/plugins/change_auth_plan/models/asset.py:195
|
#: xpack/plugins/change_auth_plan/models/asset.py:195
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:24
|
#: xpack/plugins/cloud/serializers/account_attrs.py:26
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr "用户名"
|
msgstr "用户名"
|
||||||
|
|
||||||
|
@ -324,7 +324,7 @@ msgid "Domain"
|
||||||
msgstr "网域"
|
msgstr "网域"
|
||||||
|
|
||||||
#: applications/models/application.py:231 xpack/plugins/cloud/models.py:33
|
#: applications/models/application.py:231 xpack/plugins/cloud/models.py:33
|
||||||
#: xpack/plugins/cloud/serializers/account.py:60
|
#: xpack/plugins/cloud/serializers/account.py:61
|
||||||
msgid "Attrs"
|
msgid "Attrs"
|
||||||
msgstr "属性"
|
msgstr "属性"
|
||||||
|
|
||||||
|
@ -389,7 +389,7 @@ msgstr "集群"
|
||||||
#: applications/serializers/attrs/application_category/db.py:11
|
#: applications/serializers/attrs/application_category/db.py:11
|
||||||
#: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14
|
#: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14
|
||||||
#: terminal/models/endpoint.py:11
|
#: terminal/models/endpoint.py:11
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:70
|
#: xpack/plugins/cloud/serializers/account_attrs.py:72
|
||||||
msgid "Host"
|
msgid "Host"
|
||||||
msgstr "主机"
|
msgstr "主机"
|
||||||
|
|
||||||
|
@ -403,7 +403,7 @@ msgstr "主机"
|
||||||
#: applications/serializers/attrs/application_type/sqlserver.py:10
|
#: applications/serializers/attrs/application_type/sqlserver.py:10
|
||||||
#: assets/models/asset.py:214 assets/models/domain.py:62
|
#: assets/models/asset.py:214 assets/models/domain.py:62
|
||||||
#: settings/serializers/auth/radius.py:15
|
#: settings/serializers/auth/radius.py:15
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:71
|
#: xpack/plugins/cloud/serializers/account_attrs.py:73
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr "端口"
|
msgstr "端口"
|
||||||
|
|
||||||
|
@ -426,7 +426,7 @@ msgstr "应用路径"
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:70
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:70
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:73
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:73
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:104
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:104
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:54
|
#: xpack/plugins/cloud/serializers/account_attrs.py:56
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr "该字段是必填项。"
|
msgstr "该字段是必填项。"
|
||||||
|
|
||||||
|
@ -524,6 +524,7 @@ msgstr "内部的"
|
||||||
#: assets/models/asset.py:162 assets/models/asset.py:216
|
#: assets/models/asset.py:162 assets/models/asset.py:216
|
||||||
#: assets/serializers/account.py:15 assets/serializers/asset.py:63
|
#: assets/serializers/account.py:15 assets/serializers/asset.py:63
|
||||||
#: perms/serializers/asset/user_permission.py:43
|
#: perms/serializers/asset/user_permission.py:43
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:159
|
||||||
msgid "Platform"
|
msgid "Platform"
|
||||||
msgstr "系统平台"
|
msgstr "系统平台"
|
||||||
|
|
||||||
|
@ -768,7 +769,7 @@ msgstr "成功"
|
||||||
#: assets/models/base.py:32 audits/models.py:118
|
#: assets/models/base.py:32 audits/models.py:118
|
||||||
#: xpack/plugins/change_auth_plan/serializers/app.py:88
|
#: xpack/plugins/change_auth_plan/serializers/app.py:88
|
||||||
#: xpack/plugins/change_auth_plan/serializers/asset.py:199
|
#: xpack/plugins/change_auth_plan/serializers/asset.py:199
|
||||||
#: xpack/plugins/cloud/const.py:32
|
#: xpack/plugins/cloud/const.py:33
|
||||||
msgid "Failed"
|
msgid "Failed"
|
||||||
msgstr "失败"
|
msgstr "失败"
|
||||||
|
|
||||||
|
@ -794,7 +795,7 @@ msgstr "校验日期"
|
||||||
#: xpack/plugins/change_auth_plan/models/base.py:196
|
#: xpack/plugins/change_auth_plan/models/base.py:196
|
||||||
#: xpack/plugins/change_auth_plan/serializers/base.py:21
|
#: xpack/plugins/change_auth_plan/serializers/base.py:21
|
||||||
#: xpack/plugins/change_auth_plan/serializers/base.py:73
|
#: xpack/plugins/change_auth_plan/serializers/base.py:73
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:26
|
#: xpack/plugins/cloud/serializers/account_attrs.py:28
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "密码"
|
msgstr "密码"
|
||||||
|
|
||||||
|
@ -2380,8 +2381,8 @@ msgid "Welcome back, please enter username and password to login"
|
||||||
msgstr "欢迎回来,请输入用户名和密码登录"
|
msgstr "欢迎回来,请输入用户名和密码登录"
|
||||||
|
|
||||||
#: authentication/templates/authentication/login.html:256
|
#: authentication/templates/authentication/login.html:256
|
||||||
#: users/templates/users/forgot_password.html:15
|
|
||||||
#: users/templates/users/forgot_password.html:16
|
#: users/templates/users/forgot_password.html:16
|
||||||
|
#: users/templates/users/forgot_password.html:17
|
||||||
msgid "Forgot password"
|
msgid "Forgot password"
|
||||||
msgstr "忘记密码"
|
msgstr "忘记密码"
|
||||||
|
|
||||||
|
@ -2708,9 +2709,9 @@ msgstr "验证码错误"
|
||||||
msgid "Please wait {} seconds before sending"
|
msgid "Please wait {} seconds before sending"
|
||||||
msgstr "请在 {} 秒后发送"
|
msgstr "请在 {} 秒后发送"
|
||||||
|
|
||||||
#: common/utils/ip/geoip/utils.py:24
|
#: common/utils/ip/geoip/utils.py:24 xpack/plugins/cloud/const.py:24
|
||||||
msgid "LAN"
|
msgid "LAN"
|
||||||
msgstr "LAN"
|
msgstr "局域网"
|
||||||
|
|
||||||
#: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78
|
#: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78
|
||||||
msgid "Invalid ip"
|
msgid "Invalid ip"
|
||||||
|
@ -3648,7 +3649,7 @@ msgid "Client Id"
|
||||||
msgstr "客户端 ID"
|
msgstr "客户端 ID"
|
||||||
|
|
||||||
#: settings/serializers/auth/oauth2.py:32 settings/serializers/auth/oidc.py:21
|
#: settings/serializers/auth/oauth2.py:32 settings/serializers/auth/oidc.py:21
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:36
|
#: xpack/plugins/cloud/serializers/account_attrs.py:38
|
||||||
msgid "Client Secret"
|
msgid "Client Secret"
|
||||||
msgstr "客户端密钥"
|
msgstr "客户端密钥"
|
||||||
|
|
||||||
|
@ -5077,12 +5078,12 @@ msgid "Bucket"
|
||||||
msgstr "桶名称"
|
msgstr "桶名称"
|
||||||
|
|
||||||
#: terminal/serializers/storage.py:30
|
#: terminal/serializers/storage.py:30
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:15
|
#: xpack/plugins/cloud/serializers/account_attrs.py:17
|
||||||
msgid "Access key id"
|
msgid "Access key id"
|
||||||
msgstr "访问密钥 ID(AK)"
|
msgstr "访问密钥 ID(AK)"
|
||||||
|
|
||||||
#: terminal/serializers/storage.py:34
|
#: terminal/serializers/storage.py:34
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:18
|
#: xpack/plugins/cloud/serializers/account_attrs.py:20
|
||||||
msgid "Access key secret"
|
msgid "Access key secret"
|
||||||
msgstr "访问密钥密文(SK)"
|
msgstr "访问密钥密文(SK)"
|
||||||
|
|
||||||
|
@ -5884,11 +5885,11 @@ msgstr "你的 SSH 密钥已经被管理员重置"
|
||||||
msgid "click here to set your password"
|
msgid "click here to set your password"
|
||||||
msgstr "点击这里设置密码"
|
msgstr "点击这里设置密码"
|
||||||
|
|
||||||
#: users/templates/users/forgot_password.html:23
|
#: users/templates/users/forgot_password.html:24
|
||||||
msgid "Input your email, that will send a mail to your"
|
msgid "Input your email, that will send a mail to your"
|
||||||
msgstr "输入您的邮箱, 将会发一封重置邮件到您的邮箱中"
|
msgstr "输入您的邮箱, 将会发一封重置邮件到您的邮箱中"
|
||||||
|
|
||||||
#: users/templates/users/forgot_password.html:32
|
#: users/templates/users/forgot_password.html:33
|
||||||
msgid "Submit"
|
msgid "Submit"
|
||||||
msgstr "提交"
|
msgstr "提交"
|
||||||
|
|
||||||
|
@ -6320,31 +6321,31 @@ msgstr "谷歌云"
|
||||||
msgid "Fusion Compute"
|
msgid "Fusion Compute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:27
|
#: xpack/plugins/cloud/const.py:28
|
||||||
msgid "Instance name"
|
msgid "Instance name"
|
||||||
msgstr "实例名称"
|
msgstr "实例名称"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:28
|
#: xpack/plugins/cloud/const.py:29
|
||||||
msgid "Instance name and Partial IP"
|
msgid "Instance name and Partial IP"
|
||||||
msgstr "实例名称和部分IP"
|
msgstr "实例名称和部分IP"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:33
|
#: xpack/plugins/cloud/const.py:34
|
||||||
msgid "Succeed"
|
msgid "Succeed"
|
||||||
msgstr "成功"
|
msgstr "成功"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:37
|
#: xpack/plugins/cloud/const.py:38
|
||||||
msgid "Unsync"
|
msgid "Unsync"
|
||||||
msgstr "未同步"
|
msgstr "未同步"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:38
|
#: xpack/plugins/cloud/const.py:39
|
||||||
msgid "New Sync"
|
msgid "New Sync"
|
||||||
msgstr "新同步"
|
msgstr "新同步"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:39
|
#: xpack/plugins/cloud/const.py:40
|
||||||
msgid "Synced"
|
msgid "Synced"
|
||||||
msgstr "已同步"
|
msgstr "已同步"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/const.py:40
|
#: xpack/plugins/cloud/const.py:41
|
||||||
msgid "Released"
|
msgid "Released"
|
||||||
msgstr "已释放"
|
msgstr "已释放"
|
||||||
|
|
||||||
|
@ -6614,52 +6615,83 @@ msgstr "华南-广州-友好用户环境"
|
||||||
msgid "CN East-Suqian"
|
msgid "CN East-Suqian"
|
||||||
msgstr "华东-宿迁"
|
msgstr "华东-宿迁"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account.py:61
|
#: xpack/plugins/cloud/serializers/account.py:62
|
||||||
msgid "Validity display"
|
msgid "Validity display"
|
||||||
msgstr "有效性显示"
|
msgstr "有效性显示"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account.py:62
|
#: xpack/plugins/cloud/serializers/account.py:63
|
||||||
msgid "Provider display"
|
msgid "Provider display"
|
||||||
msgstr "服务商显示"
|
msgstr "服务商显示"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:33
|
#: xpack/plugins/cloud/serializers/account_attrs.py:35
|
||||||
msgid "Client ID"
|
msgid "Client ID"
|
||||||
msgstr "客户端 ID"
|
msgstr "客户端 ID"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:39
|
#: xpack/plugins/cloud/serializers/account_attrs.py:41
|
||||||
msgid "Tenant ID"
|
msgid "Tenant ID"
|
||||||
msgstr "租户 ID"
|
msgstr "租户 ID"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:42
|
#: xpack/plugins/cloud/serializers/account_attrs.py:44
|
||||||
msgid "Subscription ID"
|
msgid "Subscription ID"
|
||||||
msgstr "订阅 ID"
|
msgstr "订阅 ID"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:93
|
#: xpack/plugins/cloud/serializers/account_attrs.py:95
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:98
|
#: xpack/plugins/cloud/serializers/account_attrs.py:100
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:122
|
#: xpack/plugins/cloud/serializers/account_attrs.py:124
|
||||||
msgid "API Endpoint"
|
msgid "API Endpoint"
|
||||||
msgstr "API 端点"
|
msgstr "API 端点"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:104
|
#: xpack/plugins/cloud/serializers/account_attrs.py:106
|
||||||
msgid "Auth url"
|
msgid "Auth url"
|
||||||
msgstr "认证地址"
|
msgstr "认证地址"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:105
|
#: xpack/plugins/cloud/serializers/account_attrs.py:107
|
||||||
msgid "eg: http://openstack.example.com:5000/v3"
|
msgid "eg: http://openstack.example.com:5000/v3"
|
||||||
msgstr "如: http://openstack.example.com:5000/v3"
|
msgstr "如: http://openstack.example.com:5000/v3"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:108
|
#: xpack/plugins/cloud/serializers/account_attrs.py:110
|
||||||
msgid "User domain"
|
msgid "User domain"
|
||||||
msgstr "用户域"
|
msgstr "用户域"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:115
|
#: xpack/plugins/cloud/serializers/account_attrs.py:117
|
||||||
msgid "Service account key"
|
msgid "Service account key"
|
||||||
msgstr "服务账号密钥"
|
msgstr "服务账号密钥"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/account_attrs.py:116
|
#: xpack/plugins/cloud/serializers/account_attrs.py:118
|
||||||
msgid "The file is in JSON format"
|
msgid "The file is in JSON format"
|
||||||
msgstr "JSON 格式的文件"
|
msgstr "JSON 格式的文件"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:131
|
||||||
|
msgid "IP address invalid `{}`, {}"
|
||||||
|
msgstr "IP 地址无效: `{}`, {}"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:137
|
||||||
|
msgid ""
|
||||||
|
"Format for comma-delimited string,Such as: 192.168.1.0/24, "
|
||||||
|
"10.0.0.0-10.0.0.255"
|
||||||
|
msgstr "格式为逗号分隔的字符串,如:192.168.1.0/24,10.0.0.0-10.0.0.255"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:141
|
||||||
|
msgid ""
|
||||||
|
"The port is used to detect the validity of the IP address. When the "
|
||||||
|
"synchronization task is executed, only the valid IP address will be "
|
||||||
|
"synchronized. <br>If the port is 0, all IP addresses are valid."
|
||||||
|
msgstr ""
|
||||||
|
"端口用来检测 IP 地址的有效性,在同步任务执行时,只会同步有效的 IP 地址。 <br>"
|
||||||
|
"如果端口为 0,则表示所有 IP 地址均有效。"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:149
|
||||||
|
msgid "Hostname prefix"
|
||||||
|
msgstr "主机名前缀"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:152
|
||||||
|
msgid "IP segment"
|
||||||
|
msgstr "IP 网段"
|
||||||
|
|
||||||
|
#: xpack/plugins/cloud/serializers/account_attrs.py:156
|
||||||
|
msgid "Test port"
|
||||||
|
msgstr "测试端口"
|
||||||
|
|
||||||
#: xpack/plugins/cloud/serializers/task.py:29
|
#: xpack/plugins/cloud/serializers/task.py:29
|
||||||
msgid ""
|
msgid ""
|
||||||
"Only instances matching the IP range will be synced. <br>If the instance "
|
"Only instances matching the IP range will be synced. <br>If the instance "
|
||||||
|
@ -6776,12 +6808,3 @@ msgstr "旗舰版"
|
||||||
#: xpack/plugins/license/models.py:77
|
#: xpack/plugins/license/models.py:77
|
||||||
msgid "Community edition"
|
msgid "Community edition"
|
||||||
msgstr "社区版"
|
msgstr "社区版"
|
||||||
|
|
||||||
#~ msgid "Logo title"
|
|
||||||
#~ msgstr "图标标题"
|
|
||||||
|
|
||||||
#~ msgid "IP is not allowed"
|
|
||||||
#~ msgstr "来源 IP 不被允许登录"
|
|
||||||
|
|
||||||
#~ msgid "User cannot self-update fields: {}"
|
|
||||||
#~ msgstr "用户不能更新自己的字段: {}"
|
|
||||||
|
|
|
@ -139,3 +139,4 @@ ipython==8.4.0
|
||||||
ForgeryPy3==0.3.1
|
ForgeryPy3==0.3.1
|
||||||
django-debug-toolbar==3.5
|
django-debug-toolbar==3.5
|
||||||
Pympler==1.0.1
|
Pympler==1.0.1
|
||||||
|
IPy==1.1
|
Loading…
Reference in New Issue