mirror of https://github.com/jumpserver/jumpserver
parent
1acfdf0398
commit
39e618c127
|
@ -2,15 +2,17 @@
|
|||
#
|
||||
import django_filters
|
||||
from django.db.models import Q
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.utils.translation import gettext as _
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.status import HTTP_200_OK
|
||||
|
||||
from accounts.tasks import push_accounts_to_assets_task, verify_accounts_connectivity_task
|
||||
from assets import serializers
|
||||
from assets.exceptions import NotSupportedTemporarilyError
|
||||
from assets.filters import IpInFilterBackend, LabelFilterBackend, NodeFilterBackend
|
||||
from assets.models import Asset, Gateway
|
||||
from assets.models import Asset, Gateway, Platform
|
||||
from assets.tasks import test_assets_connectivity_manual, update_assets_hardware_info_manual
|
||||
from common.api import SuggestionMixin
|
||||
from common.drf.filters import BaseFilterSet
|
||||
|
@ -18,6 +20,7 @@ from common.utils import get_logger, is_uuid
|
|||
from orgs.mixins import generics
|
||||
from orgs.mixins.api import OrgBulkModelViewSet
|
||||
from ..mixin import NodeFilterMixin
|
||||
from ...notifications import BulkUpdatePlatformSkipAssetUserMsg
|
||||
|
||||
logger = get_logger(__file__)
|
||||
__all__ = [
|
||||
|
@ -109,6 +112,7 @@ class AssetViewSet(SuggestionMixin, NodeFilterMixin, OrgBulkModelViewSet):
|
|||
("info", "assets.view_asset"),
|
||||
)
|
||||
extra_filter_backends = [LabelFilterBackend, IpInFilterBackend, NodeFilterBackend]
|
||||
skip_assets = []
|
||||
|
||||
def get_serializer_class(self):
|
||||
cls = super().get_serializer_class()
|
||||
|
@ -144,6 +148,30 @@ class AssetViewSet(SuggestionMixin, NodeFilterMixin, OrgBulkModelViewSet):
|
|||
return Response({'error': error}, status=400)
|
||||
return super().create(request, *args, **kwargs)
|
||||
|
||||
def filter_bulk_update_data(self):
|
||||
bulk_data = []
|
||||
for data in self.request.data:
|
||||
pk = data.get('id')
|
||||
platform = data.get('platform')
|
||||
if not platform:
|
||||
bulk_data.append(data)
|
||||
continue
|
||||
asset = get_object_or_404(Asset, pk=pk)
|
||||
platform = get_object_or_404(Platform, **platform)
|
||||
if platform.type == asset.type:
|
||||
bulk_data.append(data)
|
||||
continue
|
||||
self.skip_assets.append(asset)
|
||||
return bulk_data
|
||||
def bulk_update(self, request, *args, **kwargs):
|
||||
bulk_data = self.filter_bulk_update_data()
|
||||
request._full_data = bulk_data
|
||||
response = super().bulk_update(request, *args, **kwargs)
|
||||
if response.status_code == HTTP_200_OK and self.skip_assets:
|
||||
user = request.user
|
||||
BulkUpdatePlatformSkipAssetUserMsg(user, self.skip_assets).publish()
|
||||
return response
|
||||
|
||||
|
||||
class AssetsTaskMixin:
|
||||
def perform_assets_task(self, serializer):
|
||||
|
@ -155,7 +183,7 @@ class AssetsTaskMixin:
|
|||
else:
|
||||
asset = assets[0]
|
||||
if not asset.auto_info['ansible_enabled'] or \
|
||||
not asset.auto_info['ping_enabled']:
|
||||
not asset.auto_info['ping_enabled']:
|
||||
raise NotSupportedTemporarilyError()
|
||||
task = test_assets_connectivity_manual(assets)
|
||||
return task
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
from django.utils.translation import ugettext as _
|
||||
|
||||
from notifications.notifications import UserMessage
|
||||
|
||||
|
||||
class BulkUpdatePlatformSkipAssetUserMsg(UserMessage):
|
||||
def __init__(self, user, assets):
|
||||
super().__init__(user)
|
||||
self.assets = assets
|
||||
|
||||
def get_html_msg(self) -> dict:
|
||||
subject = _("Batch update platform in assets, skipping assets that do not meet platform type")
|
||||
message = f'<ol>{"".join([f"<li>{asset}</li>" for asset in self.assets])}</ol>'
|
||||
return {
|
||||
'subject': subject,
|
||||
'message': message
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def gen_test_msg(cls):
|
||||
from users.models import User
|
||||
from assets.models import Asset
|
||||
user = User.objects.first()
|
||||
assets = Asset.objects.all()[:10]
|
||||
return cls(user, assets)
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6fa80b59b9b5f95a9cfcad8ec47eacd519bb962d139ab90463795a7b306a0a72
|
||||
size 137935
|
||||
oid sha256:03f75000def71efcfb08e7c1ee8122f6997b1f82be6cb747b52c33aa8b75a7bf
|
||||
size 138164
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-14 17:34+0800\n"
|
||||
"POT-Creation-Date: 2023-03-19 23:52+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -169,7 +169,7 @@ msgstr "作成のみ"
|
|||
#: assets/models/cmd_filter.py:36 assets/serializers/domain.py:19
|
||||
#: assets/serializers/label.py:27 audits/models.py:48
|
||||
#: authentication/models/connection_token.py:33
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:35
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
|
||||
#: terminal/backends/command/models.py:20 terminal/models/session/session.py:32
|
||||
#: terminal/notifications.py:95 terminal/serializers/command.py:17
|
||||
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
|
||||
|
@ -197,7 +197,7 @@ msgstr "ソース"
|
|||
#: acls/models/base.py:102 acls/serializers/base.py:57
|
||||
#: assets/serializers/asset/common.py:131 assets/serializers/gateway.py:28
|
||||
#: audits/models.py:49 ops/models/base.py:18
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:40
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
|
||||
#: terminal/backends/command/models.py:21 terminal/models/session/session.py:34
|
||||
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
|
||||
msgid "Account"
|
||||
|
@ -447,7 +447,7 @@ msgstr "アカウントの確認"
|
|||
#: assets/models/group.py:20 assets/models/label.py:18
|
||||
#: assets/models/platform.py:21 assets/models/platform.py:76
|
||||
#: assets/serializers/asset/common.py:74 assets/serializers/asset/common.py:151
|
||||
#: assets/serializers/platform.py:133
|
||||
#: assets/serializers/platform.py:132
|
||||
#: authentication/serializers/connect_token_secret.py:103 ops/mixin.py:21
|
||||
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
|
||||
#: ops/models/job.py:91 ops/models/playbook.py:23 ops/serializers/job.py:19
|
||||
|
@ -533,7 +533,7 @@ msgstr "エスクローされたパスワード"
|
|||
#: accounts/serializers/account/account.py:75 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:77
|
||||
#: assets/serializers/asset/common.py:127 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/platform.py:94 assets/serializers/platform.py:134
|
||||
#: assets/serializers/platform.py:93 assets/serializers/platform.py:133
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:35
|
||||
#: tickets/models/ticket/apply_application.py:13
|
||||
msgid "Category"
|
||||
|
@ -544,7 +544,7 @@ msgstr "カテゴリ"
|
|||
#: acls/serializers/command_acl.py:18 applications/models.py:14
|
||||
#: assets/models/_user.py:50 assets/models/automations/base.py:20
|
||||
#: assets/models/cmd_filter.py:74 assets/models/platform.py:78
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/platform.py:93
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/platform.py:92
|
||||
#: audits/serializers.py:48
|
||||
#: authentication/serializers/connect_token_secret.py:116 ops/models/job.py:102
|
||||
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:31
|
||||
|
@ -562,6 +562,30 @@ msgstr "タイプ"
|
|||
msgid "Asset not found"
|
||||
msgstr "資産が存在しません"
|
||||
|
||||
#: accounts/serializers/account/account.py:144 acls/models/base.py:98
|
||||
#: acls/models/login_acl.py:13 acls/serializers/base.py:55
|
||||
#: acls/serializers/login_acl.py:21 assets/models/cmd_filter.py:24
|
||||
#: assets/models/label.py:16 audits/models.py:44 audits/models.py:63
|
||||
#: audits/models.py:141 authentication/models/connection_token.py:29
|
||||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/serializers/permission.py:30 rbac/builtin.py:122
|
||||
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
|
||||
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32
|
||||
#: terminal/notifications.py:96 terminal/notifications.py:144
|
||||
#: terminal/serializers/command.py:16 tickets/models/comment.py:21
|
||||
#: users/const.py:14 users/models/user.py:911 users/models/user.py:942
|
||||
#: users/serializers/group.py:18
|
||||
msgid "User"
|
||||
msgstr "ユーザー"
|
||||
|
||||
#: accounts/serializers/account/account.py:145
|
||||
#: authentication/templates/authentication/_access_key_modal.html:33
|
||||
#: terminal/notifications.py:98 terminal/notifications.py:146
|
||||
msgid "Date"
|
||||
msgstr "日付"
|
||||
|
||||
#: accounts/serializers/account/backup.py:31
|
||||
#: accounts/serializers/automations/base.py:36
|
||||
#: assets/serializers/automations/base.py:34 ops/mixin.py:23 ops/mixin.py:103
|
||||
|
@ -592,7 +616,7 @@ msgid "Key password"
|
|||
msgstr "キーパスワード"
|
||||
|
||||
#: accounts/serializers/account/base.py:81
|
||||
#: assets/serializers/asset/common.py:301
|
||||
#: assets/serializers/asset/common.py:303
|
||||
msgid "Spec info"
|
||||
msgstr "特別情報"
|
||||
|
||||
|
@ -733,24 +757,6 @@ msgstr "レビュー担当者"
|
|||
msgid "Active"
|
||||
msgstr "アクティブ"
|
||||
|
||||
#: acls/models/base.py:98 acls/models/login_acl.py:13
|
||||
#: acls/serializers/base.py:55 acls/serializers/login_acl.py:21
|
||||
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:44
|
||||
#: audits/models.py:63 audits/models.py:141
|
||||
#: authentication/models/connection_token.py:29
|
||||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/serializers/permission.py:31 rbac/builtin.py:122
|
||||
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
|
||||
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32
|
||||
#: terminal/notifications.py:96 terminal/notifications.py:144
|
||||
#: terminal/serializers/command.py:16 tickets/models/comment.py:21
|
||||
#: users/const.py:14 users/models/user.py:911 users/models/user.py:942
|
||||
#: users/serializers/group.py:18
|
||||
msgid "User"
|
||||
msgstr "ユーザー"
|
||||
|
||||
#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60
|
||||
#: ops/serializers/job.py:65 terminal/const.py:67
|
||||
#: terminal/models/session/session.py:43 terminal/serializers/command.py:18
|
||||
|
@ -764,7 +770,7 @@ msgid "Regex"
|
|||
msgstr "正規情報"
|
||||
|
||||
#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79
|
||||
#: settings/serializers/basic.py:10 xpack/plugins/license/models.py:29
|
||||
#: settings/serializers/basic.py:10 xpack/plugins/license/models.py:30
|
||||
msgid "Content"
|
||||
msgstr "コンテンツ"
|
||||
|
||||
|
@ -883,7 +889,7 @@ msgstr ""
|
|||
#: authentication/templates/authentication/_msg_oauth_bind.html:12
|
||||
#: authentication/templates/authentication/_msg_rest_password_success.html:8
|
||||
#: authentication/templates/authentication/_msg_rest_public_key_success.html:8
|
||||
#: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:61
|
||||
#: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:62
|
||||
msgid "IP"
|
||||
msgstr "IP"
|
||||
|
||||
|
@ -908,7 +914,7 @@ msgstr "アプリケーション"
|
|||
msgid "Can match application"
|
||||
msgstr "アプリケーションを一致させることができます"
|
||||
|
||||
#: assets/api/asset/asset.py:143
|
||||
#: assets/api/asset/asset.py:147
|
||||
msgid "Cannot create asset directly, you should create a host or other"
|
||||
msgstr ""
|
||||
"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま"
|
||||
|
@ -1060,7 +1066,7 @@ msgid "Basic"
|
|||
msgstr "基本"
|
||||
|
||||
#: assets/const/web.py:61 assets/models/asset/web.py:13
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:40
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:39
|
||||
msgid "Script"
|
||||
msgstr "脚本"
|
||||
|
||||
|
@ -1196,7 +1202,7 @@ msgstr "アドレス"
|
|||
#: assets/models/asset/common.py:104 assets/models/platform.py:112
|
||||
#: authentication/serializers/connect_token_secret.py:108
|
||||
#: perms/serializers/user_permission.py:24
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:187
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:197
|
||||
msgid "Platform"
|
||||
msgstr "プラットフォーム"
|
||||
|
||||
|
@ -1210,6 +1216,10 @@ msgstr "ドメイン"
|
|||
msgid "Labels"
|
||||
msgstr "ラベル"
|
||||
|
||||
#: assets/models/asset/common.py:111 assets/serializers/asset/host.py:27
|
||||
msgid "Info"
|
||||
msgstr "情報"
|
||||
|
||||
#: assets/models/asset/common.py:283
|
||||
msgid "Can refresh asset hardware info"
|
||||
msgstr "資産ハードウェア情報を更新できます"
|
||||
|
@ -1247,27 +1257,27 @@ msgstr "クライアントキー"
|
|||
msgid "Allow invalid cert"
|
||||
msgstr "証明書チェックを無視"
|
||||
|
||||
#: assets/models/asset/web.py:9 assets/serializers/platform.py:30
|
||||
#: assets/models/asset/web.py:9 assets/serializers/platform.py:29
|
||||
msgid "Autofill"
|
||||
msgstr "自動充填"
|
||||
|
||||
#: assets/models/asset/web.py:10 assets/serializers/asset/common.py:120
|
||||
#: assets/serializers/platform.py:32
|
||||
#: assets/serializers/platform.py:31
|
||||
msgid "Username selector"
|
||||
msgstr "ユーザー名ピッカー"
|
||||
|
||||
#: assets/models/asset/web.py:11 assets/serializers/asset/common.py:121
|
||||
#: assets/serializers/platform.py:35
|
||||
#: assets/serializers/platform.py:34
|
||||
msgid "Password selector"
|
||||
msgstr "パスワードセレクター"
|
||||
|
||||
#: assets/models/asset/web.py:12 assets/serializers/asset/common.py:122
|
||||
#: assets/serializers/platform.py:38
|
||||
#: assets/serializers/platform.py:37
|
||||
msgid "Submit selector"
|
||||
msgstr "ボタンセレクターを確認する"
|
||||
|
||||
#: assets/models/automations/base.py:17 assets/models/cmd_filter.py:38
|
||||
#: assets/serializers/asset/common.py:300 rbac/tree.py:35
|
||||
#: assets/serializers/asset/common.py:302 rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "アカウント"
|
||||
|
||||
|
@ -1307,7 +1317,7 @@ msgid "Date verified"
|
|||
msgstr "確認済みの日付"
|
||||
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:61
|
||||
#: perms/serializers/permission.py:33 users/models/group.py:25
|
||||
#: perms/serializers/permission.py:32 users/models/group.py:25
|
||||
#: users/models/user.py:723
|
||||
msgid "User group"
|
||||
msgstr "ユーザーグループ"
|
||||
|
@ -1396,7 +1406,7 @@ msgstr "フルバリュー"
|
|||
msgid "Parent key"
|
||||
msgstr "親キー"
|
||||
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:36
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:35
|
||||
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96
|
||||
msgid "Node"
|
||||
msgstr "ノード"
|
||||
|
@ -1423,45 +1433,45 @@ msgstr "有効化"
|
|||
msgid "Ansible config"
|
||||
msgstr "Ansible 構成"
|
||||
|
||||
#: assets/models/platform.py:44 assets/serializers/platform.py:61
|
||||
#: assets/models/platform.py:44 assets/serializers/platform.py:60
|
||||
msgid "Ping enabled"
|
||||
msgstr "アセット ディスカバリを有効にする"
|
||||
|
||||
#: assets/models/platform.py:45 assets/serializers/platform.py:62
|
||||
#: assets/models/platform.py:45 assets/serializers/platform.py:61
|
||||
msgid "Ping method"
|
||||
msgstr "資産検出方法"
|
||||
|
||||
#: assets/models/platform.py:46 assets/models/platform.py:59
|
||||
#: assets/serializers/platform.py:63
|
||||
#: assets/serializers/platform.py:62
|
||||
msgid "Gather facts enabled"
|
||||
msgstr "資産情報の収集を有効にする"
|
||||
|
||||
#: assets/models/platform.py:47 assets/models/platform.py:61
|
||||
#: assets/serializers/platform.py:64
|
||||
#: assets/serializers/platform.py:63
|
||||
msgid "Gather facts method"
|
||||
msgstr "情報収集の方法"
|
||||
|
||||
#: assets/models/platform.py:48 assets/serializers/platform.py:67
|
||||
#: assets/models/platform.py:48 assets/serializers/platform.py:66
|
||||
msgid "Change secret enabled"
|
||||
msgstr "パスワードの変更が有効"
|
||||
|
||||
#: assets/models/platform.py:50 assets/serializers/platform.py:68
|
||||
#: assets/models/platform.py:50 assets/serializers/platform.py:67
|
||||
msgid "Change secret method"
|
||||
msgstr "パスワード変更モード"
|
||||
|
||||
#: assets/models/platform.py:52 assets/serializers/platform.py:69
|
||||
#: assets/models/platform.py:52 assets/serializers/platform.py:68
|
||||
msgid "Push account enabled"
|
||||
msgstr "アカウントのプッシュを有効にする"
|
||||
|
||||
#: assets/models/platform.py:54 assets/serializers/platform.py:70
|
||||
#: assets/models/platform.py:54 assets/serializers/platform.py:69
|
||||
msgid "Push account method"
|
||||
msgstr "アカウントプッシュ方式"
|
||||
|
||||
#: assets/models/platform.py:56 assets/serializers/platform.py:65
|
||||
#: assets/models/platform.py:56 assets/serializers/platform.py:64
|
||||
msgid "Verify account enabled"
|
||||
msgstr "アカウントの確認をオンにする"
|
||||
|
||||
#: assets/models/platform.py:58 assets/serializers/platform.py:66
|
||||
#: assets/models/platform.py:58 assets/serializers/platform.py:65
|
||||
msgid "Verify account method"
|
||||
msgstr "アカウント認証方法"
|
||||
|
||||
|
@ -1473,23 +1483,23 @@ msgstr "メタ"
|
|||
msgid "Internal"
|
||||
msgstr "ビルトイン"
|
||||
|
||||
#: assets/models/platform.py:83 assets/serializers/platform.py:91
|
||||
#: assets/models/platform.py:83 assets/serializers/platform.py:90
|
||||
msgid "Charset"
|
||||
msgstr "シャーセット"
|
||||
|
||||
#: assets/models/platform.py:85 assets/serializers/platform.py:119
|
||||
#: assets/models/platform.py:85 assets/serializers/platform.py:118
|
||||
msgid "Domain enabled"
|
||||
msgstr "ドメインを有効にする"
|
||||
|
||||
#: assets/models/platform.py:87 assets/serializers/platform.py:118
|
||||
#: assets/models/platform.py:87 assets/serializers/platform.py:117
|
||||
msgid "Su enabled"
|
||||
msgstr "アカウントの切り替えを有効にする"
|
||||
|
||||
#: assets/models/platform.py:88 assets/serializers/platform.py:101
|
||||
#: assets/models/platform.py:88 assets/serializers/platform.py:100
|
||||
msgid "Su method"
|
||||
msgstr "アカウントの切り替え方法"
|
||||
|
||||
#: assets/models/platform.py:90 assets/serializers/platform.py:98
|
||||
#: assets/models/platform.py:90 assets/serializers/platform.py:97
|
||||
msgid "Automation"
|
||||
msgstr "オートメーション"
|
||||
|
||||
|
@ -1498,11 +1508,19 @@ msgstr "オートメーション"
|
|||
msgid "%(value)s is not an even number"
|
||||
msgstr "%(value)s は偶数ではありません"
|
||||
|
||||
#: assets/notifications.py:12
|
||||
msgid ""
|
||||
"Batch update platform in assets, skipping assets that do not meet platform "
|
||||
"type"
|
||||
msgstr ""
|
||||
"プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ"
|
||||
"ラットフォーム"
|
||||
|
||||
#: assets/serializers/asset/common.py:119
|
||||
msgid "Auto fill"
|
||||
msgstr "自動充填"
|
||||
|
||||
#: assets/serializers/asset/common.py:130 assets/serializers/platform.py:96
|
||||
#: assets/serializers/asset/common.py:130 assets/serializers/platform.py:95
|
||||
#: authentication/serializers/connect_token_secret.py:28
|
||||
#: authentication/serializers/connect_token_secret.py:66
|
||||
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99
|
||||
|
@ -1515,19 +1533,19 @@ msgid "Node path"
|
|||
msgstr "ノードパスです"
|
||||
|
||||
#: assets/serializers/asset/common.py:150
|
||||
#: assets/serializers/asset/common.py:302
|
||||
#: assets/serializers/asset/common.py:304
|
||||
msgid "Auto info"
|
||||
msgstr "自動情報"
|
||||
|
||||
#: assets/serializers/asset/common.py:226
|
||||
#: assets/serializers/asset/common.py:228
|
||||
msgid "Platform not exist"
|
||||
msgstr "プラットフォームが存在しません"
|
||||
|
||||
#: assets/serializers/asset/common.py:261
|
||||
#: assets/serializers/asset/common.py:263
|
||||
msgid "port out of range (1-65535)"
|
||||
msgstr "ポート番号が範囲外です (1-65535)"
|
||||
|
||||
#: assets/serializers/asset/common.py:268
|
||||
#: assets/serializers/asset/common.py:270
|
||||
msgid "Protocol is required: {}"
|
||||
msgstr "プロトコルが必要です: {}"
|
||||
|
||||
|
@ -1588,10 +1606,6 @@ msgstr "システムバージョン"
|
|||
msgid "OS arch"
|
||||
msgstr "システムアーキテクチャ"
|
||||
|
||||
#: assets/serializers/asset/host.py:27
|
||||
msgid "Info"
|
||||
msgstr "情報"
|
||||
|
||||
#: assets/serializers/cagegory.py:9
|
||||
msgid "Constraints"
|
||||
msgstr "制約"
|
||||
|
@ -1620,31 +1634,31 @@ msgstr "含まれない:/"
|
|||
msgid "The same level node name cannot be the same"
|
||||
msgstr "同じレベルのノード名を同じにすることはできません。"
|
||||
|
||||
#: assets/serializers/platform.py:26
|
||||
#: assets/serializers/platform.py:25
|
||||
msgid "SFTP enabled"
|
||||
msgstr "SFTP が有効"
|
||||
|
||||
#: assets/serializers/platform.py:27
|
||||
#: assets/serializers/platform.py:26
|
||||
msgid "SFTP home"
|
||||
msgstr "SFTP ルート パス"
|
||||
|
||||
#: assets/serializers/platform.py:43
|
||||
#: assets/serializers/platform.py:42
|
||||
msgid "Auth with username"
|
||||
msgstr "ユーザー名で認証する"
|
||||
|
||||
#: assets/serializers/platform.py:71
|
||||
#: assets/serializers/platform.py:70
|
||||
msgid "Gather accounts enabled"
|
||||
msgstr "アカウント収集を有効にする"
|
||||
|
||||
#: assets/serializers/platform.py:72
|
||||
#: assets/serializers/platform.py:71
|
||||
msgid "Gather accounts method"
|
||||
msgstr "アカウントの収集方法"
|
||||
|
||||
#: assets/serializers/platform.py:78
|
||||
#: assets/serializers/platform.py:77
|
||||
msgid "Primary"
|
||||
msgstr "主要"
|
||||
|
||||
#: assets/serializers/platform.py:120
|
||||
#: assets/serializers/platform.py:119
|
||||
msgid "Default Domain"
|
||||
msgstr "デフォルト ドメイン"
|
||||
|
||||
|
@ -2494,15 +2508,15 @@ msgid "Ticket info"
|
|||
msgstr "作業指示情報"
|
||||
|
||||
#: authentication/serializers/connection_token.py:20
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:70
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:36
|
||||
#: perms/serializers/permission.py:69
|
||||
#: tickets/models/ticket/apply_application.py:28
|
||||
#: tickets/models/ticket/apply_asset.py:18
|
||||
msgid "Actions"
|
||||
msgstr "アクション"
|
||||
|
||||
#: authentication/serializers/connection_token.py:41
|
||||
#: perms/serializers/permission.py:39 perms/serializers/permission.py:71
|
||||
#: perms/serializers/permission.py:38 perms/serializers/permission.py:70
|
||||
#: users/serializers/user.py:93 users/serializers/user.py:165
|
||||
msgid "Is expired"
|
||||
msgstr "期限切れです"
|
||||
|
@ -2522,8 +2536,8 @@ msgstr "メール"
|
|||
msgid "The {} cannot be empty"
|
||||
msgstr "{} 空にしてはならない"
|
||||
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:38
|
||||
#: perms/serializers/permission.py:72 users/serializers/user.py:94
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:71 users/serializers/user.py:94
|
||||
#: users/serializers/user.py:163
|
||||
msgid "Is valid"
|
||||
msgstr "有効です"
|
||||
|
@ -2544,11 +2558,6 @@ msgstr "APIキー記号APIヘッダーを使用すると、すべてのリクエ
|
|||
msgid "docs"
|
||||
msgstr "ドキュメント"
|
||||
|
||||
#: authentication/templates/authentication/_access_key_modal.html:33
|
||||
#: terminal/notifications.py:98 terminal/notifications.py:146
|
||||
msgid "Date"
|
||||
msgstr "日付"
|
||||
|
||||
#: authentication/templates/authentication/_access_key_modal.html:48
|
||||
msgid "Show"
|
||||
msgstr "表示"
|
||||
|
@ -2991,7 +3000,7 @@ msgstr "組織 ID"
|
|||
msgid "The file content overflowed (The maximum length `{}` bytes)"
|
||||
msgstr "ファイルの内容がオーバーフローしました (最大長 '{}' バイト)"
|
||||
|
||||
#: common/drf/parsers/base.py:189
|
||||
#: common/drf/parsers/base.py:193
|
||||
msgid "Parse file error: {}"
|
||||
msgstr "解析ファイルエラー: {}"
|
||||
|
||||
|
@ -3242,11 +3251,11 @@ msgstr "投稿サイトニュース"
|
|||
msgid "No account available"
|
||||
msgstr "利用可能なアカウントがありません"
|
||||
|
||||
#: ops/ansible/inventory.py:189
|
||||
#: ops/ansible/inventory.py:196
|
||||
msgid "Ansible disabled"
|
||||
msgstr "Ansible 無効"
|
||||
|
||||
#: ops/ansible/inventory.py:205
|
||||
#: ops/ansible/inventory.py:212
|
||||
msgid "Skip hosts below:"
|
||||
msgstr "次のホストをスキップします: "
|
||||
|
||||
|
@ -4443,7 +4452,7 @@ msgid "SSO auth key TTL"
|
|||
msgstr "Token有効期間"
|
||||
|
||||
#: settings/serializers/auth/sso.py:17
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:184
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:194
|
||||
msgid "Unit: second"
|
||||
msgstr "単位: 秒"
|
||||
|
||||
|
@ -5547,7 +5556,7 @@ msgid "Redis port"
|
|||
msgstr "Redis ポート"
|
||||
|
||||
#: terminal/models/component/endpoint.py:29
|
||||
#: terminal/models/component/endpoint.py:98 terminal/serializers/endpoint.py:64
|
||||
#: terminal/models/component/endpoint.py:98 terminal/serializers/endpoint.py:66
|
||||
#: terminal/serializers/storage.py:38 terminal/serializers/storage.py:50
|
||||
#: terminal/serializers/storage.py:80 terminal/serializers/storage.py:90
|
||||
#: terminal/serializers/storage.py:98
|
||||
|
@ -5811,15 +5820,15 @@ msgstr "アカウント"
|
|||
msgid "Timestamp"
|
||||
msgstr "タイムスタンプ"
|
||||
|
||||
#: terminal/serializers/endpoint.py:14
|
||||
#: terminal/serializers/endpoint.py:15
|
||||
msgid "Oracle port"
|
||||
msgstr "Oracle ポート"
|
||||
|
||||
#: terminal/serializers/endpoint.py:17
|
||||
#: terminal/serializers/endpoint.py:18
|
||||
msgid "Oracle port range"
|
||||
msgstr "Oracle がリッスンするポート範囲"
|
||||
|
||||
#: terminal/serializers/endpoint.py:19
|
||||
#: terminal/serializers/endpoint.py:20
|
||||
msgid ""
|
||||
"Oracle proxy server listen port is dynamic, Each additional Oracle database "
|
||||
"instance adds a port listener"
|
||||
|
@ -5827,13 +5836,13 @@ msgstr ""
|
|||
"Oracle プロキシサーバーがリッスンするポートは動的です。追加の Oracle データ"
|
||||
"ベースインスタンスはポートリスナーを追加します"
|
||||
|
||||
#: terminal/serializers/endpoint.py:35
|
||||
#: terminal/serializers/endpoint.py:36
|
||||
msgid "Visit IP/Host, if empty, use the current request instead"
|
||||
msgstr ""
|
||||
"IP/ホストにアクセスします。空の場合は、代わりに現在のリクエストのアドレスを使"
|
||||
"用します"
|
||||
|
||||
#: terminal/serializers/endpoint.py:58
|
||||
#: terminal/serializers/endpoint.py:59
|
||||
msgid ""
|
||||
"If asset IP addresses under different endpoints conflict, use asset labels"
|
||||
msgstr ""
|
||||
|
@ -7320,13 +7329,13 @@ msgstr "ファイルはJSON形式です。"
|
|||
msgid "IP address invalid `{}`, {}"
|
||||
msgstr "IPアドレスが無効: '{}', {}"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:162
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:172
|
||||
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:166
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:176
|
||||
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 "
|
||||
|
@ -7336,19 +7345,19 @@ msgstr ""
|
|||
"実行されると、有効な IP アドレスのみが同期されます。 <br>ポートが0の場合、す"
|
||||
"べてのIPアドレスが有効です。"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:174
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:184
|
||||
msgid "Hostname prefix"
|
||||
msgstr "ホスト名プレフィックス"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:177
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:187
|
||||
msgid "IP segment"
|
||||
msgstr "IP セグメント"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:181
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:191
|
||||
msgid "Test port"
|
||||
msgstr "テストポート"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:184
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:194
|
||||
msgid "Test timeout"
|
||||
msgstr "テストタイムアウト"
|
||||
|
||||
|
@ -7430,22 +7439,22 @@ msgstr "ライセンスのインポートに成功"
|
|||
msgid "License is invalid"
|
||||
msgstr "ライセンスが無効です"
|
||||
|
||||
#: xpack/plugins/license/meta.py:11 xpack/plugins/license/models.py:135
|
||||
#: xpack/plugins/license/meta.py:11 xpack/plugins/license/models.py:138
|
||||
msgid "License"
|
||||
msgstr "ライセンス"
|
||||
|
||||
#: xpack/plugins/license/models.py:79
|
||||
#: xpack/plugins/license/models.py:80
|
||||
msgid "Standard edition"
|
||||
msgstr "標準版"
|
||||
|
||||
#: xpack/plugins/license/models.py:81
|
||||
#: xpack/plugins/license/models.py:82
|
||||
msgid "Enterprise edition"
|
||||
msgstr "エンタープライズ版"
|
||||
|
||||
#: xpack/plugins/license/models.py:83
|
||||
#: xpack/plugins/license/models.py:84
|
||||
msgid "Ultimate edition"
|
||||
msgstr "究極のエディション"
|
||||
|
||||
#: xpack/plugins/license/models.py:85
|
||||
#: xpack/plugins/license/models.py:86
|
||||
msgid "Community edition"
|
||||
msgstr "コミュニティ版"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9819889a6d8b2934b06c5b242e3f63f404997f30851919247a405f542e8a03bc
|
||||
size 113244
|
||||
oid sha256:fffd0032a105eb0c991f4eed7aca4fb344d9e8ab834f7fd2451b164532f198d7
|
||||
size 113407
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: JumpServer 0.3.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-03-14 17:34+0800\n"
|
||||
"POT-Creation-Date: 2023-03-19 23:52+0800\n"
|
||||
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
|
||||
"Last-Translator: ibuler <ibuler@qq.com>\n"
|
||||
"Language-Team: JumpServer team<ibuler@qq.com>\n"
|
||||
|
@ -168,7 +168,7 @@ msgstr "仅创建"
|
|||
#: assets/models/cmd_filter.py:36 assets/serializers/domain.py:19
|
||||
#: assets/serializers/label.py:27 audits/models.py:48
|
||||
#: authentication/models/connection_token.py:33
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:35
|
||||
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
|
||||
#: terminal/backends/command/models.py:20 terminal/models/session/session.py:32
|
||||
#: terminal/notifications.py:95 terminal/serializers/command.py:17
|
||||
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
|
||||
|
@ -196,7 +196,7 @@ msgstr "来源"
|
|||
#: acls/models/base.py:102 acls/serializers/base.py:57
|
||||
#: assets/serializers/asset/common.py:131 assets/serializers/gateway.py:28
|
||||
#: audits/models.py:49 ops/models/base.py:18
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:40
|
||||
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
|
||||
#: terminal/backends/command/models.py:21 terminal/models/session/session.py:34
|
||||
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
|
||||
msgid "Account"
|
||||
|
@ -446,7 +446,7 @@ msgstr "账号验证"
|
|||
#: assets/models/group.py:20 assets/models/label.py:18
|
||||
#: assets/models/platform.py:21 assets/models/platform.py:76
|
||||
#: assets/serializers/asset/common.py:74 assets/serializers/asset/common.py:151
|
||||
#: assets/serializers/platform.py:133
|
||||
#: assets/serializers/platform.py:132
|
||||
#: authentication/serializers/connect_token_secret.py:103 ops/mixin.py:21
|
||||
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
|
||||
#: ops/models/job.py:91 ops/models/playbook.py:23 ops/serializers/job.py:19
|
||||
|
@ -529,7 +529,7 @@ msgstr "已托管密码"
|
|||
#: accounts/serializers/account/account.py:75 applications/models.py:11
|
||||
#: assets/models/label.py:21 assets/models/platform.py:77
|
||||
#: assets/serializers/asset/common.py:127 assets/serializers/cagegory.py:8
|
||||
#: assets/serializers/platform.py:94 assets/serializers/platform.py:134
|
||||
#: assets/serializers/platform.py:93 assets/serializers/platform.py:133
|
||||
#: perms/serializers/user_permission.py:26 settings/models.py:35
|
||||
#: tickets/models/ticket/apply_application.py:13
|
||||
msgid "Category"
|
||||
|
@ -540,7 +540,7 @@ msgstr "类别"
|
|||
#: acls/serializers/command_acl.py:18 applications/models.py:14
|
||||
#: assets/models/_user.py:50 assets/models/automations/base.py:20
|
||||
#: assets/models/cmd_filter.py:74 assets/models/platform.py:78
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/platform.py:93
|
||||
#: assets/serializers/asset/common.py:128 assets/serializers/platform.py:92
|
||||
#: audits/serializers.py:48
|
||||
#: authentication/serializers/connect_token_secret.py:116 ops/models/job.py:102
|
||||
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:31
|
||||
|
@ -558,6 +558,30 @@ msgstr "类型"
|
|||
msgid "Asset not found"
|
||||
msgstr "资产不存在"
|
||||
|
||||
#: accounts/serializers/account/account.py:144 acls/models/base.py:98
|
||||
#: acls/models/login_acl.py:13 acls/serializers/base.py:55
|
||||
#: acls/serializers/login_acl.py:21 assets/models/cmd_filter.py:24
|
||||
#: assets/models/label.py:16 audits/models.py:44 audits/models.py:63
|
||||
#: audits/models.py:141 authentication/models/connection_token.py:29
|
||||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/serializers/permission.py:30 rbac/builtin.py:122
|
||||
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
|
||||
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32
|
||||
#: terminal/notifications.py:96 terminal/notifications.py:144
|
||||
#: terminal/serializers/command.py:16 tickets/models/comment.py:21
|
||||
#: users/const.py:14 users/models/user.py:911 users/models/user.py:942
|
||||
#: users/serializers/group.py:18
|
||||
msgid "User"
|
||||
msgstr "用户"
|
||||
|
||||
#: accounts/serializers/account/account.py:145
|
||||
#: authentication/templates/authentication/_access_key_modal.html:33
|
||||
#: terminal/notifications.py:98 terminal/notifications.py:146
|
||||
msgid "Date"
|
||||
msgstr "日期"
|
||||
|
||||
#: accounts/serializers/account/backup.py:31
|
||||
#: accounts/serializers/automations/base.py:36
|
||||
#: assets/serializers/automations/base.py:34 ops/mixin.py:23 ops/mixin.py:103
|
||||
|
@ -588,7 +612,7 @@ msgid "Key password"
|
|||
msgstr "密钥密码"
|
||||
|
||||
#: accounts/serializers/account/base.py:81
|
||||
#: assets/serializers/asset/common.py:301
|
||||
#: assets/serializers/asset/common.py:303
|
||||
msgid "Spec info"
|
||||
msgstr "特殊信息"
|
||||
|
||||
|
@ -729,24 +753,6 @@ msgstr "审批人"
|
|||
msgid "Active"
|
||||
msgstr "激活中"
|
||||
|
||||
#: acls/models/base.py:98 acls/models/login_acl.py:13
|
||||
#: acls/serializers/base.py:55 acls/serializers/login_acl.py:21
|
||||
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:44
|
||||
#: audits/models.py:63 audits/models.py:141
|
||||
#: authentication/models/connection_token.py:29
|
||||
#: authentication/models/sso_token.py:16
|
||||
#: notifications/models/notification.py:12
|
||||
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
|
||||
#: perms/serializers/permission.py:31 rbac/builtin.py:122
|
||||
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
|
||||
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32
|
||||
#: terminal/notifications.py:96 terminal/notifications.py:144
|
||||
#: terminal/serializers/command.py:16 tickets/models/comment.py:21
|
||||
#: users/const.py:14 users/models/user.py:911 users/models/user.py:942
|
||||
#: users/serializers/group.py:18
|
||||
msgid "User"
|
||||
msgstr "用户"
|
||||
|
||||
#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60
|
||||
#: ops/serializers/job.py:65 terminal/const.py:67
|
||||
#: terminal/models/session/session.py:43 terminal/serializers/command.py:18
|
||||
|
@ -760,7 +766,7 @@ msgid "Regex"
|
|||
msgstr "正则表达式"
|
||||
|
||||
#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79
|
||||
#: settings/serializers/basic.py:10 xpack/plugins/license/models.py:29
|
||||
#: settings/serializers/basic.py:10 xpack/plugins/license/models.py:30
|
||||
msgid "Content"
|
||||
msgstr "内容"
|
||||
|
||||
|
@ -877,7 +883,7 @@ msgstr ""
|
|||
#: authentication/templates/authentication/_msg_oauth_bind.html:12
|
||||
#: authentication/templates/authentication/_msg_rest_password_success.html:8
|
||||
#: authentication/templates/authentication/_msg_rest_public_key_success.html:8
|
||||
#: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:61
|
||||
#: settings/serializers/terminal.py:10 terminal/serializers/endpoint.py:62
|
||||
msgid "IP"
|
||||
msgstr "IP"
|
||||
|
||||
|
@ -902,7 +908,7 @@ msgstr "应用程序"
|
|||
msgid "Can match application"
|
||||
msgstr "匹配应用"
|
||||
|
||||
#: assets/api/asset/asset.py:143
|
||||
#: assets/api/asset/asset.py:147
|
||||
msgid "Cannot create asset directly, you should create a host or other"
|
||||
msgstr "不能直接创建资产, 你应该创建主机或其他资产"
|
||||
|
||||
|
@ -1052,7 +1058,7 @@ msgid "Basic"
|
|||
msgstr "基本"
|
||||
|
||||
#: assets/const/web.py:61 assets/models/asset/web.py:13
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:40
|
||||
#: assets/serializers/asset/common.py:123 assets/serializers/platform.py:39
|
||||
msgid "Script"
|
||||
msgstr "脚本"
|
||||
|
||||
|
@ -1188,7 +1194,7 @@ msgstr "地址"
|
|||
#: assets/models/asset/common.py:104 assets/models/platform.py:112
|
||||
#: authentication/serializers/connect_token_secret.py:108
|
||||
#: perms/serializers/user_permission.py:24
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:187
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:197
|
||||
msgid "Platform"
|
||||
msgstr "系统平台"
|
||||
|
||||
|
@ -1202,6 +1208,10 @@ msgstr "网域"
|
|||
msgid "Labels"
|
||||
msgstr "标签管理"
|
||||
|
||||
#: assets/models/asset/common.py:111 assets/serializers/asset/host.py:27
|
||||
msgid "Info"
|
||||
msgstr "信息"
|
||||
|
||||
#: assets/models/asset/common.py:283
|
||||
msgid "Can refresh asset hardware info"
|
||||
msgstr "可以更新资产硬件信息"
|
||||
|
@ -1239,27 +1249,27 @@ msgstr "客户端密钥"
|
|||
msgid "Allow invalid cert"
|
||||
msgstr "忽略证书校验"
|
||||
|
||||
#: assets/models/asset/web.py:9 assets/serializers/platform.py:30
|
||||
#: assets/models/asset/web.py:9 assets/serializers/platform.py:29
|
||||
msgid "Autofill"
|
||||
msgstr "自动代填"
|
||||
|
||||
#: assets/models/asset/web.py:10 assets/serializers/asset/common.py:120
|
||||
#: assets/serializers/platform.py:32
|
||||
#: assets/serializers/platform.py:31
|
||||
msgid "Username selector"
|
||||
msgstr "用户名选择器"
|
||||
|
||||
#: assets/models/asset/web.py:11 assets/serializers/asset/common.py:121
|
||||
#: assets/serializers/platform.py:35
|
||||
#: assets/serializers/platform.py:34
|
||||
msgid "Password selector"
|
||||
msgstr "密码选择器"
|
||||
|
||||
#: assets/models/asset/web.py:12 assets/serializers/asset/common.py:122
|
||||
#: assets/serializers/platform.py:38
|
||||
#: assets/serializers/platform.py:37
|
||||
msgid "Submit selector"
|
||||
msgstr "确认按钮选择器"
|
||||
|
||||
#: assets/models/automations/base.py:17 assets/models/cmd_filter.py:38
|
||||
#: assets/serializers/asset/common.py:300 rbac/tree.py:35
|
||||
#: assets/serializers/asset/common.py:302 rbac/tree.py:35
|
||||
msgid "Accounts"
|
||||
msgstr "账号管理"
|
||||
|
||||
|
@ -1299,7 +1309,7 @@ msgid "Date verified"
|
|||
msgstr "校验日期"
|
||||
|
||||
#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:61
|
||||
#: perms/serializers/permission.py:33 users/models/group.py:25
|
||||
#: perms/serializers/permission.py:32 users/models/group.py:25
|
||||
#: users/models/user.py:723
|
||||
msgid "User group"
|
||||
msgstr "用户组"
|
||||
|
@ -1388,7 +1398,7 @@ msgstr "全称"
|
|||
msgid "Parent key"
|
||||
msgstr "ssh私钥"
|
||||
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:36
|
||||
#: assets/models/node.py:558 perms/serializers/permission.py:35
|
||||
#: tickets/models/ticket/apply_asset.py:14 xpack/plugins/cloud/models.py:96
|
||||
msgid "Node"
|
||||
msgstr "节点"
|
||||
|
@ -1415,45 +1425,45 @@ msgstr "启用"
|
|||
msgid "Ansible config"
|
||||
msgstr "Ansible 配置"
|
||||
|
||||
#: assets/models/platform.py:44 assets/serializers/platform.py:61
|
||||
#: assets/models/platform.py:44 assets/serializers/platform.py:60
|
||||
msgid "Ping enabled"
|
||||
msgstr "启用资产探活"
|
||||
|
||||
#: assets/models/platform.py:45 assets/serializers/platform.py:62
|
||||
#: assets/models/platform.py:45 assets/serializers/platform.py:61
|
||||
msgid "Ping method"
|
||||
msgstr "资产探活方式"
|
||||
|
||||
#: assets/models/platform.py:46 assets/models/platform.py:59
|
||||
#: assets/serializers/platform.py:63
|
||||
#: assets/serializers/platform.py:62
|
||||
msgid "Gather facts enabled"
|
||||
msgstr "启用收集资产信息"
|
||||
|
||||
#: assets/models/platform.py:47 assets/models/platform.py:61
|
||||
#: assets/serializers/platform.py:64
|
||||
#: assets/serializers/platform.py:63
|
||||
msgid "Gather facts method"
|
||||
msgstr "收集信息方式"
|
||||
|
||||
#: assets/models/platform.py:48 assets/serializers/platform.py:67
|
||||
#: assets/models/platform.py:48 assets/serializers/platform.py:66
|
||||
msgid "Change secret enabled"
|
||||
msgstr "启用改密"
|
||||
|
||||
#: assets/models/platform.py:50 assets/serializers/platform.py:68
|
||||
#: assets/models/platform.py:50 assets/serializers/platform.py:67
|
||||
msgid "Change secret method"
|
||||
msgstr "改密方式"
|
||||
|
||||
#: assets/models/platform.py:52 assets/serializers/platform.py:69
|
||||
#: assets/models/platform.py:52 assets/serializers/platform.py:68
|
||||
msgid "Push account enabled"
|
||||
msgstr "启用账号推送"
|
||||
|
||||
#: assets/models/platform.py:54 assets/serializers/platform.py:70
|
||||
#: assets/models/platform.py:54 assets/serializers/platform.py:69
|
||||
msgid "Push account method"
|
||||
msgstr "账号推送方式"
|
||||
|
||||
#: assets/models/platform.py:56 assets/serializers/platform.py:65
|
||||
#: assets/models/platform.py:56 assets/serializers/platform.py:64
|
||||
msgid "Verify account enabled"
|
||||
msgstr "开启账号验证"
|
||||
|
||||
#: assets/models/platform.py:58 assets/serializers/platform.py:66
|
||||
#: assets/models/platform.py:58 assets/serializers/platform.py:65
|
||||
msgid "Verify account method"
|
||||
msgstr "账号验证方式"
|
||||
|
||||
|
@ -1465,23 +1475,23 @@ msgstr "元数据"
|
|||
msgid "Internal"
|
||||
msgstr "内置"
|
||||
|
||||
#: assets/models/platform.py:83 assets/serializers/platform.py:91
|
||||
#: assets/models/platform.py:83 assets/serializers/platform.py:90
|
||||
msgid "Charset"
|
||||
msgstr "编码"
|
||||
|
||||
#: assets/models/platform.py:85 assets/serializers/platform.py:119
|
||||
#: assets/models/platform.py:85 assets/serializers/platform.py:118
|
||||
msgid "Domain enabled"
|
||||
msgstr "启用网域"
|
||||
|
||||
#: assets/models/platform.py:87 assets/serializers/platform.py:118
|
||||
#: assets/models/platform.py:87 assets/serializers/platform.py:117
|
||||
msgid "Su enabled"
|
||||
msgstr "启用账号切换"
|
||||
|
||||
#: assets/models/platform.py:88 assets/serializers/platform.py:101
|
||||
#: assets/models/platform.py:88 assets/serializers/platform.py:100
|
||||
msgid "Su method"
|
||||
msgstr "账号切换方式"
|
||||
|
||||
#: assets/models/platform.py:90 assets/serializers/platform.py:98
|
||||
#: assets/models/platform.py:90 assets/serializers/platform.py:97
|
||||
msgid "Automation"
|
||||
msgstr "自动化"
|
||||
|
||||
|
@ -1490,11 +1500,17 @@ msgstr "自动化"
|
|||
msgid "%(value)s is not an even number"
|
||||
msgstr "%(value)s is not an even number"
|
||||
|
||||
#: assets/notifications.py:12
|
||||
msgid ""
|
||||
"Batch update platform in assets, skipping assets that do not meet platform "
|
||||
"type"
|
||||
msgstr "资产中批量更新平台,不符合平台类型跳过的资产"
|
||||
|
||||
#: assets/serializers/asset/common.py:119
|
||||
msgid "Auto fill"
|
||||
msgstr "自动代填"
|
||||
|
||||
#: assets/serializers/asset/common.py:130 assets/serializers/platform.py:96
|
||||
#: assets/serializers/asset/common.py:130 assets/serializers/platform.py:95
|
||||
#: authentication/serializers/connect_token_secret.py:28
|
||||
#: authentication/serializers/connect_token_secret.py:66
|
||||
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99
|
||||
|
@ -1507,19 +1523,19 @@ msgid "Node path"
|
|||
msgstr "节点路径"
|
||||
|
||||
#: assets/serializers/asset/common.py:150
|
||||
#: assets/serializers/asset/common.py:302
|
||||
#: assets/serializers/asset/common.py:304
|
||||
msgid "Auto info"
|
||||
msgstr "自动化信息"
|
||||
|
||||
#: assets/serializers/asset/common.py:226
|
||||
#: assets/serializers/asset/common.py:228
|
||||
msgid "Platform not exist"
|
||||
msgstr "平台不存在"
|
||||
|
||||
#: assets/serializers/asset/common.py:261
|
||||
#: assets/serializers/asset/common.py:263
|
||||
msgid "port out of range (1-65535)"
|
||||
msgstr "端口超出范围 (1-65535)"
|
||||
|
||||
#: assets/serializers/asset/common.py:268
|
||||
#: assets/serializers/asset/common.py:270
|
||||
msgid "Protocol is required: {}"
|
||||
msgstr "协议是必填的: {}"
|
||||
|
||||
|
@ -1580,10 +1596,6 @@ msgstr "系统版本"
|
|||
msgid "OS arch"
|
||||
msgstr "系统架构"
|
||||
|
||||
#: assets/serializers/asset/host.py:27
|
||||
msgid "Info"
|
||||
msgstr "信息"
|
||||
|
||||
#: assets/serializers/cagegory.py:9
|
||||
msgid "Constraints"
|
||||
msgstr "约束"
|
||||
|
@ -1612,31 +1624,31 @@ msgstr "不能包含: /"
|
|||
msgid "The same level node name cannot be the same"
|
||||
msgstr "同级别节点名字不能重复"
|
||||
|
||||
#: assets/serializers/platform.py:26
|
||||
#: assets/serializers/platform.py:25
|
||||
msgid "SFTP enabled"
|
||||
msgstr "SFTP 已启用"
|
||||
|
||||
#: assets/serializers/platform.py:27
|
||||
#: assets/serializers/platform.py:26
|
||||
msgid "SFTP home"
|
||||
msgstr "SFTP 根路径"
|
||||
|
||||
#: assets/serializers/platform.py:43
|
||||
#: assets/serializers/platform.py:42
|
||||
msgid "Auth with username"
|
||||
msgstr "使用用户名认证"
|
||||
|
||||
#: assets/serializers/platform.py:71
|
||||
#: assets/serializers/platform.py:70
|
||||
msgid "Gather accounts enabled"
|
||||
msgstr "启用账号收集"
|
||||
|
||||
#: assets/serializers/platform.py:72
|
||||
#: assets/serializers/platform.py:71
|
||||
msgid "Gather accounts method"
|
||||
msgstr "收集账号方式"
|
||||
|
||||
#: assets/serializers/platform.py:78
|
||||
#: assets/serializers/platform.py:77
|
||||
msgid "Primary"
|
||||
msgstr "主要的"
|
||||
|
||||
#: assets/serializers/platform.py:120
|
||||
#: assets/serializers/platform.py:119
|
||||
msgid "Default Domain"
|
||||
msgstr "默认网域"
|
||||
|
||||
|
@ -2472,15 +2484,15 @@ msgid "Ticket info"
|
|||
msgstr "工单信息"
|
||||
|
||||
#: authentication/serializers/connection_token.py:20
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:70
|
||||
#: perms/models/asset_permission.py:71 perms/serializers/permission.py:36
|
||||
#: perms/serializers/permission.py:69
|
||||
#: tickets/models/ticket/apply_application.py:28
|
||||
#: tickets/models/ticket/apply_asset.py:18
|
||||
msgid "Actions"
|
||||
msgstr "动作"
|
||||
|
||||
#: authentication/serializers/connection_token.py:41
|
||||
#: perms/serializers/permission.py:39 perms/serializers/permission.py:71
|
||||
#: perms/serializers/permission.py:38 perms/serializers/permission.py:70
|
||||
#: users/serializers/user.py:93 users/serializers/user.py:165
|
||||
msgid "Is expired"
|
||||
msgstr "已过期"
|
||||
|
@ -2500,8 +2512,8 @@ msgstr "邮箱"
|
|||
msgid "The {} cannot be empty"
|
||||
msgstr "{} 不能为空"
|
||||
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:38
|
||||
#: perms/serializers/permission.py:72 users/serializers/user.py:94
|
||||
#: authentication/serializers/token.py:79 perms/serializers/permission.py:37
|
||||
#: perms/serializers/permission.py:71 users/serializers/user.py:94
|
||||
#: users/serializers/user.py:163
|
||||
msgid "Is valid"
|
||||
msgstr "是否有效"
|
||||
|
@ -2522,11 +2534,6 @@ msgstr "使用api key签名请求头,每个请求的头部是不一样的"
|
|||
msgid "docs"
|
||||
msgstr "文档"
|
||||
|
||||
#: authentication/templates/authentication/_access_key_modal.html:33
|
||||
#: terminal/notifications.py:98 terminal/notifications.py:146
|
||||
msgid "Date"
|
||||
msgstr "日期"
|
||||
|
||||
#: authentication/templates/authentication/_access_key_modal.html:48
|
||||
msgid "Show"
|
||||
msgstr "显示"
|
||||
|
@ -2961,7 +2968,7 @@ msgstr "组织 ID"
|
|||
msgid "The file content overflowed (The maximum length `{}` bytes)"
|
||||
msgstr "文件内容太大 (最大长度 `{}` 字节)"
|
||||
|
||||
#: common/drf/parsers/base.py:189
|
||||
#: common/drf/parsers/base.py:193
|
||||
msgid "Parse file error: {}"
|
||||
msgstr "解析文件错误: {}"
|
||||
|
||||
|
@ -3207,11 +3214,11 @@ msgstr "发布站内消息"
|
|||
msgid "No account available"
|
||||
msgstr "无可用账号"
|
||||
|
||||
#: ops/ansible/inventory.py:189
|
||||
#: ops/ansible/inventory.py:196
|
||||
msgid "Ansible disabled"
|
||||
msgstr "Ansible 已禁用"
|
||||
|
||||
#: ops/ansible/inventory.py:205
|
||||
#: ops/ansible/inventory.py:212
|
||||
msgid "Skip hosts below:"
|
||||
msgstr "跳过以下主机: "
|
||||
|
||||
|
@ -4404,7 +4411,7 @@ msgid "SSO auth key TTL"
|
|||
msgstr "令牌有效期"
|
||||
|
||||
#: settings/serializers/auth/sso.py:17
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:184
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:194
|
||||
msgid "Unit: second"
|
||||
msgstr "单位: 秒"
|
||||
|
||||
|
@ -5475,7 +5482,7 @@ msgid "Redis port"
|
|||
msgstr "Redis 端口"
|
||||
|
||||
#: terminal/models/component/endpoint.py:29
|
||||
#: terminal/models/component/endpoint.py:98 terminal/serializers/endpoint.py:64
|
||||
#: terminal/models/component/endpoint.py:98 terminal/serializers/endpoint.py:66
|
||||
#: terminal/serializers/storage.py:38 terminal/serializers/storage.py:50
|
||||
#: terminal/serializers/storage.py:80 terminal/serializers/storage.py:90
|
||||
#: terminal/serializers/storage.py:98
|
||||
|
@ -5737,15 +5744,15 @@ msgstr "账号"
|
|||
msgid "Timestamp"
|
||||
msgstr "时间戳"
|
||||
|
||||
#: terminal/serializers/endpoint.py:14
|
||||
#: terminal/serializers/endpoint.py:15
|
||||
msgid "Oracle port"
|
||||
msgstr "Oracle 端口"
|
||||
|
||||
#: terminal/serializers/endpoint.py:17
|
||||
#: terminal/serializers/endpoint.py:18
|
||||
msgid "Oracle port range"
|
||||
msgstr "Oracle 端口范围"
|
||||
|
||||
#: terminal/serializers/endpoint.py:19
|
||||
#: terminal/serializers/endpoint.py:20
|
||||
msgid ""
|
||||
"Oracle proxy server listen port is dynamic, Each additional Oracle database "
|
||||
"instance adds a port listener"
|
||||
|
@ -5753,11 +5760,11 @@ msgstr ""
|
|||
"Oracle 代理服务器监听端口是动态的,每增加一个 Oracle 数据库实例,就会增加一个"
|
||||
"端口监听"
|
||||
|
||||
#: terminal/serializers/endpoint.py:35
|
||||
#: terminal/serializers/endpoint.py:36
|
||||
msgid "Visit IP/Host, if empty, use the current request instead"
|
||||
msgstr "访问IP/Host,如果为空,则使用当前请求的地址代替"
|
||||
|
||||
#: terminal/serializers/endpoint.py:58
|
||||
#: terminal/serializers/endpoint.py:59
|
||||
msgid ""
|
||||
"If asset IP addresses under different endpoints conflict, use asset labels"
|
||||
msgstr "如果不同端点下的资产 IP 有冲突,使用资产标签实现"
|
||||
|
@ -7224,13 +7231,13 @@ msgstr "JSON 格式的文件"
|
|||
msgid "IP address invalid `{}`, {}"
|
||||
msgstr "IP 地址无效: `{}`, {}"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:162
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:172
|
||||
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:166
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:176
|
||||
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 "
|
||||
|
@ -7239,19 +7246,19 @@ msgstr ""
|
|||
"端口用来检测 IP 地址的有效性,在同步任务执行时,只会同步有效的 IP 地址。 <br>"
|
||||
"如果端口为 0,则表示所有 IP 地址均有效。"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:174
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:184
|
||||
msgid "Hostname prefix"
|
||||
msgstr "主机名前缀"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:177
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:187
|
||||
msgid "IP segment"
|
||||
msgstr "IP 网段"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:181
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:191
|
||||
msgid "Test port"
|
||||
msgstr "测试端口"
|
||||
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:184
|
||||
#: xpack/plugins/cloud/serializers/account_attrs.py:194
|
||||
msgid "Test timeout"
|
||||
msgstr "测试超时时间"
|
||||
|
||||
|
@ -7331,23 +7338,23 @@ msgstr "许可证导入成功"
|
|||
msgid "License is invalid"
|
||||
msgstr "无效的许可证"
|
||||
|
||||
#: xpack/plugins/license/meta.py:11 xpack/plugins/license/models.py:135
|
||||
#: xpack/plugins/license/meta.py:11 xpack/plugins/license/models.py:138
|
||||
msgid "License"
|
||||
msgstr "许可证"
|
||||
|
||||
#: xpack/plugins/license/models.py:79
|
||||
#: xpack/plugins/license/models.py:80
|
||||
msgid "Standard edition"
|
||||
msgstr "标准版"
|
||||
|
||||
#: xpack/plugins/license/models.py:81
|
||||
#: xpack/plugins/license/models.py:82
|
||||
msgid "Enterprise edition"
|
||||
msgstr "企业版"
|
||||
|
||||
#: xpack/plugins/license/models.py:83
|
||||
#: xpack/plugins/license/models.py:84
|
||||
msgid "Ultimate edition"
|
||||
msgstr "旗舰版"
|
||||
|
||||
#: xpack/plugins/license/models.py:85
|
||||
#: xpack/plugins/license/models.py:86
|
||||
msgid "Community edition"
|
||||
msgstr "社区版"
|
||||
|
||||
|
|
Loading…
Reference in New Issue