perf: 修改 protocol setting (#10875)

* feat: 新增账号配置

* perf: 修改 platform protocol define

* perf: 修改 account config

* perf: 修改协议设置

---------

Co-authored-by: ibuler <ibuler@qq.com>
pull/10876/head
fit2bot 2023-06-30 15:54:06 +08:00 committed by GitHub
parent 6962430e6a
commit bbbd011cc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 570 additions and 400 deletions

View File

@ -1,3 +1,3 @@
from .base import *
from .account import * from .account import *
from .automations import * from .automations import *
from .base import *

View File

@ -78,5 +78,8 @@ class BaseAccountSerializer(AuthValidateMixin, BulkOrgResourceModelSerializer):
] ]
extra_kwargs = { extra_kwargs = {
'spec_info': {'label': _('Spec info')}, 'spec_info': {'label': _('Spec info')},
'username': {'help_text': _("Tip: If no username is required for authentication, fill in `null`")} 'username': {'help_text': _(
"Tip: If no username is required for authentication, fill in `null`, "
"If AD account, like `username@domain`"
)},
} }

View File

@ -4,20 +4,20 @@ from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from assets.const import AllTypes from assets.const import AllTypes
from assets.models import Platform, Node, Asset from assets.models import Platform, Node, Asset, PlatformProtocol
from assets.serializers import PlatformSerializer from assets.serializers import PlatformSerializer, PlatformProtocolSerializer
from common.api import JMSModelViewSet from common.api import JMSModelViewSet
from common.permissions import IsValidUser from common.permissions import IsValidUser
from common.serializers import GroupedChoiceSerializer from common.serializers import GroupedChoiceSerializer
__all__ = ['AssetPlatformViewSet', 'PlatformAutomationMethodsApi'] __all__ = ['AssetPlatformViewSet', 'PlatformAutomationMethodsApi', 'PlatformProtocolViewSet']
class AssetPlatformViewSet(JMSModelViewSet): class AssetPlatformViewSet(JMSModelViewSet):
queryset = Platform.objects.all() queryset = Platform.objects.all()
serializer_classes = { serializer_classes = {
'default': PlatformSerializer, 'default': PlatformSerializer,
'categories': GroupedChoiceSerializer 'categories': GroupedChoiceSerializer,
} }
filterset_fields = ['name', 'category', 'type'] filterset_fields = ['name', 'category', 'type']
search_fields = ['name'] search_fields = ['name']
@ -25,7 +25,7 @@ class AssetPlatformViewSet(JMSModelViewSet):
'categories': 'assets.view_platform', 'categories': 'assets.view_platform',
'type_constraints': 'assets.view_platform', 'type_constraints': 'assets.view_platform',
'ops_methods': 'assets.view_platform', 'ops_methods': 'assets.view_platform',
'filter_nodes_assets': 'assets.view_platform' 'filter_nodes_assets': 'assets.view_platform',
} }
def get_queryset(self): def get_queryset(self):
@ -61,6 +61,15 @@ class AssetPlatformViewSet(JMSModelViewSet):
return Response(serializer.data) return Response(serializer.data)
class PlatformProtocolViewSet(JMSModelViewSet):
queryset = PlatformProtocol.objects.all()
serializer_class = PlatformProtocolSerializer
filterset_fields = ['name', 'platform__name']
rbac_perms = {
'*': 'assets.add_platform'
}
class PlatformAutomationMethodsApi(generics.ListAPIView): class PlatformAutomationMethodsApi(generics.ListAPIView):
permission_classes = (IsValidUser,) permission_classes = (IsValidUser,)

View File

@ -1,7 +1,8 @@
from django.db import models
from django.db.models import TextChoices from django.db.models import TextChoices
from django.utils.translation import gettext_lazy as _
from jumpserver.utils import has_valid_xpack_license from jumpserver.utils import has_valid_xpack_license
from .protocol import Protocol
class Type: class Type:
@ -28,6 +29,12 @@ class Type:
) )
class FillType(models.TextChoices):
no = 'no', _('Disabled')
basic = 'basic', _('Basic')
script = 'script', _('Script')
class BaseType(TextChoices): class BaseType(TextChoices):
""" """
约束应该考虑代是对平台对限制避免多余对选项: mysql 开启 ssh, 约束应该考虑代是对平台对限制避免多余对选项: mysql 开启 ssh,
@ -57,6 +64,7 @@ class BaseType(TextChoices):
@classmethod @classmethod
def _parse_protocols(cls, protocol, tp): def _parse_protocols(cls, protocol, tp):
from .protocol import Protocol
settings = Protocol.settings() settings = Protocol.settings()
choices = protocol.get('choices', []) choices = protocol.get('choices', [])
if choices == '__self__': if choices == '__self__':

View File

@ -1,6 +1,8 @@
from django.db import models from django.db import models
from django.utils.translation import gettext_lazy as _
from common.db.models import ChoicesMixin from common.db.models import ChoicesMixin
from .base import FillType
__all__ = ['Protocol'] __all__ = ['Protocol']
@ -22,8 +24,7 @@ class Protocol(ChoicesMixin, models.TextChoices):
mongodb = 'mongodb', 'MongoDB' mongodb = 'mongodb', 'MongoDB'
k8s = 'k8s', 'K8S' k8s = 'k8s', 'K8S'
http = 'http', 'HTTP' http = 'http', 'HTTP(s)'
_settings = None
@classmethod @classmethod
def device_protocols(cls): def device_protocols(cls):
@ -32,16 +33,40 @@ class Protocol(ChoicesMixin, models.TextChoices):
'port': 22, 'port': 22,
'secret_types': ['password', 'ssh_key'], 'secret_types': ['password', 'ssh_key'],
'setting': { 'setting': {
'sftp_enabled': True, 'sftp_enabled': {
'sftp_home': '/tmp', 'type': 'bool',
'default': True,
'label': _('SFTP enabled')
},
'sftp_home': {
'type': 'str',
'default': '/tmp',
'label': _('SFTP home')
},
} }
}, },
cls.rdp: { cls.rdp: {
'port': 3389, 'port': 3389,
'secret_types': ['password'], 'secret_types': ['password'],
'setting': { 'setting': {
'console': False, 'console': {
'security': 'any', 'type': 'bool',
'default': False,
'label': _('Console'),
'help_text': _("Connect to console session")
},
'security': {
'type': 'choice',
'choices': [('any', _('Any')), ('rdp', 'RDP'), ('tls', 'TLS'), ('nla', 'NLA')],
'default': 'any',
'label': _('Security'),
'help_text': _("Security layer to use for the connection")
},
# 'ad_domain': {
# 'type': 'str',
# "required": False,
# 'label': _('AD domain')
# }
} }
}, },
cls.vnc: { cls.vnc: {
@ -56,7 +81,11 @@ class Protocol(ChoicesMixin, models.TextChoices):
'port': 5985, 'port': 5985,
'secret_types': ['password'], 'secret_types': ['password'],
'setting': { 'setting': {
'use_ssl': False, 'use_ssl': {
'type': 'bool',
'default': False,
'label': _('Use SSL')
},
} }
}, },
} }
@ -105,7 +134,11 @@ class Protocol(ChoicesMixin, models.TextChoices):
'required': True, 'required': True,
'secret_types': ['password'], 'secret_types': ['password'],
'setting': { 'setting': {
'auth_username': True, 'auth_username': {
'type': 'bool',
'default': False,
'label': _('Auth username')
},
} }
}, },
} }
@ -121,10 +154,28 @@ class Protocol(ChoicesMixin, models.TextChoices):
cls.http: { cls.http: {
'port': 80, 'port': 80,
'secret_types': ['password'], 'secret_types': ['password'],
'label': 'HTTP(s)',
'setting': { 'setting': {
'username_selector': 'name=username', 'autofill': {
'password_selector': 'name=password', 'type': 'choice',
'submit_selector': 'id=login_button', 'choices': FillType.choices,
'default': 'basic',
},
'username_selector': {
'type': 'str',
'default': 'name=username',
'label': _('Username selector')
},
'password_selector': {
'type': 'str',
'default': 'name=password',
'label': _('Password selector')
},
'submit_selector': {
'type': 'str',
'default': 'type=submit',
'label': _('Submit selector')
}
} }
}, },
} }

View File

@ -1,4 +1,3 @@
from django.db import models
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from .base import BaseType from .base import BaseType
@ -53,9 +52,3 @@ class WebTypes(BaseType):
return [ return [
cls.WEBSITE, cls.WEBSITE,
] ]
class FillType(models.TextChoices):
no = 'no', _('Disabled')
basic = 'basic', _('Basic')
script = 'script', _('Script')

View File

@ -1,7 +1,7 @@
from django.db import models from django.db import models
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from assets.const.web import FillType from assets.const import FillType
from .common import Asset from .common import Asset

View File

@ -1,7 +1,7 @@
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from assets.const.web import FillType from assets.const import FillType
from assets.models import Database, Web from assets.models import Database, Web
from common.serializers.fields import LabeledChoiceField from common.serializers.fields import LabeledChoiceField
@ -14,6 +14,7 @@ class DatabaseSpecSerializer(serializers.ModelSerializer):
class WebSpecSerializer(serializers.ModelSerializer): class WebSpecSerializer(serializers.ModelSerializer):
autofill = LabeledChoiceField(choices=FillType.choices, label=_('Autofill')) autofill = LabeledChoiceField(choices=FillType.choices, label=_('Autofill'))
class Meta: class Meta:
model = Web model = Web
fields = [ fields = [

View File

@ -1,48 +1,17 @@
from django.db.models import QuerySet
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
from assets.const.web import FillType from common.serializers import (
from common.serializers import WritableNestedModelSerializer, type_field_map WritableNestedModelSerializer, type_field_map, MethodSerializer,
DictSerializer, create_serializer_class
)
from common.serializers.fields import LabeledChoiceField from common.serializers.fields import LabeledChoiceField
from common.utils import lazyproperty from common.utils import lazyproperty
from ..const import Category, AllTypes from ..const import Category, AllTypes, Protocol
from ..models import Platform, PlatformProtocol, PlatformAutomation from ..models import Platform, PlatformProtocol, PlatformAutomation
__all__ = ["PlatformSerializer", "PlatformOpsMethodSerializer"] __all__ = ["PlatformSerializer", "PlatformOpsMethodSerializer", "PlatformProtocolSerializer"]
class ProtocolSettingSerializer(serializers.Serializer):
SECURITY_CHOICES = [
("any", "Any"),
("rdp", "RDP"),
("tls", "TLS"),
("nla", "NLA"),
]
# RDP
console = serializers.BooleanField(required=False, default=False)
security = serializers.ChoiceField(choices=SECURITY_CHOICES, default="any")
# SFTP
sftp_enabled = serializers.BooleanField(default=True, label=_("SFTP enabled"))
sftp_home = serializers.CharField(default="/tmp", label=_("SFTP home"))
# HTTP
autofill = serializers.ChoiceField(default='basic', choices=FillType.choices, label=_("Autofill"))
username_selector = serializers.CharField(
default="", allow_blank=True, label=_("Username selector")
)
password_selector = serializers.CharField(
default="", allow_blank=True, label=_("Password selector")
)
submit_selector = serializers.CharField(
default="", allow_blank=True, label=_("Submit selector")
)
script = serializers.JSONField(default=list, label=_("Script"))
# Redis
auth_username = serializers.BooleanField(default=False, label=_("Auth with username"))
# WinRM
use_ssl = serializers.BooleanField(default=False, label=_("Use SSL"))
class PlatformAutomationSerializer(serializers.ModelSerializer): class PlatformAutomationSerializer(serializers.ModelSerializer):
@ -76,7 +45,7 @@ class PlatformAutomationSerializer(serializers.ModelSerializer):
class PlatformProtocolSerializer(serializers.ModelSerializer): class PlatformProtocolSerializer(serializers.ModelSerializer):
setting = ProtocolSettingSerializer(required=False, allow_null=True) setting = MethodSerializer(required=False, label=_("Setting"))
class Meta: class Meta:
model = PlatformProtocol model = PlatformProtocol
@ -85,6 +54,47 @@ class PlatformProtocolSerializer(serializers.ModelSerializer):
"required", "default", "public", "required", "default", "public",
"secret_types", "setting", "secret_types", "setting",
] ]
extra_kwargs = {
"primary": {
"help_text": _(
"This protocol is primary, and it must be set when adding assets. "
"Additionally, there can only be one primary protocol."
)
},
"required": {
"help_text": _("This protocol is required, and it must be set when adding assets.")
},
"default": {
"help_text": _("This protocol is default, when adding assets, it will be displayed by default.")
},
"public": {
"help_text": _("This protocol is public, asset will show this protocol to user")
},
}
def get_setting_serializer(self):
request = self.context.get('request')
default_field = DictSerializer()
if not request:
return default_field
if self.instance and isinstance(self.instance, (QuerySet, list)):
instance = self.instance[0]
else:
instance = self.instance
protocol = request.query_params.get('name', '')
if instance and not protocol:
protocol = instance.name
protocol_settings = Protocol.settings()
setting_fields = protocol_settings.get(protocol, {}).get('setting')
if not setting_fields:
return default_field
setting_fields = [{'name': k, **v} for k, v in setting_fields.items()]
name = '{}ProtocolSettingSerializer'.format(protocol.capitalize())
return create_serializer_class(name, setting_fields)()
def to_file_representation(self, data): def to_file_representation(self, data):
return '{name}/{port}'.format(**data) return '{name}/{port}'.format(**data)

