perf: ukey auth security

This commit is contained in:
Bai
2026-06-05 19:33:37 +08:00
parent a7656dabeb
commit 002acb15bb
13 changed files with 1230 additions and 1068 deletions

View File

@@ -48,7 +48,7 @@ class UKeyBackend(JMSBaseAuthBackend):
return self._authenticate_sm2(cert_pem, username, signature, challenge, user)
else:
return self._authenticate_other(cert_pem, username, signature, challenge, user)
except UKeyAuthError as e:
except Exception as e:
if request:
request.error_message = str(e)
raise PermissionDenied(str(e))
@@ -60,10 +60,11 @@ class UKeyBackend(JMSBaseAuthBackend):
ukey_sn = (ukey_sn or '').strip()
user = User.objects.filter(username=username).first()
if user is None:
logger.warning('UKeyBackend: user %r not found', username)
logger.error('UKeyBackend: user %r not found', username)
raise UKeyUserNotFoundError()
if user.ukey_sn and ukey_sn != user.ukey_sn:
logger.warning('UKeyBackend: ukey_sn mismatch for user %r', username)
user_ukey_sn = (user.ukey_sn or '').strip()
if not user_ukey_sn or not ukey_sn or ukey_sn != user_ukey_sn:
logger.error('UKeyBackend: ukey_sn mismatch for user %r', username)
raise UkeySNMismatchError()
return user
@@ -91,7 +92,7 @@ class UKeyBackend(JMSBaseAuthBackend):
sm2_cert = Sm2Certificate()
sm2_cert.import_pem(cert_file)
except Exception as e:
logger.warning('UKeyBackend: failed to load SM2 cert: %s', e)
logger.error('UKeyBackend: failed to load SM2 cert: %s', e)
raise UKeyCertNormalizationError()
finally:
if os.path.exists(cert_file):
@@ -104,7 +105,7 @@ class UKeyBackend(JMSBaseAuthBackend):
try:
validity = sm2_cert.get_validity()
except Exception as e:
logger.warning('UKeyBackend: failed to get SM2 cert validity: %s', e)
logger.error('UKeyBackend: failed to get SM2 cert validity: %s', e)
raise UKeyCertExpiredError()
UKeyBackend._check_validity_period(validity.not_before, validity.not_after, 'SM2')
@@ -128,14 +129,14 @@ class UKeyBackend(JMSBaseAuthBackend):
except UKeyAuthError:
raise
except Exception as e:
logger.warning('UKeyBackend: SM2 cert chain verification error: %s', e)
logger.error('UKeyBackend: SM2 cert chain verification error: %s', e)
raise UKeyCertChainError()
finally:
if os.path.exists(ca_cert_file):
os.unlink(ca_cert_file)
if not ok:
logger.warning('UKeyBackend: SM2 cert chain verification failed')
logger.error('UKeyBackend: SM2 cert chain verification failed')
raise UKeyCertChainError()
@staticmethod
@@ -150,10 +151,10 @@ class UKeyBackend(JMSBaseAuthBackend):
verifier.update(signed_data)
ok = bool(verifier.verify(sig_bytes))
except Exception as e:
logger.warning('UKeyBackend: SM2 signature verification error: %s', e)
logger.error('UKeyBackend: SM2 signature verification error: %s', e)
raise UKeySignatureError()
if not ok:
logger.warning('UKeyBackend: SM2 signature mismatch')
logger.error('UKeyBackend: SM2 signature mismatch')
raise UKeySignatureError()
# ── Part 3: RSA / 其他证书校验流程 ───────────────────────────────────────
@@ -176,15 +177,15 @@ class UKeyBackend(JMSBaseAuthBackend):
try:
cert = x509.load_pem_x509_certificate(cert_pem.encode())
except Exception as e:
logger.warning('UKeyBackend: failed to load certificate: %s', e)
logger.error('UKeyBackend: failed to load certificate: %s', e)
raise UKeyCertNormalizationError()
pub_key = cert.public_key()
if isinstance(pub_key, ec.EllipticCurvePublicKey):
logger.warning('UKeyBackend: ECDSA certificate verification is not supported')
logger.error('UKeyBackend: ECDSA certificate verification is not supported')
raise UKeyCertUnsupportedAlgorithmError()
if not isinstance(pub_key, rsa.RSAPublicKey):
logger.warning('UKeyBackend: unsupported key type: %s', type(pub_key).__name__)
logger.error('UKeyBackend: unsupported key type: %s', type(pub_key).__name__)
raise UKeyCertUnsupportedAlgorithmError()
return cert, pub_key
@@ -204,7 +205,7 @@ class UKeyBackend(JMSBaseAuthBackend):
ca_cert_content = ukey_sdk_config.ca_cert_content
if not ca_cert_content:
logger.warning('UKeyBackend: AUTH_UKEY_CA_CERT_CONTENT not configured')
logger.error('UKeyBackend: AUTH_UKEY_CA_CERT_CONTENT not configured')
raise UKeyCertChainError()
try:
ca_cert = x509.load_pem_x509_certificate(ca_cert_content.encode())
@@ -215,12 +216,12 @@ class UKeyBackend(JMSBaseAuthBackend):
cert.signature_hash_algorithm,
)
except InvalidSignature:
logger.warning('UKeyBackend: RSA cert chain verification failed')
logger.error('UKeyBackend: RSA cert chain verification failed')
raise UKeyCertChainError()
except UKeyAuthError:
raise
except Exception as e:
logger.warning('UKeyBackend: RSA cert chain verification error: %s', e)
logger.error('UKeyBackend: RSA cert chain verification error: %s', e)
raise UKeyCertChainError()
@staticmethod
@@ -245,12 +246,12 @@ class UKeyBackend(JMSBaseAuthBackend):
try:
pub_key.verify(sig_bytes, signed_data, padding.PKCS1v15(), hashes.SHA256())
except InvalidSignature:
logger.warning('UKeyBackend: RSA signature mismatch')
logger.error('UKeyBackend: RSA signature mismatch')
raise UKeySignatureError()
except UKeyAuthError:
raise
except Exception as e:
logger.warning('UKeyBackend: RSA signature verification error: %s', e)
logger.error('UKeyBackend: RSA signature verification error: %s', e)
raise UKeySignatureError()
# ── 公共工具方法 ──────────────────────────────────────────────────────────
@@ -270,12 +271,12 @@ class UKeyBackend(JMSBaseAuthBackend):
now = datetime.datetime.now()
if now < not_before:
logger.warning(
logger.error(
'UKeyBackend: %s certificate not yet valid, valid from %s', label, not_before
)
raise UKeyCertExpiredError()
if now > not_after:
logger.warning(
logger.error(
'UKeyBackend: %s certificate has expired at %s', label, not_after
)
raise UKeyCertExpiredError()
@@ -284,7 +285,7 @@ class UKeyBackend(JMSBaseAuthBackend):
def _verify_cert_cn(cert_cn, username):
"""校验证书 CN 与 username 是否匹配SM2 和 RSA 流程共用)。"""
if cert_cn != username:
logger.warning(
logger.error(
'UKeyBackend: cert CN %r does not match username %r', cert_cn, username
)
raise UKeyCertCNMismatchError()
@@ -300,7 +301,7 @@ class UKeyBackend(JMSBaseAuthBackend):
try:
return UKeyBackend._normalize_cert_to_pem(cert_data)
except Exception as e:
logger.warning('UKeyBackend: cert normalization failed: %s', e)
logger.error('UKeyBackend: cert normalization failed: %s', e)
raise UKeyCertNormalizationError()
@staticmethod

View File

@@ -4,7 +4,8 @@ from django.utils.translation import gettext_lazy as _
class UKeyLoginForm(forms.Form):
username = forms.CharField(
label=_('Username'), max_length=100, required=True,
required=True,
label=_('Username'),
widget=forms.HiddenInput(),
)
cert = forms.CharField(
@@ -16,7 +17,7 @@ class UKeyLoginForm(forms.Form):
widget=forms.HiddenInput(),
)
ukey_sn = forms.CharField(
required=False,
required=True,
widget=forms.HiddenInput(),
)

View File

@@ -1,9 +1,11 @@
# -*- coding: utf-8 -*-
#
import secrets
from urllib.parse import urlencode
from django.conf import settings
from django.contrib.auth import authenticate
from django.contrib import messages
from django.core.cache import cache
from django.utils.decorators import method_decorator
from django.utils.translation import gettext as _
@@ -25,7 +27,6 @@ from .sdk import ukey_sdk_config
__all__ = ['UKeyLoginView']
_CHALLENGE_CACHE_KEY_PREFIX = 'ukey_login_challenge'
NEXT_URL = 'next'
@method_decorator(sensitive_post_parameters(), name='dispatch')
@method_decorator(csrf_protect, name='dispatch')
@@ -59,28 +60,37 @@ class UKeyLoginView(AuthMixin, FormView):
def _delete_stored_challenge(self):
cache.delete(self._challenge_cache_key())
def _get_next_url(self):
next = self.request.GET.get(self.redirect_field_name)
next = next or self.request.POST.get(self.redirect_field_name)
return next
def _build_login_redirect_url(self):
next_url = self._get_next_url()
if not next_url:
return self.request.path
query = urlencode({self.redirect_field_name: next_url})
return f'{self.request.path}?{query}'
# ------------------------------------------------------------------
# Views
# ------------------------------------------------------------------
def get(self, request, *args, **kwargs):
challenge = self._generate_and_store_challenge()
context = self.get_context_data(form=self.get_form(), challenge=challenge)
return self.render_to_response(context)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
if 'challenge' not in context:
context['challenge'] = self._get_stored_challenge()
context['challenge'] = self._generate_and_store_challenge()
return context
def form_valid(self, form):
username = form.cleaned_data['username']
cert = form.cleaned_data['cert']
signature = form.cleaned_data['signature']
ukey_sn = form.cleaned_data.get('ukey_sn', '').strip()
ukey_sn = form.cleaned_data['ukey_sn']
challenge = self._get_stored_challenge()
if not challenge:
error = _('Authentication challenge expired, please refresh the page and try again.')
return self.get_failed_response(form, username, error)
error_msg = None
ip = self.get_request_ip()
@@ -115,14 +125,39 @@ class UKeyLoginView(AuthMixin, FormView):
return self.get_failed_response(form, username, error_msg)
else:
return self.get_success_response(self.request, user)
def form_invalid(self, form):
error_msg = self._get_form_error_message(form)
username = (form.data.get('username') or '').strip()
return self.get_failed_response(form, username, error_msg)
@staticmethod
def _get_form_error_message(form):
non_field_errors = list(form.non_field_errors())
if non_field_errors:
return ' '.join(non_field_errors)
field_errors = []
for field_name, errors in form.errors.items():
if field_name == '__all__':
continue
field_label = UKeyLoginView._get_field_label(form, field_name)
field_errors.append(f"{field_label}: {' '.join(errors)}")
if field_errors:
return ' '.join(field_errors)
return _('Unknown')
@staticmethod
def _get_field_label(form, field_name):
field = form.fields.get(field_name)
if field and field.label:
return field.label
return field_name
def get_failed_response(self, form, username, error_msg):
form.add_error(None, error_msg)
# Refresh the challenge so it cannot be replayed
challenge = self._generate_and_store_challenge()
context = self.get_context_data(form=form, challenge=challenge)
messages.error(self.request, error_msg)
self.send_auth_signal(success=False, reason=error_msg, username=username)
return self.render_to_response(context)
return redirect(self._build_login_redirect_url())
def get_success_response(self, request, user):
self.mark_ukey_ok(user, auth_backend=settings.AUTH_BACKEND_UKEY)

View File

@@ -202,36 +202,26 @@
<form id="ukey-login-form" autocomplete="off" action="" method="post" role="form" novalidate="novalidate">
{% csrf_token %}
{% if form.non_field_errors %}
{% if messages %}
<div style="margin-bottom: 16px;">
<p class="help-block red-fonts">{{ form.non_field_errors.as_text }}</p>
{% for message in messages %}
<p class="help-block red-fonts">{% trans "Error" %}: {{ message }}</p>
{% endfor %}
</div>
{% endif %}
{# username is auto-filled from UKey cert, display input is readonly, actual value submitted via hidden field #}
<div class="form-group{% if form.username.errors %} has-error{% endif %}">
{# username is auto-filled from UKey cert, display input is readonly #}
<div class="form-group">
<input type="text" id="username-display" class="form-control"
placeholder="{% trans 'Insert UKey to auto-fetch' %}"
readonly tabindex="-1"
style="background-color:#f7f7f7; cursor:default; color:#555;">
{{ form.username }}
{% if form.username.errors %}
<p class="help-block red-fonts">{{ form.username.errors.as_text }}</p>
{% endif %}
</div>
{# PIN is only used for client-side UKey verification, not submitted to backend #}
<div class="form-group">
<input type="password" id="id_pin" class="form-control"
placeholder="PIN" autocomplete="off">
</div>
{# ukey cert is fetched and filled by JS after PIN verification, not shown to user #}
{{ form.cert }}
{# signature is filled by JS after signing challenge code, not shown to user #}
{{ form.signature }}
{# ukey_sn is filled by JS after detecting cert, not shown to user #}
{{ form.ukey_sn }}
<div id="ukey-challenge-box" data-challenge="{{ challenge }}" data-challenge-length="{{ challenge|length }}" style="display:none;"></div>
<div class="form-group">
<button type="submit" id="ukey-login-btn" class="btn btn-transparent" disabled>
@@ -381,7 +371,7 @@
step types:
(default) call UKey SDK method (step.call)
api HTTP request (step.url / step.method / step.body)
submit fill form fields by id_<name> and submit form
submit submit only YAML-declared fields
*/
function runStep(step, api, ctx) {
/* when: skip step if condition is false */
@@ -412,13 +402,35 @@
/* submit: fill form fields and submit */
if (step.type === 'submit') {
if (step.fields) {
Object.keys(step.fields).forEach(function (k) {
var el = document.getElementById('id_' + k);
if (el) el.value = resolve(step.fields[k], ctx);
});
var submitFields = step.fields || {};
// Build a strict payload form: csrf + fields declared in YAML only.
var sourceForm = document.getElementById('ukey-login-form');
var submitForm = document.createElement('form');
submitForm.method = sourceForm.method || 'post';
submitForm.action = sourceForm.action || window.location.href;
submitForm.style.display = 'none';
var csrf = sourceForm.querySelector('input[name="csrfmiddlewaretoken"]');
if (csrf) {
var csrfInput = document.createElement('input');
csrfInput.type = 'hidden';
csrfInput.name = 'csrfmiddlewaretoken';
csrfInput.value = csrf.value;
submitForm.appendChild(csrfInput);
}
document.getElementById('ukey-login-form').submit();
Object.keys(submitFields).forEach(function (k) {
var resolved = resolve(submitFields[k], ctx);
var payloadInput = document.createElement('input');
payloadInput.type = 'hidden';
payloadInput.name = k;
payloadInput.value = (resolved === null || resolved === undefined) ? '' : String(resolved);
submitForm.appendChild(payloadInput);
});
document.body.appendChild(submitForm);
submitForm.submit();
return Promise.resolve(null);
}
@@ -531,12 +543,10 @@
config: sdkConfig.config || {},
settings: settings,
challenge: (function () {
var el = document.getElementById('ukey-challenge-box');
if (!el) return { code: '', code_base64: '', length: 0 };
var code = el.dataset.challenge || '';
var length = parseInt(el.dataset.challengeLength, 10) || code.length;
var code = '{{ challenge|default:""|escapejs }}';
if (!code) return { code: '', code_base64: '', length: 0 };
var code_base64 = btoa(unescape(encodeURIComponent(code)));
return { code: code, code_base64: code_base64, length: length };
return { code: code, code_base64: code_base64, length: code.length };
}())
};
@@ -552,14 +562,12 @@
var ctx = state.ctx;
var usernameDisplay = document.getElementById('username-display');
var usernameHidden = document.getElementById('id_username');
var lastCN = null;
function setUsername(cn) {
if (cn === lastCN) return;
lastCN = cn;
usernameDisplay.value = cn || '';
usernameHidden.value = cn || '';
}
// 5. Poll: run login.detect.steps read ukey.certCN update UI

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,21 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "Username contains invalid characters: %(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr ""
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr ""
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr ""
@@ -210,7 +207,7 @@ msgstr ""
msgid "Discovery"
msgstr ""
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr ""
@@ -452,8 +449,8 @@ msgstr ""
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -482,8 +479,8 @@ msgid "Asset"
msgstr ""
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -503,7 +500,7 @@ msgstr ""
msgid "Secret reset"
msgstr ""
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr ""
@@ -530,7 +527,7 @@ msgstr ""
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -538,7 +535,7 @@ msgstr ""
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -629,8 +626,8 @@ msgstr ""
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -798,7 +795,8 @@ msgid "Status"
msgstr ""
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -896,7 +894,7 @@ msgstr ""
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1025,8 +1023,8 @@ msgid "Verify asset account"
msgstr ""
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1193,19 +1191,19 @@ msgstr ""
msgid "Execution failed: {}"
msgstr ""
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr ""
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr ""
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr ""
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1216,7 +1214,7 @@ msgstr ""
msgid "Category"
msgstr ""
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1235,26 +1233,26 @@ msgstr ""
msgid "Type"
msgstr ""
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr ""
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr ""
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr ""
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr ""
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1262,33 +1260,33 @@ msgstr ""
msgid "State"
msgstr ""
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr ""
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr ""
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr ""
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr ""
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr ""
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1296,7 +1294,7 @@ msgstr ""
msgid "ID"
msgstr ""
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1316,12 +1314,12 @@ msgstr ""
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr ""
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1330,11 +1328,11 @@ msgstr ""
msgid "Date"
msgstr ""
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr ""
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1788,7 +1786,12 @@ msgid ""
"allowed."
msgstr ""
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "Username contains invalid characters: %(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr ""
@@ -1868,7 +1871,7 @@ msgstr ""
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2257,7 +2260,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ""
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr ""
@@ -2454,7 +2458,7 @@ msgid "Any"
msgstr ""
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr ""
@@ -2719,7 +2723,7 @@ msgstr ""
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr ""
@@ -2762,7 +2766,7 @@ msgid "User group"
msgstr ""
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr ""
@@ -3476,7 +3480,7 @@ msgstr ""
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4133,40 +4137,40 @@ msgstr ""
msgid "This action require verify your MFA"
msgstr ""
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr ""
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr ""
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr ""
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr ""
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr ""
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr ""
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr ""
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr ""
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr ""
@@ -4324,7 +4328,12 @@ msgstr ""
msgid "Unsupported certificate algorithm"
msgstr ""
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr ""
#: authentication/backends/ukey/views.py:107
msgid "Invalid credentials"
msgstr ""
@@ -4678,7 +4687,7 @@ msgid "Input username"
msgstr ""
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr ""
@@ -4844,28 +4853,28 @@ msgstr ""
msgid "Image protocol"
msgstr ""
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr ""
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr ""
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr ""
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "Expired"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "Organization"
@@ -5136,64 +5145,64 @@ msgid "UKey Authentication"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
msgid "More login methods"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
msgid "UKey connected"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
msgid "Please insert UKey"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
msgid "SDK unavailable"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
msgid "UKey SDK initialization failed"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
msgid "PIN verified"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
msgid "PIN verification failed"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
msgid "Signing failed"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
msgid "No UKey cert detected, please contact administrator"
msgstr ""
@@ -6022,16 +6031,16 @@ msgid ""
" work orders, and other notifications"
msgstr ""
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr ""
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr ""
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr ""
@@ -7903,63 +7912,63 @@ msgstr ""
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr ""
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr ""
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr ""
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr ""
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr ""
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
msgid "CA Key"
msgstr ""
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
msgid "CA Cert"
msgstr ""
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr ""
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
msgid "CA Key Password"
msgstr ""
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr ""
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr ""
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -8620,10 +8629,14 @@ msgid "Insecure command alert"
msgstr ""
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr ""
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr ""
@@ -10833,31 +10846,31 @@ msgstr ""
msgid "Face vector"
msgstr ""
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr ""
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr ""
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr ""
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr ""
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr ""
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr ""

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,21 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "El nombre de usuario contiene caracteres no válidos: %(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "La cuenta ya existe"
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "No se encontraron activos válidos disponibles para crear una cuenta."
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "Cuenta no encontrada"
@@ -240,7 +237,7 @@ msgstr "Base de datos"
msgid "Discovery"
msgstr "Descubrir"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "Plantilla"
@@ -484,8 +481,8 @@ msgstr ""
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -514,8 +511,8 @@ msgid "Asset"
msgstr "Activos"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -535,7 +532,7 @@ msgstr "Cuenta histórica"
msgid "Secret reset"
msgstr "Se puede cambiar la contraseña"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "Origen"
@@ -562,7 +559,7 @@ msgstr "Estado de cambio de contraseña"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -570,7 +567,7 @@ msgstr "Estado de cambio de contraseña"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -661,8 +658,8 @@ msgstr "Ícono"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -830,7 +827,8 @@ msgid "Status"
msgstr "Estado"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -928,7 +926,7 @@ msgstr "Contraseña duplicada"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1063,8 +1061,8 @@ msgid "Verify asset account"
msgstr "Verificación de cuentas"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1248,19 +1246,19 @@ msgstr "Modificar contraseña y añadir"
msgid "Execution failed: {}"
msgstr "Ejecutar fallido: {}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "Enviar inmediatamente"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "Parámetros"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "La cuenta existe política"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1271,7 +1269,7 @@ msgstr "La cuenta existe política"
msgid "Category"
msgstr "Categoría"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1290,26 +1288,26 @@ msgstr "Categoría"
msgid "Type"
msgstr "Tipo"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "El activo no existe"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "Servicio de directorio"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr "La cuenta ya existe. El campo: {fields} debe ser único."
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "Contraseña ya gestionada"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1317,33 +1315,33 @@ msgstr "Contraseña ya gestionada"
msgid "State"
msgstr "Estado"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "Modificado"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "Tipo de cuenta de activos no soportado: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "La cuenta ya existe"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "Seleccionar al menos un activo o nodo"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "Información especial"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1351,7 +1349,7 @@ msgstr "Información especial"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1371,12 +1369,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "Usuario"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1385,11 +1383,11 @@ msgstr "Usuario"
msgid "Date"
msgstr "Fecha"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "Clave de acceso"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1916,7 +1914,12 @@ msgstr ""
"Si la contraseña comienza con `{{` y termina con `}}`, esa contraseña no "
"está permitida."
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "El nombre de usuario contiene caracteres no válidos: %(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "Clave no válida o error en la contraseña de la clave"
@@ -1998,7 +2001,7 @@ msgstr "Usuario"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2406,7 +2409,8 @@ msgstr ""
"prueba"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "Desconocido"
@@ -2606,7 +2610,7 @@ msgid "Any"
msgstr "Cualquiera"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "Seguro"
@@ -2888,7 +2892,7 @@ msgstr "Tareas de automatización de activos"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "Fecha de creación"
@@ -2931,7 +2935,7 @@ msgid "User group"
msgstr "Grupo de usuarios"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "Fecha de actualización"
@@ -3704,7 +3708,7 @@ msgstr "Conectar"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4461,44 +4465,44 @@ msgstr ""
"Esta operación requiere la verificación de su MFA, por favor, habilítelo y "
"configúrelo primero."
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr ""
"No se permite el uso de tokens de conexión reutilizables, no se han "
"habilitado configuraciones globales."
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "Las cuentas anónimas no son compatibles con los activos actuales."
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "La autorización ha expirado."
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "La acción de ACL es rechazar: {}({})"
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "La acción de ACL es revisar."
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "La acción de ACL es verificación facial."
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr ""
"La regla de inicio de sesión del activo no es compatible con los activos "
"actuales."
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "La acción de ACL es verificación facial en línea."
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "No hay características faciales disponibles."
@@ -4677,7 +4681,12 @@ msgstr "La autenticación LDAP no está habilitada"
msgid "Unsupported certificate algorithm"
msgstr "Contenido de archivo no soportado"
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr ""
#: authentication/backends/ukey/views.py:107
#, fuzzy
#| msgid "Invalid data"
msgid "Invalid credentials"
@@ -5060,7 +5069,7 @@ msgid "Input username"
msgstr "Nombre de usuario personalizado"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "Contraseña personalizada"
@@ -5226,28 +5235,28 @@ msgstr "Puerto de imagen"
msgid "Image protocol"
msgstr "Protocolo de imagen"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "Tiempo de expiración"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "Información de la orden"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "Action"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "Expirado"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "Nombre de la organización"
@@ -5553,80 +5562,80 @@ msgid "UKey Authentication"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
#, fuzzy
#| msgid "More login options"
msgid "More login methods"
msgstr "Otras formas de iniciar sesión"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
#, fuzzy
#| msgid "connect failed"
msgid "UKey connected"
msgstr "Conexión fallida."
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
#, fuzzy
#| msgid "Please enter SMS code"
msgid "Please insert UKey"
msgstr "Introduce el código de verificación por SMS"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
#, fuzzy
#| msgid "Account unavailable"
msgid "SDK unavailable"
msgstr "Cuenta no válida"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
#, fuzzy
#| msgid "Authentication failed"
msgid "UKey SDK initialization failed"
msgstr "Autenticación fallida"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
#, fuzzy
#| msgid "Date verified"
msgid "PIN verified"
msgstr "Fecha de verificación"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
#, fuzzy
#| msgid "OTP verification code"
msgid "PIN verification failed"
msgstr "Código de verificación MFA virtual"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
#, fuzzy
#| msgid "Signing key"
msgid "Signing failed"
msgstr "Firma clave"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
#, fuzzy
#| msgid "Your account has expired, please contact the administrator."
msgid "No UKey cert detected, please contact administrator"
@@ -6547,16 +6556,16 @@ msgstr ""
"Ejecutar esta tarea cuando el sistema requiera enviar mensajes internos, "
"como alertas y órdenes de trabajo"
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "No hay cuentas disponibles"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible ha sido desactivado"
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "Se omiten los siguientes hosts:"
@@ -8659,69 +8668,69 @@ msgstr "Tiempo de validez del código de verificación (min)"
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr ""
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr ""
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr ""
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr ""
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr ""
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
#, fuzzy
#| msgid "Content"
msgid "CA Key"
msgstr "Contenido"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
#, fuzzy
#| msgid "Content"
msgid "CA Cert"
msgstr "Contenido"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr ""
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
#, fuzzy
#| msgid "Password"
msgid "CA Key Password"
msgstr "Contraseña"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr ""
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr ""
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -9549,10 +9558,14 @@ msgid "Insecure command alert"
msgstr "Alerta de comandos peligrosos"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "Destinatario del correo"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "Múltiples usuarios, separados por ,"
@@ -11947,31 +11960,31 @@ msgstr "Necesita actualizar la contraseña"
msgid "Face vector"
msgstr "Vector facial"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "Fecha de último uso de la API key"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "No se puede eliminar al usuario administrador"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "Se puede invitar a usuarios"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "Se puede eliminar a usuarios"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "Se puede hacer coincidir a usuarios"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "Historial de contraseñas de usuarios"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,21 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "ユーザー名に無効な文字が含まれています: %(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "アカウントはすでに存在しています"
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "アカウント作成に使用できる有効な資産が見つかりませんでした。"
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "アカウントが見つかりません"
@@ -214,7 +211,7 @@ msgstr "ローカル"
msgid "Discovery"
msgstr "発見"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "テンプレート"
@@ -458,8 +455,8 @@ msgstr ""
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -488,8 +485,8 @@ msgid "Asset"
msgstr "資産"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -524,7 +521,7 @@ msgstr ""
"新发现 - 新たな発見 \n"
"组变更 - グループ変更"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "ソース"
@@ -551,7 +548,7 @@ msgstr "変更状態"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -559,7 +556,7 @@ msgstr "変更状態"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -650,8 +647,8 @@ msgstr "アイコン"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -819,7 +816,8 @@ msgid "Status"
msgstr "ステータス"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -917,7 +915,7 @@ msgstr "パスワードの重複"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1051,8 +1049,8 @@ msgid "Verify asset account"
msgstr "アカウントの確認"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1229,19 +1227,19 @@ msgstr "パスワードを変更して追加する"
msgid "Execution failed: {}"
msgstr "実行失敗:{}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "今すぐプッシュ"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "パラメータ"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "アカウントの存在ポリシー"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1252,7 +1250,7 @@ msgstr "アカウントの存在ポリシー"
msgid "Category"
msgstr "カテゴリ"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1271,27 +1269,27 @@ msgstr "カテゴリ"
msgid "Type"
msgstr "タイプ"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "資産が存在しません"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "ディレクトリサービス"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr ""
"アカウントは既に存在します。フィールド:{fields}は一意でなければなりません。"
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "エスクローされたパスワード"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1299,33 +1297,33 @@ msgstr "エスクローされたパスワード"
msgid "State"
msgstr "状態"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "編集済み"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "アセットはアカウント タイプをサポートしていません: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "アカウントはすでに存在しています"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "少なくとも1つのアセットまたはードを選択します。"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "特別情報"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1333,7 +1331,7 @@ msgstr "特別情報"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1353,12 +1351,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "ユーザー"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1367,11 +1365,11 @@ msgstr "ユーザー"
msgid "Date"
msgstr "日付"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "キーパスワード"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1863,7 +1861,12 @@ msgid ""
msgstr ""
"パスワードが`{{`で始まり、`}}`で終わる場合、パスワードは許可されません。"
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "ユーザー名に無効な文字が含まれています: %(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "秘密鍵が無効またはpassphraseエラー"
@@ -1943,7 +1946,7 @@ msgstr "ユーザー"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2344,7 +2347,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ">>> テストゲートウェイ接続性タスクの実行を開始する"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "不明"
@@ -2543,7 +2547,7 @@ msgid "Any"
msgstr "任意"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "セキュリティ"
@@ -2818,7 +2822,7 @@ msgstr "アセットの自動化タスク"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "作成された日付"
@@ -2861,7 +2865,7 @@ msgid "User group"
msgstr "ユーザーグループ"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "更新日"
@@ -3626,7 +3630,7 @@ msgstr "接続"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4369,42 +4373,42 @@ msgstr "パラメータの値には必ず %s が含まれます"
msgid "This action require verify your MFA"
msgstr "この操作には、MFAを検証する必要があります"
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr ""
"再使用可能な接続トークンの使用は許可されていません。グローバル設定は有効に"
"なっていません"
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "匿名アカウントはこのプロパティではサポートされていません"
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "承認の有効期限が切れています"
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "ACL アクションは拒否です: {}({})"
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "ACL アクションはレビューです"
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "ACL Action は顔認証です"
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr "資産ログインルールは現在の資産をサポートしていません"
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "ACL Action は顔オンラインです"
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "利用可能な顔の特徴はありません"
@@ -4583,7 +4587,12 @@ msgstr "LDAP 認証が有効になっていない"
msgid "Unsupported certificate algorithm"
msgstr "サポートされていないファイルの内容"
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr ""
#: authentication/backends/ukey/views.py:107
#, fuzzy
#| msgid "Invalid data"
msgid "Invalid credentials"
@@ -4954,7 +4963,7 @@ msgid "Input username"
msgstr "カスタム ユーザー名"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "カスタムパスワード"
@@ -5120,28 +5129,28 @@ msgstr "ミラーポート"
msgid "Image protocol"
msgstr "ミラープロトコル"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "期限切れ時間"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "作業指示情報"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "アクション"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "期限切れです"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "組織名"
@@ -5431,80 +5440,80 @@ msgid "UKey Authentication"
msgstr "UKey 認証"
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
#, fuzzy
#| msgid "More login options"
msgid "More login methods"
msgstr "その他のログインオプション"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
#, fuzzy
#| msgid "connect failed"
msgid "UKey connected"
msgstr "接続に失敗しました"
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
#, fuzzy
#| msgid "Please enter SMS code"
msgid "Please insert UKey"
msgstr "SMSコードを入力してください"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
#, fuzzy
#| msgid "Account unavailable"
msgid "SDK unavailable"
msgstr "利用できないアカウント"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
#, fuzzy
#| msgid "Authentication failed"
msgid "UKey SDK initialization failed"
msgstr "認証に失敗しました"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
#, fuzzy
#| msgid "Date verified"
msgid "PIN verified"
msgstr "確認済みの日付"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
#, fuzzy
#| msgid "OTP verification code"
msgid "PIN verification failed"
msgstr "OTP検証コード"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
#, fuzzy
#| msgid "Signing key"
msgid "Signing failed"
msgstr "プロバイダ署名キー"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
#, fuzzy
#| msgid "Your account has expired, please contact the administrator."
msgid "No UKey cert detected, please contact administrator"
@@ -6389,16 +6398,16 @@ msgid ""
" work orders, and other notifications"
msgstr "システムの警告やチケットなどを送信するためには、このタスクを実行します"
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "利用可能なアカウントがありません"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible 無効"
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "次のホストをスキップします: "
@@ -8393,69 +8402,69 @@ msgstr "認証コード有効時間"
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr ""
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr ""
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr ""
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr ""
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr ""
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
#, fuzzy
#| msgid "Content"
msgid "CA Key"
msgstr "コンテンツ"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
#, fuzzy
#| msgid "Content"
msgid "CA Cert"
msgstr "コンテンツ"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr ""
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
#, fuzzy
#| msgid "Password"
msgid "CA Key Password"
msgstr "パスワード"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr ""
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr ""
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -9192,10 +9201,14 @@ msgid "Insecure command alert"
msgstr "安全でないコマンドアラート"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "メール受信者"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "複数のユーザーを使用して、分割"
@@ -11538,31 +11551,31 @@ msgstr "更新パスワードが必要"
msgid "Face vector"
msgstr "人顔ベクトル"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "API key 最後に使用した日付"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "管理者ユーザーを削除できませんでした"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "ユーザーを招待できます"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "ユーザーを削除できます"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "ユーザーに一致できます"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "ユーザーパスワード履歴"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,21 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "사용자 이름에 유효하지 않은 문자가 포함되어 있습니다: %(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "계정이 이미 존재합니다"
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "계정 생성을 위한 유효한 자산을 찾을 수 없습니다."
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "계정을 찾을 수 없습니다"
@@ -214,7 +211,7 @@ msgstr "데이터베이스"
msgid "Discovery"
msgstr "발견"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "템플릿"
@@ -457,8 +454,8 @@ msgstr ""
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -487,8 +484,8 @@ msgid "Asset"
msgstr "자산"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -508,7 +505,7 @@ msgstr "계정 기록"
msgid "Secret reset"
msgstr "변경 가능"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "출처"
@@ -535,7 +532,7 @@ msgstr "비밀번호 변경 상태"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -543,7 +540,7 @@ msgstr "비밀번호 변경 상태"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -634,8 +631,8 @@ msgstr "아이콘"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -803,7 +800,8 @@ msgid "Status"
msgstr "상태"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -901,7 +899,7 @@ msgstr "중복 비밀번호"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1033,8 +1031,8 @@ msgid "Verify asset account"
msgstr "계정 검증"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1210,19 +1208,19 @@ msgstr "비밀번호 변경 및 추가"
msgid "Execution failed: {}"
msgstr "실행 실패: {}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "즉시 푸시"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "매개변수"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "계정에 정책이 존재합니다"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1233,7 +1231,7 @@ msgstr "계정에 정책이 존재합니다"
msgid "Category"
msgstr "카테고리"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1252,26 +1250,26 @@ msgstr "카테고리"
msgid "Type"
msgstr "유형"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "자산이 존재하지 않습니다"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "디렉토리 서비스"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr "계정이 이미 존재합니다. 필드: {fields}는 고유해야 합니다."
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "이미 관리된 비밀번호"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1279,33 +1277,33 @@ msgstr "이미 관리된 비밀번호"
msgid "State"
msgstr "상태"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "수정됨"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "자산이 지원하지 않는 계정 유형: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "계정이 이미 존재합니다"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "자산 또는 노드 중 최소 하나 선택"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "특별 정보"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1313,7 +1311,7 @@ msgstr "특별 정보"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1333,12 +1331,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "사용자"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1347,11 +1345,11 @@ msgstr "사용자"
msgid "Date"
msgstr "날짜"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "키 비밀번호"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1843,7 +1841,12 @@ msgstr ""
"비밀번호가 `{{`로 시작하고 `}}`로 끝나는 경우, 해당 비밀번호는 허용되지 않습"
"니다."
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "사용자 이름에 유효하지 않은 문자가 포함되어 있습니다: %(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "키가 불법이거나 키 비밀번호 오류"
@@ -1923,7 +1926,7 @@ msgstr "사용자"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2321,7 +2324,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ">>> 테스트 게이트웨이 연결 가능성 작업 시작"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "알 수 없음"
@@ -2519,7 +2523,7 @@ msgid "Any"
msgstr "임의"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "보안"
@@ -2793,7 +2797,7 @@ msgstr "자산 자동화 작업"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "생성 날짜"
@@ -2836,7 +2840,7 @@ msgid "User group"
msgstr "사용자 그룹"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "업데이트 날짜"
@@ -3588,7 +3592,7 @@ msgstr "연결"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4332,42 +4336,42 @@ msgid "This action require verify your MFA"
msgstr ""
"이 작업은 귀하의 MFA를 확인해야 하므로, 먼저 활성화하고 구성해야 합니다."
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr ""
"재사용 가능한 연결 토큰은 허용되지 않으며, 글로벌 설정이 활성화되지 않았습니"
"다."
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "익명 계정은 현재 자산을 지원하지 않습니다."
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "권한이 만료되었습니다."
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "ACL Action은 거부: {}({})입니다."
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "ACL Action은 재검토입니다."
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "ACL Action은 얼굴 인식입니다."
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr "자산 로그인 규칙은 현재 자산을 지원하지 않습니다."
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "ACL Action은 온라인 얼굴 인식입니다."
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "사용 가능한 얼굴 특징이 없습니다."
@@ -4545,7 +4549,12 @@ msgstr "LDAP 인증이 활성화되지 않았습니다"
msgid "Unsupported certificate algorithm"
msgstr "지원되지 않는 파일 내용"
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr ""
#: authentication/backends/ukey/views.py:107
#, fuzzy
#| msgid "Invalid data"
msgid "Invalid credentials"
@@ -4914,7 +4923,7 @@ msgid "Input username"
msgstr "사용자 이름 사용자 정의"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "비밀번호 사용자 정의"
@@ -5080,28 +5089,28 @@ msgstr "이미지 포트"
msgid "Image protocol"
msgstr "이미지 프로토콜"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "만료 시간"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "작업 정보"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "Action"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "이미 만료"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "조직 이름"
@@ -5397,80 +5406,80 @@ msgid "UKey Authentication"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
#, fuzzy
#| msgid "More login options"
msgid "More login methods"
msgstr "기타 로그인 방법"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
#, fuzzy
#| msgid "connect failed"
msgid "UKey connected"
msgstr "연결 실패"
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
#, fuzzy
#| msgid "Please enter SMS code"
msgid "Please insert UKey"
msgstr "문자 메시지 인증 코드를 입력해 주세요"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
#, fuzzy
#| msgid "Account unavailable"
msgid "SDK unavailable"
msgstr "계정 무효"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
#, fuzzy
#| msgid "Authentication failed"
msgid "UKey SDK initialization failed"
msgstr "인증 실패"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
#, fuzzy
#| msgid "Date verified"
msgid "PIN verified"
msgstr "검증 날짜"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
#, fuzzy
#| msgid "OTP verification code"
msgid "PIN verification failed"
msgstr "가상 MFA 인증 코드"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
#, fuzzy
#| msgid "Signing key"
msgid "Signing failed"
msgstr "서명 키"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
#, fuzzy
#| msgid "Your account has expired, please contact the administrator."
msgid "No UKey cert detected, please contact administrator"
@@ -6351,16 +6360,16 @@ msgstr ""
"시스템의 일부 경고, 작업 지시서 등 사이트 내 메시지를 발송해야 할 때 해당 작"
"업을 실행"
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "사용 가능한 계정 없음"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible이 비활성화되었습니다."
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "다음 호스트를 건너뜁니다:"
@@ -8382,69 +8391,69 @@ msgstr "인증 코드 유효 시간 (분)"
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr ""
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr ""
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr ""
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr ""
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr ""
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
#, fuzzy
#| msgid "Content"
msgid "CA Key"
msgstr "내용"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
#, fuzzy
#| msgid "Content"
msgid "CA Cert"
msgstr "내용"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr ""
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
#, fuzzy
#| msgid "Password"
msgid "CA Key Password"
msgstr "비밀번호"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr ""
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr ""
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -9198,10 +9207,14 @@ msgid "Insecure command alert"
msgstr "위험한 명령 경고"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "이메일 수신자"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "여러 사용자, 쉼표로 구분"
@@ -11542,31 +11555,31 @@ msgstr "비밀번호 업데이트 필요"
msgid "Face vector"
msgstr "얼굴 벡터"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "API 키 마지막 사용 날짜"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "관리자 사용자 삭제 불가"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "사용자 초대 가능"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "사용자 제거 가능"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "사용자 매치 가능"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "사용자 비밀번호 히스토리"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,21 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "O nome de usuário contém caracteres inválidos: %(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "Conta já existente"
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "Não foi encontrado um ativo válido para a criação da conta."
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "Conta não encontrada"
@@ -214,7 +211,7 @@ msgstr "Banco de Dados"
msgid "Discovery"
msgstr "Descubra"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "Modelo"
@@ -458,8 +455,8 @@ msgstr ""
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -488,8 +485,8 @@ msgid "Asset"
msgstr "Ativos"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -509,7 +506,7 @@ msgstr "Histórico de Conta"
msgid "Secret reset"
msgstr "Senha Alterável"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "Origem"
@@ -536,7 +533,7 @@ msgstr "Status da Alteração de Senha"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -544,7 +541,7 @@ msgstr "Status da Alteração de Senha"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -635,8 +632,8 @@ msgstr "Ícone"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -804,7 +801,8 @@ msgid "Status"
msgstr "Status"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -917,7 +915,7 @@ msgstr "Senha repetida"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1051,8 +1049,8 @@ msgid "Verify asset account"
msgstr "Conta verificada"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1233,19 +1231,19 @@ msgstr "Alterar senha e adicionar"
msgid "Execution failed: {}"
msgstr "Execução falhou: {}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "Push imediatamente"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "Parâmetros"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "Estratégia de contas existentes"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1256,7 +1254,7 @@ msgstr "Estratégia de contas existentes"
msgid "Category"
msgstr "Categoria"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1275,26 +1273,26 @@ msgstr "Categoria"
msgid "Type"
msgstr "Tipo"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "Ativo não existe"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "Serviço de diretório"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr "Conta já existe. O campo: {fields} deve ser único."
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "Senha já gerenciada"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1302,33 +1300,33 @@ msgstr "Senha já gerenciada"
msgid "State"
msgstr "Estado"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "Modificado"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "Bens não suportam o tipo de conta: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "Conta já existente"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "Selecione pelo menos um item de ativo ou nó"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "Informações especiais"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1336,7 +1334,7 @@ msgstr "Informações especiais"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1356,12 +1354,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "Usuário"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1370,11 +1368,11 @@ msgstr "Usuário"
msgid "Date"
msgstr "Data"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "Senha do chaveiro"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1883,7 +1881,12 @@ msgid ""
msgstr ""
"Se a senha começar com `{{` e terminar com `}}`, essa senha não é permitida."
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "O nome de usuário contém caracteres inválidos: %(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "Chave inválida ou erro de senha da chave"
@@ -1965,7 +1968,7 @@ msgstr "Usuário"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2368,7 +2371,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ">>> Iniciando a tarefa de teste de conectividade do gateway"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "Desconhecido"
@@ -2568,7 +2572,7 @@ msgid "Any"
msgstr "Qualquer"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "Segurança"
@@ -2845,7 +2849,7 @@ msgstr "Tarefas de Automação de Ativos"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "Data de criação"
@@ -2888,7 +2892,7 @@ msgid "User group"
msgstr "Grupo de usuários"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "Data de atualização"
@@ -3650,7 +3654,7 @@ msgstr "Conectar"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4397,42 +4401,42 @@ msgstr ""
"Esta operação requer a verificação do seu MFA, por favor ative e configure "
"primeiro"
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr ""
"Não é permitido o uso de tokens de conexão reutilizáveis, as configurações "
"globais não estão ativadas"
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "Contas anônimas não suportam o ativo atual"
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "A autorização expirou"
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "Ação do ACL é rejeitar: {} ({})."
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "Ação ACL é para revisão"
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "Ação ACL é verificação facial"
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr "As regras de login de ativos não suportam o ativo atual"
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "Ação ACL é facial online"
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "Não há características faciais disponíveis"
@@ -4612,7 +4616,12 @@ msgstr "A autenticação LDAP não está ativada"
msgid "Unsupported certificate algorithm"
msgstr "Conteúdo de arquivo não suportado"
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr ""
#: authentication/backends/ukey/views.py:107
#, fuzzy
#| msgid "Invalid data"
msgid "Invalid credentials"
@@ -4984,7 +4993,7 @@ msgid "Input username"
msgstr "Nome de usuário personalizado"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "Senha personalizada"
@@ -5150,28 +5159,28 @@ msgstr "Porta da Imagem"
msgid "Image protocol"
msgstr "Protocolo da Imagem"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "Data de Expiração"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "Informações do Ticket"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "Action"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "Expirado"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "Nome da Organização"
@@ -5475,80 +5484,80 @@ msgid "UKey Authentication"
msgstr "UKey Autenticação"
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
#, fuzzy
#| msgid "More login options"
msgid "More login methods"
msgstr "Login por outros métodos"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
#, fuzzy
#| msgid "connect failed"
msgid "UKey connected"
msgstr "Falha na conexão"
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
#, fuzzy
#| msgid "Please enter SMS code"
msgid "Please insert UKey"
msgstr "Por favor insira o código de verificação por SMS"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
#, fuzzy
#| msgid "Account unavailable"
msgid "SDK unavailable"
msgstr "Conta inválida"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
#, fuzzy
#| msgid "Authentication failed"
msgid "UKey SDK initialization failed"
msgstr "Falha na autenticação"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
#, fuzzy
#| msgid "Date verified"
msgid "PIN verified"
msgstr "Data de validação"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
#, fuzzy
#| msgid "OTP verification code"
msgid "PIN verification failed"
msgstr "Código de verificação MFA virtual"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
#, fuzzy
#| msgid "Signing key"
msgid "Signing failed"
msgstr "Chave de assinatura"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
#, fuzzy
#| msgid "Your account has expired, please contact the administrator."
msgid "No UKey cert detected, please contact administrator"
@@ -6441,16 +6450,16 @@ msgstr ""
"Algumas alertas do sistema, ordens de serviço e outras necessidades são "
"atendidas por esta tarefa"
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "Sem contas disponíveis"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible desativado"
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "Pulando os seguintes hosts:"
@@ -8468,69 +8477,69 @@ msgstr "Tempo de validade do código de verificação (minutos)"
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr ""
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr ""
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr ""
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr ""
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr ""
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
#, fuzzy
#| msgid "Content"
msgid "CA Key"
msgstr "Conteúdo"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
#, fuzzy
#| msgid "Content"
msgid "CA Cert"
msgstr "Conteúdo"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr ""
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
#, fuzzy
#| msgid "Password"
msgid "CA Key Password"
msgstr "Senha"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr ""
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr ""
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -9297,10 +9306,14 @@ msgid "Insecure command alert"
msgstr "Alerta de comando perigoso"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "Destinatário do email"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "Vários usuários, separados por ,"
@@ -11661,31 +11674,31 @@ msgstr "Necessita atualizar a senha"
msgid "Face vector"
msgstr "Vetor facial"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "Data do último uso da API key"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "Não é possível excluir o usuário administrador"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "Pode convidar usuários"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "Pode remover usuários"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "Pode combinar usuários"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "Histórico de senhas do usuário"

View File

@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: jumpserver\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: 2025-11-13 12:26\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: Russian\n"
@@ -21,21 +21,18 @@ msgstr ""
"X-Crowdin-Project-ID: 832018\n"
"X-Generator: Poedit 2.4.3\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "Имя пользователя содержит недопустимые символы: %(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "Учетная запись уже существует."
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "Не удалось найти действительные активы для создания учетной записи."
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "Учетная запись не найдена"
@@ -218,7 +215,7 @@ msgstr "Локальный"
msgid "Discovery"
msgstr "Обнаружение"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "Шаблон"
@@ -462,8 +459,8 @@ msgstr ""
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -492,8 +489,8 @@ msgid "Asset"
msgstr "Актив"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -513,7 +510,7 @@ msgstr "история"
msgid "Secret reset"
msgstr "Сброс секрета"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "Источник"
@@ -540,7 +537,7 @@ msgstr "Статус изменения секрета"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -548,7 +545,7 @@ msgstr "Статус изменения секрета"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -639,8 +636,8 @@ msgstr "Иконка"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -808,7 +805,8 @@ msgid "Status"
msgstr "Статус"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -906,7 +904,7 @@ msgstr "Повторяющийся пароль"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1040,8 +1038,8 @@ msgid "Verify asset account"
msgstr "Проверка УЗ актива"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1226,19 +1224,19 @@ msgstr "Изменить пароль и добавить"
msgid "Execution failed: {}"
msgstr "Выполнение не удалось: {}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "Опубликовать сейчас"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "Параметры"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "Политика существования УЗ"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1249,7 +1247,7 @@ msgstr "Политика существования УЗ"
msgid "Category"
msgstr "Категория"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1268,26 +1266,26 @@ msgstr "Категория"
msgid "Type"
msgstr "Тип"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "Актив не найден"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "Служба каталогов"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr "Учётная запись уже существует. Поля: {fields} должны быть уникальными."
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "Секрет добавлен"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1295,33 +1293,33 @@ msgstr "Секрет добавлен"
msgid "State"
msgstr "Состояние"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "Изменено"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "Актив не поддерживает этот тип секрета: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "Учетная запись уже существует"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "Выберите хотя бы один актив или папку"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "Специальная информация"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1329,7 +1327,7 @@ msgstr "Специальная информация"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1349,12 +1347,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "Пользователь"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1363,11 +1361,11 @@ msgstr "Пользователь"
msgid "Date"
msgstr "Дата"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "Пароль ключа"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1886,7 +1884,12 @@ msgid ""
msgstr ""
"Если пароль начинается с `{{` и заканчивается на `}}`, пароль недопустим."
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "Имя пользователя содержит недопустимые символы: %(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "неверный закрытый ключ или ошибка парольной фразы"
@@ -1966,7 +1969,7 @@ msgstr "Пользователь"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2368,7 +2371,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ">>> Приступаем к выполнению задачи проверки подключения шлюза"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "Неизвестно"
@@ -2568,7 +2572,7 @@ msgid "Any"
msgstr "Любой"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "Безопасный"
@@ -2848,7 +2852,7 @@ msgstr "Автоматизация активов"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "Дата создания"
@@ -2891,7 +2895,7 @@ msgid "User group"
msgstr "Группа пользователей"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "Дата обновления"
@@ -3659,7 +3663,7 @@ msgstr "Подключить"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4409,42 +4413,42 @@ msgstr ""
"Эта операция требует подтверждения МФА, пожалуйста, сначала включите и "
"настройте её"
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr ""
"Повторное использование токена не допускается, глобальная настройка не "
"включена"
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "Анонимная учетная запись не поддерживается для этого актива"
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "Разрешение истекло"
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "Действие правила — запрет: {}({})"
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "Действие правила — проверка"
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "Действие правила — идентификация по лицу"
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr "Правило входа в актив не поддерживает текущий актив"
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "Действие правила — онлайн распознавание лица."
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "Нет доступных характеристик лица"
@@ -4624,7 +4628,12 @@ msgstr "LDAP аутентификация не включена"
msgid "Unsupported certificate algorithm"
msgstr "Неподдерживаемое содержимое файла"
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr ""
#: authentication/backends/ukey/views.py:107
#, fuzzy
#| msgid "Invalid data"
msgid "Invalid credentials"
@@ -4996,7 +5005,7 @@ msgid "Input username"
msgstr "Введите имя пользователя"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "Введите пароль"
@@ -5162,28 +5171,28 @@ msgstr "Порт образа"
msgid "Image protocol"
msgstr "Протокол образа"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "Срок действия"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "Информация о заявке"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "Действия"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "Истекший?"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "Название организации"
@@ -5490,80 +5499,80 @@ msgid "UKey Authentication"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
#, fuzzy
#| msgid "More login options"
msgid "More login methods"
msgstr "Другие способы входа"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
#, fuzzy
#| msgid "connect failed"
msgid "UKey connected"
msgstr "не удалось подключиться"
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
#, fuzzy
#| msgid "Please enter SMS code"
msgid "Please insert UKey"
msgstr "Пожалуйста, введите код из SMS"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
#, fuzzy
#| msgid "Account unavailable"
msgid "SDK unavailable"
msgstr "Учетная запись недоступна"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
#, fuzzy
#| msgid "Authentication failed"
msgid "UKey SDK initialization failed"
msgstr "Ошибка аутентификации"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
#, fuzzy
#| msgid "Date verified"
msgid "PIN verified"
msgstr "Дата проверки"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
#, fuzzy
#| msgid "OTP verification code"
msgid "PIN verification failed"
msgstr "Код подтверждения OTP"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
#, fuzzy
#| msgid "Signing key"
msgid "Signing failed"
msgstr "Подпись ключа"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
#, fuzzy
#| msgid "Your account has expired, please contact the administrator."
msgid "No UKey cert detected, please contact administrator"
@@ -6457,16 +6466,16 @@ msgstr ""
"Эта задача выполняется при необходимости отправки внутреннего сообщения\n"
" для системных оповещений, заявок и т.п."
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "Нет доступных учетных записей"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible отключен"
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "Пропустить следующие хосты:"
@@ -8493,69 +8502,69 @@ msgstr "Время действия кода подтверждения (мин)
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr ""
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr ""
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr ""
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr ""
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr ""
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
#, fuzzy
#| msgid "Content"
msgid "CA Key"
msgstr "Содержание"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
#, fuzzy
#| msgid "Content"
msgid "CA Cert"
msgstr "Содержание"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr ""
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
#, fuzzy
#| msgid "Password"
msgid "CA Key Password"
msgstr "Пароль"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr ""
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr ""
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -9307,10 +9316,14 @@ msgid "Insecure command alert"
msgstr "Оповещение о небезопасной команде"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "Получатель письма"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "Несколько пользователей; разделитель - запятая"
@@ -11683,31 +11696,31 @@ msgstr "Необходимо обновить пароль"
msgid "Face vector"
msgstr "Вектор лица"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "Дата использования ключа API"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "Невозможно удалить администратора"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "Приглашать пользователя"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "Удаление пользователя"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "Сопоставление пользователей"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "История паролей пользователя"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,21 +18,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "Tên người dùng chứa ký tự không hợp lệ: %(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "Tài khoản đã tồn tại"
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "Không tìm thấy tài sản hợp lệ để tạo tài khoản."
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "Tài khoản không tìm thấy"
@@ -215,7 +212,7 @@ msgstr "Cơ sở dữ liệu"
msgid "Discovery"
msgstr "Phát hiện"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "Mẫu"
@@ -459,8 +456,8 @@ msgstr ""
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -489,8 +486,8 @@ msgid "Asset"
msgstr "Tài sản"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -510,7 +507,7 @@ msgstr "Tài khoản lịch sử"
msgid "Secret reset"
msgstr "Có thể thay đổi mật khẩu"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "Nguồn"
@@ -537,7 +534,7 @@ msgstr "Trạng thái đổi mật khẩu"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -545,7 +542,7 @@ msgstr "Trạng thái đổi mật khẩu"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -636,8 +633,8 @@ msgstr "Biểu tượng"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -805,7 +802,8 @@ msgid "Status"
msgstr "Trạng thái"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -903,7 +901,7 @@ msgstr "Mật khẩu trùng lặp"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1039,8 +1037,8 @@ msgid "Verify asset account"
msgstr "Xác thực tài khoản"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1230,19 +1228,19 @@ msgstr "Thay đổi mật khẩu và thêm."
msgid "Execution failed: {}"
msgstr "Thực thi không thành công: {}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "Gửi ngay"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "Tham số"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "Tài khoản đã tồn tại chính sách"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1253,7 +1251,7 @@ msgstr "Tài khoản đã tồn tại chính sách"
msgid "Category"
msgstr "Thể loại"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1272,26 +1270,26 @@ msgstr "Thể loại"
msgid "Type"
msgstr "Loại"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "Tài sản không tồn tại"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "Dịch vụ thư mục"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr "Tài khoản đã tồn tại. Trường :{fields} phải là duy nhất."
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "Đã quản lý mật khẩu"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1299,33 +1297,33 @@ msgstr "Đã quản lý mật khẩu"
msgid "State"
msgstr "Trạng thái"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "Đã sửa đổi"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "Tài sản không hỗ trợ loại tài khoản: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "Tài khoản đã tồn tại"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "Tài khoản yêu cầu"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "Thông tin đặc biệt"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1333,7 +1331,7 @@ msgstr "Thông tin đặc biệt"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1353,12 +1351,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "Người dùng"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1367,11 +1365,11 @@ msgstr "Người dùng"
msgid "Date"
msgstr "Ngày"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "Mật khẩu khóa"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1875,7 +1873,12 @@ msgstr ""
"Nếu mật khẩu bắt đầu bằng `{{` và kết thúc bằng `}}`, thì mật khẩu đó không "
"được phép."
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "Tên người dùng chứa ký tự không hợp lệ: %(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "Khóa không hợp lệ hoặc mật khẩu của khóa sai"
@@ -1957,7 +1960,7 @@ msgstr "Người dùng"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2368,7 +2371,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ">>> Bắt đầu thực hiện nhiệm vụ kiểm tra kết nối của cổng"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "Không xác định"
@@ -2568,7 +2572,7 @@ msgid "Any"
msgstr "Bất kỳ"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "Bảo mật"
@@ -2845,7 +2849,7 @@ msgstr "Nhiệm vụ tự động hóa tài sản"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "Ngày tạo"
@@ -2888,7 +2892,7 @@ msgid "User group"
msgstr "Nhóm người dùng"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "Ngày cập nhật"
@@ -3680,7 +3684,7 @@ msgstr "Kết nối"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4425,42 +4429,42 @@ msgid "This action require verify your MFA"
msgstr ""
"Thao tác này yêu cầu xác thực MFA của bạn, vui lòng bật và cấu hình trước"
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr ""
"Không cho phép sử dụng mã thông báo kết nối có thể tái sử dụng, chưa kích "
"hoạt cài đặt toàn cầu"
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "Tài khoản ẩn danh không hỗ trợ tài sản hiện tại"
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "Quyền truy cập đã hết hạn"
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "Hành động ACL là từ chối: {}({})"
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "Hành động ACL là xem xét"
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "Hành động ACL là xác thực khuôn mặt"
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr "Quy tắc đăng nhập tài sản không hỗ trợ tài sản hiện tại."
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "Hành động ACL là nhận diện khuôn mặt trực tuyến"
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "Không có đặc điểm khuôn mặt khả dụng"
@@ -4639,7 +4643,12 @@ msgstr "Xác thực LDAP chưa được kích hoạt"
msgid "Unsupported certificate algorithm"
msgstr "Nội dung tệp không được hỗ trợ."
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr ""
#: authentication/backends/ukey/views.py:107
#, fuzzy
#| msgid "Invalid data"
msgid "Invalid credentials"
@@ -5010,7 +5019,7 @@ msgid "Input username"
msgstr "Tên người dùng tùy chỉnh"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "Mật khẩu tùy chỉnh"
@@ -5178,28 +5187,28 @@ msgstr "Cổng hình ảnh"
msgid "Image protocol"
msgstr "Giao thức hình ảnh"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "Thời gian hết hạn"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "Thông tin công việc"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "Action"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "Expired"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "Organization"
@@ -5499,80 +5508,80 @@ msgid "UKey Authentication"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
#, fuzzy
#| msgid "More login options"
msgid "More login methods"
msgstr "Or"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
#, fuzzy
#| msgid "connect failed"
msgid "UKey connected"
msgstr "Kết nối thất bại"
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
#, fuzzy
#| msgid "Please enter SMS code"
msgid "Please insert UKey"
msgstr "Vui lòng nhập mã xác minh qua tin nhắn"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
#, fuzzy
#| msgid "Account unavailable"
msgid "SDK unavailable"
msgstr "Tài khoản không hợp lệ"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
#, fuzzy
#| msgid "Authentication failed"
msgid "UKey SDK initialization failed"
msgstr "Xác thực thất bại"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
#, fuzzy
#| msgid "Date verified"
msgid "PIN verified"
msgstr "Ngày xác nhận"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
#, fuzzy
#| msgid "OTP verification code"
msgid "PIN verification failed"
msgstr "Mã xác minh MFA ảo"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr ""
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
#, fuzzy
#| msgid "Signing key"
msgid "Signing failed"
msgstr "Khóa ký"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr ""
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
#, fuzzy
#| msgid "Your account has expired, please contact the administrator."
msgid "No UKey cert detected, please contact administrator"
@@ -6471,16 +6480,16 @@ msgstr ""
"Một số cảnh báo của hệ thống, đơn đặt hàng, v.v. cần gửi tin nhắn trong hệ "
"thống sẽ thực hiện nhiệm vụ này"
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "Không có tài khoản nào khả dụng"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible đã bị vô hiệu hóa"
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "Bỏ qua các máy chủ sau:"
@@ -8498,69 +8507,69 @@ msgstr "Thời gian hiệu lực của mã xác thực (phút)"
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr ""
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr ""
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr ""
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr ""
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr ""
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
#, fuzzy
#| msgid "Content"
msgid "CA Key"
msgstr "Nội dung"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr ""
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
#, fuzzy
#| msgid "Content"
msgid "CA Cert"
msgstr "Nội dung"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr ""
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
#, fuzzy
#| msgid "Password"
msgid "CA Key Password"
msgstr "Mật khẩu"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr ""
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr ""
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -9310,10 +9319,14 @@ msgid "Insecure command alert"
msgstr "Cảnh báo lệnh nguy hiểm"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "Người nhận email"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "Nhiều người dùng, sử dụng dấu phẩy để phân tách"
@@ -11655,31 +11668,31 @@ msgstr "Cần cập nhật mật khẩu"
msgid "Face vector"
msgstr "Vector khuôn mặt"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "Ngày cuối cùng sử dụng API key"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "Không thể xóa người dùng quản lý"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "Có thể mời người dùng"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "Có thể gỡ bỏ người dùng"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "Có thể khớp người dùng"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "Lịch sử mật khẩu người dùng"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:05+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n"
@@ -17,21 +17,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.3\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "用户名包含非法字符:%(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "账号已存在"
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "未找到可用于创建账户的有效资产。"
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "账号未找到"
@@ -212,7 +209,7 @@ msgstr "数据库"
msgid "Discovery"
msgstr "发现"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "模板"
@@ -454,8 +451,8 @@ msgstr "Vault 操作失败,请重试,或者检查 Vault 上的账号信息
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -484,8 +481,8 @@ msgid "Asset"
msgstr "资产"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -505,7 +502,7 @@ msgstr "历史账号"
msgid "Secret reset"
msgstr "可改密"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "来源"
@@ -532,7 +529,7 @@ msgstr "改密状态"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -540,7 +537,7 @@ msgstr "改密状态"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -631,8 +628,8 @@ msgstr "图标"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -800,7 +797,8 @@ msgid "Status"
msgstr "状态"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -898,7 +896,7 @@ msgstr "重复密码"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1027,8 +1025,8 @@ msgid "Verify asset account"
msgstr "账号验证"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1204,19 +1202,19 @@ msgstr "改密并添加"
msgid "Execution failed: {}"
msgstr "执行失败:{}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "立即推送"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "参数"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "账号存在策略"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1227,7 +1225,7 @@ msgstr "账号存在策略"
msgid "Category"
msgstr "类别"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1246,26 +1244,26 @@ msgstr "类别"
msgid "Type"
msgstr "类型"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "资产不存在"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "目录服务"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr "帐号已存在。字段:{fields} 必须是唯一的。"
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "已托管密码"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1273,33 +1271,33 @@ msgstr "已托管密码"
msgid "State"
msgstr "审批状态"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "已修改"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "资产不支持账号类型: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "账号已存在"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "必须指定至少一个资产或节点"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "特殊信息"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1307,7 +1305,7 @@ msgstr "特殊信息"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1327,12 +1325,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "用户"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1341,11 +1339,11 @@ msgstr "用户"
msgid "Date"
msgstr "日期"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "密钥密码"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1817,7 +1815,12 @@ msgid ""
"allowed."
msgstr "如果密码以 `{{` 开始,并且以 `}}` 结束,则该密码是不允许的。"
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "用户名包含非法字符:%(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "密钥不合法或密钥密码错误"
@@ -1897,7 +1900,7 @@ msgstr "用户"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2292,7 +2295,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ">>> 开始执行测试网关可连接性任务"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "未知"
@@ -2489,7 +2493,7 @@ msgid "Any"
msgstr "任意"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "安全"
@@ -2761,7 +2765,7 @@ msgstr "资产自动化任务"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "创建日期"
@@ -2804,7 +2808,7 @@ msgid "User group"
msgstr "用户组"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "更新日期"
@@ -3538,7 +3542,7 @@ msgstr "连接"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4185,40 +4189,40 @@ msgstr "参数中的值必须包含 %s"
msgid "This action require verify your MFA"
msgstr "该操作需要验证您的 MFA, 请先开启并配置"
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr "不允许使用可重复使用的连接令牌,未启用全局设置"
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "匿名账号不支持当前资产"
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "授权已过期"
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "ACL 动作是拒绝: {}({})"
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "ACL 动作是复核"
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "ACL 动作是人脸验证"
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr "资产登录规则不支持当前资产"
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "ACL 动作是人脸在线"
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "没有可用的人脸特征"
@@ -4370,7 +4374,12 @@ msgstr "证书已过期或未生效"
msgid "Unsupported certificate algorithm"
msgstr "不支持证书算法"
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr "认证挑战码已过期,请刷新页面后重试。"
#: authentication/backends/ukey/views.py:107
msgid "Invalid credentials"
msgstr "无效的证书"
@@ -4726,7 +4735,7 @@ msgid "Input username"
msgstr "自定义用户名"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "自定义密码"
@@ -4892,28 +4901,28 @@ msgstr "镜像端口"
msgid "Image protocol"
msgstr "镜像协议"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "过期时间"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "工单信息"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "动作"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "已过期"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "组织名称"
@@ -5187,64 +5196,64 @@ msgid "UKey Authentication"
msgstr "UKey 认证"
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr "正在加载 UKey SDK 驱动..."
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr "插入 UKey 自动获取"
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
msgid "More login methods"
msgstr "更多登录方式"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr "正在检测 UKey..."
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
msgid "UKey connected"
msgstr "UKey 已连接"
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
msgid "Please insert UKey"
msgstr "请插入 UKey"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
msgid "SDK unavailable"
msgstr "SDK 不可用"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
msgid "UKey SDK initialization failed"
msgstr "UKey SDK 初始化失败"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr "PIN 校验中..."
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
msgid "PIN verified"
msgstr "PIN 校验通过"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
msgid "PIN verification failed"
msgstr "校验 PIN 失败"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr "正在对挑战码签名..."
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
msgid "Signing failed"
msgstr "签名失败"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr "获取 UKey 证书失败"
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
msgid "No UKey cert detected, please contact administrator"
msgstr "未检测到 UKey 证书,请联系管理员"
@@ -6086,16 +6095,16 @@ msgid ""
" work orders, and other notifications"
msgstr "系统一些告警,工单等需要发送站内信时执行该任务"
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "无可用账号"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible 已禁用"
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "跳过以下主机: "
@@ -8016,63 +8025,63 @@ msgstr "挑战码的有效时长(秒)"
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr "认证挑战码的有效时长(秒)"
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr "UKey 默认的用户 PIN 码"
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr "管理员重置时使用的用户默认 PIN 码"
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr "证书签发"
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr "是否启用用户证书签发"
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr "签发证书有效天数"
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr "签发证书的有效期(天)"
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
msgid "CA Key"
msgstr "CA 私钥"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr "用于证书签发的 CA 私钥 PEM 内容"
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
msgid "CA Cert"
msgstr "CA 证书"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr "用于证书签发和认证的 CA 证书 PEM 内容"
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
msgid "CA Key Password"
msgstr "CA 私钥密码"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr "用于证书签发的 CA 私钥加密密码(未设置密码请留空)"
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr "CA 证书算法"
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr "证书上传后自动检测"
@@ -8761,10 +8770,14 @@ msgid "Insecure command alert"
msgstr "危险命令告警"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "邮件收件人"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "多个用户,使用 , 分割"
@@ -11008,31 +11021,31 @@ msgstr "需要更新密码"
msgid "Face vector"
msgstr "人脸向量"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr "UKey 序列号"
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "API key 最后使用日期"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "无法删除管理员用户"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "可以邀请用户"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "可以移除用户"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "可以匹配用户"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "用户密码历史"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-04 14:21+0800\n"
"POT-Creation-Date: 2026-06-05 19:30+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n"
@@ -19,21 +19,18 @@ msgstr ""
"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:19:20 | https://"
"zhconvert.org\n"
msgid "Username contains invalid characters: %(chars)s"
msgstr "使用者名稱包含非法字元:%(chars)s"
#: accounts/api/account/account.py:193
#: accounts/serializers/account/account.py:181
#: accounts/serializers/account/account.py:358
#: accounts/serializers/account/account.py:182
#: accounts/serializers/account/account.py:363
msgid "Account already exists"
msgstr "帳號已存在"
#: accounts/api/account/account.py:258
#: accounts/api/account/account.py:281
msgid "No valid assets found for account creation."
msgstr "未找到可用於創建帳戶的有效資產。"
#: accounts/api/account/application.py:87
#: authentication/api/connection_token.py:463
#: authentication/api/connection_token.py:468
msgid "Account not found"
msgstr "帳號未找到"
@@ -214,7 +211,7 @@ msgstr "資料庫"
msgid "Discovery"
msgstr "發現"
#: accounts/const/account.py:28 accounts/serializers/account/account.py:28
#: accounts/const/account.py:28 accounts/serializers/account/account.py:29
#: settings/serializers/auth/sms.py:84
msgid "Template"
msgstr "模板"
@@ -456,8 +453,8 @@ msgstr "Vault 操作失敗,請重試,或檢查 Vault 上的帳號信息。"
#: accounts/models/account.py:85
#: accounts/models/automations/check_account.py:59
#: accounts/models/automations/gather_account.py:17
#: accounts/serializers/account/account.py:227
#: accounts/serializers/account/account.py:294
#: accounts/serializers/account/account.py:228
#: accounts/serializers/account/account.py:295
#: accounts/serializers/automations/change_secret.py:115
#: accounts/serializers/automations/change_secret.py:147
#: accounts/serializers/automations/change_secret.py:188
@@ -486,8 +483,8 @@ msgid "Asset"
msgstr "資產"
#: accounts/models/account.py:89 accounts/models/template.py:16
#: accounts/serializers/account/account.py:234
#: accounts/serializers/account/account.py:305
#: accounts/serializers/account/account.py:235
#: accounts/serializers/account/account.py:306
#: accounts/serializers/account/template.py:35
#: authentication/serializers/connect_token_secret.py:51
msgid "Su from"
@@ -507,7 +504,7 @@ msgstr "歷史帳號"
msgid "Secret reset"
msgstr "可改密"
#: accounts/models/account.py:97 accounts/serializers/account/account.py:229
#: accounts/models/account.py:97 accounts/serializers/account/account.py:230
#: users/models/user/__init__.py:132
msgid "Source"
msgstr "來源"
@@ -534,7 +531,7 @@ msgstr "改密狀態"
#: accounts/models/account.py:107
#: accounts/models/automations/check_account.py:64
#: accounts/serializers/account/account.py:295
#: accounts/serializers/account/account.py:296
#: accounts/serializers/account/service.py:13
#: accounts/serializers/automations/change_secret.py:117
#: accounts/serializers/automations/change_secret.py:148
@@ -542,7 +539,7 @@ msgstr "改密狀態"
#: acls/templates/acls/asset_login_reminder.html:11
#: assets/serializers/gateway.py:33 audits/models.py:60 audits/models.py:337
#: audits/reporting.py:114 audits/serializers.py:246
#: authentication/api/connection_token.py:475 ops/models/base.py:18
#: authentication/api/connection_token.py:480 ops/models/base.py:18
#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:306 terminal/serializers/command.py:72
@@ -633,8 +630,8 @@ msgstr "圖示"
#: accounts/models/application.py:20 accounts/models/base.py:39
#: accounts/models/mixins/vault.py:49
#: accounts/serializers/account/account.py:495
#: accounts/serializers/account/base.py:20
#: accounts/serializers/account/account.py:500
#: accounts/serializers/account/base.py:22
#: authentication/models/temp_token.py:11
#: authentication/templates/authentication/_access_key_modal.html:31
#: settings/serializers/auth/radius.py:20
@@ -802,7 +799,8 @@ msgid "Status"
msgstr "狀態"
#: accounts/models/automations/change_secret.py:51
#: accounts/serializers/account/account.py:297 assets/const/automation.py:9
#: accounts/serializers/account/account.py:298 assets/const/automation.py:9
#: authentication/templates/authentication/login_ukey.html:208
#: authentication/templates/authentication/passkey.html:177
#: authentication/views/base.py:43 authentication/views/base.py:44
#: authentication/views/base.py:45 common/const/choices.py:68
@@ -900,7 +898,7 @@ msgstr "重複密碼"
#: accounts/templates/accounts/push_account_report.html:79
#: accounts/templates/accounts/push_account_report.html:119
#: acls/serializers/base.py:19 acls/serializers/base.py:50 audits/models.py:204
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:7
#: audits/reporting.py:241 authentication/backends/ukey/forms.py:8
#: authentication/forms.py:21 authentication/forms.py:23
#: authentication/models/temp_token.py:10
#: authentication/serializers/connect_token_secret.py:43
@@ -1029,8 +1027,8 @@ msgid "Verify asset account"
msgstr "帳號驗證"
#: accounts/models/base.py:37 accounts/models/base.py:66
#: accounts/serializers/account/account.py:494
#: accounts/serializers/account/base.py:17
#: accounts/serializers/account/account.py:499
#: accounts/serializers/account/base.py:19
#: accounts/serializers/automations/change_secret.py:50
#: authentication/serializers/connect_token_secret.py:42
#: authentication/serializers/connect_token_secret.py:52
@@ -1206,19 +1204,19 @@ msgstr "改密並添加"
msgid "Execution failed: {}"
msgstr "執行失敗:{}"
#: accounts/serializers/account/account.py:31
#: accounts/serializers/account/account.py:32
msgid "Push now"
msgstr "立即推送"
#: accounts/serializers/account/account.py:36
#: accounts/serializers/account/account.py:37
msgid "Params"
msgstr "參數"
#: accounts/serializers/account/account.py:40
#: accounts/serializers/account/account.py:41
msgid "Exist policy"
msgstr "帳號存在策略"
#: accounts/serializers/account/account.py:206 assets/models/label.py:21
#: accounts/serializers/account/account.py:207 assets/models/label.py:21
#: assets/models/platform.py:95 assets/serializers/asset/common.py:145
#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:174
#: assets/serializers/platform.py:285 perms/serializers/user_permission.py:27
@@ -1229,7 +1227,7 @@ msgstr "帳號存在策略"
msgid "Category"
msgstr "類別"
#: accounts/serializers/account/account.py:207 acls/models/command_acl.py:24
#: accounts/serializers/account/account.py:208 acls/models/command_acl.py:24
#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:27
#: assets/models/automations/base.py:146 assets/models/cmd_filter.py:74
#: assets/models/platform.py:96 assets/serializers/asset/common.py:146
@@ -1248,26 +1246,26 @@ msgstr "類別"
msgid "Type"
msgstr "類型"
#: accounts/serializers/account/account.py:223
#: accounts/serializers/account/account.py:224
msgid "Asset not found"
msgstr "資產不存在"
#: accounts/serializers/account/account.py:236 assets/const/category.py:15
#: accounts/serializers/account/account.py:237 assets/const/category.py:15
#: assets/models/asset/common.py:180 assets/models/asset/ds.py:14
#: assets/serializers/asset/common.py:181
msgid "Directory service"
msgstr "目錄服務"
#: accounts/serializers/account/account.py:278
#: accounts/serializers/account/account.py:279
#, python-brace-format
msgid "Account already exists. Field(s): {fields} must be unique."
msgstr "帳號已存在。字段:{fields} 必須是唯一的。"
#: accounts/serializers/account/account.py:285
#: accounts/serializers/account/account.py:286
msgid "Has secret"
msgstr "已託管密碼"
#: accounts/serializers/account/account.py:296 ops/models/celery.py:84
#: accounts/serializers/account/account.py:297 ops/models/celery.py:84
#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49
#: tickets/models/ticket/general.py:280 tickets/reporting.py:75
#: tickets/serializers/super_ticket.py:14
@@ -1275,33 +1273,33 @@ msgstr "已託管密碼"
msgid "State"
msgstr "狀態"
#: accounts/serializers/account/account.py:298
#: accounts/serializers/account/account.py:299
msgid "Changed"
msgstr "已修改"
#: accounts/serializers/account/account.py:406
#: accounts/serializers/account/account.py:411
#, python-format
msgid "Asset does not support this secret type: %s"
msgstr "資產不支持帳號類型: %s"
#: accounts/serializers/account/account.py:439
#: accounts/serializers/account/account.py:444
msgid "Account has exist"
msgstr "帳號已存在"
#: accounts/serializers/account/account.py:464
#: accounts/serializers/account/account.py:465
#: accounts/serializers/account/account.py:469
#: accounts/serializers/account/account.py:470
msgid "At least one asset or node must be specified"
msgstr "資產或者節點至少選擇一項"
#: accounts/serializers/account/account.py:478
#: accounts/serializers/account/account.py:485
#: accounts/serializers/account/base.py:73
#: accounts/serializers/account/base.py:88
#: accounts/serializers/account/account.py:483
#: accounts/serializers/account/account.py:490
#: accounts/serializers/account/base.py:75
#: accounts/serializers/account/base.py:94
#: assets/serializers/asset/common.py:425
msgid "Spec info"
msgstr "特殊資訊"
#: accounts/serializers/account/account.py:496
#: accounts/serializers/account/account.py:501
#: authentication/serializers/connect_token_secret.py:173
#: authentication/templates/authentication/_access_key_modal.html:30
#: perms/models/perm_node.py:21 settings/models.py:215
@@ -1309,7 +1307,7 @@ msgstr "特殊資訊"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:506 acls/notifications.py:18
#: accounts/serializers/account/account.py:511 acls/notifications.py:18
#: acls/notifications.py:68 acls/serializers/base.py:103
#: acls/templates/acls/asset_login_reminder.html:8
#: acls/templates/acls/user_login_reminder.html:8
@@ -1329,12 +1327,12 @@ msgstr "ID"
#: terminal/templates/terminal/_msg_command_warning.html:9
#: terminal/templates/terminal/_msg_session_sharing.html:6
#: tickets/models/comment.py:21 tickets/serializers/flow.py:15
#: users/const.py:14 users/models/user/__init__.py:307
#: users/models/user/__init__.py:340
#: users/const.py:14 users/models/user/__init__.py:308
#: users/models/user/__init__.py:341
msgid "User"
msgstr "用戶"
#: accounts/serializers/account/account.py:507 audits/reporting.py:94
#: accounts/serializers/account/account.py:512 audits/reporting.py:94
#: audits/reporting.py:216 audits/reporting.py:312 audits/reporting.py:399
#: audits/reporting.py:487 audits/reporting.py:602
#: authentication/templates/authentication/_access_key_modal.html:33
@@ -1343,11 +1341,11 @@ msgstr "用戶"
msgid "Date"
msgstr "日期"
#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149
#: accounts/serializers/account/base.py:35 terminal/serializers/storage.py:149
msgid "Passphrase"
msgstr "密鑰密碼"
#: accounts/serializers/account/base.py:91
#: accounts/serializers/account/base.py:97
msgid ""
"* If no username is required for authentication, enter null. For AD "
"accounts, use the format username@domain."
@@ -1820,7 +1818,12 @@ msgid ""
"allowed."
msgstr "如果密碼以 `{{` 開始,並且以 `}}` 結束,則該密碼是不允許的。"
#: accounts/utils.py:63
#: accounts/utils.py:76
#, python-format
msgid "Username contains invalid characters: %(chars)s"
msgstr "使用者名稱包含非法字元:%(chars)s"
#: accounts/utils.py:84
msgid "private key invalid or passphrase error"
msgstr "金鑰不合法或金鑰密碼錯誤"
@@ -1900,7 +1903,7 @@ msgstr "用戶管理"
#: assets/models/automations/base.py:25
#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:33
#: assets/serializers/platform.py:182 assets/serializers/platform.py:214
#: authentication/api/connection_token.py:474 ops/models/base.py:17
#: authentication/api/connection_token.py:479 ops/models/base.py:17
#: ops/models/job.py:157 ops/serializers/job.py:21
#: perms/serializers/permission.py:58
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
@@ -2295,7 +2298,8 @@ msgid ">>> Start executing the task to test gateway connectivity"
msgstr ">>> 開始執行測試網關可連接性任務"
#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:48
#: audits/signal_handlers/activity_log.py:63 common/utils/ip/geoip/utils.py:42
#: audits/signal_handlers/activity_log.py:63
#: authentication/backends/ukey/views.py:148 common/utils/ip/geoip/utils.py:42
#: common/utils/ip/geoip/utils.py:48 common/utils/ip/utils.py:104
msgid "Unknown"
msgstr "未知"
@@ -2492,7 +2496,7 @@ msgid "Any"
msgstr "任意"
#: assets/const/protocol.py:88 rbac/tree.py:65
#: settings/serializers/security.py:281
#: settings/serializers/security.py:285
msgid "Security"
msgstr "安全"
@@ -2764,7 +2768,7 @@ msgstr "資產自動化任務"
#: assets/models/automations/base.py:140 assets/models/cmd_filter.py:41
#: authentication/serializers/token.py:134 common/db/models.py:34
#: ops/models/base.py:54 ops/models/job.py:240
#: users/models/user/__init__.py:343
#: users/models/user/__init__.py:344
msgid "Date created"
msgstr "創建日期"
@@ -2807,7 +2811,7 @@ msgid "User group"
msgstr "用戶組"
#: assets/models/cmd_filter.py:42 authentication/serializers/token.py:133
#: common/db/models.py:35 users/models/user/__init__.py:158
#: common/db/models.py:35 users/models/user/__init__.py:159
msgid "Date updated"
msgstr "更新日期"
@@ -3545,7 +3549,7 @@ msgstr "連接"
#: audits/const.py:31 authentication/templates/authentication/login.html:334
#: authentication/templates/authentication/login.html:408
#: authentication/templates/authentication/login_ukey.html:238
#: authentication/templates/authentication/login_ukey.html:228
#: templates/_header_bar.html:101
#: xpack/plugins/interface/templates/login_i18n.html:21
msgid "Login"
@@ -4192,40 +4196,40 @@ msgstr "參數中的值必須包含 %s"
msgid "This action require verify your MFA"
msgstr "該操作需要驗證您的 MFA, 請先開啟並配置"
#: authentication/api/connection_token.py:314
#: authentication/api/connection_token.py:315
msgid "Reusable connection token is not allowed, global setting not enabled"
msgstr "不允許使用可重複使用的連接令牌,未啟用全局設置"
#: authentication/api/connection_token.py:436
#: authentication/api/connection_token.py:441
msgid "Anonymous account is not supported for this asset"
msgstr "匿名帳號不支持當前資產"
#: authentication/api/connection_token.py:466
#: authentication/api/connection_token.py:471
msgid "Permission expired"
msgstr "授權已過期"
#: authentication/api/connection_token.py:499
#: authentication/api/connection_token.py:504
#, python-brace-format
msgid "ACL action is reject: {}({})"
msgstr "ACL 動作是拒絕: {}({})"
#: authentication/api/connection_token.py:503
#: authentication/api/connection_token.py:508
msgid "ACL action is review"
msgstr "ACL 動作是覆核"
#: authentication/api/connection_token.py:513
#: authentication/api/connection_token.py:518
msgid "ACL action is face verify"
msgstr "ACL Action 係人臉驗證"
#: authentication/api/connection_token.py:518
#: authentication/api/connection_token.py:523
msgid "ACL action not supported for this asset"
msgstr "資產登錄規則不支持當前資產"
#: authentication/api/connection_token.py:525
#: authentication/api/connection_token.py:530
msgid "ACL action is face online"
msgstr "ACL Action 係人臉在線"
#: authentication/api/connection_token.py:550
#: authentication/api/connection_token.py:555
msgid "No available face feature"
msgstr "沒有可用的人臉特徵"
@@ -4377,7 +4381,12 @@ msgstr "證書已過期或未生效"
msgid "Unsupported certificate algorithm"
msgstr "不支持證書算法"
#: authentication/backends/ukey/views.py:97
#: authentication/backends/ukey/views.py:92
msgid ""
"Authentication challenge expired, please refresh the page and try again."
msgstr "認證挑戰碼已過期,請重新整理頁面後再試一次。"
#: authentication/backends/ukey/views.py:107
msgid "Invalid credentials"
msgstr "無效的憑證"
@@ -4733,7 +4742,7 @@ msgid "Input username"
msgstr "自訂使用者名稱"
#: authentication/models/connection_token.py:46
#: authentication/serializers/connection_token.py:20
#: authentication/serializers/connection_token.py:21
msgid "Input secret"
msgstr "自訂密碼"
@@ -4899,28 +4908,28 @@ msgstr "鏡像埠"
msgid "Image protocol"
msgstr "鏡像協議"
#: authentication/serializers/connection_token.py:18
#: authentication/serializers/connection_token.py:19
msgid "Expired time"
msgstr "過期時間"
#: authentication/serializers/connection_token.py:22
#: authentication/serializers/connection_token.py:23
msgid "Ticket info"
msgstr "工單資訊"
#: authentication/serializers/connection_token.py:23
#: authentication/serializers/connection_token.py:24
#: perms/models/asset_permission.py:77
#: tickets/models/ticket/apply_application.py:28
#: tickets/models/ticket/apply_asset.py:19
msgid "Actions"
msgstr "動作"
#: authentication/serializers/connection_token.py:46
#: authentication/serializers/connection_token.py:47
#: perms/serializers/permission.py:66 perms/serializers/permission.py:87
#: users/serializers/user.py:127 users/serializers/user.py:267
msgid "Is expired"
msgstr "已過期"
#: authentication/serializers/connection_token.py:47
#: authentication/serializers/connection_token.py:48
#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27
msgid "Org name"
msgstr "組織名稱"
@@ -5194,64 +5203,64 @@ msgid "UKey Authentication"
msgstr "UKey 認證"
#: authentication/templates/authentication/login_ukey.html:199
#: authentication/templates/authentication/login_ukey.html:256
#: authentication/templates/authentication/login_ukey.html:246
msgid "Loading UKey SDK..."
msgstr "正在加載 UKey SDK 驅動..."
#: authentication/templates/authentication/login_ukey.html:214
#: authentication/templates/authentication/login_ukey.html:216
msgid "Insert UKey to auto-fetch"
msgstr "插入 UKey 自動獲取"
#: authentication/templates/authentication/login_ukey.html:244
#: authentication/templates/authentication/login_ukey.html:234
#: xpack/plugins/interface/templates/login_i18n.html:22
msgid "More login methods"
msgstr "其他方式登錄"
#: authentication/templates/authentication/login_ukey.html:257
#: authentication/templates/authentication/login_ukey.html:247
msgid "Detecting UKey..."
msgstr "正在檢測 UKey..."
#: authentication/templates/authentication/login_ukey.html:258
#: authentication/templates/authentication/login_ukey.html:248
msgid "UKey connected"
msgstr "UKey 已連接"
#: authentication/templates/authentication/login_ukey.html:259
#: authentication/templates/authentication/login_ukey.html:249
msgid "Please insert UKey"
msgstr "請插入 UKey"
#: authentication/templates/authentication/login_ukey.html:260
#: authentication/templates/authentication/login_ukey.html:250
msgid "SDK unavailable"
msgstr "SDK 不可用"
#: authentication/templates/authentication/login_ukey.html:261
#: authentication/templates/authentication/login_ukey.html:251
msgid "UKey SDK initialization failed"
msgstr "UKey SDK 初始化失敗"
#: authentication/templates/authentication/login_ukey.html:262
#: authentication/templates/authentication/login_ukey.html:252
msgid "Verifying PIN..."
msgstr "PIN 驗證中..."
#: authentication/templates/authentication/login_ukey.html:263
#: authentication/templates/authentication/login_ukey.html:253
msgid "PIN verified"
msgstr "PIN 驗證通過"
#: authentication/templates/authentication/login_ukey.html:264
#: authentication/templates/authentication/login_ukey.html:254
msgid "PIN verification failed"
msgstr "驗證 PIN 失敗"
#: authentication/templates/authentication/login_ukey.html:265
#: authentication/templates/authentication/login_ukey.html:255
msgid "Signing challenge code..."
msgstr "正在對挑戰碼簽名..."
#: authentication/templates/authentication/login_ukey.html:266
#: authentication/templates/authentication/login_ukey.html:256
msgid "Signing failed"
msgstr "簽名失敗"
#: authentication/templates/authentication/login_ukey.html:267
#: authentication/templates/authentication/login_ukey.html:257
msgid "Failed to retrieve UKey cert"
msgstr "獲取 UKey 證書失敗"
#: authentication/templates/authentication/login_ukey.html:268
#: authentication/templates/authentication/login_ukey.html:258
msgid "No UKey cert detected, please contact administrator"
msgstr "未檢測到 UKey 證書,請聯繫管理員"
@@ -6092,16 +6101,16 @@ msgid ""
" work orders, and other notifications"
msgstr "系統某些告警、工單等需要發送站內信時執行該任務"
#: ops/ansible/inventory.py:136 ops/ansible/inventory.py:206
#: ops/ansible/inventory.py:150 ops/ansible/inventory.py:220
#: ops/models/job.py:69
msgid "No account available"
msgstr "無可用帳號"
#: ops/ansible/inventory.py:327 ops/ansible/inventory.py:369
#: ops/ansible/inventory.py:341 ops/ansible/inventory.py:383
msgid "Ansible disabled"
msgstr "Ansible 已禁用"
#: ops/ansible/inventory.py:385
#: ops/ansible/inventory.py:399
msgid "Skip hosts below:"
msgstr "跳過以下主機: "
@@ -8027,63 +8036,63 @@ msgstr "挑戰碼的有效時長(秒)"
msgid "Time-to-live (seconds) for authentication challenge codes"
msgstr "認證挑戰碼的有效時長(秒)"
#: settings/serializers/auth/ukey.py:21
#: settings/serializers/auth/ukey.py:22
msgid "UKey Default User PIN"
msgstr "UKey 預設的使用者 PIN 碼"
#: settings/serializers/auth/ukey.py:22
#: settings/serializers/auth/ukey.py:23
msgid "UKey default user PIN used for administrator reset"
msgstr "管理員重置時使用的預設使用者 PIN 碼"
#: settings/serializers/auth/ukey.py:26
#: settings/serializers/auth/ukey.py:27
msgid "Enrollment"
msgstr "憑證簽發"
#: settings/serializers/auth/ukey.py:27
#: settings/serializers/auth/ukey.py:28
msgid "Whether to enable user certificate enrollment"
msgstr "是否啟用使用者憑證簽發"
#: settings/serializers/auth/ukey.py:30
#: settings/serializers/auth/ukey.py:31
msgid "Enrollment Validity Days"
msgstr "簽發憑證有效天數"
#: settings/serializers/auth/ukey.py:31
#: settings/serializers/auth/ukey.py:32
msgid "Validity period (days) for issued certificates"
msgstr "簽發憑證的有效期(天)"
#: settings/serializers/auth/ukey.py:34
#: settings/serializers/auth/ukey.py:35
msgid "CA Key"
msgstr "CA 私鑰"
#: settings/serializers/auth/ukey.py:35
#: settings/serializers/auth/ukey.py:36
msgid "PEM content of CA private key used for certificate enrollment"
msgstr "用於憑證簽發的 CA 私鑰 PEM 內容"
#: settings/serializers/auth/ukey.py:38
#: settings/serializers/auth/ukey.py:39
msgid "CA Cert"
msgstr "CA 憑證"
#: settings/serializers/auth/ukey.py:39
#: settings/serializers/auth/ukey.py:40
msgid ""
"PEM content of CA certificate used for certificate enrollment and "
"authentication"
msgstr "用於憑證簽發與認證的 CA 憑證 PEM 內容"
#: settings/serializers/auth/ukey.py:42
#: settings/serializers/auth/ukey.py:43
msgid "CA Key Password"
msgstr "CA 私鑰密碼"
#: settings/serializers/auth/ukey.py:43
#: settings/serializers/auth/ukey.py:44
msgid ""
"Password for CA private key used for certificate enrollment (leave blank if "
"not set)"
msgstr "用於憑證簽發的 CA 私鑰加密密碼(未設定密碼請留空)"
#: settings/serializers/auth/ukey.py:46
#: settings/serializers/auth/ukey.py:47
msgid "CA Cert Algorithm"
msgstr "CA 憑證演算法"
#: settings/serializers/auth/ukey.py:52
#: settings/serializers/auth/ukey.py:53
msgid "Auto-Detect After Upload"
msgstr ""
@@ -8771,10 +8780,14 @@ msgid "Insecure command alert"
msgstr "危險命令告警"
#: settings/serializers/security.py:271
msgid "Account username forbidden characters"
msgstr ""
#: settings/serializers/security.py:275
msgid "Email recipient"
msgstr "郵件收件人"
#: settings/serializers/security.py:272
#: settings/serializers/security.py:276
msgid "Multiple user using , split"
msgstr "多個用戶,使用 , 分割"
@@ -11017,31 +11030,31 @@ msgstr "需要更新密碼"
msgid "Face vector"
msgstr "人臉向量"
#: users/models/user/__init__.py:153
#: users/models/user/__init__.py:154
msgid "UKey SN"
msgstr ""
#: users/models/user/__init__.py:156
#: users/models/user/__init__.py:157
msgid "Date api key used"
msgstr "Api key 最後使用日期"
#: users/models/user/__init__.py:302
#: users/models/user/__init__.py:303
msgid "Can not delete admin user"
msgstr "無法刪除管理員用戶"
#: users/models/user/__init__.py:316
#: users/models/user/__init__.py:317
msgid "Can invite user"
msgstr "可以邀請用戶"
#: users/models/user/__init__.py:317
#: users/models/user/__init__.py:318
msgid "Can remove user"
msgstr "可以移除用戶"
#: users/models/user/__init__.py:318
#: users/models/user/__init__.py:319
msgid "Can match user"
msgstr "可以匹配用戶"
#: users/models/user/__init__.py:353
#: users/models/user/__init__.py:354
msgid "User password history"
msgstr "用戶密碼歷史"