perf: proxy 添加校验 修改翻译 (#11017)

Co-authored-by: feng <1304903146@qq.com>
pull/11021/head
fit2bot 2023-07-19 17:05:42 +08:00 committed by GitHub
parent b8397e7db9
commit 9e8579d5b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 187 additions and 166 deletions

View File

@ -1,4 +1,5 @@
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
from assets.models import GPT from assets.models import GPT
from .common import AssetSerializer from .common import AssetSerializer
@ -22,3 +23,11 @@ class GPTSerializer(AssetSerializer):
), ),
'label': _('HTTP proxy')} 'label': _('HTTP proxy')}
} }
@staticmethod
def validate_proxy(value):
if value and not value.startswith(("http://", "https://")):
raise serializers.ValidationError(
_('Proxy must start with http:// or https://')
)
return value

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:a4463d66ad3eac6127e435d60759e1a6584f93842d959e6129c9b92d1a68de32 oid sha256:2d100b8957a5be7b3819b1f47bbd0e0f358c4d77112afb2aa8072f034372a412
size 148522 size 148962

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-07-19 09:58+0800\n" "POT-Creation-Date: 2023-07-19 16:59+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"
@ -95,7 +95,7 @@ msgstr "更新"
#: accounts/const/account.py:29 #: accounts/const/account.py:29
#: accounts/serializers/automations/change_secret.py:156 audits/const.py:54 #: accounts/serializers/automations/change_secret.py:156 audits/const.py:54
#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19 #: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19
#: ops/const.py:58 terminal/const.py:77 xpack/plugins/cloud/const.py:41 #: ops/const.py:58 terminal/const.py:77 xpack/plugins/cloud/const.py:43
msgid "Failed" msgid "Failed"
msgstr "失敗しました" msgstr "失敗しました"
@ -200,9 +200,8 @@ msgstr "作成のみ"
#: audits/models.py:53 authentication/models/connection_token.py:36 #: audits/models.py:53 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34 #: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:179 terminal/serializers/command.py:18 #: terminal/notifications.py:155 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:36 #: terminal/templates/terminal/_msg_command_warning.html:4
#: terminal/templates/terminal/_msg_command_warning.html:82
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
msgid "Asset" msgid "Asset"
msgstr "資産" msgstr "資産"
@ -236,8 +235,7 @@ msgstr "ソース ID"
#: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18 #: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39 #: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
#: terminal/backends/command/models.py:19 terminal/models/session/session.py:33 #: terminal/backends/command/models.py:19 terminal/models/session/session.py:33
#: terminal/templates/terminal/_msg_command_warning.html:42 #: terminal/templates/terminal/_msg_command_warning.html:8
#: terminal/templates/terminal/_msg_command_warning.html:83
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
msgid "Account" msgid "Account"
msgstr "アカウント" msgstr "アカウント"
@ -658,10 +656,9 @@ msgstr "ID"
#: perms/serializers/permission.py:30 rbac/builtin.py:123 #: perms/serializers/permission.py:30 rbac/builtin.py:123
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17
#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32 #: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:180 terminal/notifications.py:228 #: terminal/notifications.py:156 terminal/notifications.py:205
#: terminal/serializers/command.py:17 #: terminal/serializers/command.py:17
#: terminal/templates/terminal/_msg_command_warning.html:30 #: terminal/templates/terminal/_msg_command_warning.html:6
#: terminal/templates/terminal/_msg_command_warning.html:81
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947
#: users/models/user.py:978 users/serializers/group.py:18 #: users/models/user.py:978 users/serializers/group.py:18
msgid "User" msgid "User"
@ -669,7 +666,7 @@ msgstr "ユーザー"
#: accounts/serializers/account/account.py:428 #: accounts/serializers/account/account.py:428
#: authentication/templates/authentication/_access_key_modal.html:33 #: authentication/templates/authentication/_access_key_modal.html:33
#: terminal/notifications.py:182 terminal/notifications.py:230 #: terminal/notifications.py:158 terminal/notifications.py:207
msgid "Date" msgid "Date"
msgstr "日付" msgstr "日付"
@ -852,8 +849,7 @@ msgstr "アカウント"
#: terminal/models/session/session.py:42 terminal/serializers/command.py:19 #: terminal/models/session/session.py:42 terminal/serializers/command.py:19
#: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10 #: terminal/templates/terminal/_msg_command_execute_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:48 #: terminal/templates/terminal/_msg_command_warning.html:23
#: terminal/templates/terminal/_msg_command_warning.html:90
msgid "Command" msgid "Command"
msgstr "コマンド" msgstr "コマンド"
@ -877,6 +873,7 @@ msgstr "家を無視する"
#: acls/models/command_acl.py:33 acls/models/command_acl.py:96 #: acls/models/command_acl.py:33 acls/models/command_acl.py:96
#: acls/serializers/command_acl.py:28 #: acls/serializers/command_acl.py:28
#: authentication/serializers/connect_token_secret.py:85 #: authentication/serializers/connect_token_secret.py:85
#: terminal/templates/terminal/_msg_command_warning.html:14
msgid "Command group" msgid "Command group"
msgstr "コマンドグループ" msgstr "コマンドグループ"
@ -885,8 +882,7 @@ msgid "The generated regular expression is incorrect: {}"
msgstr "生成された正規表現が正しくありません: {}" msgstr "生成された正規表現が正しくありません: {}"
#: acls/models/command_acl.py:100 #: acls/models/command_acl.py:100
#: terminal/templates/terminal/_msg_command_warning.html:54 #: terminal/templates/terminal/_msg_command_warning.html:12
#: terminal/templates/terminal/_msg_command_warning.html:92
msgid "Command acl" msgid "Command acl"
msgstr "コマンドフィルタリング" msgstr "コマンドフィルタリング"
@ -983,7 +979,7 @@ msgid "Applications"
msgstr "アプリケーション" msgstr "アプリケーション"
#: applications/models.py:16 xpack/plugins/cloud/models.py:33 #: applications/models.py:16 xpack/plugins/cloud/models.py:33
#: xpack/plugins/cloud/serializers/account.py:62 #: xpack/plugins/cloud/serializers/account.py:63
msgid "Attrs" msgid "Attrs"
msgstr "ツールバーの" msgstr "ツールバーの"
@ -1735,7 +1731,7 @@ msgstr "デフォルト・データベース"
msgid "This field is required." msgid "This field is required."
msgstr "このフィールドは必須です。" msgstr "このフィールドは必須です。"
#: assets/serializers/asset/gpt.py:19 #: assets/serializers/asset/gpt.py:20
msgid "" msgid ""
"If the server cannot directly connect to the API address, you need set up an " "If the server cannot directly connect to the API address, you need set up an "
"HTTP proxy. e.g. http(s)://host:port" "HTTP proxy. e.g. http(s)://host:port"
@ -1743,10 +1739,14 @@ msgstr ""
"サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要" "サーバーが API アドレスに直接接続できない場合は、HTTP プロキシを設定する必要"
"があります。例: http(s)://host:port" "があります。例: http(s)://host:port"
#: assets/serializers/asset/gpt.py:23 #: assets/serializers/asset/gpt.py:24
msgid "HTTP proxy" msgid "HTTP proxy"
msgstr "HTTP プロキシ" msgstr "HTTP プロキシ"
#: assets/serializers/asset/gpt.py:31
msgid "Proxy must start with http:// or https://"
msgstr "エージェントはhttp://またはhttps://で始まる必要があります"
#: assets/serializers/asset/info/gathered.py:6 #: assets/serializers/asset/info/gathered.py:6
msgid "Vendor" msgid "Vendor"
msgstr "ベンダー" msgstr "ベンダー"
@ -1997,8 +1997,7 @@ msgid "Rename dir"
msgstr "マップディレクトリ" msgstr "マップディレクトリ"
#: audits/const.py:23 rbac/tree.py:229 #: audits/const.py:23 rbac/tree.py:229
#: terminal/templates/terminal/_msg_command_warning.html:68 #: terminal/templates/terminal/_msg_command_warning.html:18
#: terminal/templates/terminal/_msg_command_warning.html:96
msgid "View" msgid "View"
msgstr "表示" msgstr "表示"
@ -2082,8 +2081,7 @@ msgstr "書類"
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18 #: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18
#: terminal/models/session/sharing.py:81 #: terminal/models/session/sharing.py:81
#: terminal/templates/terminal/_msg_command_alert.html:10 #: terminal/templates/terminal/_msg_command_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:66 #: terminal/templates/terminal/_msg_command_warning.html:17
#: terminal/templates/terminal/_msg_command_warning.html:95
#: tickets/models/ticket/command_confirm.py:15 #: tickets/models/ticket/command_confirm.py:15
msgid "Session" msgid "Session"
msgstr "セッション" msgstr "セッション"
@ -3032,7 +3030,7 @@ msgid "Copy success"
msgstr "コピー成功" msgstr "コピー成功"
#: authentication/utils.py:28 common/utils/ip/geoip/utils.py:24 #: authentication/utils.py:28 common/utils/ip/geoip/utils.py:24
#: xpack/plugins/cloud/const.py:27 #: xpack/plugins/cloud/const.py:29
msgid "LAN" msgid "LAN"
msgstr "ローカルエリアネットワーク" msgstr "ローカルエリアネットワーク"
@ -3780,7 +3778,7 @@ msgstr "Material"
msgid "Material Type" msgid "Material Type"
msgstr "Material を選択してオプションを設定します。" msgstr "Material を選択してオプションを設定します。"
#: ops/models/job.py:482 #: ops/models/job.py:480
msgid "Job Execution" msgid "Job Execution"
msgstr "ジョブ実行" msgstr "ジョブ実行"
@ -3926,8 +3924,7 @@ msgstr "アプリ組織"
#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89 #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89
#: rbac/const.py:7 rbac/models/rolebinding.py:56 #: rbac/const.py:7 rbac/models/rolebinding.py:56
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63
#: terminal/templates/terminal/_msg_command_warning.html:72 #: terminal/templates/terminal/_msg_command_warning.html:21
#: terminal/templates/terminal/_msg_command_warning.html:98
#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60 #: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60
msgid "Organization" msgid "Organization"
msgstr "組織" msgstr "組織"
@ -5703,7 +5700,7 @@ msgstr "テスト失敗: {}"
msgid "Test successful" msgid "Test successful"
msgstr "テスト成功" msgstr "テスト成功"
#: terminal/api/component/storage.py:124 terminal/notifications.py:263 #: terminal/api/component/storage.py:124 terminal/notifications.py:240
#: terminal/tasks.py:144 #: terminal/tasks.py:144
msgid "Test failure: Account invalid" msgid "Test failure: Account invalid"
msgstr "テスト失敗: アカウントが無効" msgstr "テスト失敗: アカウントが無効"
@ -5741,7 +5738,7 @@ msgid "Output"
msgstr "出力" msgstr "出力"
#: terminal/backends/command/models.py:25 terminal/serializers/command.py:23 #: terminal/backends/command/models.py:25 terminal/serializers/command.py:23
#: terminal/templates/terminal/_msg_command_warning.html:91 #: terminal/templates/terminal/_msg_command_warning.html:10
msgid "Risk level" msgid "Risk level"
msgstr "リスクレベル" msgstr "リスクレベル"
@ -6086,35 +6083,35 @@ msgstr "検証コードが無効"
msgid "You have already joined this session" msgid "You have already joined this session"
msgstr "すでにこのセッションに参加しています" msgstr "すでにこのセッションに参加しています"
#: terminal/notifications.py:24 #: terminal/notifications.py:25
msgid "Sessions" msgid "Sessions"
msgstr "セッション" msgstr "セッション"
#: terminal/notifications.py:71 #: terminal/notifications.py:72
msgid "Command warning" msgid "Command warning"
msgstr "コマンド警告" msgstr "コマンド警告"
#: terminal/notifications.py:154 #: terminal/notifications.py:130
msgid "Command reject" msgid "Command reject"
msgstr "コマンド拒否" msgstr "コマンド拒否"
#: terminal/notifications.py:181 terminal/notifications.py:229 #: terminal/notifications.py:157 terminal/notifications.py:206
msgid "Level" msgid "Level"
msgstr "レベル" msgstr "レベル"
#: terminal/notifications.py:199 #: terminal/notifications.py:175
msgid "Batch danger command alert" msgid "Batch danger command alert"
msgstr "一括危険コマンド警告" msgstr "一括危険コマンド警告"
#: terminal/notifications.py:247 #: terminal/notifications.py:224
msgid "Command and replay storage" msgid "Command and replay storage"
msgstr "コマンド及び録画記憶" msgstr "コマンド及び録画記憶"
#: terminal/notifications.py:248 #: terminal/notifications.py:225
msgid "Connectivity alarm" msgid "Connectivity alarm"
msgstr "接続性アラーム" msgstr "接続性アラーム"
#: terminal/notifications.py:273 #: terminal/notifications.py:250
#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 #: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4
msgid "Invalid storage" msgid "Invalid storage"
msgstr "無効なストレージ" msgstr "無効なストレージ"
@ -6391,14 +6388,6 @@ msgstr "チェックコマンドと録画ストレージの接続性"
msgid "view" msgid "view"
msgstr "表示" msgstr "表示"
#: terminal/templates/terminal/_msg_command_warning.html:18
msgid "Item"
msgstr "アイテム"
#: terminal/templates/terminal/_msg_command_warning.html:22
msgid "Url"
msgstr "リンク"
#: terminal/utils/db_port_mapper.py:84 #: terminal/utils/db_port_mapper.py:84
msgid "" msgid ""
"No available port is matched. The number of databases may have exceeded the " "No available port is matched. The number of databases may have exceeded the "
@ -6693,7 +6682,7 @@ msgid "Apply actions"
msgstr "申請アクション" msgstr "申請アクション"
#: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:15
#: tickets/serializers/ticket/common.py:77 #: tickets/serializers/ticket/common.py:75
msgid "Created by ticket ({}-{})" msgid "Created by ticket ({}-{})"
msgstr "チケットで作成 ({}-{})" msgstr "チケットで作成 ({}-{})"
@ -6701,7 +6690,7 @@ msgstr "チケットで作成 ({}-{})"
msgid "The expiration date should be greater than the start date" msgid "The expiration date should be greater than the start date"
msgstr "有効期限は開始日より大きくする必要があります" msgstr "有効期限は開始日より大きくする必要があります"
#: tickets/serializers/ticket/common.py:84 #: tickets/serializers/ticket/common.py:82
msgid "Permission named `{}` already exists" msgid "Permission named `{}` already exists"
msgstr "'{}'という名前の権限は既に存在します" msgstr "'{}'という名前の権限は既に存在します"
@ -6869,6 +6858,7 @@ msgid "Not a valid ssh public key"
msgstr "有効なssh公開鍵ではありません" msgstr "有効なssh公開鍵ではありません"
#: users/forms/profile.py:173 users/models/user.py:786 #: users/forms/profile.py:173 users/models/user.py:786
#: xpack/plugins/cloud/serializers/account_attrs.py:206
msgid "Public key" msgid "Public key"
msgstr "公開キー" msgstr "公開キー"
@ -6897,6 +6887,7 @@ msgid "OTP secret key"
msgstr "OTP 秘密" msgstr "OTP 秘密"
#: users/models/user.py:783 #: users/models/user.py:783
#: xpack/plugins/cloud/serializers/account_attrs.py:209
msgid "Private key" msgid "Private key"
msgstr "ssh秘密鍵" msgstr "ssh秘密鍵"
@ -7376,70 +7367,74 @@ msgid "Tencent Cloud (Lighthouse)"
msgstr "テンセント雲(軽量アプリケーション)" msgstr "テンセント雲(軽量アプリケーション)"
#: xpack/plugins/cloud/const.py:19 #: xpack/plugins/cloud/const.py:19
msgid "VMware"
msgstr "VMware"
#: xpack/plugins/cloud/const.py:20 xpack/plugins/cloud/providers/nutanix.py:13
msgid "Nutanix"
msgstr "Nutanix"
#: xpack/plugins/cloud/const.py:21
msgid "Huawei Private Cloud"
msgstr "華為私有雲"
#: xpack/plugins/cloud/const.py:22
msgid "Qingyun Private Cloud"
msgstr "青雲私有雲"
#: xpack/plugins/cloud/const.py:23
msgid "CTYun Private Cloud"
msgstr "スカイウィング私有雲"
#: xpack/plugins/cloud/const.py:24
msgid "OpenStack"
msgstr "OpenStack"
#: xpack/plugins/cloud/const.py:25
msgid "Google Cloud Platform" msgid "Google Cloud Platform"
msgstr "谷歌雲" msgstr "谷歌雲"
#: xpack/plugins/cloud/const.py:20
msgid "UCloud"
msgstr "ucloud"
#: xpack/plugins/cloud/const.py:22
msgid "VMware"
msgstr "VMware"
#: xpack/plugins/cloud/const.py:23 xpack/plugins/cloud/providers/nutanix.py:13
msgid "Nutanix"
msgstr "Nutanix"
#: xpack/plugins/cloud/const.py:24
msgid "Huawei Private Cloud"
msgstr "華為私有雲"
#: xpack/plugins/cloud/const.py:25
msgid "Qingyun Private Cloud"
msgstr "青雲私有雲"
#: xpack/plugins/cloud/const.py:26 #: xpack/plugins/cloud/const.py:26
msgid "CTYun Private Cloud"
msgstr "スカイウィング私有雲"
#: xpack/plugins/cloud/const.py:27
msgid "OpenStack"
msgstr "OpenStack"
#: xpack/plugins/cloud/const.py:28
msgid "Fusion Compute" msgid "Fusion Compute"
msgstr "融合計算" msgstr "融合計算"
#: xpack/plugins/cloud/const.py:31 #: xpack/plugins/cloud/const.py:33
msgid "Private IP" msgid "Private IP"
msgstr "プライベートIP" msgstr "プライベートIP"
#: xpack/plugins/cloud/const.py:32 #: xpack/plugins/cloud/const.py:34
msgid "Public IP" msgid "Public IP"
msgstr "パブリックIP" msgstr "パブリックIP"
#: xpack/plugins/cloud/const.py:36 #: xpack/plugins/cloud/const.py:38
msgid "Instance name" msgid "Instance name"
msgstr "インスタンス名" msgstr "インスタンス名"
#: xpack/plugins/cloud/const.py:37 #: xpack/plugins/cloud/const.py:39
msgid "Instance name and Partial IP" msgid "Instance name and Partial IP"
msgstr "インスタンス名と部分IP" msgstr "インスタンス名と部分IP"
#: xpack/plugins/cloud/const.py:42 #: xpack/plugins/cloud/const.py:44
msgid "Succeed" msgid "Succeed"
msgstr "成功" msgstr "成功"
#: xpack/plugins/cloud/const.py:46 #: xpack/plugins/cloud/const.py:48
msgid "Unsync" msgid "Unsync"
msgstr "同期していません" msgstr "同期していません"
#: xpack/plugins/cloud/const.py:47 #: xpack/plugins/cloud/const.py:49
msgid "New Sync" msgid "New Sync"
msgstr "新しい同期" msgstr "新しい同期"
#: xpack/plugins/cloud/const.py:48 #: xpack/plugins/cloud/const.py:50
msgid "Synced" msgid "Synced"
msgstr "同期済み" msgstr "同期済み"
#: xpack/plugins/cloud/const.py:49 #: xpack/plugins/cloud/const.py:51
msgid "Released" msgid "Released"
msgstr "リリース済み" msgstr "リリース済み"
@ -7705,11 +7700,11 @@ msgstr "華南-広州-友好ユーザー環境"
msgid "CN East-Suqian" msgid "CN East-Suqian"
msgstr "華東-宿遷" msgstr "華東-宿遷"
#: xpack/plugins/cloud/serializers/account.py:63 #: xpack/plugins/cloud/serializers/account.py:64
msgid "Validity display" msgid "Validity display"
msgstr "有効表示" msgstr "有効表示"
#: xpack/plugins/cloud/serializers/account.py:64 #: xpack/plugins/cloud/serializers/account.py:65
msgid "Provider display" msgid "Provider display"
msgstr "プロバイダ表示" msgstr "プロバイダ表示"
@ -7729,6 +7724,7 @@ msgstr "サブスクリプションID"
#: xpack/plugins/cloud/serializers/account_attrs.py:103 #: xpack/plugins/cloud/serializers/account_attrs.py:103
#: xpack/plugins/cloud/serializers/account_attrs.py:119 #: xpack/plugins/cloud/serializers/account_attrs.py:119
#: xpack/plugins/cloud/serializers/account_attrs.py:149 #: xpack/plugins/cloud/serializers/account_attrs.py:149
#: xpack/plugins/cloud/serializers/account_attrs.py:202
msgid "API Endpoint" msgid "API Endpoint"
msgstr "APIエンドポイント" msgstr "APIエンドポイント"
@ -7794,6 +7790,10 @@ msgstr "テストポート"
msgid "Test timeout" msgid "Test timeout"
msgstr "テストタイムアウト" msgstr "テストタイムアウト"
#: xpack/plugins/cloud/serializers/account_attrs.py:212
msgid "Project"
msgstr "project"
#: xpack/plugins/cloud/serializers/task.py:28 #: xpack/plugins/cloud/serializers/task.py:28
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 "
@ -7892,5 +7892,11 @@ msgstr "究極のエディション"
msgid "Community edition" msgid "Community edition"
msgstr "コミュニティ版" msgstr "コミュニティ版"
#~ msgid "Item"
#~ msgstr "アイテム"
#~ msgid "Url"
#~ msgstr "リンク"
#~ msgid "Danger command alert" #~ msgid "Danger command alert"
#~ msgstr "危険コマンドアラート" #~ msgstr "危険コマンドアラート"

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:f5261baf86de7c7c1374041d450b51ead282b6f546738c4caffd6b4d4ea22a00 oid sha256:1b88bc1c5216d7cfc2b0a72d889198bcab84ddd40dd3f5a13a5662dfcf8170ee
size 121562 size 121846

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-07-19 10:00+0800\n" "POT-Creation-Date: 2023-07-19 16:59+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"
@ -94,7 +94,7 @@ msgstr "更新"
#: accounts/const/account.py:29 #: accounts/const/account.py:29
#: accounts/serializers/automations/change_secret.py:156 audits/const.py:54 #: accounts/serializers/automations/change_secret.py:156 audits/const.py:54
#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19 #: audits/signal_handlers/activity_log.py:33 common/const/choices.py:19
#: ops/const.py:58 terminal/const.py:77 xpack/plugins/cloud/const.py:41 #: ops/const.py:58 terminal/const.py:77 xpack/plugins/cloud/const.py:43
msgid "Failed" msgid "Failed"
msgstr "失败" msgstr "失败"
@ -199,9 +199,8 @@ msgstr "仅创建"
#: audits/models.py:53 authentication/models/connection_token.py:36 #: audits/models.py:53 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34 #: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31 #: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:179 terminal/serializers/command.py:18 #: terminal/notifications.py:155 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:36 #: terminal/templates/terminal/_msg_command_warning.html:4
#: terminal/templates/terminal/_msg_command_warning.html:82
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
msgid "Asset" msgid "Asset"
msgstr "资产" msgstr "资产"
@ -235,8 +234,7 @@ msgstr "来源 ID"
#: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18 #: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39 #: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
#: terminal/backends/command/models.py:19 terminal/models/session/session.py:33 #: terminal/backends/command/models.py:19 terminal/models/session/session.py:33
#: terminal/templates/terminal/_msg_command_warning.html:42 #: terminal/templates/terminal/_msg_command_warning.html:8
#: terminal/templates/terminal/_msg_command_warning.html:83
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85 #: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
msgid "Account" msgid "Account"
msgstr "账号" msgstr "账号"
@ -654,10 +652,9 @@ msgstr "ID"
#: perms/serializers/permission.py:30 rbac/builtin.py:123 #: perms/serializers/permission.py:30 rbac/builtin.py:123
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17
#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32 #: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:180 terminal/notifications.py:228 #: terminal/notifications.py:156 terminal/notifications.py:205
#: terminal/serializers/command.py:17 #: terminal/serializers/command.py:17
#: terminal/templates/terminal/_msg_command_warning.html:30 #: terminal/templates/terminal/_msg_command_warning.html:6
#: terminal/templates/terminal/_msg_command_warning.html:81
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947 #: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947
#: users/models/user.py:978 users/serializers/group.py:18 #: users/models/user.py:978 users/serializers/group.py:18
msgid "User" msgid "User"
@ -665,7 +662,7 @@ msgstr "用户"
#: accounts/serializers/account/account.py:428 #: accounts/serializers/account/account.py:428
#: authentication/templates/authentication/_access_key_modal.html:33 #: authentication/templates/authentication/_access_key_modal.html:33
#: terminal/notifications.py:182 terminal/notifications.py:230 #: terminal/notifications.py:158 terminal/notifications.py:207
msgid "Date" msgid "Date"
msgstr "日期" msgstr "日期"
@ -848,8 +845,7 @@ msgstr "账号管理"
#: terminal/models/session/session.py:42 terminal/serializers/command.py:19 #: terminal/models/session/session.py:42 terminal/serializers/command.py:19
#: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10 #: terminal/templates/terminal/_msg_command_execute_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:48 #: terminal/templates/terminal/_msg_command_warning.html:23
#: terminal/templates/terminal/_msg_command_warning.html:90
msgid "Command" msgid "Command"
msgstr "命令" msgstr "命令"
@ -873,6 +869,7 @@ msgstr "忽略大小写"
#: acls/models/command_acl.py:33 acls/models/command_acl.py:96 #: acls/models/command_acl.py:33 acls/models/command_acl.py:96
#: acls/serializers/command_acl.py:28 #: acls/serializers/command_acl.py:28
#: authentication/serializers/connect_token_secret.py:85 #: authentication/serializers/connect_token_secret.py:85
#: terminal/templates/terminal/_msg_command_warning.html:14
msgid "Command group" msgid "Command group"
msgstr "命令组" msgstr "命令组"
@ -881,8 +878,7 @@ msgid "The generated regular expression is incorrect: {}"
msgstr "生成的正则表达式有误" msgstr "生成的正则表达式有误"
#: acls/models/command_acl.py:100 #: acls/models/command_acl.py:100
#: terminal/templates/terminal/_msg_command_warning.html:54 #: terminal/templates/terminal/_msg_command_warning.html:12
#: terminal/templates/terminal/_msg_command_warning.html:92
msgid "Command acl" msgid "Command acl"
msgstr "命令过滤" msgstr "命令过滤"
@ -978,7 +974,7 @@ msgid "Applications"
msgstr "应用管理" msgstr "应用管理"
#: applications/models.py:16 xpack/plugins/cloud/models.py:33 #: applications/models.py:16 xpack/plugins/cloud/models.py:33
#: xpack/plugins/cloud/serializers/account.py:62 #: xpack/plugins/cloud/serializers/account.py:63
msgid "Attrs" msgid "Attrs"
msgstr "属性" msgstr "属性"
@ -1726,7 +1722,7 @@ msgstr "默认数据库"
msgid "This field is required." msgid "This field is required."
msgstr "该字段是必填项。" msgstr "该字段是必填项。"
#: assets/serializers/asset/gpt.py:19 #: assets/serializers/asset/gpt.py:20
msgid "" msgid ""
"If the server cannot directly connect to the API address, you need set up an " "If the server cannot directly connect to the API address, you need set up an "
"HTTP proxy. e.g. http(s)://host:port" "HTTP proxy. e.g. http(s)://host:port"
@ -1734,10 +1730,14 @@ msgstr ""
"如果服务器不能直接访问 api 地址,你需要设置一个 HTTP 代理。例如 http(s)://" "如果服务器不能直接访问 api 地址,你需要设置一个 HTTP 代理。例如 http(s)://"
"host:port" "host:port"
#: assets/serializers/asset/gpt.py:23 #: assets/serializers/asset/gpt.py:24
msgid "HTTP proxy" msgid "HTTP proxy"
msgstr "HTTP(s) 代理" msgstr "HTTP(s) 代理"
#: assets/serializers/asset/gpt.py:31
msgid "Proxy must start with http:// or https://"
msgstr "代理必须以 http:// 或 https:// 开头"
#: assets/serializers/asset/info/gathered.py:6 #: assets/serializers/asset/info/gathered.py:6
msgid "Vendor" msgid "Vendor"
msgstr "制造商" msgstr "制造商"
@ -1981,8 +1981,7 @@ msgid "Rename dir"
msgstr "映射目录" msgstr "映射目录"
#: audits/const.py:23 rbac/tree.py:229 #: audits/const.py:23 rbac/tree.py:229
#: terminal/templates/terminal/_msg_command_warning.html:68 #: terminal/templates/terminal/_msg_command_warning.html:18
#: terminal/templates/terminal/_msg_command_warning.html:96
msgid "View" msgid "View"
msgstr "查看" msgstr "查看"
@ -2066,8 +2065,7 @@ msgstr "文件"
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18 #: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18
#: terminal/models/session/sharing.py:81 #: terminal/models/session/sharing.py:81
#: terminal/templates/terminal/_msg_command_alert.html:10 #: terminal/templates/terminal/_msg_command_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:66 #: terminal/templates/terminal/_msg_command_warning.html:17
#: terminal/templates/terminal/_msg_command_warning.html:95
#: tickets/models/ticket/command_confirm.py:15 #: tickets/models/ticket/command_confirm.py:15
msgid "Session" msgid "Session"
msgstr "会话" msgstr "会话"
@ -2992,7 +2990,7 @@ msgid "Copy success"
msgstr "复制成功" msgstr "复制成功"
#: authentication/utils.py:28 common/utils/ip/geoip/utils.py:24 #: authentication/utils.py:28 common/utils/ip/geoip/utils.py:24
#: xpack/plugins/cloud/const.py:27 #: xpack/plugins/cloud/const.py:29
msgid "LAN" msgid "LAN"
msgstr "局域网" msgstr "局域网"
@ -3733,7 +3731,7 @@ msgstr "Material"
msgid "Material Type" msgid "Material Type"
msgstr "Material 类型" msgstr "Material 类型"
#: ops/models/job.py:482 #: ops/models/job.py:480
msgid "Job Execution" msgid "Job Execution"
msgstr "作业执行" msgstr "作业执行"
@ -3878,8 +3876,7 @@ msgstr "组织管理"
#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89 #: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89
#: rbac/const.py:7 rbac/models/rolebinding.py:56 #: rbac/const.py:7 rbac/models/rolebinding.py:56
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63
#: terminal/templates/terminal/_msg_command_warning.html:72 #: terminal/templates/terminal/_msg_command_warning.html:21
#: terminal/templates/terminal/_msg_command_warning.html:98
#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60 #: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60
msgid "Organization" msgid "Organization"
msgstr "组织" msgstr "组织"
@ -5616,7 +5613,7 @@ msgstr "测试失败: {}"
msgid "Test successful" msgid "Test successful"
msgstr "测试成功" msgstr "测试成功"
#: terminal/api/component/storage.py:124 terminal/notifications.py:263 #: terminal/api/component/storage.py:124 terminal/notifications.py:240
#: terminal/tasks.py:144 #: terminal/tasks.py:144
msgid "Test failure: Account invalid" msgid "Test failure: Account invalid"
msgstr "测试失败: 账号无效" msgstr "测试失败: 账号无效"
@ -5654,7 +5651,7 @@ msgid "Output"
msgstr "输出" msgstr "输出"
#: terminal/backends/command/models.py:25 terminal/serializers/command.py:23 #: terminal/backends/command/models.py:25 terminal/serializers/command.py:23
#: terminal/templates/terminal/_msg_command_warning.html:91 #: terminal/templates/terminal/_msg_command_warning.html:10
msgid "Risk level" msgid "Risk level"
msgstr "风险等级" msgstr "风险等级"
@ -5999,35 +5996,35 @@ msgstr "验证码不正确"
msgid "You have already joined this session" msgid "You have already joined this session"
msgstr "您已经加入过此会话" msgstr "您已经加入过此会话"
#: terminal/notifications.py:24 #: terminal/notifications.py:25
msgid "Sessions" msgid "Sessions"
msgstr "会话管理" msgstr "会话管理"
#: terminal/notifications.py:71 #: terminal/notifications.py:72
msgid "Command warning" msgid "Command warning"
msgstr "命令告警" msgstr "命令告警"
#: terminal/notifications.py:154 #: terminal/notifications.py:130
msgid "Command reject" msgid "Command reject"
msgstr "命令拒绝" msgstr "命令拒绝"
#: terminal/notifications.py:181 terminal/notifications.py:229 #: terminal/notifications.py:157 terminal/notifications.py:206
msgid "Level" msgid "Level"
msgstr "级别" msgstr "级别"
#: terminal/notifications.py:199 #: terminal/notifications.py:175
msgid "Batch danger command alert" msgid "Batch danger command alert"
msgstr "批量危险命令告警" msgstr "批量危险命令告警"
#: terminal/notifications.py:247 #: terminal/notifications.py:224
msgid "Command and replay storage" msgid "Command and replay storage"
msgstr "命令及录像存储" msgstr "命令及录像存储"
#: terminal/notifications.py:248 #: terminal/notifications.py:225
msgid "Connectivity alarm" msgid "Connectivity alarm"
msgstr "可连接性告警" msgstr "可连接性告警"
#: terminal/notifications.py:273 #: terminal/notifications.py:250
#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 #: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4
msgid "Invalid storage" msgid "Invalid storage"
msgstr "无效的存储" msgstr "无效的存储"
@ -6299,14 +6296,6 @@ msgstr "检查命令及录像存储可连接性 "
msgid "view" msgid "view"
msgstr "查看" msgstr "查看"
#: terminal/templates/terminal/_msg_command_warning.html:18
msgid "Item"
msgstr "项目"
#: terminal/templates/terminal/_msg_command_warning.html:22
msgid "Url"
msgstr "链接"
#: terminal/utils/db_port_mapper.py:84 #: terminal/utils/db_port_mapper.py:84
msgid "" msgid ""
"No available port is matched. The number of databases may have exceeded the " "No available port is matched. The number of databases may have exceeded the "
@ -6597,7 +6586,7 @@ msgid "Apply actions"
msgstr "申请动作" msgstr "申请动作"
#: tickets/serializers/ticket/common.py:15 #: tickets/serializers/ticket/common.py:15
#: tickets/serializers/ticket/common.py:77 #: tickets/serializers/ticket/common.py:75
msgid "Created by ticket ({}-{})" msgid "Created by ticket ({}-{})"
msgstr "通过工单创建 ({}-{})" msgstr "通过工单创建 ({}-{})"
@ -6605,7 +6594,7 @@ msgstr "通过工单创建 ({}-{})"
msgid "The expiration date should be greater than the start date" msgid "The expiration date should be greater than the start date"
msgstr "过期时间要大于开始时间" msgstr "过期时间要大于开始时间"
#: tickets/serializers/ticket/common.py:84 #: tickets/serializers/ticket/common.py:82
msgid "Permission named `{}` already exists" msgid "Permission named `{}` already exists"
msgstr "授权名称 `{}` 已存在" msgstr "授权名称 `{}` 已存在"
@ -6771,6 +6760,7 @@ msgid "Not a valid ssh public key"
msgstr "SSH密钥不合法" msgstr "SSH密钥不合法"
#: users/forms/profile.py:173 users/models/user.py:786 #: users/forms/profile.py:173 users/models/user.py:786
#: xpack/plugins/cloud/serializers/account_attrs.py:206
msgid "Public key" msgid "Public key"
msgstr "SSH公钥" msgstr "SSH公钥"
@ -6799,6 +6789,7 @@ msgid "OTP secret key"
msgstr "OTP 密钥" msgstr "OTP 密钥"
#: users/models/user.py:783 #: users/models/user.py:783
#: xpack/plugins/cloud/serializers/account_attrs.py:209
msgid "Private key" msgid "Private key"
msgstr "ssh私钥" msgstr "ssh私钥"
@ -7265,70 +7256,74 @@ msgid "Tencent Cloud (Lighthouse)"
msgstr "腾讯云(轻量服务器应用)" msgstr "腾讯云(轻量服务器应用)"
#: xpack/plugins/cloud/const.py:19 #: xpack/plugins/cloud/const.py:19
msgid "VMware"
msgstr "VMware"
#: xpack/plugins/cloud/const.py:20 xpack/plugins/cloud/providers/nutanix.py:13
msgid "Nutanix"
msgstr "Nutanix"
#: xpack/plugins/cloud/const.py:21
msgid "Huawei Private Cloud"
msgstr "华为私有云"
#: xpack/plugins/cloud/const.py:22
msgid "Qingyun Private Cloud"
msgstr "青云私有云"
#: xpack/plugins/cloud/const.py:23
msgid "CTYun Private Cloud"
msgstr "天翼私有云"
#: xpack/plugins/cloud/const.py:24
msgid "OpenStack"
msgstr "OpenStack"
#: xpack/plugins/cloud/const.py:25
msgid "Google Cloud Platform" msgid "Google Cloud Platform"
msgstr "谷歌云" msgstr "谷歌云"
#: xpack/plugins/cloud/const.py:20
msgid "UCloud"
msgstr "ucloud"
#: xpack/plugins/cloud/const.py:22
msgid "VMware"
msgstr "VMware"
#: xpack/plugins/cloud/const.py:23 xpack/plugins/cloud/providers/nutanix.py:13
msgid "Nutanix"
msgstr "Nutanix"
#: xpack/plugins/cloud/const.py:24
msgid "Huawei Private Cloud"
msgstr "华为私有云"
#: xpack/plugins/cloud/const.py:25
msgid "Qingyun Private Cloud"
msgstr "青云私有云"
#: xpack/plugins/cloud/const.py:26 #: xpack/plugins/cloud/const.py:26
msgid "CTYun Private Cloud"
msgstr "天翼私有云"
#: xpack/plugins/cloud/const.py:27
msgid "OpenStack"
msgstr "OpenStack"
#: xpack/plugins/cloud/const.py:28
msgid "Fusion Compute" msgid "Fusion Compute"
msgstr "融合计算" msgstr "融合计算"
#: xpack/plugins/cloud/const.py:31 #: xpack/plugins/cloud/const.py:33
msgid "Private IP" msgid "Private IP"
msgstr "私有IP" msgstr "私有IP"
#: xpack/plugins/cloud/const.py:32 #: xpack/plugins/cloud/const.py:34
msgid "Public IP" msgid "Public IP"
msgstr "公网IP" msgstr "公网IP"
#: xpack/plugins/cloud/const.py:36 #: xpack/plugins/cloud/const.py:38
msgid "Instance name" msgid "Instance name"
msgstr "实例名称" msgstr "实例名称"
#: xpack/plugins/cloud/const.py:37 #: xpack/plugins/cloud/const.py:39
msgid "Instance name and Partial IP" msgid "Instance name and Partial IP"
msgstr "实例名称和部分IP" msgstr "实例名称和部分IP"
#: xpack/plugins/cloud/const.py:42 #: xpack/plugins/cloud/const.py:44
msgid "Succeed" msgid "Succeed"
msgstr "成功" msgstr "成功"
#: xpack/plugins/cloud/const.py:46 #: xpack/plugins/cloud/const.py:48
msgid "Unsync" msgid "Unsync"
msgstr "未同步" msgstr "未同步"
#: xpack/plugins/cloud/const.py:47 #: xpack/plugins/cloud/const.py:49
msgid "New Sync" msgid "New Sync"
msgstr "新同步" msgstr "新同步"
#: xpack/plugins/cloud/const.py:48 #: xpack/plugins/cloud/const.py:50
msgid "Synced" msgid "Synced"
msgstr "已同步" msgstr "已同步"
#: xpack/plugins/cloud/const.py:49 #: xpack/plugins/cloud/const.py:51
msgid "Released" msgid "Released"
msgstr "已释放" msgstr "已释放"
@ -7594,11 +7589,11 @@ msgstr "华南-广州-友好用户环境"
msgid "CN East-Suqian" msgid "CN East-Suqian"
msgstr "华东-宿迁" msgstr "华东-宿迁"
#: xpack/plugins/cloud/serializers/account.py:63 #: xpack/plugins/cloud/serializers/account.py:64
msgid "Validity display" msgid "Validity display"
msgstr "有效性显示" msgstr "有效性显示"
#: xpack/plugins/cloud/serializers/account.py:64 #: xpack/plugins/cloud/serializers/account.py:65
msgid "Provider display" msgid "Provider display"
msgstr "服务商显示" msgstr "服务商显示"
@ -7618,6 +7613,7 @@ msgstr "订阅 ID"
#: xpack/plugins/cloud/serializers/account_attrs.py:103 #: xpack/plugins/cloud/serializers/account_attrs.py:103
#: xpack/plugins/cloud/serializers/account_attrs.py:119 #: xpack/plugins/cloud/serializers/account_attrs.py:119
#: xpack/plugins/cloud/serializers/account_attrs.py:149 #: xpack/plugins/cloud/serializers/account_attrs.py:149
#: xpack/plugins/cloud/serializers/account_attrs.py:202
msgid "API Endpoint" msgid "API Endpoint"
msgstr "API 端点" msgstr "API 端点"
@ -7682,6 +7678,10 @@ msgstr "测试端口"
msgid "Test timeout" msgid "Test timeout"
msgstr "测试超时时间" msgstr "测试超时时间"
#: xpack/plugins/cloud/serializers/account_attrs.py:212
msgid "Project"
msgstr "project"
#: xpack/plugins/cloud/serializers/task.py:28 #: xpack/plugins/cloud/serializers/task.py:28
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 "
@ -7778,5 +7778,11 @@ msgstr "旗舰版"
msgid "Community edition" msgid "Community edition"
msgstr "社区版" msgstr "社区版"
#~ msgid "Item"
#~ msgstr "项目"
#~ msgid "Url"
#~ msgstr "链接"
#~ msgid "Danger command alert" #~ msgid "Danger command alert"
#~ msgstr "危险命令告警" #~ msgstr "危险命令告警"