View File

@ -21,6 +21,7 @@ router.register(r'nodes', api.NodeViewSet, 'node')
router.register(r'domains', api.DomainViewSet, 'domain') router.register(r'domains', api.DomainViewSet, 'domain')
router.register(r'gateways', api.GatewayViewSet, 'gateway') router.register(r'gateways', api.GatewayViewSet, 'gateway')
router.register(r'favorite-assets', api.FavoriteAssetViewSet, 'favorite-asset') router.register(r'favorite-assets', api.FavoriteAssetViewSet, 'favorite-asset')
router.register(r'protocol-settings', api.PlatformProtocolViewSet, 'protocol-setting')
urlpatterns = [ urlpatterns = [
# path('assets/<uuid:pk>/gateways/', api.AssetGatewayListApi.as_view(), name='asset-gateway-list'), # path('assets/<uuid:pk>/gateways/', api.AssetGatewayListApi.as_view(), name='asset-gateway-list'),
@ -46,7 +47,8 @@ urlpatterns = [
path('nodes/<uuid:pk>/tasks/', api.NodeTaskCreateApi.as_view(), name='node-task-create'), path('nodes/<uuid:pk>/tasks/', api.NodeTaskCreateApi.as_view(), name='node-task-create'),
path('gateways/<uuid:pk>/test-connective/', api.GatewayTestConnectionApi.as_view(), name='test-gateway-connective'), path('gateways/<uuid:pk>/test-connective/', api.GatewayTestConnectionApi.as_view(), name='test-gateway-connective'),
path('platform-automation-methods/', api.PlatformAutomationMethodsApi.as_view(), name='platform-automation-methods'), path('platform-automation-methods/', api.PlatformAutomationMethodsApi.as_view(),
name='platform-automation-methods'),
] ]
urlpatterns += router.urls urlpatterns += router.urls

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:cd4fb6a0396c8636f8a36645354a5102790c020d73cdeb1f0e1d1f1b34ea39e9 oid sha256:b0588a31da5eccf0c1408abb00126f3f5cff58c26c5995c1daf3d2d071d06abe
size 145760 size 146993

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-15 15:35+0800\n" "POT-Creation-Date: 2023-06-30 15:41+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"
@ -87,7 +87,7 @@ msgstr "更新"
#: accounts/const/account.py:27 #: accounts/const/account.py:27
#: 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:61 xpack/plugins/cloud/const.py:41 #: ops/const.py:58 terminal/const.py:62 xpack/plugins/cloud/const.py:41
msgid "Failed" msgid "Failed"
msgstr "失敗しました" msgstr "失敗しました"
@ -187,11 +187,11 @@ msgstr "作成のみ"
#: accounts/serializers/automations/change_secret.py:112 #: accounts/serializers/automations/change_secret.py:112
#: accounts/serializers/automations/change_secret.py:132 #: accounts/serializers/automations/change_secret.py:132
#: acls/serializers/base.py:118 assets/models/asset/common.py:93 #: acls/serializers/base.py:118 assets/models/asset/common.py:93
#: assets/models/asset/common.py:332 assets/models/cmd_filter.py:36 #: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36
#: assets/serializers/domain.py:19 assets/serializers/label.py:27 #: assets/serializers/domain.py:19 assets/serializers/label.py:27
#: audits/models.py:53 authentication/models/connection_token.py:35 #: audits/models.py:53 authentication/models/connection_token.py:35
#: 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:20 terminal/models/session/session.py:32 #: terminal/backends/command/models.py:20 terminal/models/session/session.py:31
#: terminal/notifications.py:95 terminal/serializers/command.py:17 #: terminal/notifications.py:95 terminal/serializers/command.py:17
#: 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"
@ -225,7 +225,7 @@ msgstr "ソース ID"
#: acls/serializers/base.py:119 assets/serializers/asset/common.py:125 #: acls/serializers/base.py:119 assets/serializers/asset/common.py:125
#: 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:21 terminal/models/session/session.py:34 #: terminal/backends/command/models.py:21 terminal/models/session/session.py:33
#: 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 "アカウント"
@ -279,7 +279,7 @@ msgstr "アカウントバックアップ計画"
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192 #: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192
#: ops/templates/ops/celery_task_log.html:75 #: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137 #: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137
#: terminal/models/session/session.py:45 #: terminal/models/session/session.py:44
#: tickets/models/ticket/apply_application.py:30 #: tickets/models/ticket/apply_application.py:30
#: tickets/models/ticket/apply_asset.py:19 #: tickets/models/ticket/apply_asset.py:19
msgid "Date start" msgid "Date start"
@ -311,7 +311,7 @@ msgstr "理由"
#: accounts/models/automations/backup_account.py:99 #: accounts/models/automations/backup_account.py:99
#: accounts/serializers/automations/change_secret.py:111 #: accounts/serializers/automations/change_secret.py:111
#: accounts/serializers/automations/change_secret.py:134 #: accounts/serializers/automations/change_secret.py:134
#: ops/serializers/job.py:56 terminal/serializers/session.py:46 #: ops/serializers/job.py:56 terminal/serializers/session.py:43
msgid "Is success" msgid "Is success"
msgstr "成功は" msgstr "成功は"
@ -479,10 +479,10 @@ msgstr "アカウントの確認"
#: applications/models.py:9 assets/models/_user.py:22 #: applications/models.py:9 assets/models/_user.py:22
#: assets/models/asset/common.py:91 assets/models/asset/common.py:149 #: assets/models/asset/common.py:91 assets/models/asset/common.py:149
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18 #: assets/models/cmd_filter.py:21 assets/models/domain.py:18
#: assets/models/group.py:20 assets/models/label.py:18 #: assets/models/group.py:17 assets/models/label.py:18
#: assets/models/platform.py:13 assets/models/platform.py:81 #: assets/models/platform.py:13 assets/models/platform.py:81
#: assets/serializers/asset/common.py:145 assets/serializers/platform.py:99 #: assets/serializers/asset/common.py:145 assets/serializers/platform.py:109
#: assets/serializers/platform.py:199 #: assets/serializers/platform.py:209
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21 #: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57 #: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
#: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20 #: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20
@ -505,7 +505,8 @@ msgstr "特権アカウント"
#: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39 #: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39
#: assets/models/label.py:22 #: assets/models/label.py:22
#: authentication/serializers/connect_token_secret.py:114 #: authentication/serializers/connect_token_secret.py:114
#: terminal/models/applet/applet.py:39 users/serializers/user.py:169 #: terminal/models/applet/applet.py:39
#: terminal/models/component/endpoint.py:101 users/serializers/user.py:169
msgid "Is active" msgid "Is active"
msgstr "アクティブです。" msgstr "アクティブです。"
@ -561,7 +562,7 @@ msgstr "アカウントの存在ポリシー"
#: accounts/serializers/account/account.py:180 applications/models.py:11 #: accounts/serializers/account/account.py:180 applications/models.py:11
#: assets/models/label.py:21 assets/models/platform.py:82 #: assets/models/label.py:21 assets/models/platform.py:82
#: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:8 #: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:8
#: assets/serializers/platform.py:117 assets/serializers/platform.py:200 #: assets/serializers/platform.py:127 assets/serializers/platform.py:210
#: perms/serializers/user_permission.py:26 settings/models.py:35 #: perms/serializers/user_permission.py:26 settings/models.py:35
#: tickets/models/ticket/apply_application.py:13 #: tickets/models/ticket/apply_application.py:13
msgid "Category" msgid "Category"
@ -572,13 +573,13 @@ msgstr "カテゴリ"
#: acls/serializers/command_acl.py:18 applications/models.py:14 #: acls/serializers/command_acl.py:18 applications/models.py:14
#: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/_user.py:50 assets/models/automations/base.py:20
#: assets/models/cmd_filter.py:74 assets/models/platform.py:83 #: assets/models/cmd_filter.py:74 assets/models/platform.py:83
#: assets/serializers/asset/common.py:122 assets/serializers/platform.py:101 #: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111
#: assets/serializers/platform.py:116 audits/serializers.py:48 #: assets/serializers/platform.py:126 audits/serializers.py:48
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103 #: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38
#: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
#: terminal/serializers/session.py:23 terminal/serializers/storage.py:224 #: terminal/serializers/session.py:20 terminal/serializers/storage.py:224
#: terminal/serializers/storage.py:236 tickets/models/comment.py:26 #: terminal/serializers/storage.py:236 tickets/models/comment.py:26
#: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16
#: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53 #: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53
@ -644,7 +645,7 @@ msgstr "ID"
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
#: perms/serializers/permission.py:30 rbac/builtin.py:122 #: perms/serializers/permission.py:30 rbac/builtin.py:122
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32 #: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:96 terminal/notifications.py:144 #: terminal/notifications.py:96 terminal/notifications.py:144
#: terminal/serializers/command.py:16 tickets/models/comment.py:21 #: terminal/serializers/command.py:16 tickets/models/comment.py:21
#: users/const.py:14 users/models/user.py:947 users/models/user.py:978 #: users/const.py:14 users/models/user.py:947 users/models/user.py:978
@ -688,9 +689,13 @@ msgstr "キーパスワード"
msgid "Spec info" msgid "Spec info"
msgstr "特別情報" msgstr "特別情報"
#: accounts/serializers/account/base.py:81 #: accounts/serializers/account/base.py:82
msgid "Tip: If no username is required for authentication, fill in `null`" msgid ""
msgstr "ヒント: 認証にユーザー名が必要ない場合は、null を入力してください" "Tip: If no username is required for authentication, fill in `null`, If AD "
"account, like `username@domain`"
msgstr ""
"ヒント: 認証にユーザー名が必要ない場合は、`null`を入力します。ADアカウントの"
"場合は、`username@domain`のようになります。"
#: accounts/serializers/automations/base.py:23 #: accounts/serializers/automations/base.py:23
#: assets/models/asset/common.py:155 assets/models/automations/base.py:18 #: assets/models/asset/common.py:155 assets/models/automations/base.py:18
@ -729,7 +734,7 @@ msgstr "自動タスク実行履歴"
#: accounts/serializers/automations/change_secret.py:155 audits/const.py:53 #: accounts/serializers/automations/change_secret.py:155 audits/const.py:53
#: audits/models.py:59 audits/signal_handlers/activity_log.py:33 #: audits/models.py:59 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:56 ops/serializers/celery.py:40 #: common/const/choices.py:18 ops/const.py:56 ops/serializers/celery.py:40
#: terminal/const.py:60 terminal/models/session/sharing.py:107 #: terminal/const.py:61 terminal/models/session/sharing.py:107
#: tickets/views/approve.py:114 #: tickets/views/approve.py:114
msgid "Success" msgid "Success"
msgstr "成功" msgstr "成功"
@ -825,8 +830,8 @@ msgid "Accounts"
msgstr "アカウント" msgstr "アカウント"
#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60
#: ops/serializers/job.py:55 terminal/const.py:68 #: ops/serializers/job.py:55 terminal/const.py:69
#: terminal/models/session/session.py:43 terminal/serializers/command.py:18 #: terminal/models/session/session.py:42 terminal/serializers/command.py:18
#: 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
msgid "Command" msgid "Command"
@ -964,13 +969,13 @@ msgstr "アプリケーション"
msgid "Can match application" msgid "Can match application"
msgstr "アプリケーションを一致させることができます" msgstr "アプリケーションを一致させることができます"
#: assets/api/asset/asset.py:149 #: assets/api/asset/asset.py:153
msgid "Cannot create asset directly, you should create a host or other" msgid "Cannot create asset directly, you should create a host or other"
msgstr "" msgstr ""
"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま" "資産を直接作成することはできません。ホストまたはその他を作成する必要がありま"
"す" "す"
#: assets/api/domain.py:60 #: assets/api/domain.py:62
msgid "Number required" msgid "Number required"
msgstr "必要な数" msgstr "必要な数"
@ -1044,6 +1049,19 @@ msgstr "テストゲートウェイ"
msgid "Gather facts" msgid "Gather facts"
msgstr "資産情報の収集" msgstr "資産情報の収集"
#: assets/const/base.py:33 audits/const.py:47
#: terminal/serializers/applet_host.py:32
msgid "Disabled"
msgstr "無効"
#: assets/const/base.py:34 settings/serializers/basic.py:27
msgid "Basic"
msgstr "基本"
#: assets/const/base.py:35 assets/models/asset/web.py:13
msgid "Script"
msgstr "脚本"
#: assets/const/category.py:10 assets/models/asset/host.py:8 #: assets/const/category.py:10 assets/models/asset/host.py:8
#: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:67 #: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:67
#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17 #: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17
@ -1106,28 +1124,65 @@ msgstr "ファイアウォール"
msgid "Other" msgid "Other"
msgstr "その他" msgstr "その他"
#: assets/const/types.py:223 #: assets/const/protocol.py:39
msgid "SFTP enabled"
msgstr "SFTP が有効"
#: assets/const/protocol.py:44
msgid "SFTP home"
msgstr "SFTP ルート パス"
#: assets/const/protocol.py:55
msgid "Console"
msgstr "Console"
#: assets/const/protocol.py:56
msgid "Connect to console session"
msgstr "コンソールセッションに接続"
#: assets/const/protocol.py:60
msgid "Any"
msgstr "任意"
#: assets/const/protocol.py:62 settings/serializers/security.py:151
msgid "Security"
msgstr "セキュリティ"
#: assets/const/protocol.py:63
msgid "Security layer to use for the connection"
msgstr "接続に使用するセキュリティ レイヤー"
#: assets/const/protocol.py:87 assets/models/asset/database.py:10
#: settings/serializers/email.py:37
msgid "Use SSL"
msgstr "SSLの使用"
#: assets/const/protocol.py:140
#, fuzzy
#| msgid "Auth with username"
msgid "Auth username"
msgstr "ユーザー名で認証する"
#: assets/const/protocol.py:167 assets/models/asset/web.py:10
msgid "Username selector"
msgstr "ユーザー名ピッカー"
#: assets/const/protocol.py:172 assets/models/asset/web.py:11
msgid "Password selector"
msgstr "パスワードセレクター"
#: assets/const/protocol.py:177 assets/models/asset/web.py:12
msgid "Submit selector"
msgstr "ボタンセレクターを確認する"
#: assets/const/types.py:222
msgid "All types" msgid "All types"
msgstr "いろんなタイプ" msgstr "いろんなタイプ"
#: assets/const/web.py:8 #: assets/const/web.py:7
msgid "Website" msgid "Website"
msgstr "Webサイト" msgstr "Webサイト"
#: assets/const/web.py:59 audits/const.py:47
#: terminal/serializers/applet_host.py:32
msgid "Disabled"
msgstr "無効"
#: assets/const/web.py:60 settings/serializers/basic.py:27
msgid "Basic"
msgstr "基本"
#: assets/const/web.py:61 assets/models/asset/web.py:13
#: assets/serializers/platform.py:40
msgid "Script"
msgstr "脚本"
#: assets/exceptions.py:12 #: assets/exceptions.py:12
msgid "This function is not supported temporarily" msgid "This function is not supported temporarily"
msgstr "この機能は一時的にサポートされていません" msgstr "この機能は一時的にサポートされていません"
@ -1141,20 +1196,20 @@ msgid "SSH public key"
msgstr "SSHパブリックキー" msgstr "SSHパブリックキー"
#: assets/models/_user.py:27 assets/models/cmd_filter.py:40 #: assets/models/_user.py:27 assets/models/cmd_filter.py:40
#: assets/models/cmd_filter.py:88 assets/models/group.py:23 #: assets/models/cmd_filter.py:88 assets/models/group.py:20
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111 #: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111
#: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38 #: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38
#: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:244 #: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248
#: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24 #: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24
#: terminal/models/component/endpoint.py:100 #: terminal/models/component/endpoint.py:100
#: terminal/models/session/session.py:47 tickets/models/comment.py:32 #: terminal/models/session/session.py:46 tickets/models/comment.py:32
#: tickets/models/ticket/general.py:297 users/models/user.py:792 #: tickets/models/ticket/general.py:297 users/models/user.py:792
#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:111 #: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:111
msgid "Comment" msgid "Comment"
msgstr "コメント" msgstr "コメント"
#: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/_user.py:28 assets/models/automations/base.py:114
#: assets/models/cmd_filter.py:41 assets/models/group.py:22 #: assets/models/cmd_filter.py:41 assets/models/group.py:19
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191
#: users/models/user.py:979 #: users/models/user.py:979
msgid "Date created" msgid "Date created"
@ -1166,7 +1221,7 @@ msgid "Date updated"
msgstr "更新日" msgstr "更新日"
#: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/_user.py:30 assets/models/cmd_filter.py:44
#: assets/models/cmd_filter.py:91 assets/models/group.py:21 #: assets/models/cmd_filter.py:91 assets/models/group.py:18
#: common/db/models.py:32 users/models/user.py:799 #: common/db/models.py:32 users/models/user.py:799
#: users/serializers/group.py:29 #: users/serializers/group.py:29
msgid "Created by" msgid "Created by"
@ -1194,8 +1249,8 @@ msgstr "ユーザーと同じユーザー名"
#: assets/models/_user.py:52 authentication/models/connection_token.py:40 #: assets/models/_user.py:52 authentication/models/connection_token.py:40
#: authentication/serializers/connect_token_secret.py:111 #: authentication/serializers/connect_token_secret.py:111
#: terminal/models/applet/applet.py:41 terminal/serializers/session.py:21 #: terminal/models/applet/applet.py:41 terminal/serializers/session.py:18
#: terminal/serializers/session.py:42 terminal/serializers/storage.py:68 #: terminal/serializers/session.py:39 terminal/serializers/storage.py:68
msgid "Protocol" msgid "Protocol"
msgstr "プロトコル" msgstr "プロトコル"
@ -1283,19 +1338,19 @@ msgstr "資産ハードウェア情報の収集"
msgid "Custom info" msgid "Custom info"
msgstr "カスタム属性" msgstr "カスタム属性"
#: assets/models/asset/common.py:335 #: assets/models/asset/common.py:334
msgid "Can refresh asset hardware info" msgid "Can refresh asset hardware info"
msgstr "資産ハードウェア情報を更新できます" msgstr "資産ハードウェア情報を更新できます"
#: assets/models/asset/common.py:336 #: assets/models/asset/common.py:335
msgid "Can test asset connectivity" msgid "Can test asset connectivity"
msgstr "資産接続をテストできます" msgstr "資産接続をテストできます"
#: assets/models/asset/common.py:337 #: assets/models/asset/common.py:336
msgid "Can match asset" msgid "Can match asset"
msgstr "アセットを一致させることができます" msgstr "アセットを一致させることができます"
#: assets/models/asset/common.py:338 #: assets/models/asset/common.py:337
msgid "Can change asset nodes" msgid "Can change asset nodes"
msgstr "資産ノードを変更できます" msgstr "資産ノードを変更できます"
@ -1303,11 +1358,6 @@ msgstr "資産ノードを変更できます"
msgid "Custom asset" msgid "Custom asset"
msgstr "カスタム アセット" msgstr "カスタム アセット"
#: assets/models/asset/database.py:10 assets/serializers/platform.py:45
#: settings/serializers/email.py:37
msgid "Use SSL"
msgstr "SSLの使用"
#: assets/models/asset/database.py:11 #: assets/models/asset/database.py:11
msgid "CA cert" msgid "CA cert"
msgstr "CA 証明書" msgstr "CA 証明書"
@ -1325,22 +1375,9 @@ msgid "Allow invalid cert"
msgstr "証明書チェックを無視" msgstr "証明書チェックを無視"
#: assets/models/asset/web.py:9 assets/serializers/asset/info/spec.py:16 #: assets/models/asset/web.py:9 assets/serializers/asset/info/spec.py:16
#: assets/serializers/platform.py:30
msgid "Autofill" msgid "Autofill"
msgstr "自動充填" msgstr "自動充填"
#: assets/models/asset/web.py:10 assets/serializers/platform.py:32
msgid "Username selector"
msgstr "ユーザー名ピッカー"
#: assets/models/asset/web.py:11 assets/serializers/platform.py:35
msgid "Password selector"
msgstr "パスワードセレクター"
#: assets/models/asset/web.py:12 assets/serializers/platform.py:38
msgid "Submit selector"
msgstr "ボタンセレクターを確認する"
#: assets/models/automations/base.py:22 ops/models/job.py:187 #: assets/models/automations/base.py:22 ops/models/job.py:187
#: settings/serializers/auth/sms.py:99 #: settings/serializers/auth/sms.py:99
msgid "Parameters" msgid "Parameters"
@ -1356,7 +1393,7 @@ msgstr "アセットの自動化タスク"
#: assets/models/automations/base.py:113 audits/models.py:199 #: assets/models/automations/base.py:113 audits/models.py:199
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184 #: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184
#: terminal/models/applet/applet.py:243 terminal/models/applet/host.py:136 #: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18 #: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
#: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283 #: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283
#: tickets/serializers/super_ticket.py:13 #: tickets/serializers/super_ticket.py:13
@ -1419,17 +1456,17 @@ msgstr "お気に入りのアセット"
msgid "Gateway" msgid "Gateway"
msgstr "ゲートウェイ" msgstr "ゲートウェイ"
#: assets/models/group.py:30 #: assets/models/group.py:27
msgid "Asset group" msgid "Asset group"
msgstr "資産グループ" msgstr "資産グループ"
#: assets/models/group.py:34 assets/models/platform.py:17 #: assets/models/group.py:31 assets/models/platform.py:17
#: assets/serializers/platform.py:102 #: assets/serializers/platform.py:112
#: xpack/plugins/cloud/providers/nutanix.py:30 #: xpack/plugins/cloud/providers/nutanix.py:30
msgid "Default" msgid "Default"
msgstr "デフォルト" msgstr "デフォルト"
#: assets/models/group.py:34 #: assets/models/group.py:31
msgid "Default asset group" msgid "Default asset group"
msgstr "デフォルトアセットグループ" msgstr "デフォルトアセットグループ"
@ -1447,7 +1484,7 @@ msgstr "値"
#: assets/models/label.py:40 assets/serializers/asset/common.py:123 #: assets/models/label.py:40 assets/serializers/asset/common.py:123
#: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13 #: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13
#: assets/serializers/platform.py:100 #: assets/serializers/platform.py:110
#: authentication/serializers/connect_token_secret.py:121 #: authentication/serializers/connect_token_secret.py:121
#: common/serializers/common.py:85 perms/serializers/user_permission.py:28 #: common/serializers/common.py:85 perms/serializers/user_permission.py:28
#: settings/serializers/sms.py:7 #: settings/serializers/sms.py:7
@ -1495,7 +1532,8 @@ msgstr "必要"
msgid "Public" msgid "Public"
msgstr "開ける" msgstr "開ける"
#: assets/models/platform.py:19 settings/serializers/settings.py:67 #: assets/models/platform.py:19 assets/serializers/platform.py:48
#: settings/serializers/settings.py:67
#: users/templates/users/reset_password.html:29 #: users/templates/users/reset_password.html:29
msgid "Setting" msgid "Setting"
msgstr "設定" msgstr "設定"
@ -1509,11 +1547,11 @@ msgstr "有効化"
msgid "Ansible config" msgid "Ansible config"
msgstr "Ansible 構成" msgstr "Ansible 構成"
#: assets/models/platform.py:34 assets/serializers/platform.py:63 #: assets/models/platform.py:34 assets/serializers/platform.py:32
msgid "Ping enabled" msgid "Ping enabled"
msgstr "アセット ディスカバリを有効にする" msgstr "アセット ディスカバリを有効にする"
#: assets/models/platform.py:35 assets/serializers/platform.py:64 #: assets/models/platform.py:35 assets/serializers/platform.py:33
msgid "Ping method" msgid "Ping method"
msgstr "資産検出方法" msgstr "資産検出方法"
@ -1522,12 +1560,12 @@ msgid "Ping params"
msgstr "資産検出パラメータ" msgstr "資産検出パラメータ"
#: assets/models/platform.py:38 assets/models/platform.py:62 #: assets/models/platform.py:38 assets/models/platform.py:62
#: assets/serializers/platform.py:65 #: assets/serializers/platform.py:34
msgid "Gather facts enabled" msgid "Gather facts enabled"
msgstr "資産情報の収集を有効にする" msgstr "資産情報の収集を有効にする"
#: assets/models/platform.py:40 assets/models/platform.py:64 #: assets/models/platform.py:40 assets/models/platform.py:64
#: assets/serializers/platform.py:66 #: assets/serializers/platform.py:35
msgid "Gather facts method" msgid "Gather facts method"
msgstr "情報収集の方法" msgstr "情報収集の方法"
@ -1535,11 +1573,11 @@ msgstr "情報収集の方法"
msgid "Gather facts params" msgid "Gather facts params"
msgstr "情報収集パラメータ" msgstr "情報収集パラメータ"
#: assets/models/platform.py:44 assets/serializers/platform.py:69 #: assets/models/platform.py:44 assets/serializers/platform.py:38
msgid "Change secret enabled" msgid "Change secret enabled"
msgstr "パスワードの変更が有効" msgstr "パスワードの変更が有効"
#: assets/models/platform.py:46 assets/serializers/platform.py:70 #: assets/models/platform.py:46 assets/serializers/platform.py:39
msgid "Change secret method" msgid "Change secret method"
msgstr "パスワード変更モード" msgstr "パスワード変更モード"
@ -1547,11 +1585,11 @@ msgstr "パスワード変更モード"
msgid "Change secret params" msgid "Change secret params"
msgstr "パスワード変更パラメータ" msgstr "パスワード変更パラメータ"
#: assets/models/platform.py:50 assets/serializers/platform.py:71 #: assets/models/platform.py:50 assets/serializers/platform.py:40
msgid "Push account enabled" msgid "Push account enabled"
msgstr "アカウントのプッシュを有効にする" msgstr "アカウントのプッシュを有効にする"
#: assets/models/platform.py:52 assets/serializers/platform.py:72 #: assets/models/platform.py:52 assets/serializers/platform.py:41
msgid "Push account method" msgid "Push account method"
msgstr "アカウントプッシュ方式" msgstr "アカウントプッシュ方式"
@ -1559,11 +1597,11 @@ msgstr "アカウントプッシュ方式"
msgid "Push account params" msgid "Push account params"
msgstr "アカウントプッシュパラメータ" msgstr "アカウントプッシュパラメータ"
#: assets/models/platform.py:56 assets/serializers/platform.py:67 #: assets/models/platform.py:56 assets/serializers/platform.py:36
msgid "Verify account enabled" msgid "Verify account enabled"
msgstr "アカウントの確認をオンにする" msgstr "アカウントの確認をオンにする"
#: assets/models/platform.py:58 assets/serializers/platform.py:68 #: assets/models/platform.py:58 assets/serializers/platform.py:37
msgid "Verify account method" msgid "Verify account method"
msgstr "アカウント認証方法" msgstr "アカウント認証方法"
@ -1579,23 +1617,23 @@ msgstr "メタ"
msgid "Internal" msgid "Internal"
msgstr "ビルトイン" msgstr "ビルトイン"
#: assets/models/platform.py:89 assets/serializers/platform.py:115 #: assets/models/platform.py:89 assets/serializers/platform.py:125
msgid "Charset" msgid "Charset"
msgstr "シャーセット" msgstr "シャーセット"
#: assets/models/platform.py:91 assets/serializers/platform.py:143 #: assets/models/platform.py:91 assets/serializers/platform.py:153
msgid "Domain enabled" msgid "Domain enabled"
msgstr "ドメインを有効にする" msgstr "ドメインを有効にする"
#: assets/models/platform.py:93 assets/serializers/platform.py:142 #: assets/models/platform.py:93 assets/serializers/platform.py:152
msgid "Su enabled" msgid "Su enabled"
msgstr "アカウントの切り替えを有効にする" msgstr "アカウントの切り替えを有効にする"
#: assets/models/platform.py:94 assets/serializers/platform.py:121 #: assets/models/platform.py:94 assets/serializers/platform.py:131
msgid "Su method" msgid "Su method"
msgstr "アカウントの切り替え方法" msgstr "アカウントの切り替え方法"
#: assets/models/platform.py:95 assets/serializers/platform.py:124 #: assets/models/platform.py:95 assets/serializers/platform.py:134
msgid "Custom fields" msgid "Custom fields"
msgstr "カスタムフィールド" msgstr "カスタムフィールド"
@ -1612,7 +1650,7 @@ msgstr ""
"プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ" "プラットフォームタイプがスキップされた資産に合致しない、資産内の一括更新プ"
"ラットフォーム" "ラットフォーム"
#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:118 #: assets/serializers/asset/common.py:124 assets/serializers/platform.py:128
#: authentication/serializers/connect_token_secret.py:29 #: authentication/serializers/connect_token_secret.py:29
#: authentication/serializers/connect_token_secret.py:72 #: authentication/serializers/connect_token_secret.py:72
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99
@ -1728,47 +1766,60 @@ msgstr "値"
msgid "Can't contains: /" msgid "Can't contains: /"
msgstr "含まれない:/" msgstr "含まれない:/"
#: assets/serializers/platform.py:26
msgid "SFTP enabled"
msgstr "SFTP が有効"
#: assets/serializers/platform.py:27
msgid "SFTP home"
msgstr "SFTP ルート パス"
#: assets/serializers/platform.py:42 #: assets/serializers/platform.py:42
msgid "Auth with username"
msgstr "ユーザー名で認証する"
#: assets/serializers/platform.py:73
msgid "Gather accounts enabled" msgid "Gather accounts enabled"
msgstr "アカウント収集を有効にする" msgstr "アカウント収集を有効にする"
#: assets/serializers/platform.py:74 #: assets/serializers/platform.py:43
msgid "Gather accounts method" msgid "Gather accounts method"
msgstr "アカウントの収集方法" msgstr "アカウントの収集方法"
#: assets/serializers/platform.py:103 #: assets/serializers/platform.py:60
msgid ""
"This protocol is primary, and it must be set when adding assets. "
"Additionally, there can only be one primary protocol."
msgstr ""
"このプロトコルはプライマリであり、資産を追加するときに設定する必要がありま"
"す。また、プライマリプロトコルは1つしかありません"
#: assets/serializers/platform.py:65
msgid "This protocol is required, and it must be set when adding assets."
msgstr "このプロトコルは必須であり、資産を追加するときに設定する必要があります"
#: assets/serializers/platform.py:68
msgid ""
"This protocol is default, when adding assets, it will be displayed by "
"default."
msgstr ""
"このプロトコルはデフォルトです。資産を追加するときに、デフォルトで表示されま"
"す"
#: assets/serializers/platform.py:71
msgid "This protocol is public, asset will show this protocol to user"
msgstr ""
"このプロトコルは公開されており、資産はこのプロトコルをユーザーに表示します"
#: assets/serializers/platform.py:113
msgid "Help text" msgid "Help text"
msgstr "ヘルプ" msgstr "ヘルプ"
#: assets/serializers/platform.py:104 #: assets/serializers/platform.py:114
msgid "Choices" msgid "Choices"
msgstr "せんたく" msgstr "せんたく"
#: assets/serializers/platform.py:119 #: assets/serializers/platform.py:129
msgid "Automation" msgid "Automation"
msgstr "オートメーション" msgstr "オートメーション"
#: assets/serializers/platform.py:144 #: assets/serializers/platform.py:154
msgid "Default Domain" msgid "Default Domain"
msgstr "デフォルト ドメイン" msgstr "デフォルト ドメイン"
#: assets/serializers/platform.py:153 #: assets/serializers/platform.py:163
msgid "type is required" msgid "type is required"
msgstr "タイプ このフィールドは必須です." msgstr "タイプ このフィールドは必須です."
#: assets/serializers/platform.py:176 #: assets/serializers/platform.py:186
msgid "Protocols is required" msgid "Protocols is required"
msgstr "同意が必要です" msgstr "同意が必要です"
@ -1912,7 +1963,7 @@ msgstr "パスワードを変更する"
#: audits/const.py:35 settings/serializers/terminal.py:6 #: audits/const.py:35 settings/serializers/terminal.py:6
#: terminal/models/applet/host.py:25 terminal/models/component/terminal.py:163 #: terminal/models/applet/host.py:25 terminal/models/component/terminal.py:163
#: terminal/serializers/session.py:49 terminal/serializers/session.py:58 #: terminal/serializers/session.py:46 terminal/serializers/session.py:55
msgid "Terminal" msgid "Terminal"
msgstr "ターミナル" msgstr "ターミナル"
@ -1950,7 +2001,7 @@ msgid "Job audit log"
msgstr "ジョブ監査ログ" msgstr "ジョブ監査ログ"
#: audits/models.py:51 audits/models.py:95 audits/models.py:166 #: audits/models.py:51 audits/models.py:95 audits/models.py:166
#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:99 #: terminal/models/session/session.py:38 terminal/models/session/sharing.py:99
msgid "Remote addr" msgid "Remote addr"
msgstr "リモートaddr" msgstr "リモートaddr"
@ -2090,14 +2141,14 @@ msgid "Auth Token"
msgstr "認証トークン" msgstr "認証トークン"
#: audits/signal_handlers/login_log.py:31 authentication/notifications.py:73 #: audits/signal_handlers/login_log.py:31 authentication/notifications.py:73
#: authentication/views/login.py:74 authentication/views/wecom.py:159 #: authentication/views/login.py:75 authentication/views/wecom.py:159
#: notifications/backends/__init__.py:11 settings/serializers/auth/wecom.py:10 #: notifications/backends/__init__.py:11 settings/serializers/auth/wecom.py:10
#: users/models/user.py:706 users/models/user.py:814 #: users/models/user.py:706 users/models/user.py:814
msgid "WeCom" msgid "WeCom"
msgstr "企業微信" msgstr "企業微信"
#: audits/signal_handlers/login_log.py:32 authentication/views/feishu.py:123 #: audits/signal_handlers/login_log.py:32 authentication/views/feishu.py:123
#: authentication/views/login.py:86 notifications/backends/__init__.py:14 #: authentication/views/login.py:87 notifications/backends/__init__.py:14
#: settings/serializers/auth/feishu.py:10 #: settings/serializers/auth/feishu.py:10
#: settings/serializers/auth/feishu.py:13 users/models/user.py:708 #: settings/serializers/auth/feishu.py:13 users/models/user.py:708
#: users/models/user.py:816 #: users/models/user.py:816
@ -2105,7 +2156,7 @@ msgid "FeiShu"
msgstr "本を飛ばす" msgstr "本を飛ばす"
#: audits/signal_handlers/login_log.py:33 authentication/views/dingtalk.py:160 #: audits/signal_handlers/login_log.py:33 authentication/views/dingtalk.py:160
#: authentication/views/login.py:80 notifications/backends/__init__.py:12 #: authentication/views/login.py:81 notifications/backends/__init__.py:12
#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:707 #: settings/serializers/auth/dingtalk.py:10 users/models/user.py:707
#: users/models/user.py:815 #: users/models/user.py:815
msgid "DingTalk" msgid "DingTalk"
@ -2981,23 +3032,23 @@ msgstr "本を飛ばすのバインドに成功"
msgid "Failed to get user from FeiShu" msgid "Failed to get user from FeiShu"
msgstr "本を飛ばすからユーザーを取得できませんでした" msgstr "本を飛ばすからユーザーを取得できませんでした"
#: authentication/views/login.py:182 #: authentication/views/login.py:183
msgid "Redirecting" msgid "Redirecting"
msgstr "リダイレクト" msgstr "リダイレクト"
#: authentication/views/login.py:183 #: authentication/views/login.py:184
msgid "Redirecting to {} authentication" msgid "Redirecting to {} authentication"
msgstr "{} 認証へのリダイレクト" msgstr "{} 認証へのリダイレクト"
#: authentication/views/login.py:206 #: authentication/views/login.py:207
msgid "Please enable cookies and try again." msgid "Login timeout, please try again."
msgstr "クッキーを有効にして、もう一度お試しください。" msgstr "ログインタイムアウト、もう一度お試しください"
#: authentication/views/login.py:247 #: authentication/views/login.py:250
msgid "User email already exists ({})" msgid "User email already exists ({})"
msgstr "ユーザー メールボックスは既に存在します ({})" msgstr "ユーザー メールボックスは既に存在します ({})"
#: authentication/views/login.py:325 #: authentication/views/login.py:328
msgid "" msgid ""
"Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n" "Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
" Don't close this page" " Don't close this page"
@ -3005,15 +3056,15 @@ msgstr ""
"<b>{}</b> 確認を待ちます。彼女/彼へのリンクをコピーすることもできます <br/>\n" "<b>{}</b> 確認を待ちます。彼女/彼へのリンクをコピーすることもできます <br/>\n"
" このページを閉じないでください" " このページを閉じないでください"
#: authentication/views/login.py:330 #: authentication/views/login.py:333
msgid "No ticket found" msgid "No ticket found"
msgstr "チケットが見つかりません" msgstr "チケットが見つかりません"
#: authentication/views/login.py:366 #: authentication/views/login.py:369
msgid "Logout success" msgid "Logout success"
msgstr "ログアウト成功" msgstr "ログアウト成功"
#: authentication/views/login.py:367 #: authentication/views/login.py:370
msgid "Logout success, return login page" msgid "Logout success, return login page"
msgstr "ログアウト成功、ログインページを返す" msgstr "ログアウト成功、ログインページを返す"
@ -3061,7 +3112,7 @@ msgstr "タイミングトリガー"
msgid "Ready" msgid "Ready"
msgstr "の準備を" msgstr "の準備を"
#: common/const/choices.py:16 terminal/const.py:59 tickets/const.py:29 #: common/const/choices.py:16 terminal/const.py:60 tickets/const.py:29
#: tickets/const.py:39 #: tickets/const.py:39
msgid "Pending" msgid "Pending"
msgstr "未定" msgstr "未定"
@ -3702,7 +3753,7 @@ msgstr "保存後に実行"
msgid "Job type" msgid "Job type"
msgstr "タスクの種類" msgstr "タスクの種類"
#: ops/serializers/job.py:57 terminal/serializers/session.py:50 #: ops/serializers/job.py:57 terminal/serializers/session.py:47
msgid "Is finished" msgid "Is finished"
msgstr "終了しました" msgstr "終了しました"
@ -4118,7 +4169,7 @@ msgid "My assets"
msgstr "私の資産" msgstr "私の資産"
#: rbac/tree.py:56 terminal/models/applet/applet.py:51 #: rbac/tree.py:56 terminal/models/applet/applet.py:51
#: terminal/models/applet/applet.py:240 terminal/models/applet/host.py:28 #: terminal/models/applet/applet.py:244 terminal/models/applet/host.py:28
#: terminal/serializers/applet.py:15 #: terminal/serializers/applet.py:15
msgid "Applet" msgid "Applet"
msgstr "リモートアプリケーション" msgstr "リモートアプリケーション"
@ -4148,23 +4199,23 @@ msgstr "テストの成功"
msgid "Test mail sent to {}, please check" msgid "Test mail sent to {}, please check"
msgstr "{}に送信されたテストメールを確認してください" msgstr "{}に送信されたテストメールを確認してください"
#: settings/api/ldap.py:173 #: settings/api/ldap.py:176
msgid "Synchronization start, please wait." msgid "Synchronization start, please wait."
msgstr "同期開始、お待ちください。" msgstr "同期開始、お待ちください。"
#: settings/api/ldap.py:177 #: settings/api/ldap.py:180
msgid "Synchronization is running, please wait." msgid "Synchronization is running, please wait."
msgstr "同期が実行中です。しばらくお待ちください。" msgstr "同期が実行中です。しばらくお待ちください。"
#: settings/api/ldap.py:182 #: settings/api/ldap.py:185
msgid "Synchronization error: {}" msgid "Synchronization error: {}"
msgstr "同期エラー: {}" msgstr "同期エラー: {}"
#: settings/api/ldap.py:220 #: settings/api/ldap.py:223
msgid "Get ldap users is None" msgid "Get ldap users is None"
msgstr "Ldapユーザーを取得するにはNone" msgstr "Ldapユーザーを取得するにはNone"
#: settings/api/ldap.py:230 #: settings/api/ldap.py:233
msgid "Imported {} users successfully (Organization: {})" msgid "Imported {} users successfully (Organization: {})"
msgstr "{} 人のユーザーを正常にインポートしました (組織: {})" msgstr "{} 人のユーザーを正常にインポートしました (組織: {})"
@ -5078,10 +5129,6 @@ msgstr "ログインcaptchaの有効化"
msgid "Enable captcha to prevent robot authentication" msgid "Enable captcha to prevent robot authentication"
msgstr "Captchaを有効にしてロボット認証を防止する" msgstr "Captchaを有効にしてロボット認証を防止する"
#: settings/serializers/security.py:151
msgid "Security"
msgstr "セキュリティ"
#: settings/serializers/security.py:154 #: settings/serializers/security.py:154
msgid "Enable terminal register" msgid "Enable terminal register"
msgstr "ターミナルレジスタの有効化" msgstr "ターミナルレジスタの有効化"
@ -5640,7 +5687,7 @@ msgstr "クリティカル"
msgid "High" msgid "High"
msgstr "高い" msgstr "高い"
#: terminal/const.py:32 terminal/const.py:66 #: terminal/const.py:32 terminal/const.py:67
#: users/templates/users/reset_password.html:50 #: users/templates/users/reset_password.html:50
msgid "Normal" msgid "Normal"
msgstr "正常" msgstr "正常"
@ -5649,19 +5696,19 @@ msgstr "正常"
msgid "Offline" msgid "Offline"
msgstr "オフライン" msgstr "オフライン"
#: terminal/const.py:62 #: terminal/const.py:63
msgid "Mismatch" msgid "Mismatch"
msgstr "一致しない" msgstr "一致しない"
#: terminal/const.py:67 #: terminal/const.py:68
msgid "Tunnel" msgid "Tunnel"
msgstr "" msgstr ""
#: terminal/const.py:72 #: terminal/const.py:73
msgid "Read Only" msgid "Read Only"
msgstr "読み取り専用" msgstr "読み取り専用"
#: terminal/const.py:73 #: terminal/const.py:74
msgid "Writable" msgid "Writable"
msgstr "書き込み可能" msgstr "書き込み可能"
@ -5717,7 +5764,7 @@ msgstr "カスタムプラットフォームのみをサポート"
msgid "Missing type in platform.yml" msgid "Missing type in platform.yml"
msgstr "platform.ymlにタイプがありません" msgstr "platform.ymlにタイプがありません"
#: terminal/models/applet/applet.py:242 terminal/models/applet/host.py:34 #: terminal/models/applet/applet.py:246 terminal/models/applet/host.py:34
#: terminal/models/applet/host.py:134 #: terminal/models/applet/host.py:134
msgid "Hosting" msgid "Hosting"
msgstr "ホスト マシン" msgstr "ホスト マシン"
@ -5786,7 +5833,7 @@ msgstr "エンドポイント"
msgid "IP group" msgid "IP group"
msgstr "IP グループ" msgstr "IP グループ"
#: terminal/models/component/endpoint.py:103 #: terminal/models/component/endpoint.py:104
msgid "Endpoint rule" msgid "Endpoint rule"
msgstr "エンドポイントルール" msgstr "エンドポイントルール"
@ -5864,39 +5911,39 @@ msgstr "セッションのリプレイをアップロードできます"
msgid "Can download session replay" msgid "Can download session replay"
msgstr "セッション再生をダウンロードできます" msgstr "セッション再生をダウンロードできます"
#: terminal/models/session/session.py:35 #: terminal/models/session/session.py:34
msgid "Account id" msgid "Account id"
msgstr "アカウント ID" msgstr "アカウント ID"
#: terminal/models/session/session.py:37 terminal/models/session/sharing.py:104 #: terminal/models/session/session.py:36 terminal/models/session/sharing.py:104
msgid "Login from" msgid "Login from"
msgstr "ログイン元" msgstr "ログイン元"
#: terminal/models/session/session.py:42 #: terminal/models/session/session.py:41
msgid "Replay" msgid "Replay"
msgstr "リプレイ" msgstr "リプレイ"
#: terminal/models/session/session.py:46 #: terminal/models/session/session.py:45
msgid "Date end" msgid "Date end"
msgstr "終了日" msgstr "終了日"
#: terminal/models/session/session.py:243 #: terminal/models/session/session.py:240
msgid "Session record" msgid "Session record"
msgstr "セッション記録" msgstr "セッション記録"
#: terminal/models/session/session.py:245 #: terminal/models/session/session.py:242
msgid "Can monitor session" msgid "Can monitor session"
msgstr "セッションを監視できます" msgstr "セッションを監視できます"
#: terminal/models/session/session.py:246 #: terminal/models/session/session.py:243
msgid "Can share session" msgid "Can share session"
msgstr "セッションを共有できます" msgstr "セッションを共有できます"
#: terminal/models/session/session.py:247 #: terminal/models/session/session.py:244
msgid "Can terminate session" msgid "Can terminate session"
msgstr "セッションを終了できます" msgstr "セッションを終了できます"
#: terminal/models/session/session.py:248 #: terminal/models/session/session.py:245
msgid "Can validate session action perm" msgid "Can validate session action perm"
msgstr "セッションアクションのパーマを検証できます" msgstr "セッションアクションのパーマを検証できます"
@ -6104,35 +6151,35 @@ msgstr ""
msgid "Asset IP" msgid "Asset IP"
msgstr "資産 IP" msgstr "資産 IP"
#: terminal/serializers/session.py:25 terminal/serializers/session.py:47 #: terminal/serializers/session.py:22 terminal/serializers/session.py:44
msgid "Can replay" msgid "Can replay"
msgstr "再生できます" msgstr "再生できます"
#: terminal/serializers/session.py:26 terminal/serializers/session.py:48 #: terminal/serializers/session.py:23 terminal/serializers/session.py:45
msgid "Can join" msgid "Can join"
msgstr "参加できます" msgstr "参加できます"
#: terminal/serializers/session.py:27 terminal/serializers/session.py:51 #: terminal/serializers/session.py:24 terminal/serializers/session.py:48
msgid "Can terminate" msgid "Can terminate"
msgstr "終了できます" msgstr "終了できます"
#: terminal/serializers/session.py:43 #: terminal/serializers/session.py:40
msgid "User ID" msgid "User ID"
msgstr "ユーザーID" msgstr "ユーザーID"
#: terminal/serializers/session.py:44 #: terminal/serializers/session.py:41
msgid "Asset ID" msgid "Asset ID"
msgstr "資産ID" msgstr "資産ID"
#: terminal/serializers/session.py:45 #: terminal/serializers/session.py:42
msgid "Login from display" msgid "Login from display"
msgstr "表示からのログイン" msgstr "表示からのログイン"
#: terminal/serializers/session.py:52 #: terminal/serializers/session.py:49
msgid "Terminal display" msgid "Terminal display"
msgstr "ターミナルディスプレイ" msgstr "ターミナルディスプレイ"
#: terminal/serializers/session.py:57 #: terminal/serializers/session.py:54
msgid "Command amount" msgid "Command amount"
msgstr "コマンド量" msgstr "コマンド量"
@ -6447,11 +6494,11 @@ msgstr "承認ステップ"
msgid "Relation snapshot" msgid "Relation snapshot"
msgstr "製造オーダスナップショット" msgstr "製造オーダスナップショット"
#: tickets/models/ticket/general.py:392 #: tickets/models/ticket/general.py:398
msgid "Please try again" msgid "Please try again"
msgstr "もう一度お試しください" msgstr "もう一度お試しください"
#: tickets/models/ticket/general.py:461 #: tickets/models/ticket/general.py:467
msgid "Super ticket" msgid "Super ticket"
msgstr "スーパーチケット" msgstr "スーパーチケット"
@ -7726,3 +7773,6 @@ msgstr "究極のエディション"
#: xpack/plugins/license/models.py:86 #: xpack/plugins/license/models.py:86
msgid "Community edition" msgid "Community edition"
msgstr "コミュニティ版" msgstr "コミュニティ版"
#~ msgid "Please enable cookies and try again."
#~ 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:0efb248e80873f34d20f0fc3d4dd5c5a346048cb683c2b6bda3df939697fc52c oid sha256:6cedb6d13bc42a5621b60813fb4db0c094a343568eb3f5678566cbbe7f763228
size 119261 size 120269

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n" "Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-15 15:35+0800\n" "POT-Creation-Date: 2023-06-30 15:41+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"
@ -86,7 +86,7 @@ msgstr "更新"
#: accounts/const/account.py:27 #: accounts/const/account.py:27
#: 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:61 xpack/plugins/cloud/const.py:41 #: ops/const.py:58 terminal/const.py:62 xpack/plugins/cloud/const.py:41
msgid "Failed" msgid "Failed"
msgstr "失败" msgstr "失败"
@ -186,11 +186,11 @@ msgstr "仅创建"
#: accounts/serializers/automations/change_secret.py:112 #: accounts/serializers/automations/change_secret.py:112
#: accounts/serializers/automations/change_secret.py:132 #: accounts/serializers/automations/change_secret.py:132
#: acls/serializers/base.py:118 assets/models/asset/common.py:93 #: acls/serializers/base.py:118 assets/models/asset/common.py:93
#: assets/models/asset/common.py:332 assets/models/cmd_filter.py:36 #: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36
#: assets/serializers/domain.py:19 assets/serializers/label.py:27 #: assets/serializers/domain.py:19 assets/serializers/label.py:27
#: audits/models.py:53 authentication/models/connection_token.py:35 #: audits/models.py:53 authentication/models/connection_token.py:35
#: 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:20 terminal/models/session/session.py:32 #: terminal/backends/command/models.py:20 terminal/models/session/session.py:31
#: terminal/notifications.py:95 terminal/serializers/command.py:17 #: terminal/notifications.py:95 terminal/serializers/command.py:17
#: 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"
@ -224,7 +224,7 @@ msgstr "来源 ID"
#: acls/serializers/base.py:119 assets/serializers/asset/common.py:125 #: acls/serializers/base.py:119 assets/serializers/asset/common.py:125
#: 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:21 terminal/models/session/session.py:34 #: terminal/backends/command/models.py:21 terminal/models/session/session.py:33
#: 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 "账号"
@ -278,7 +278,7 @@ msgstr "账号备份计划"
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192 #: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192
#: ops/templates/ops/celery_task_log.html:75 #: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137 #: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137
#: terminal/models/session/session.py:45 #: terminal/models/session/session.py:44
#: tickets/models/ticket/apply_application.py:30 #: tickets/models/ticket/apply_application.py:30
#: tickets/models/ticket/apply_asset.py:19 #: tickets/models/ticket/apply_asset.py:19
msgid "Date start" msgid "Date start"
@ -310,7 +310,7 @@ msgstr "原因"
#: accounts/models/automations/backup_account.py:99 #: accounts/models/automations/backup_account.py:99
#: accounts/serializers/automations/change_secret.py:111 #: accounts/serializers/automations/change_secret.py:111
#: accounts/serializers/automations/change_secret.py:134 #: accounts/serializers/automations/change_secret.py:134
#: ops/serializers/job.py:56 terminal/serializers/session.py:46 #: ops/serializers/job.py:56 terminal/serializers/session.py:43
msgid "Is success" msgid "Is success"
msgstr "是否成功" msgstr "是否成功"
@ -478,10 +478,10 @@ msgstr "账号验证"
#: applications/models.py:9 assets/models/_user.py:22 #: applications/models.py:9 assets/models/_user.py:22
#: assets/models/asset/common.py:91 assets/models/asset/common.py:149 #: assets/models/asset/common.py:91 assets/models/asset/common.py:149
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18 #: assets/models/cmd_filter.py:21 assets/models/domain.py:18
#: assets/models/group.py:20 assets/models/label.py:18 #: assets/models/group.py:17 assets/models/label.py:18
#: assets/models/platform.py:13 assets/models/platform.py:81 #: assets/models/platform.py:13 assets/models/platform.py:81
#: assets/serializers/asset/common.py:145 assets/serializers/platform.py:99 #: assets/serializers/asset/common.py:145 assets/serializers/platform.py:109
#: assets/serializers/platform.py:199 #: assets/serializers/platform.py:209
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21 #: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57 #: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
#: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20 #: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20
@ -504,7 +504,8 @@ msgstr "特权账号"
#: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39 #: assets/models/automations/base.py:21 assets/models/cmd_filter.py:39
#: assets/models/label.py:22 #: assets/models/label.py:22
#: authentication/serializers/connect_token_secret.py:114 #: authentication/serializers/connect_token_secret.py:114
#: terminal/models/applet/applet.py:39 users/serializers/user.py:169 #: terminal/models/applet/applet.py:39
#: terminal/models/component/endpoint.py:101 users/serializers/user.py:169
msgid "Is active" msgid "Is active"
msgstr "激活" msgstr "激活"
@ -557,7 +558,7 @@ msgstr "账号存在策略"
#: accounts/serializers/account/account.py:180 applications/models.py:11 #: accounts/serializers/account/account.py:180 applications/models.py:11
#: assets/models/label.py:21 assets/models/platform.py:82 #: assets/models/label.py:21 assets/models/platform.py:82
#: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:8 #: assets/serializers/asset/common.py:121 assets/serializers/cagegory.py:8
#: assets/serializers/platform.py:117 assets/serializers/platform.py:200 #: assets/serializers/platform.py:127 assets/serializers/platform.py:210
#: perms/serializers/user_permission.py:26 settings/models.py:35 #: perms/serializers/user_permission.py:26 settings/models.py:35
#: tickets/models/ticket/apply_application.py:13 #: tickets/models/ticket/apply_application.py:13
msgid "Category" msgid "Category"
@ -568,13 +569,13 @@ msgstr "类别"
#: acls/serializers/command_acl.py:18 applications/models.py:14 #: acls/serializers/command_acl.py:18 applications/models.py:14
#: assets/models/_user.py:50 assets/models/automations/base.py:20 #: assets/models/_user.py:50 assets/models/automations/base.py:20
#: assets/models/cmd_filter.py:74 assets/models/platform.py:83 #: assets/models/cmd_filter.py:74 assets/models/platform.py:83
#: assets/serializers/asset/common.py:122 assets/serializers/platform.py:101 #: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111
#: assets/serializers/platform.py:116 audits/serializers.py:48 #: assets/serializers/platform.py:126 audits/serializers.py:48
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103 #: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38 #: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38
#: terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
#: terminal/serializers/session.py:23 terminal/serializers/storage.py:224 #: terminal/serializers/session.py:20 terminal/serializers/storage.py:224
#: terminal/serializers/storage.py:236 tickets/models/comment.py:26 #: terminal/serializers/storage.py:236 tickets/models/comment.py:26
#: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16
#: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53 #: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53
@ -640,7 +641,7 @@ msgstr "ID"
#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58 #: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:58
#: perms/serializers/permission.py:30 rbac/builtin.py:122 #: perms/serializers/permission.py:30 rbac/builtin.py:122
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19 #: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:19
#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:32 #: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:96 terminal/notifications.py:144 #: terminal/notifications.py:96 terminal/notifications.py:144
#: terminal/serializers/command.py:16 tickets/models/comment.py:21 #: terminal/serializers/command.py:16 tickets/models/comment.py:21
#: users/const.py:14 users/models/user.py:947 users/models/user.py:978 #: users/const.py:14 users/models/user.py:947 users/models/user.py:978
@ -684,9 +685,13 @@ msgstr "密钥密码"
msgid "Spec info" msgid "Spec info"
msgstr "特殊信息" msgstr "特殊信息"
#: accounts/serializers/account/base.py:81 #: accounts/serializers/account/base.py:82
msgid "Tip: If no username is required for authentication, fill in `null`" msgid ""
msgstr "提示: 如果认证时不需要用户名,可填写为 null" "Tip: If no username is required for authentication, fill in `null`, If AD "
"account, like `username@domain`"
msgstr ""
"提示: 如果认证时不需要用户名,可填写为 null, 如果是 AD 账号,格式为 "
"username@domain"
#: accounts/serializers/automations/base.py:23 #: accounts/serializers/automations/base.py:23
#: assets/models/asset/common.py:155 assets/models/automations/base.py:18 #: assets/models/asset/common.py:155 assets/models/automations/base.py:18
@ -725,7 +730,7 @@ msgstr "自动化任务执行历史"
#: accounts/serializers/automations/change_secret.py:155 audits/const.py:53 #: accounts/serializers/automations/change_secret.py:155 audits/const.py:53
#: audits/models.py:59 audits/signal_handlers/activity_log.py:33 #: audits/models.py:59 audits/signal_handlers/activity_log.py:33
#: common/const/choices.py:18 ops/const.py:56 ops/serializers/celery.py:40 #: common/const/choices.py:18 ops/const.py:56 ops/serializers/celery.py:40
#: terminal/const.py:60 terminal/models/session/sharing.py:107 #: terminal/const.py:61 terminal/models/session/sharing.py:107
#: tickets/views/approve.py:114 #: tickets/views/approve.py:114
msgid "Success" msgid "Success"
msgstr "成功" msgstr "成功"
@ -821,8 +826,8 @@ msgid "Accounts"
msgstr "账号管理" msgstr "账号管理"
#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 #: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60
#: ops/serializers/job.py:55 terminal/const.py:68 #: ops/serializers/job.py:55 terminal/const.py:69
#: terminal/models/session/session.py:43 terminal/serializers/command.py:18 #: terminal/models/session/session.py:42 terminal/serializers/command.py:18
#: 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
msgid "Command" msgid "Command"
@ -959,11 +964,11 @@ msgstr "应用程序"
msgid "Can match application" msgid "Can match application"
msgstr "匹配应用" msgstr "匹配应用"
#: assets/api/asset/asset.py:149 #: assets/api/asset/asset.py:153
msgid "Cannot create asset directly, you should create a host or other" msgid "Cannot create asset directly, you should create a host or other"
msgstr "不能直接创建资产, 你应该创建主机或其他资产" msgstr "不能直接创建资产, 你应该创建主机或其他资产"
#: assets/api/domain.py:60 #: assets/api/domain.py:62
msgid "Number required" msgid "Number required"
msgstr "需要为数字" msgstr "需要为数字"
@ -1037,6 +1042,19 @@ msgstr "测试网关"
msgid "Gather facts" msgid "Gather facts"
msgstr "收集资产信息" msgstr "收集资产信息"
#: assets/const/base.py:33 audits/const.py:47
#: terminal/serializers/applet_host.py:32
msgid "Disabled"
msgstr "禁用"
#: assets/const/base.py:34 settings/serializers/basic.py:27
msgid "Basic"
msgstr "基本"
#: assets/const/base.py:35 assets/models/asset/web.py:13
msgid "Script"
msgstr "脚本"
#: assets/const/category.py:10 assets/models/asset/host.py:8 #: assets/const/category.py:10 assets/models/asset/host.py:8
#: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:67 #: settings/serializers/auth/radius.py:16 settings/serializers/auth/sms.py:67
#: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17 #: terminal/models/component/endpoint.py:13 terminal/serializers/applet.py:17
@ -1099,28 +1117,63 @@ msgstr "防火墙"
msgid "Other" msgid "Other"
msgstr "其它" msgstr "其它"
#: assets/const/types.py:223 #: assets/const/protocol.py:39
msgid "SFTP enabled"
msgstr "SFTP 已启用"
#: assets/const/protocol.py:44
msgid "SFTP home"
msgstr "SFTP 根路径"
#: assets/const/protocol.py:55
msgid "Console"
msgstr "控制台"
#: assets/const/protocol.py:56
msgid "Connect to console session"
msgstr "连接到控制台会话"
#: assets/const/protocol.py:60
msgid "Any"
msgstr "任意"
#: assets/const/protocol.py:62 settings/serializers/security.py:151
msgid "Security"
msgstr "安全"
#: assets/const/protocol.py:63
msgid "Security layer to use for the connection"
msgstr "连接 RDP 使用的安全层"
#: assets/const/protocol.py:87 assets/models/asset/database.py:10
#: settings/serializers/email.py:37
msgid "Use SSL"
msgstr "使用 SSL"
#: assets/const/protocol.py:140
msgid "Auth username"
msgstr "使用用户名认证"
#: assets/const/protocol.py:167 assets/models/asset/web.py:10
msgid "Username selector"
msgstr "用户名选择器"
#: assets/const/protocol.py:172 assets/models/asset/web.py:11
msgid "Password selector"
msgstr "密码选择器"
#: assets/const/protocol.py:177 assets/models/asset/web.py:12
msgid "Submit selector"
msgstr "确认按钮选择器"
#: assets/const/types.py:222
msgid "All types" msgid "All types"
msgstr "所有类型" msgstr "所有类型"
#: assets/const/web.py:8 #: assets/const/web.py:7
msgid "Website" msgid "Website"
msgstr "网站" msgstr "网站"
#: assets/const/web.py:59 audits/const.py:47
#: terminal/serializers/applet_host.py:32
msgid "Disabled"
msgstr "禁用"
#: assets/const/web.py:60 settings/serializers/basic.py:27
msgid "Basic"
msgstr "基本"
#: assets/const/web.py:61 assets/models/asset/web.py:13
#: assets/serializers/platform.py:40
msgid "Script"
msgstr "脚本"
#: assets/exceptions.py:12 #: assets/exceptions.py:12
msgid "This function is not supported temporarily" msgid "This function is not supported temporarily"
msgstr "暂时不支持此功能" msgstr "暂时不支持此功能"
@ -1134,20 +1187,20 @@ msgid "SSH public key"
msgstr "SSH公钥" msgstr "SSH公钥"
#: assets/models/_user.py:27 assets/models/cmd_filter.py:40 #: assets/models/_user.py:27 assets/models/cmd_filter.py:40
#: assets/models/cmd_filter.py:88 assets/models/group.py:23 #: assets/models/cmd_filter.py:88 assets/models/group.py:20
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111 #: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111
#: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38 #: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38
#: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:244 #: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248
#: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24 #: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24
#: terminal/models/component/endpoint.py:100 #: terminal/models/component/endpoint.py:100
#: terminal/models/session/session.py:47 tickets/models/comment.py:32 #: terminal/models/session/session.py:46 tickets/models/comment.py:32
#: tickets/models/ticket/general.py:297 users/models/user.py:792 #: tickets/models/ticket/general.py:297 users/models/user.py:792
#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:111 #: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:111
msgid "Comment" msgid "Comment"
msgstr "备注" msgstr "备注"
#: assets/models/_user.py:28 assets/models/automations/base.py:114 #: assets/models/_user.py:28 assets/models/automations/base.py:114
#: assets/models/cmd_filter.py:41 assets/models/group.py:22 #: assets/models/cmd_filter.py:41 assets/models/group.py:19
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191 #: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191
#: users/models/user.py:979 #: users/models/user.py:979
msgid "Date created" msgid "Date created"
@ -1159,7 +1212,7 @@ msgid "Date updated"
msgstr "更新日期" msgstr "更新日期"
#: assets/models/_user.py:30 assets/models/cmd_filter.py:44 #: assets/models/_user.py:30 assets/models/cmd_filter.py:44
#: assets/models/cmd_filter.py:91 assets/models/group.py:21 #: assets/models/cmd_filter.py:91 assets/models/group.py:18
#: common/db/models.py:32 users/models/user.py:799 #: common/db/models.py:32 users/models/user.py:799
#: users/serializers/group.py:29 #: users/serializers/group.py:29
msgid "Created by" msgid "Created by"
@ -1187,8 +1240,8 @@ msgstr "用户名与用户相同"
#: assets/models/_user.py:52 authentication/models/connection_token.py:40 #: assets/models/_user.py:52 authentication/models/connection_token.py:40
#: authentication/serializers/connect_token_secret.py:111 #: authentication/serializers/connect_token_secret.py:111
#: terminal/models/applet/applet.py:41 terminal/serializers/session.py:21 #: terminal/models/applet/applet.py:41 terminal/serializers/session.py:18
#: terminal/serializers/session.py:42 terminal/serializers/storage.py:68 #: terminal/serializers/session.py:39 terminal/serializers/storage.py:68
msgid "Protocol" msgid "Protocol"
msgstr "协议" msgstr "协议"
@ -1276,19 +1329,19 @@ msgstr "收集资产硬件信息"
msgid "Custom info" msgid "Custom info"
msgstr "自定义属性" msgstr "自定义属性"
#: assets/models/asset/common.py:335 #: assets/models/asset/common.py:334
msgid "Can refresh asset hardware info" msgid "Can refresh asset hardware info"
msgstr "可以更新资产硬件信息" msgstr "可以更新资产硬件信息"
#: assets/models/asset/common.py:336 #: assets/models/asset/common.py:335
msgid "Can test asset connectivity" msgid "Can test asset connectivity"
msgstr "可以测试资产连接性" msgstr "可以测试资产连接性"
#: assets/models/asset/common.py:337 #: assets/models/asset/common.py:336
msgid "Can match asset" msgid "Can match asset"
msgstr "可以匹配资产" msgstr "可以匹配资产"
#: assets/models/asset/common.py:338 #: assets/models/asset/common.py:337
msgid "Can change asset nodes" msgid "Can change asset nodes"
msgstr "可以修改资产节点" msgstr "可以修改资产节点"
@ -1296,11 +1349,6 @@ msgstr "可以修改资产节点"
msgid "Custom asset" msgid "Custom asset"
msgstr "自定义资产" msgstr "自定义资产"
#: assets/models/asset/database.py:10 assets/serializers/platform.py:45
#: settings/serializers/email.py:37
msgid "Use SSL"
msgstr "使用 SSL"
#: assets/models/asset/database.py:11 #: assets/models/asset/database.py:11
msgid "CA cert" msgid "CA cert"
msgstr "CA 证书" msgstr "CA 证书"
@ -1318,22 +1366,9 @@ msgid "Allow invalid cert"
msgstr "忽略证书校验" msgstr "忽略证书校验"
#: assets/models/asset/web.py:9 assets/serializers/asset/info/spec.py:16 #: assets/models/asset/web.py:9 assets/serializers/asset/info/spec.py:16
#: assets/serializers/platform.py:30
msgid "Autofill" msgid "Autofill"
msgstr "自动代填" msgstr "自动代填"
#: assets/models/asset/web.py:10 assets/serializers/platform.py:32
msgid "Username selector"
msgstr "用户名选择器"
#: assets/models/asset/web.py:11 assets/serializers/platform.py:35
msgid "Password selector"
msgstr "密码选择器"
#: assets/models/asset/web.py:12 assets/serializers/platform.py:38
msgid "Submit selector"
msgstr "确认按钮选择器"
#: assets/models/automations/base.py:22 ops/models/job.py:187 #: assets/models/automations/base.py:22 ops/models/job.py:187
#: settings/serializers/auth/sms.py:99 #: settings/serializers/auth/sms.py:99
msgid "Parameters" msgid "Parameters"
@ -1349,7 +1384,7 @@ msgstr "资产自动化任务"
#: assets/models/automations/base.py:113 audits/models.py:199 #: assets/models/automations/base.py:113 audits/models.py:199
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184 #: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184
#: terminal/models/applet/applet.py:243 terminal/models/applet/host.py:136 #: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18 #: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
#: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283 #: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283
#: tickets/serializers/super_ticket.py:13 #: tickets/serializers/super_ticket.py:13
@ -1412,17 +1447,17 @@ msgstr "收藏的资产"
msgid "Gateway" msgid "Gateway"
msgstr "网关" msgstr "网关"
#: assets/models/group.py:30 #: assets/models/group.py:27
msgid "Asset group" msgid "Asset group"
msgstr "资产组" msgstr "资产组"
#: assets/models/group.py:34 assets/models/platform.py:17 #: assets/models/group.py:31 assets/models/platform.py:17
#: assets/serializers/platform.py:102 #: assets/serializers/platform.py:112
#: xpack/plugins/cloud/providers/nutanix.py:30 #: xpack/plugins/cloud/providers/nutanix.py:30
msgid "Default" msgid "Default"
msgstr "默认" msgstr "默认"
#: assets/models/group.py:34 #: assets/models/group.py:31
msgid "Default asset group" msgid "Default asset group"
msgstr "默认资产组" msgstr "默认资产组"
@ -1440,7 +1475,7 @@ msgstr "值"
#: assets/models/label.py:40 assets/serializers/asset/common.py:123 #: assets/models/label.py:40 assets/serializers/asset/common.py:123
#: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13 #: assets/serializers/cagegory.py:6 assets/serializers/cagegory.py:13
#: assets/serializers/platform.py:100 #: assets/serializers/platform.py:110
#: authentication/serializers/connect_token_secret.py:121 #: authentication/serializers/connect_token_secret.py:121
#: common/serializers/common.py:85 perms/serializers/user_permission.py:28 #: common/serializers/common.py:85 perms/serializers/user_permission.py:28
#: settings/serializers/sms.py:7 #: settings/serializers/sms.py:7
@ -1488,7 +1523,8 @@ msgstr "必须的"
msgid "Public" msgid "Public"
msgstr "开放的" msgstr "开放的"
#: assets/models/platform.py:19 settings/serializers/settings.py:67 #: assets/models/platform.py:19 assets/serializers/platform.py:48
#: settings/serializers/settings.py:67
#: users/templates/users/reset_password.html:29 #: users/templates/users/reset_password.html:29
msgid "Setting" msgid "Setting"
msgstr "设置" msgstr "设置"
@ -1502,11 +1538,11 @@ msgstr "启用"
msgid "Ansible config" msgid "Ansible config"
msgstr "Ansible 配置" msgstr "Ansible 配置"
#: assets/models/platform.py:34 assets/serializers/platform.py:63 #: assets/models/platform.py:34 assets/serializers/platform.py:32
msgid "Ping enabled" msgid "Ping enabled"
msgstr "启用资产探活" msgstr "启用资产探活"
#: assets/models/platform.py:35 assets/serializers/platform.py:64 #: assets/models/platform.py:35 assets/serializers/platform.py:33
msgid "Ping method" msgid "Ping method"
msgstr "资产探活方式" msgstr "资产探活方式"
@ -1515,12 +1551,12 @@ msgid "Ping params"
msgstr "资产探活参数" msgstr "资产探活参数"
#: assets/models/platform.py:38 assets/models/platform.py:62 #: assets/models/platform.py:38 assets/models/platform.py:62
#: assets/serializers/platform.py:65 #: assets/serializers/platform.py:34
msgid "Gather facts enabled" msgid "Gather facts enabled"
msgstr "启用收集资产信息" msgstr "启用收集资产信息"
#: assets/models/platform.py:40 assets/models/platform.py:64 #: assets/models/platform.py:40 assets/models/platform.py:64
#: assets/serializers/platform.py:66 #: assets/serializers/platform.py:35
msgid "Gather facts method" msgid "Gather facts method"
msgstr "收集信息方式" msgstr "收集信息方式"
@ -1528,11 +1564,11 @@ msgstr "收集信息方式"
msgid "Gather facts params" msgid "Gather facts params"
msgstr "收集信息参数" msgstr "收集信息参数"
#: assets/models/platform.py:44 assets/serializers/platform.py:69 #: assets/models/platform.py:44 assets/serializers/platform.py:38
msgid "Change secret enabled" msgid "Change secret enabled"
msgstr "启用改密" msgstr "启用改密"
#: assets/models/platform.py:46 assets/serializers/platform.py:70 #: assets/models/platform.py:46 assets/serializers/platform.py:39
msgid "Change secret method" msgid "Change secret method"
msgstr "改密方式" msgstr "改密方式"
@ -1540,11 +1576,11 @@ msgstr "改密方式"
msgid "Change secret params" msgid "Change secret params"
msgstr "改密参数" msgstr "改密参数"
#: assets/models/platform.py:50 assets/serializers/platform.py:71 #: assets/models/platform.py:50 assets/serializers/platform.py:40
msgid "Push account enabled" msgid "Push account enabled"
msgstr "启用账号推送" msgstr "启用账号推送"
#: assets/models/platform.py:52 assets/serializers/platform.py:72 #: assets/models/platform.py:52 assets/serializers/platform.py:41
msgid "Push account method" msgid "Push account method"
msgstr "账号推送方式" msgstr "账号推送方式"
@ -1552,11 +1588,11 @@ msgstr "账号推送方式"
msgid "Push account params" msgid "Push account params"
msgstr "账号推送参数" msgstr "账号推送参数"
#: assets/models/platform.py:56 assets/serializers/platform.py:67 #: assets/models/platform.py:56 assets/serializers/platform.py:36
msgid "Verify account enabled" msgid "Verify account enabled"
msgstr "开启账号验证" msgstr "开启账号验证"
#: assets/models/platform.py:58 assets/serializers/platform.py:68 #: assets/models/platform.py:58 assets/serializers/platform.py:37
msgid "Verify account method" msgid "Verify account method"
msgstr "账号验证方式" msgstr "账号验证方式"
@ -1572,23 +1608,23 @@ msgstr "元数据"
msgid "Internal" msgid "Internal"
msgstr "内置" msgstr "内置"
#: assets/models/platform.py:89 assets/serializers/platform.py:115 #: assets/models/platform.py:89 assets/serializers/platform.py:125
msgid "Charset" msgid "Charset"
msgstr "编码" msgstr "编码"
#: assets/models/platform.py:91 assets/serializers/platform.py:143 #: assets/models/platform.py:91 assets/serializers/platform.py:153
msgid "Domain enabled" msgid "Domain enabled"
msgstr "启用网域" msgstr "启用网域"
#: assets/models/platform.py:93 assets/serializers/platform.py:142 #: assets/models/platform.py:93 assets/serializers/platform.py:152
msgid "Su enabled" msgid "Su enabled"
msgstr "启用账号切换" msgstr "启用账号切换"
#: assets/models/platform.py:94 assets/serializers/platform.py:121 #: assets/models/platform.py:94 assets/serializers/platform.py:131
msgid "Su method" msgid "Su method"
msgstr "账号切换方式" msgstr "账号切换方式"
#: assets/models/platform.py:95 assets/serializers/platform.py:124 #: assets/models/platform.py:95 assets/serializers/platform.py:134
msgid "Custom fields" msgid "Custom fields"
msgstr "自定义属性" msgstr "自定义属性"
@ -1603,7 +1639,7 @@ msgid ""
"type" "type"
msgstr "资产中批量更新平台,不符合平台类型跳过的资产" msgstr "资产中批量更新平台,不符合平台类型跳过的资产"
#: assets/serializers/asset/common.py:124 assets/serializers/platform.py:118 #: assets/serializers/asset/common.py:124 assets/serializers/platform.py:128
#: authentication/serializers/connect_token_secret.py:29 #: authentication/serializers/connect_token_secret.py:29
#: authentication/serializers/connect_token_secret.py:72 #: authentication/serializers/connect_token_secret.py:72
#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99 #: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:99
@ -1719,47 +1755,55 @@ msgstr "值"
msgid "Can't contains: /" msgid "Can't contains: /"
msgstr "不能包含: /" msgstr "不能包含: /"
#: assets/serializers/platform.py:26
msgid "SFTP enabled"
msgstr "SFTP 已启用"
#: assets/serializers/platform.py:27
msgid "SFTP home"
msgstr "SFTP 根路径"
#: assets/serializers/platform.py:42 #: assets/serializers/platform.py:42
msgid "Auth with username"
msgstr "使用用户名认证"
#: assets/serializers/platform.py:73
msgid "Gather accounts enabled" msgid "Gather accounts enabled"
msgstr "启用账号收集" msgstr "启用账号收集"
#: assets/serializers/platform.py:74 #: assets/serializers/platform.py:43
msgid "Gather accounts method" msgid "Gather accounts method"
msgstr "收集账号方式" msgstr "收集账号方式"
#: assets/serializers/platform.py:103 #: assets/serializers/platform.py:60
msgid ""
"This protocol is primary, and it must be set when adding assets. "
"Additionally, there can only be one primary protocol."
msgstr "该协议是主要的,添加资产时必须设置。并且只能有一个主要协议"
#: assets/serializers/platform.py:65
msgid "This protocol is required, and it must be set when adding assets."
msgstr "该协议是必填的,添加资产时必须设置"
#: assets/serializers/platform.py:68
msgid ""
"This protocol is default, when adding assets, it will be displayed by "
"default."
msgstr "该协议是默认的,添加资产时,将默认显示"
#: assets/serializers/platform.py:71
msgid "This protocol is public, asset will show this protocol to user"
msgstr "该协议是公开的,资产将向用户显示该协议并可以连接使用"
#: assets/serializers/platform.py:113
msgid "Help text" msgid "Help text"
msgstr "帮助" msgstr "帮助"
#: assets/serializers/platform.py:104 #: assets/serializers/platform.py:114
msgid "Choices" msgid "Choices"
msgstr "选择" msgstr "选择"
#: assets/serializers/platform.py:119 #: assets/serializers/platform.py:129
msgid "Automation" msgid "Automation"
msgstr "自动化" msgstr "自动化"
#: assets/serializers/platform.py:144 #: assets/serializers/platform.py:154
msgid "Default Domain" msgid "Default Domain"
msgstr "默认网域" msgstr "默认网域"
#: assets/serializers/platform.py:153 #: assets/serializers/platform.py:163
msgid "type is required" msgid "type is required"
msgstr "类型 该字段是必填项。" msgstr "类型 该字段是必填项。"
#: assets/serializers/platform.py:176 #: assets/serializers/platform.py:186
msgid "Protocols is required" msgid "Protocols is required"
msgstr "协议是必填的" msgstr "协议是必填的"
@ -1901,7 +1945,7 @@ msgstr "改密"
#: audits/const.py:35 settings/serializers/terminal.py:6 #: audits/const.py:35 settings/serializers/terminal.py:6
#: terminal/models/applet/host.py:25 terminal/models/component/terminal.py:163 #: terminal/models/applet/host.py:25 terminal/models/component/terminal.py:163
#: terminal/serializers/session.py:49 terminal/serializers/session.py:58 #: terminal/serializers/session.py:46 terminal/serializers/session.py:55
msgid "Terminal" msgid "Terminal"
msgstr "终端" msgstr "终端"
@ -1939,7 +1983,7 @@ msgid "Job audit log"
msgstr "作业审计日志" msgstr "作业审计日志"
#: audits/models.py:51 audits/models.py:95 audits/models.py:166 #: audits/models.py:51 audits/models.py:95 audits/models.py:166
#: terminal/models/session/session.py:39 terminal/models/session/sharing.py:99 #: terminal/models/session/session.py:38 terminal/models/session/sharing.py:99
msgid "Remote addr" msgid "Remote addr"
msgstr "远端地址" msgstr "远端地址"
@ -2079,14 +2123,14 @@ msgid "Auth Token"
msgstr "认证令牌" msgstr "认证令牌"
#: audits/signal_handlers/login_log.py:31 authentication/notifications.py:73 #: audits/signal_handlers/login_log.py:31 authentication/notifications.py:73
#: authentication/views/login.py:74 authentication/views/wecom.py:159 #: authentication/views/login.py:75 authentication/views/wecom.py:159
#: notifications/backends/__init__.py:11 settings/serializers/auth/wecom.py:10 #: notifications/backends/__init__.py:11 settings/serializers/auth/wecom.py:10
#: users/models/user.py:706 users/models/user.py:814 #: users/models/user.py:706 users/models/user.py:814
msgid "WeCom" msgid "WeCom"
msgstr "企业微信" msgstr "企业微信"
#: audits/signal_handlers/login_log.py:32 authentication/views/feishu.py:123 #: audits/signal_handlers/login_log.py:32 authentication/views/feishu.py:123
#: authentication/views/login.py:86 notifications/backends/__init__.py:14 #: authentication/views/login.py:87 notifications/backends/__init__.py:14
#: settings/serializers/auth/feishu.py:10 #: settings/serializers/auth/feishu.py:10
#: settings/serializers/auth/feishu.py:13 users/models/user.py:708 #: settings/serializers/auth/feishu.py:13 users/models/user.py:708
#: users/models/user.py:816 #: users/models/user.py:816
@ -2094,7 +2138,7 @@ msgid "FeiShu"
msgstr "飞书" msgstr "飞书"
#: audits/signal_handlers/login_log.py:33 authentication/views/dingtalk.py:160 #: audits/signal_handlers/login_log.py:33 authentication/views/dingtalk.py:160
#: authentication/views/login.py:80 notifications/backends/__init__.py:12 #: authentication/views/login.py:81 notifications/backends/__init__.py:12
#: settings/serializers/auth/dingtalk.py:10 users/models/user.py:707 #: settings/serializers/auth/dingtalk.py:10 users/models/user.py:707
#: users/models/user.py:815 #: users/models/user.py:815
msgid "DingTalk" msgid "DingTalk"
@ -2946,23 +2990,23 @@ msgstr "绑定 飞书 成功"
msgid "Failed to get user from FeiShu" msgid "Failed to get user from FeiShu"
msgstr "从飞书获取用户失败" msgstr "从飞书获取用户失败"
#: authentication/views/login.py:182 #: authentication/views/login.py:183
msgid "Redirecting" msgid "Redirecting"
msgstr "跳转中" msgstr "跳转中"
#: authentication/views/login.py:183 #: authentication/views/login.py:184
msgid "Redirecting to {} authentication" msgid "Redirecting to {} authentication"
msgstr "正在跳转到 {} 认证" msgstr "正在跳转到 {} 认证"
#: authentication/views/login.py:206 #: authentication/views/login.py:207
msgid "Please enable cookies and try again." msgid "Login timeout, please try again."
msgstr "设置你的浏览器支持cookie" msgstr "登录超时,请重新登录"
#: authentication/views/login.py:247 #: authentication/views/login.py:250
msgid "User email already exists ({})" msgid "User email already exists ({})"
msgstr "用户邮箱已存在 ({})" msgstr "用户邮箱已存在 ({})"
#: authentication/views/login.py:325 #: authentication/views/login.py:328
msgid "" msgid ""
"Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n" "Wait for <b>{}</b> confirm, You also can copy link to her/him <br/>\n"
" Don't close this page" " Don't close this page"
@ -2970,15 +3014,15 @@ msgstr ""
"等待 <b>{}</b> 确认, 你也可以复制链接发给他/她 <br/>\n" "等待 <b>{}</b> 确认, 你也可以复制链接发给他/她 <br/>\n"
" 不要关闭本页面" " 不要关闭本页面"
#: authentication/views/login.py:330 #: authentication/views/login.py:333
msgid "No ticket found" msgid "No ticket found"
msgstr "没有发现工单" msgstr "没有发现工单"
#: authentication/views/login.py:366 #: authentication/views/login.py:369
msgid "Logout success" msgid "Logout success"
msgstr "退出登录成功" msgstr "退出登录成功"
#: authentication/views/login.py:367 #: authentication/views/login.py:370
msgid "Logout success, return login page" msgid "Logout success, return login page"
msgstr "退出登录成功,返回到登录页面" msgstr "退出登录成功,返回到登录页面"
@ -3026,7 +3070,7 @@ msgstr "定时触发"
msgid "Ready" msgid "Ready"
msgstr "准备" msgstr "准备"
#: common/const/choices.py:16 terminal/const.py:59 tickets/const.py:29 #: common/const/choices.py:16 terminal/const.py:60 tickets/const.py:29
#: tickets/const.py:39 #: tickets/const.py:39
msgid "Pending" msgid "Pending"
msgstr "待定的" msgstr "待定的"
@ -3660,7 +3704,7 @@ msgstr "保存后执行"
msgid "Job type" msgid "Job type"
msgstr "任务类型" msgstr "任务类型"
#: ops/serializers/job.py:57 terminal/serializers/session.py:50 #: ops/serializers/job.py:57 terminal/serializers/session.py:47
msgid "Is finished" msgid "Is finished"
msgstr "是否完成" msgstr "是否完成"
@ -4074,7 +4118,7 @@ msgid "My assets"
msgstr "我的资产" msgstr "我的资产"
#: rbac/tree.py:56 terminal/models/applet/applet.py:51 #: rbac/tree.py:56 terminal/models/applet/applet.py:51
#: terminal/models/applet/applet.py:240 terminal/models/applet/host.py:28 #: terminal/models/applet/applet.py:244 terminal/models/applet/host.py:28
#: terminal/serializers/applet.py:15 #: terminal/serializers/applet.py:15
msgid "Applet" msgid "Applet"
msgstr "远程应用" msgstr "远程应用"
@ -4104,23 +4148,23 @@ msgstr "测试成功"
msgid "Test mail sent to {}, please check" msgid "Test mail sent to {}, please check"
msgstr "邮件已经发送{}, 请检查" msgstr "邮件已经发送{}, 请检查"
#: settings/api/ldap.py:173 #: settings/api/ldap.py:176
msgid "Synchronization start, please wait." msgid "Synchronization start, please wait."
msgstr "同步开始,请稍等" msgstr "同步开始,请稍等"
#: settings/api/ldap.py:177 #: settings/api/ldap.py:180
msgid "Synchronization is running, please wait." msgid "Synchronization is running, please wait."
msgstr "同步正在运行,请稍等" msgstr "同步正在运行,请稍等"
#: settings/api/ldap.py:182 #: settings/api/ldap.py:185
msgid "Synchronization error: {}" msgid "Synchronization error: {}"
msgstr "同步错误: {}" msgstr "同步错误: {}"
#: settings/api/ldap.py:220 #: settings/api/ldap.py:223
msgid "Get ldap users is None" msgid "Get ldap users is None"
msgstr "获取 LDAP 用户为 None" msgstr "获取 LDAP 用户为 None"
#: settings/api/ldap.py:230 #: settings/api/ldap.py:233
msgid "Imported {} users successfully (Organization: {})" msgid "Imported {} users successfully (Organization: {})"
msgstr "成功导入 {} 个用户 ( 组织: {} )" msgstr "成功导入 {} 个用户 ( 组织: {} )"
@ -5013,10 +5057,6 @@ msgstr "启用登录验证码"
msgid "Enable captcha to prevent robot authentication" msgid "Enable captcha to prevent robot authentication"
msgstr "开启验证码,防止机器人登录" msgstr "开启验证码,防止机器人登录"
#: settings/serializers/security.py:151
msgid "Security"
msgstr "安全"
#: settings/serializers/security.py:154 #: settings/serializers/security.py:154
msgid "Enable terminal register" msgid "Enable terminal register"
msgstr "终端注册" msgstr "终端注册"
@ -5558,7 +5598,7 @@ msgstr "严重"
msgid "High" msgid "High"
msgstr "较高" msgstr "较高"
#: terminal/const.py:32 terminal/const.py:66 #: terminal/const.py:32 terminal/const.py:67
#: users/templates/users/reset_password.html:50 #: users/templates/users/reset_password.html:50
msgid "Normal" msgid "Normal"
msgstr "正常" msgstr "正常"
@ -5567,19 +5607,19 @@ msgstr "正常"
msgid "Offline" msgid "Offline"
msgstr "离线" msgstr "离线"
#: terminal/const.py:62 #: terminal/const.py:63
msgid "Mismatch" msgid "Mismatch"
msgstr "未匹配" msgstr "未匹配"
#: terminal/const.py:67 #: terminal/const.py:68
msgid "Tunnel" msgid "Tunnel"
msgstr "隧道" msgstr "隧道"
#: terminal/const.py:72 #: terminal/const.py:73
msgid "Read Only" msgid "Read Only"
msgstr "只读" msgstr "只读"
#: terminal/const.py:73 #: terminal/const.py:74
msgid "Writable" msgid "Writable"
msgstr "读写" msgstr "读写"
@ -5635,7 +5675,7 @@ msgstr "只支持自定义平台"
msgid "Missing type in platform.yml" msgid "Missing type in platform.yml"
msgstr "在 platform.yml 中缺少类型" msgstr "在 platform.yml 中缺少类型"
#: terminal/models/applet/applet.py:242 terminal/models/applet/host.py:34 #: terminal/models/applet/applet.py:246 terminal/models/applet/host.py:34
#: terminal/models/applet/host.py:134 #: terminal/models/applet/host.py:134
msgid "Hosting" msgid "Hosting"
msgstr "宿主机" msgstr "宿主机"
@ -5704,7 +5744,7 @@ msgstr "端点"
msgid "IP group" msgid "IP group"
msgstr "IP 组" msgstr "IP 组"
#: terminal/models/component/endpoint.py:103 #: terminal/models/component/endpoint.py:104
msgid "Endpoint rule" msgid "Endpoint rule"
msgstr "端点规则" msgstr "端点规则"
@ -5782,39 +5822,39 @@ msgstr "可以上传会话录像"
msgid "Can download session replay" msgid "Can download session replay"
msgstr "可以下载会话录像" msgstr "可以下载会话录像"
#: terminal/models/session/session.py:35 #: terminal/models/session/session.py:34
msgid "Account id" msgid "Account id"
msgstr "账号 ID" msgstr "账号 ID"
#: terminal/models/session/session.py:37 terminal/models/session/sharing.py:104 #: terminal/models/session/session.py:36 terminal/models/session/sharing.py:104
msgid "Login from" msgid "Login from"
msgstr "登录来源" msgstr "登录来源"
#: terminal/models/session/session.py:42 #: terminal/models/session/session.py:41
msgid "Replay" msgid "Replay"
msgstr "回放" msgstr "回放"
#: terminal/models/session/session.py:46 #: terminal/models/session/session.py:45
msgid "Date end" msgid "Date end"
msgstr "结束日期" msgstr "结束日期"
#: terminal/models/session/session.py:243 #: terminal/models/session/session.py:240
msgid "Session record" msgid "Session record"
msgstr "会话记录" msgstr "会话记录"
#: terminal/models/session/session.py:245 #: terminal/models/session/session.py:242
msgid "Can monitor session" msgid "Can monitor session"
msgstr "可以监控会话" msgstr "可以监控会话"
#: terminal/models/session/session.py:246 #: terminal/models/session/session.py:243
msgid "Can share session" msgid "Can share session"
msgstr "可以分享会话" msgstr "可以分享会话"
#: terminal/models/session/session.py:247 #: terminal/models/session/session.py:244
msgid "Can terminate session" msgid "Can terminate session"
msgstr "可以终断会话" msgstr "可以终断会话"
#: terminal/models/session/session.py:248 #: terminal/models/session/session.py:245
msgid "Can validate session action perm" msgid "Can validate session action perm"
msgstr "可以验证会话动作权限" msgstr "可以验证会话动作权限"
@ -6017,35 +6057,35 @@ msgstr "如果不同端点下的资产 IP 有冲突,使用资产标签实现"
msgid "Asset IP" msgid "Asset IP"
msgstr "资产 IP" msgstr "资产 IP"
#: terminal/serializers/session.py:25 terminal/serializers/session.py:47 #: terminal/serializers/session.py:22 terminal/serializers/session.py:44
msgid "Can replay" msgid "Can replay"
msgstr "是否可重放" msgstr "是否可重放"
#: terminal/serializers/session.py:26 terminal/serializers/session.py:48 #: terminal/serializers/session.py:23 terminal/serializers/session.py:45
msgid "Can join" msgid "Can join"
msgstr "是否可加入" msgstr "是否可加入"
#: terminal/serializers/session.py:27 terminal/serializers/session.py:51 #: terminal/serializers/session.py:24 terminal/serializers/session.py:48
msgid "Can terminate" msgid "Can terminate"
msgstr "是否可中断" msgstr "是否可中断"
#: terminal/serializers/session.py:43 #: terminal/serializers/session.py:40
msgid "User ID" msgid "User ID"
msgstr "用户 ID" msgstr "用户 ID"
#: terminal/serializers/session.py:44 #: terminal/serializers/session.py:41
msgid "Asset ID" msgid "Asset ID"
msgstr "资产 ID" msgstr "资产 ID"
#: terminal/serializers/session.py:45 #: terminal/serializers/session.py:42
msgid "Login from display" msgid "Login from display"
msgstr "登录来源名称" msgstr "登录来源名称"
#: terminal/serializers/session.py:52 #: terminal/serializers/session.py:49
msgid "Terminal display" msgid "Terminal display"
msgstr "终端显示" msgstr "终端显示"
#: terminal/serializers/session.py:57 #: terminal/serializers/session.py:54
msgid "Command amount" msgid "Command amount"
msgstr "命令数量" msgstr "命令数量"
@ -6356,11 +6396,11 @@ msgstr "审批步骤"
msgid "Relation snapshot" msgid "Relation snapshot"
msgstr "工单快照" msgstr "工单快照"
#: tickets/models/ticket/general.py:392 #: tickets/models/ticket/general.py:398
msgid "Please try again" msgid "Please try again"
msgstr "请再次尝试" msgstr "请再次尝试"
#: tickets/models/ticket/general.py:461 #: tickets/models/ticket/general.py:467
msgid "Super ticket" msgid "Super ticket"
msgstr "超级工单" msgstr "超级工单"
@ -7617,3 +7657,6 @@ msgstr "旗舰版"
#: xpack/plugins/license/models.py:86 #: xpack/plugins/license/models.py:86
msgid "Community edition" msgid "Community edition"
msgstr "社区版" msgstr "社区版"
#~ msgid "Please enable cookies and try again."
#~ msgstr "设置你的浏览器支持cookie"