consolidation of some of the modules, localization fixes, product advisories work, qa work
This commit is contained in:
@@ -1,411 +1,367 @@
|
||||
{
|
||||
"_meta": { "locale": "ru-RU", "namespace": "common", "version": "1.1" },
|
||||
|
||||
"common.error.generic": "Something went wrong.",
|
||||
"common.error.not_found": "The requested resource was not found.",
|
||||
"common.error.entity_not_found": "{0} '{1}' not found.",
|
||||
"common.error.unauthorized": "You do not have permission to perform this action.",
|
||||
"common.error.forbidden": "Access denied.",
|
||||
"common.error.bad_request": "The request is invalid.",
|
||||
"common.error.conflict": "A conflict occurred. The resource may have been modified.",
|
||||
"common.error.timeout": "Request timed out after {0} seconds.",
|
||||
"common.error.server_error": "An internal server error occurred. Please try again later.",
|
||||
"common.error.service_unavailable": "The service is temporarily unavailable.",
|
||||
"common.error.too_many_requests": "Too many requests. Please wait and try again.",
|
||||
"common.error.network": "Network error. Check your connection.",
|
||||
"common.error.body_required": "Request body is required.",
|
||||
"common.error.deserialization_failed": "Failed to deserialize {0}.",
|
||||
"common.error.not_supported": "{0} is not supported.",
|
||||
"common.error.already_exists": "{0} '{1}' already exists.",
|
||||
"common.error.revoked": "{0} '{1}' has been revoked and cannot be used.",
|
||||
"common.error.state_invalid": "{0} '{1}' is not in the expected state. Current state: {2}",
|
||||
|
||||
"common.validation.required": "{0} is required.",
|
||||
"common.validation.invalid": "{0} is invalid.",
|
||||
"common.validation.too_long": "{0} exceeds the maximum length of {1} characters.",
|
||||
"common.validation.too_short": "{0} must be at least {1} characters.",
|
||||
"common.validation.out_of_range": "{0} must be between {1} and {2}.",
|
||||
"common.validation.invalid_format": "{0} has an invalid format.",
|
||||
"common.validation.duplicate": "{0} already exists.",
|
||||
"common.validation.empty_not_allowed": "{0} must not be empty.",
|
||||
"common.validation.empty_after_trim": "{0} must not be empty after trimming.",
|
||||
"common.validation.greater_than_zero": "{0} must be greater than zero.",
|
||||
"common.validation.non_negative": "{0} must be non-negative.",
|
||||
"common.validation.at_least_one": "At least one {0} must be configured.",
|
||||
"common.validation.at_least_n": "{0} must have at least {1} entries.",
|
||||
"common.validation.null_or_empty": "{0} cannot be null or empty.",
|
||||
"common.validation.absolute_uri": "{0} must be an absolute URI.",
|
||||
"common.validation.invalid_regex": "{0} '{1}' is not a valid regular expression.",
|
||||
"common.validation.unknown_value": "{0} '{1}' is not recognized. Allowed values: {2}",
|
||||
"common.validation.max_exceeded": "{0} must be {1} characters or fewer.",
|
||||
|
||||
"common.actions.save": "Save",
|
||||
"common.actions.cancel": "Cancel",
|
||||
"common.actions.delete": "Delete",
|
||||
"common.actions.confirm": "Confirm",
|
||||
"common.actions.submit": "Submit",
|
||||
"common.actions.close": "Close",
|
||||
"common.actions.retry": "Retry",
|
||||
"common.actions.expand": "Expand",
|
||||
"common.actions.collapse": "Collapse",
|
||||
"common.actions.show_more": "Show more",
|
||||
"common.actions.show_less": "Show less",
|
||||
|
||||
"common.status.healthy": "Healthy",
|
||||
"common.status.degraded": "Degraded",
|
||||
"common.status.unavailable": "Unavailable",
|
||||
"common.status.unknown": "Unknown",
|
||||
"common.status.active": "Active",
|
||||
"common.status.inactive": "Inactive",
|
||||
"common.status.pending": "Pending",
|
||||
"common.status.running": "Running",
|
||||
"common.status.completed": "Completed",
|
||||
"common.status.failed": "Failed",
|
||||
"common.status.canceled": "Canceled",
|
||||
"common.status.blocked": "Blocked",
|
||||
|
||||
"common.severity.critical": "Critical",
|
||||
"common.severity.high": "High",
|
||||
"common.severity.medium": "Medium",
|
||||
"common.severity.low": "Low",
|
||||
"common.severity.info": "Info",
|
||||
"common.severity.none": "None",
|
||||
|
||||
"common.time.seconds_ago": "{0} seconds ago",
|
||||
"common.time.minutes_ago": "{0} minutes ago",
|
||||
"common.time.hours_ago": "{0} hours ago",
|
||||
"common.time.days_ago": "{0} days ago",
|
||||
"common.time.just_now": "Just now",
|
||||
|
||||
"common.ui.loading": "Loading...",
|
||||
"common.ui.saving": "Saving...",
|
||||
"common.ui.deleting": "Deleting...",
|
||||
"common.ui.submitting": "Submitting...",
|
||||
"common.ui.no_results": "No results found.",
|
||||
"common.ui.offline": "You are offline.",
|
||||
"common.ui.reconnecting": "Reconnecting...",
|
||||
"common.ui.back_online": "Back online.",
|
||||
|
||||
"auth.dpop.proof_lifetime_invalid": "DPoP proof lifetime must be greater than zero.",
|
||||
"auth.dpop.clock_skew_invalid": "DPoP allowed clock skew must be between 0 seconds and 5 minutes.",
|
||||
"auth.dpop.replay_window_invalid": "DPoP replay window must be greater than or equal to zero.",
|
||||
"auth.dpop.algorithm_required": "At least one allowed DPoP algorithm must be configured.",
|
||||
"auth.dpop.algorithm_empty_after_normalization": "Allowed DPoP algorithms cannot be empty after normalization.",
|
||||
"auth.dpop.options_required": "DPoP options must be provided.",
|
||||
"auth.dpop.nonce_ttl_invalid": "Nonce TTL must be greater than zero.",
|
||||
"auth.dpop.nonce_max_issuance_invalid": "Max issuance per minute must be at least 1.",
|
||||
"auth.dpop.nonce_store_required": "Dpop.Nonce.Store must be specified.",
|
||||
"auth.dpop.nonce_store_invalid": "Dpop.Nonce.Store must be either 'memory' or 'redis'.",
|
||||
"auth.dpop.nonce_redis_required": "Dpop.Nonce.RedisConnectionString must be provided when using the 'redis' store.",
|
||||
"auth.dpop.nonce_audiences_required": "Dpop.Nonce.RequiredAudiences must include at least one audience.",
|
||||
"auth.dpop.token_three_segments": "Token must contain three segments.",
|
||||
"auth.dpop.segment_out_of_range": "Segment index out of range.",
|
||||
"auth.dpop.header_decode_failed": "Unable to decode header.",
|
||||
"auth.dpop.header_missing_typ": "DPoP proof missing typ=dpop+jwt header.",
|
||||
"auth.dpop.header_missing_alg": "DPoP proof missing alg header.",
|
||||
"auth.dpop.header_unsupported_alg": "Unsupported DPoP algorithm.",
|
||||
"auth.dpop.header_missing_jwk": "DPoP proof missing jwk header.",
|
||||
"auth.dpop.header_invalid_jwk": "DPoP proof jwk header is invalid.",
|
||||
"auth.dpop.payload_decode_failed": "Unable to decode payload.",
|
||||
"auth.dpop.payload_missing_htm": "DPoP proof missing htm claim.",
|
||||
"auth.dpop.payload_htm_mismatch": "DPoP htm does not match request method.",
|
||||
"auth.dpop.payload_missing_htu": "DPoP proof missing htu claim.",
|
||||
"auth.dpop.payload_htu_mismatch": "DPoP htu does not match request URI.",
|
||||
"auth.dpop.payload_missing_iat": "DPoP proof missing iat claim.",
|
||||
"auth.dpop.payload_missing_jti": "DPoP proof missing jti claim.",
|
||||
"auth.dpop.payload_iat_invalid": "DPoP proof iat claim is not a valid number.",
|
||||
"auth.dpop.nonce_missing": "DPoP proof missing nonce claim.",
|
||||
"auth.dpop.nonce_mismatch": "DPoP nonce mismatch.",
|
||||
"auth.dpop.proof_future": "DPoP proof issued in the future.",
|
||||
"auth.dpop.proof_expired": "DPoP proof expired.",
|
||||
"auth.dpop.signature_failed": "DPoP proof signature validation failed.",
|
||||
"auth.dpop.replay_detected": "DPoP proof already used.",
|
||||
|
||||
"config.authority.schema_version_required": "Authority configuration requires a positive schemaVersion.",
|
||||
"config.authority.issuer_required": "Authority configuration requires an issuer URL.",
|
||||
"config.authority.issuer_absolute": "Authority issuer must be an absolute URI.",
|
||||
"config.authority.issuer_https": "Authority issuer must use HTTPS unless running on a loopback interface.",
|
||||
"config.authority.duplicate_tenant": "Authority configuration contains duplicate tenant identifier '{0}'.",
|
||||
"config.authority.property_greater_than_zero": "Authority configuration requires {0} to be greater than zero.",
|
||||
"config.authority.property_max": "Authority configuration requires {0} to be less than or equal to {1}.",
|
||||
"config.authority.remote_inference_required": "Authority configuration requires at least one advisory AI remote inference profile when remote inference is enabled.",
|
||||
|
||||
"config.tenant.id_required": "Each tenant requires an id (slug).",
|
||||
"config.tenant.id_format": "Tenant id '{0}' must contain only lowercase letters, digits, and hyphen.",
|
||||
"config.tenant.project_format": "Tenant '{0}' defines project '{1}' which must contain only lowercase letters, digits, and hyphen.",
|
||||
"config.tenant.role_missing_config": "Tenant '{0}' defines role '{1}' without configuration.",
|
||||
"config.tenant.role_scope_required": "Tenant '{0}' role '{1}' must specify at least one scope.",
|
||||
"config.tenant.role_unknown_scope": "Tenant '{0}' role '{1}' references unknown scope '{2}'.",
|
||||
"config.tenant.role_unsupported_attribute": "Tenant '{0}' role '{1}' defines unsupported attribute '{2}'. Allowed attributes: env, owner, business_tier.",
|
||||
"config.tenant.delegation_max_tokens": "Tenant '{0}' delegation maxActiveTokens must be greater than zero when specified.",
|
||||
"config.tenant.remote_inference_disabled": "Tenant remote inference consent cannot be granted when remote inference is disabled.",
|
||||
"config.tenant.remote_inference_consent_version_length": "Tenant remote inference consentVersion must be {0} characters or fewer.",
|
||||
"config.tenant.remote_inference_consented_by_length": "Tenant remote inference consentedBy must be {0} characters or fewer.",
|
||||
"config.tenant.remote_inference_consent_version_required": "Tenant remote inference consent requires consentVersion when consentGranted is true.",
|
||||
"config.tenant.remote_inference_consented_at_required": "Tenant remote inference consent requires consentedAt when consentGranted is true.",
|
||||
|
||||
"config.service_account.id_required": "Delegation service account seeds require an accountId.",
|
||||
"config.service_account.id_format": "Service account id '{0}' must contain lowercase letters, digits, colon, underscore, or hyphen.",
|
||||
"config.service_account.tenant_required": "Service account '{0}' requires a tenant assignment.",
|
||||
"config.service_account.tenant_unknown": "Service account '{0}' references unknown tenant '{1}'.",
|
||||
"config.service_account.scope_required": "Service account '{0}' must specify at least one allowed scope.",
|
||||
"config.service_account.unsupported_attribute": "Service account '{0}' defines unsupported attribute '{1}'. Allowed attributes: env, owner, business_tier.",
|
||||
|
||||
"config.plugin.assembly_required": "Authority plugin '{0}' must define either assemblyName or assemblyPath.",
|
||||
"config.plugin.config_file_required": "Authority plugin '{0}' must define a configFile.",
|
||||
"config.plugin.config_file_missing": "Authority plugin '{0}' specifies configFile '{1}' which does not exist.",
|
||||
"config.plugin.unknown_capability": "Authority plugin '{0}' declares unknown capability '{1}'. Allowed values: password, mfa, clientProvisioning, bootstrap.",
|
||||
"config.plugin.descriptor_null": "Authority plugin descriptor '{0}' is null.",
|
||||
|
||||
"config.delegation.duplicate_account": "Delegation configuration contains duplicate service account id '{0}'.",
|
||||
"config.delegation.quota_max_tokens": "Authority delegation configuration requires {0}.MaxActiveTokens to be greater than zero.",
|
||||
|
||||
"config.mtls.rotation_grace_negative": "Mtls.RotationGrace must be non-negative.",
|
||||
"config.mtls.audiences_required": "Mtls.EnforceForAudiences must include at least one audience when enabled.",
|
||||
"config.mtls.ca_empty": "Mtls.AllowedCertificateAuthorities entries must not be empty.",
|
||||
"config.mtls.san_types_required": "Mtls.AllowedSanTypes must include at least one entry when enabled.",
|
||||
"config.mtls.subject_patterns_empty": "Mtls.AllowedSubjectPatterns entries must not be empty.",
|
||||
"config.mtls.subject_pattern_invalid": "Mtls.AllowedSubjectPatterns entry '{0}' is not a valid regular expression.",
|
||||
|
||||
"config.signing.key_id_required": "Authority signing configuration requires signing.activeKeyId.",
|
||||
"config.signing.key_path_required": "Authority signing configuration requires signing.keyPath.",
|
||||
"config.signing.jwks_cache_range": "Authority signing configuration requires signing.jwksCacheLifetime to be between 00:00:01 and 01:00:00.",
|
||||
"config.signing.additional_key_id_required": "Additional signing keys require a keyId.",
|
||||
"config.signing.additional_key_path_required": "Signing key '{0}' requires a path.",
|
||||
|
||||
"config.bootstrap.api_key_required": "Authority bootstrap configuration requires an API key when enabled.",
|
||||
"config.bootstrap.idp_required": "Authority bootstrap configuration requires a default identity provider name when enabled.",
|
||||
|
||||
"config.rate_limit.permit_limit": "Authority rate limiting '{0}' requires permitLimit to be greater than zero.",
|
||||
"config.rate_limit.queue_limit": "Authority rate limiting '{0}' queueLimit cannot be negative.",
|
||||
"config.rate_limit.window": "Authority rate limiting '{0}' window must be greater than zero and no more than one hour.",
|
||||
|
||||
"config.storage.connection_required": "Authority storage requires a connection string.",
|
||||
"config.storage.timeout_invalid": "Authority storage command timeout must be greater than zero.",
|
||||
|
||||
"config.ack_token.payload_type_required": "notifications.ackTokens.payloadType must be specified when ack tokens are enabled.",
|
||||
"config.ack_token.default_lifetime_invalid": "notifications.ackTokens.defaultLifetime must be greater than zero.",
|
||||
"config.ack_token.max_lifetime_invalid": "notifications.ackTokens.maxLifetime must be greater than zero and greater than or equal to defaultLifetime.",
|
||||
"config.ack_token.key_id_required": "notifications.ackTokens.activeKeyId must be provided when ack tokens are enabled.",
|
||||
"config.ack_token.key_path_required": "notifications.ackTokens.keyPath must be provided when ack tokens are enabled.",
|
||||
"config.ack_token.jwks_cache_range": "notifications.ackTokens.jwksCacheLifetime must be between 00:00:01 and 01:00:00.",
|
||||
|
||||
"config.exceptions.null_template": "Authority exception routing template entries must not be null.",
|
||||
"config.exceptions.duplicate_template": "Authority exception routing template '{0}' is configured more than once.",
|
||||
"config.exceptions.template_id_required": "Authority exception routing templates require an id.",
|
||||
"config.exceptions.template_route_required": "Authority exception routing template '{0}' requires authorityRouteId.",
|
||||
|
||||
"config.sealed_mode.evidence_path_required": "AirGap.SealedMode.EvidencePath must be provided when enforcement is enabled.",
|
||||
"config.sealed_mode.max_age_range": "AirGap.SealedMode.MaxEvidenceAge must be between 00:00:01 and 7.00:00:00.",
|
||||
"config.sealed_mode.cache_lifetime_range": "AirGap.SealedMode.CacheLifetime must be greater than zero and less than or equal to AirGap.SealedMode.MaxEvidenceAge.",
|
||||
|
||||
"config.webhook.hosts_required": "notifications.webhooks.allowedHosts must include at least one host when enabled.",
|
||||
"config.escalation.scope_required": "notifications.escalation.scope must be specified.",
|
||||
|
||||
"config.anti_forgery.audience_required": "vulnerabilityExplorer.workflow.antiForgery.audience must be specified when anti-forgery tokens are enabled.",
|
||||
"config.anti_forgery.default_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.defaultLifetime must be greater than zero.",
|
||||
"config.anti_forgery.max_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.maxLifetime must be greater than zero and greater than or equal to defaultLifetime.",
|
||||
"config.anti_forgery.max_context_entries": "vulnerabilityExplorer.workflow.antiForgery.maxContextEntries must be non-negative.",
|
||||
"config.anti_forgery.max_context_value_length": "vulnerabilityExplorer.workflow.antiForgery.maxContextValueLength must be greater than zero.",
|
||||
|
||||
"config.attachment.default_lifetime_invalid": "vulnerabilityExplorer.attachments.defaultLifetime must be greater than zero when attachment tokens are enabled.",
|
||||
"config.attachment.max_lifetime_invalid": "vulnerabilityExplorer.attachments.maxLifetime must be greater than zero and greater than or equal to defaultLifetime.",
|
||||
"config.attachment.payload_type_required": "vulnerabilityExplorer.attachments.payloadType must be specified when attachment tokens are enabled.",
|
||||
"config.attachment.max_metadata_entries": "vulnerabilityExplorer.attachments.maxMetadataEntries must be non-negative.",
|
||||
"config.attachment.max_metadata_value_length": "vulnerabilityExplorer.attachments.maxMetadataValueLength must be greater than zero.",
|
||||
|
||||
"config.api_lifecycle.sunset_after_deprecation": "Legacy auth sunset date must be after the deprecation date.",
|
||||
"config.api_lifecycle.docs_url_format": "Legacy auth documentation URL must be an absolute HTTP or HTTPS URL.",
|
||||
|
||||
"crypto.provider.algorithm_not_supported": "Signing algorithm '{0}' is not supported by provider '{1}'.",
|
||||
"crypto.provider.hash_not_supported": "Hash algorithm '{0}' is not supported by provider '{1}'.",
|
||||
"crypto.provider.verify_not_supported": "Verification algorithm '{0}' is not supported by provider '{1}'.",
|
||||
"crypto.provider.key_not_registered": "Signing key '{0}' is not registered with provider '{1}'.",
|
||||
"crypto.provider.key_algorithm_mismatch": "Signing key '{0}' is registered for algorithm '{1}', not '{2}'.",
|
||||
"crypto.provider.ec_keys_only": "Provider '{0}' only accepts EC signing keys.",
|
||||
"crypto.provider.no_password_hashing": "Provider '{0}' does not expose password hashing capabilities.",
|
||||
"crypto.provider.no_content_hashing": "Provider '{0}' does not support content hashing.",
|
||||
"crypto.provider.no_ephemeral_verification": "Provider '{0}' does not support ephemeral verification.",
|
||||
"crypto.provider.not_signing_capable": "Signing algorithm '{0}' is not supported by provider '{1}'.",
|
||||
"crypto.provider.es256_only": "Only ES256 signing keys are currently supported by provider '{0}'.",
|
||||
"crypto.provider.p256_required": "ES256 signing keys must use the NIST P-256 curve.",
|
||||
"crypto.provider.curve_mismatch": "Signing key curve mismatch. Expected curve '{0}' for algorithm '{1}'.",
|
||||
|
||||
"crypto.registry.empty": "At least one crypto provider must be registered.",
|
||||
"crypto.registry.algorithm_required": "Algorithm identifier is required.",
|
||||
"crypto.registry.signing_not_supported": "Signing algorithm '{0}' is not supported by any registered provider.",
|
||||
"crypto.registry.hash_not_supported": "Hash algorithm '{0}' is not supported by any registered provider.",
|
||||
"crypto.registry.verify_not_supported": "Verification algorithm '{0}' is not supported by any registered provider.",
|
||||
"crypto.registry.active_profile_required": "Active profile is required.",
|
||||
"crypto.registry.profile_not_found": "Profile ID '{0}' is not found in the registry.",
|
||||
"crypto.registry.profile_id_required": "Profile ID cannot be null or empty.",
|
||||
|
||||
"crypto.key.algorithm_required": "Algorithm identifier is required.",
|
||||
"crypto.key.private_scalar_required": "Private key parameters must include the scalar component.",
|
||||
"crypto.key.verification_only": "This constructor is only for verification-only keys. Set verificationOnly to true.",
|
||||
"crypto.key.public_xy_required": "Public key parameters must include X and Y coordinates.",
|
||||
"crypto.key.private_material_required": "Private key material must be provided.",
|
||||
|
||||
"crypto.hash.algorithm_unsupported": "Unsupported hash algorithm '{0}'.",
|
||||
"crypto.hash.purpose_required": "Purpose cannot be null or empty.",
|
||||
"crypto.hmac.algorithm_unknown": "Unknown HMAC algorithm '{0}'.",
|
||||
"crypto.hmac.algorithm_unsupported": "Unsupported HMAC algorithm '{0}'.",
|
||||
|
||||
"crypto.ecdsa.algorithm_unsupported": "Unsupported ECDSA signing algorithm '{0}'.",
|
||||
"crypto.ecdsa.curve_unsupported": "Unsupported ECDSA curve mapping for algorithm '{0}'.",
|
||||
|
||||
"crypto.digest.required": "Digest is required.",
|
||||
"crypto.digest.prefix_required": "{0} must start with '{1}'.",
|
||||
"crypto.digest.algorithm_unsupported": "Unsupported digest algorithm in '{0}'. Only sha256 is supported.",
|
||||
"crypto.digest.hex_length": "{0} must contain {1} hexadecimal characters.",
|
||||
|
||||
"crypto.password.memory_cost_invalid": "Password hashing memory cost must be greater than zero.",
|
||||
"crypto.password.iterations_invalid": "Password hashing iteration count must be greater than zero.",
|
||||
"crypto.password.parallelism_invalid": "Password hashing parallelism must be greater than zero.",
|
||||
"crypto.password.algorithm_mismatch": "{0} only supports the {1} algorithm.",
|
||||
"crypto.password.pbkdf2_iterations": "PBKDF2 requires a positive iteration count.",
|
||||
|
||||
"crypto.gost.not_der": "Signature is not DER encoded.",
|
||||
"crypto.gost.invalid_der": "Invalid DER structure for GOST signature.",
|
||||
"crypto.gost.raw_length": "Raw GOST signature must be {0} bytes.",
|
||||
"crypto.gost.neither_format": "Signature payload is neither DER nor raw GOST format.",
|
||||
"crypto.gost.coordinate_overflow": "Coordinate exceeds expected length.",
|
||||
|
||||
"crypto.profile.unknown_purpose": "Unknown hash purpose '{0}' in profile '{1}'.",
|
||||
"crypto.compliance.at_least_one_signing": "At least one signing algorithm must be supplied.",
|
||||
"crypto.compliance.at_least_one_hash": "At least one hash algorithm must be supplied.",
|
||||
|
||||
"crypto.ed25519.private_key_size": "Ed25519 private key must be 32 or 64 bytes.",
|
||||
"crypto.ed25519.public_key_size": "Ed25519 public key must be 32 bytes.",
|
||||
"crypto.ed25519.no_hashing": "BouncyCastle Ed25519 provider does not expose hashing capabilities.",
|
||||
"crypto.ed25519.raw_key_required": "Provider '{0}' requires raw Ed25519 private key material.",
|
||||
|
||||
"crypto.sm.no_password_hashing": "SM provider does not expose password hashing.",
|
||||
"crypto.sm.raw_key_required": "SM2 provider requires raw private key bytes (PKCS#8 DER).",
|
||||
"crypto.sm.unsupported_format": "Unsupported SM2 key format. Expect PEM or PKCS#8 DER.",
|
||||
"crypto.sm.disabled": "Provider '{0}' is disabled. Set {1}=1 (or disable RequireEnvironmentGate) to enable software SM2/SM3.",
|
||||
|
||||
"crypto.di.registry_empty": "Crypto provider registry cannot be empty. Configure at least one provider for RU deployments.",
|
||||
"crypto.di.ru_openssl_required": "Linux RU baseline requires provider 'ru.openssl.gost' (set STELLAOPS_CRYPTO_ENABLE_RU_OPENSSL=0 to override explicitly).",
|
||||
"crypto.di.ru_provider_required": "RU Linux baseline is misconfigured: both ru.openssl.gost and ru.pkcs11 are disabled via environment. Enable at least one provider.",
|
||||
"crypto.di.no_plugins_loaded": "No crypto providers were loaded. Check plugin configuration and manifest.",
|
||||
|
||||
"crypto.kms.rotation_via_policy": "{0} rotation must be orchestrated via {1} policies or schedules.",
|
||||
"crypto.kms.revocation_via_policy": "{0} revocation must be managed through {1} APIs or console.",
|
||||
"crypto.kms.public_key_missing_x": "Public key missing X coordinate.",
|
||||
"crypto.kms.public_key_missing_y": "Public key missing Y coordinate.",
|
||||
"crypto.kms.hash_failed": "Failed to hash payload with SHA-256.",
|
||||
"crypto.kms.key_not_found": "Key '{0}' does not exist.",
|
||||
"crypto.kms.key_revoked": "Key '{0}' has been revoked and cannot be rotated.",
|
||||
"crypto.kms.key_revoked_signing": "Key '{0}' is revoked and cannot be used for signing.",
|
||||
"crypto.kms.key_version_not_found": "Key version '{0}' does not exist for key '{1}'.",
|
||||
"crypto.kms.key_no_active_version": "Key '{0}' does not have an active version.",
|
||||
"crypto.kms.key_version_inactive": "Key version '{0}' is not active. Current state: {1}",
|
||||
"crypto.kms.key_no_public_material": "Key '{0}' version '{1}' does not have public key material.",
|
||||
"crypto.kms.algorithm_unsupported": "Algorithm '{0}' is not supported by the file KMS driver.",
|
||||
"crypto.kms.curve_unsupported": "Curve '{0}' is not supported.",
|
||||
"crypto.kms.metadata_failed": "Failed to create or load key metadata.",
|
||||
"crypto.kms.algorithm_mismatch": "Algorithm mismatch. Expected '{0}', received '{1}'.",
|
||||
"crypto.kms.version_exists": "Key version '{0}' already exists for key '{1}'.",
|
||||
"crypto.kms.material_not_found": "Key material for version '{0}' was not found.",
|
||||
"crypto.kms.envelope_deserialize_failed": "Key envelope could not be deserialized.",
|
||||
"crypto.kms.payload_deserialize_failed": "Key payload could not be deserialized.",
|
||||
"crypto.kms.pem_empty": "Public key PEM cannot be empty.",
|
||||
"crypto.kms.no_primary_version": "Crypto key '{0}' does not have an active primary version.",
|
||||
"crypto.kms.es256_only": "Provider '{0}' only supports ES256 signing keys.",
|
||||
"crypto.kms.version_metadata_required": "KMS signing keys must include metadata entry 'kms.version'.",
|
||||
"crypto.kms.missing_public_key": "KMS signing key is missing public key material.",
|
||||
|
||||
"crypto.fido2.curve_unsupported": "Unsupported FIDO2 curve OID '{0}'.",
|
||||
"crypto.fido2.rotation_required": "FIDO2 credential rotation requires new enrolment.",
|
||||
"crypto.fido2.revocation_relying_party": "FIDO2 credential revocation must be managed in the relying party.",
|
||||
"crypto.fido2.missing_x": "FIDO2 public key missing X coordinate.",
|
||||
"crypto.fido2.missing_y": "FIDO2 public key missing Y coordinate.",
|
||||
"crypto.fido2.authenticator_required": "IFido2Authenticator must be registered to use FIDO2 KMS.",
|
||||
|
||||
"crypto.pkcs11.rotation_hsm": "PKCS#11 rotation requires HSM administrative tooling.",
|
||||
"crypto.pkcs11.revocation_hsm": "PKCS#11 revocation must be handled by HSM policies.",
|
||||
"crypto.pkcs11.slot_not_found": "Could not resolve PKCS#11 slot.",
|
||||
"crypto.pkcs11.private_key_not_found": "PKCS#11 private key not found.",
|
||||
"crypto.pkcs11.public_key_not_found": "PKCS#11 public key not found.",
|
||||
"crypto.pkcs11.missing_ec_point": "Public key missing EC point.",
|
||||
"crypto.pkcs11.missing_ec_params": "Public key missing EC parameters.",
|
||||
"crypto.pkcs11.unsupported_point_format": "Unsupported EC point format.",
|
||||
"crypto.pkcs11.curve_oid_unsupported": "Unsupported EC curve OID '{0}'.",
|
||||
"crypto.pkcs11.curve_unsupported": "Unsupported EC curve '{0}'.",
|
||||
|
||||
"common.provcache.sbom_hash_required": "SBOM hash cannot be null or empty.",
|
||||
"common.provcache.fetch_url_absolute": "Lazy fetch base URL must be absolute.",
|
||||
"common.provcache.fetch_url_no_userinfo": "Lazy fetch base URL must not include user info.",
|
||||
"common.provcache.fetch_url_host_required": "Lazy fetch base URL must include a host.",
|
||||
"common.provcache.fetch_url_scheme_invalid": "Lazy fetch base URL scheme '{0}' is not allowed.",
|
||||
"common.provcache.fetch_url_host_invalid": "Lazy fetch base URL host '{0}' is not allowlisted.",
|
||||
"common.provcache.no_chunks_provided": "No chunks provided.",
|
||||
"common.provcache.bundle_deserialize_failed": "Failed to deserialize bundle.",
|
||||
"common.provcache.signer_not_configured": "Signer is not configured.",
|
||||
"common.provcache.signing_requested_no_signer": "Signing requested but no signer is configured.",
|
||||
"common.provcache.cache_entry_not_found": "Cache entry not found for VeriKey: {0}",
|
||||
"common.provcache.chunk_manifest_not_found": "Chunk manifest not found for proof root: {0}",
|
||||
"common.provcache.http_timeout_invalid": "Lazy fetch HTTP timeout must be a positive, non-infinite duration.",
|
||||
"common.provcache.http_base_address_required": "HttpChunkFetcher requires a BaseAddress on the HTTP client.",
|
||||
"common.provcache.merkle_root_mismatch": "Merkle root mismatch. Expected: {0}, Computed: {1}",
|
||||
"common.provcache.chunk_verification_failed": "Chunk {0} verification failed. Expected hash: {1}",
|
||||
"common.provcache.artifact_reference_required": "Artifact reference is required.",
|
||||
"common.provcache.artifact_digest_required": "Artifact digest is required.",
|
||||
"common.provcache.decision_digest_required": "DecisionDigest is required.",
|
||||
"common.provcache.decision_digest_verikey_required": "DecisionDigest.VeriKey is required.",
|
||||
"common.provcache.digest_empty": "Digest cannot be empty.",
|
||||
"common.provcache.time_window_required": "Time window cannot be null or empty.",
|
||||
"common.provcache.vex_hash_required": "VEX hash set hash cannot be null or empty.",
|
||||
"common.provcache.policy_hash_required": "Policy hash cannot be null or empty.",
|
||||
"common.provcache.source_hash_required": "Source hash cannot be null or empty.",
|
||||
"common.provcache.signer_set_hash_required": "Signer set hash cannot be null or empty.",
|
||||
|
||||
"common.evidence.toolchain_required": "ToolChain must be set before building index.",
|
||||
"common.evidence.deserialization_failed": "Failed to deserialize evidence index.",
|
||||
"common.evidence.verdict_deserialization_failed": "Failed to deserialize verdict.",
|
||||
"common.evidence.inputs_json_required": "JSON cannot be null or empty.",
|
||||
"common.evidence.inputs_deserialization_failed": "Failed to deserialize pinned scoring inputs.",
|
||||
"common.evidence.bundle_alert_id_required": "AlertId is required",
|
||||
"common.evidence.bundle_artifact_id_required": "ArtifactId is required",
|
||||
"common.evidence.pdf_export_requires_config": "PDF export requires additional configuration",
|
||||
"common.evidence.invalid_uri_format": "Invalid evidence URI format: {0}. Expected stella://type/path",
|
||||
"common.evidence.invalid_uri_missing_path": "Invalid evidence URI format: {0}. Missing path.",
|
||||
"common.evidence.null_resolver_cannot_resolve": "NullTypeResolver cannot resolve evidence type: {0}",
|
||||
"common.evidence.schema_resource_not_found": "Schema resource not found: {0}",
|
||||
"common.evidence.schema_resource_not_available": "Schema resource not available: {0}",
|
||||
"common.evidence.provenance_deserialize_failed": "Failed to deserialize provenance for evidence {0}",
|
||||
"common.evidence.bundle_deserialize_failed": "Failed to deserialize verdict bundle",
|
||||
"common.evidence.delta_verdict_deserialize_failed": "Failed to deserialize delta verdict",
|
||||
|
||||
"common.canonicalization.value_empty_after_trim": "Value must not be empty after trimming.",
|
||||
"common.canonicalization.deserialize_failed": "Failed to deserialize {0}",
|
||||
"common.canonicalization.datetime_value_null": "DateTimeOffset value is null.",
|
||||
"common.canonicalization.dict_key_null": "Dictionary key cannot be null.",
|
||||
|
||||
"common.audit.replay_token_value_empty": "Token value cannot be empty.",
|
||||
"common.audit.replay_token_empty": "Token cannot be empty.",
|
||||
"common.audit.replay_token_format_invalid": "Invalid replay token format: {0}",
|
||||
"common.audit.replay_token_version_invalid": "Invalid replay token version: {0}",
|
||||
"common.audit.replay_token_expiration_invalid": "Invalid expiration timestamp in replay token: {0}",
|
||||
"common.audit.replay_token_duplicate_context_key": "AdditionalContext contains duplicate key after normalization: '{0}'.",
|
||||
|
||||
"common.artifact.uri_format_invalid": "Invalid URI format: {0}",
|
||||
"common.artifact.uri_scheme_not_supported": "URI scheme not supported: {0}",
|
||||
"common.artifact.file_not_accessible": "File not accessible: {0}",
|
||||
"common.artifact.file_too_large": "File too large: {0} bytes exceeds 100MB limit",
|
||||
"common.artifact.uri_not_accessible": "URI not accessible: {0} returned {1}",
|
||||
"common.artifact.content_too_large": "Content too large: {0} bytes exceeds 100MB limit",
|
||||
"common.artifact.fetch_failed": "Failed to fetch from {0}: {1}",
|
||||
|
||||
"common.delta_verdict.artifact_ref_required": "Artifact reference is required.",
|
||||
"common.delta_verdict.unsupported_signing_algorithm": "Unsupported signing algorithm: {0}",
|
||||
"common.delta_verdict.hmac_secret_required": "HMAC signing requires a base64 secret.",
|
||||
|
||||
"common.eventing.no_entry_assembly": "No entry assembly found",
|
||||
|
||||
"auth.persistence.deserialize_inputs_failed": "Failed to deserialize inputs",
|
||||
"auth.persistence.deserialize_result_failed": "Failed to deserialize result",
|
||||
"auth.persistence.revocation_sequence_mismatch": "Revocation export sequence mismatch. Expected {0}, current {1}.",
|
||||
"auth.persistence.revocation_update_rejected": "Revocation export state update rejected. Expected sequence {0}."
|
||||
"_meta": {
|
||||
"locale": "ru-RU",
|
||||
"namespace": "common",
|
||||
"version": "1.1"
|
||||
},
|
||||
"common.error.generic": "Что-то пошло не так.",
|
||||
"common.error.not_found": "Запрошенный ресурс не найден.",
|
||||
"common.error.entity_not_found": "{0} '{1}' не найден.",
|
||||
"common.error.unauthorized": "У вас нет разрешения на выполнение этого действия.",
|
||||
"common.error.forbidden": "Доступ запрещен.",
|
||||
"common.error.bad_request": "Запрос недействителен.",
|
||||
"common.error.conflict": "Произошел конфликт. Возможно, ресурс был изменен.",
|
||||
"common.error.timeout": "Тайм-аут запроса истек через {0} секунд.",
|
||||
"common.error.server_error": "Произошла внутренняя ошибка сервера. Пожалуйста, повторите попытку позже.",
|
||||
"common.error.service_unavailable": "Услуга временно недоступна.",
|
||||
"common.error.too_many_requests": "Слишком много запросов. Пожалуйста, подождите и повторите попытку.",
|
||||
"common.error.network": "Ошибка сети. Проверьте свое соединение.",
|
||||
"common.error.body_required": "Требуется тело запроса.",
|
||||
"common.error.deserialization_failed": "Не удалось десериализовать {0}.",
|
||||
"common.error.not_supported": "{0} не поддерживается.",
|
||||
"common.error.already_exists": "{0} '{1}' уже существует.",
|
||||
"common.error.revoked": "{0} '{1}' отозван и не может быть использован.",
|
||||
"common.error.state_invalid": "{0} '{1}' не находится в ожидаемом состоянии. Текущее состояние: {2}",
|
||||
"common.validation.required": "Требуется {0}.",
|
||||
"common.validation.invalid": "{0} недействителен.",
|
||||
"common.validation.too_long": "{0} превышает максимальную длину символов {1}.",
|
||||
"common.validation.too_short": "{0} должен содержать не менее {1} символов.",
|
||||
"common.validation.out_of_range": "{0} должен находиться между {1} и {2}.",
|
||||
"common.validation.invalid_format": "{0} имеет неверный формат.",
|
||||
"common.validation.duplicate": "{0} уже существует.",
|
||||
"common.validation.empty_not_allowed": "{0} не должен быть пустым.",
|
||||
"common.validation.empty_after_trim": "{0} не должен быть пустым после обрезки.",
|
||||
"common.validation.greater_than_zero": "{0} должно быть больше нуля.",
|
||||
"common.validation.non_negative": "{0} не должен быть отрицательным.",
|
||||
"common.validation.at_least_one": "Должен быть настроен хотя бы один {0}.",
|
||||
"common.validation.at_least_n": "{0} должен содержать как минимум записи {1}.",
|
||||
"common.validation.null_or_empty": "{0} не может быть нулевым или пустым.",
|
||||
"common.validation.absolute_uri": "{0} должен быть абсолютным URI.",
|
||||
"common.validation.invalid_regex": "{0} '{1}' не является допустимым регулярным выражением.",
|
||||
"common.validation.unknown_value": "{0} '{1}' не распознан. Допустимые значения: {2}.",
|
||||
"common.validation.max_exceeded": "{0} должен содержать не более символов {1}.",
|
||||
"common.actions.save": "Сохранить",
|
||||
"common.actions.cancel": "Отмена",
|
||||
"common.actions.delete": "Удалить",
|
||||
"common.actions.confirm": "Подтвердить",
|
||||
"common.actions.submit": "Отправить",
|
||||
"common.actions.close": "Закрыть",
|
||||
"common.actions.retry": "Повторить",
|
||||
"common.actions.expand": "Развернуть",
|
||||
"common.actions.collapse": "Свернуть",
|
||||
"common.actions.show_more": "Показать больше",
|
||||
"common.actions.show_less": "Показать меньше",
|
||||
"common.status.healthy": "Исправно",
|
||||
"common.status.degraded": "Ухудшено",
|
||||
"common.status.unavailable": "Недоступно",
|
||||
"common.status.unknown": "Неизвестно",
|
||||
"common.status.active": "Активно",
|
||||
"common.status.inactive": "Неактивно",
|
||||
"common.status.pending": "В ожидании",
|
||||
"common.status.running": "Выполняется",
|
||||
"common.status.completed": "Завершено",
|
||||
"common.status.failed": "Сбой",
|
||||
"common.status.canceled": "Отменено",
|
||||
"common.status.blocked": "Заблокировано",
|
||||
"common.severity.critical": "Критический",
|
||||
"common.severity.high": "Высокий",
|
||||
"common.severity.medium": "Средний",
|
||||
"common.severity.low": "Низкий",
|
||||
"common.severity.info": "Информация",
|
||||
"common.severity.none": "Нет",
|
||||
"common.time.seconds_ago": "{0} секунды назад",
|
||||
"common.time.minutes_ago": "{0} минут назад",
|
||||
"common.time.hours_ago": "{0} часов назад",
|
||||
"common.time.days_ago": "{0} дней назад",
|
||||
"common.time.just_now": "Прямо сейчас",
|
||||
"common.ui.loading": "Загрузка...",
|
||||
"common.ui.saving": "Сохранение...",
|
||||
"common.ui.deleting": "Удаление...",
|
||||
"common.ui.submitting": "Отправка...",
|
||||
"common.ui.no_results": "Результаты не найдены.",
|
||||
"common.ui.offline": "Вы не в сети.",
|
||||
"common.ui.reconnecting": "Повторное подключение...",
|
||||
"common.ui.back_online": "Снова в сети.",
|
||||
"auth.dpop.proof_lifetime_invalid": "Срок действия доказательства DPoP должен быть больше нуля.",
|
||||
"auth.dpop.clock_skew_invalid": "Допустимый сдвиг часов DPoP должен составлять от 0 секунд до 5 минут.",
|
||||
"auth.dpop.replay_window_invalid": "Окно воспроизведения DPoP должно быть больше или равно нулю.",
|
||||
"auth.dpop.algorithm_required": "Должен быть настроен хотя бы один разрешенный алгоритм DPoP.",
|
||||
"auth.dpop.algorithm_empty_after_normalization": "Разрешенные алгоритмы DPoP не могут быть пустыми после нормализации.",
|
||||
"auth.dpop.options_required": "Должны быть предоставлены параметры DPoP.",
|
||||
"auth.dpop.nonce_ttl_invalid": "Nonce TTL должен быть больше нуля.",
|
||||
"auth.dpop.nonce_max_issuance_invalid": "Максимальная выдача в минуту должна быть не менее 1.",
|
||||
"auth.dpop.nonce_store_required": "Необходимо указать Dpop.Nonce.Store.",
|
||||
"auth.dpop.nonce_store_invalid": "Dpop.Nonce.Store должен быть либо 'memory', либо 'redis'.",
|
||||
"auth.dpop.nonce_redis_required": "Dpop.Nonce.RedisConnectionString необходимо указать при использовании хранилища 'redis'.",
|
||||
"auth.dpop.nonce_audiences_required": "Dpop.Nonce.RequiredAudiences должен включать хотя бы одну аудиторию.",
|
||||
"auth.dpop.token_three_segments": "Токен должен содержать три сегмента.",
|
||||
"auth.dpop.segment_out_of_range": "Индекс сегмента вне диапазона.",
|
||||
"auth.dpop.header_decode_failed": "Невозможно декодировать заголовок.",
|
||||
"auth.dpop.header_missing_typ": "В доказательстве DPoP отсутствует заголовок typ=dpop+jwt.",
|
||||
"auth.dpop.header_missing_alg": "В доказательстве DPoP отсутствует заголовок alg.",
|
||||
"auth.dpop.header_unsupported_alg": "Неподдерживаемый алгоритм DPoP.",
|
||||
"auth.dpop.header_missing_jwk": "В доказательстве DPoP отсутствует заголовок jwk.",
|
||||
"auth.dpop.header_invalid_jwk": "Недопустимый заголовок jwk для проверки DPoP.",
|
||||
"auth.dpop.payload_decode_failed": "Невозможно декодировать полезную нагрузку.",
|
||||
"auth.dpop.payload_missing_htm": "Доказательство DPoP отсутствует в претензии HTM.",
|
||||
"auth.dpop.payload_htm_mismatch": "DPoP htm не соответствует методу запроса.",
|
||||
"auth.dpop.payload_missing_htu": "Доказательство DPoP об отсутствии претензии HTU.",
|
||||
"auth.dpop.payload_htu_mismatch": "DPoP htu не соответствует URI запроса.",
|
||||
"auth.dpop.payload_missing_iat": "Доказательство DPoP отсутствует в претензии.",
|
||||
"auth.dpop.payload_missing_jti": "DPoP доказывает отсутствие претензии jti.",
|
||||
"auth.dpop.payload_iat_invalid": "Подтверждение DPoP. Заявка не является действительным номером.",
|
||||
"auth.dpop.nonce_missing": "DPoP-доказательство отсутствия заявления nonce.",
|
||||
"auth.dpop.nonce_mismatch": "Несоответствие nonce DPoP.",
|
||||
"auth.dpop.proof_future": "Доказательство DPoP будет выдано в будущем.",
|
||||
"auth.dpop.proof_expired": "Срок действия доказательства DPoP истек.",
|
||||
"auth.dpop.signature_failed": "Проверка подписи DPoP не удалась.",
|
||||
"auth.dpop.replay_detected": "Доказательство DPoP уже использовано.",
|
||||
"config.authority.schema_version_required": "Для конфигурации центра требуется положительная версия схемы.",
|
||||
"config.authority.issuer_required": "Для настройки центра требуется URL-адрес эмитента.",
|
||||
"config.authority.issuer_absolute": "Эмитент полномочий должен быть абсолютным URI.",
|
||||
"config.authority.issuer_https": "Эмитент полномочий должен использовать HTTPS, если только он не работает на интерфейсе обратной связи.",
|
||||
"config.authority.duplicate_tenant": "Конфигурация authority содержит повторяющийся идентификатор тенанта '{0}'.",
|
||||
"config.authority.property_greater_than_zero": "Для конфигурации полномочий требуется, чтобы значение {0} было больше нуля.",
|
||||
"config.authority.property_max": "Для конфигурации полномочий требуется, чтобы {0} был меньше или равен {1}.",
|
||||
"config.authority.remote_inference_required": "Для конфигурации органа управления требуется как минимум один консультативный профиль удаленного вывода AI, если удаленный вывод включен.",
|
||||
"config.tenant.id_required": "Каждому тенанту требуется идентификатор (slug).",
|
||||
"config.tenant.id_format": "Идентификатор тенанта '{0}' должен содержать только строчные буквы, цифры и дефис.",
|
||||
"config.tenant.project_format": "Тенант '{0}' определяет проект '{1}', который должен содержать только строчные буквы, цифры и дефис.",
|
||||
"config.tenant.role_missing_config": "Тенант '{0}' определяет роль '{1}' без конфигурации.",
|
||||
"config.tenant.role_scope_required": "Роль '{1}' тенанта '{0}' должна указывать как минимум одну область.",
|
||||
"config.tenant.role_unknown_scope": "Роль '{1}' тенанта '{0}' ссылается на неизвестную область '{2}'.",
|
||||
"config.tenant.role_unsupported_attribute": "Роль '{1}' тенанта '{0}' определяет неподдерживаемый атрибут '{2}'. Допустимые атрибуты: env, owner, business_tier.",
|
||||
"config.tenant.delegation_max_tokens": "Для тенанта '{0}' значение delegation.maxActiveTokens должно быть больше нуля, если оно задано.",
|
||||
"config.tenant.remote_inference_disabled": "Согласие на удаленный вывод для тенанта не может быть предоставлено, если удаленный вывод отключен.",
|
||||
"config.tenant.remote_inference_consent_version_length": "Поле consentVersion удаленного вывода для тенанта должно содержать не более {0} символов.",
|
||||
"config.tenant.remote_inference_consented_by_length": "Поле consentedBy удаленного вывода для тенанта должно содержать не более {0} символов.",
|
||||
"config.tenant.remote_inference_consent_version_required": "Согласие на удаленный вывод для тенанта требует consentVersion, если consentGranted=true.",
|
||||
"config.tenant.remote_inference_consented_at_required": "Согласие на удаленный вывод для тенанта требует consentedAt, если consentGranted=true.",
|
||||
"config.service_account.id_required": "Для начальных значений учетной записи службы делегирования требуется идентификатор accountId.",
|
||||
"config.service_account.id_format": "Идентификатор сервисного аккаунта '{0}' должен содержать строчные буквы, цифры, двоеточие, подчеркивание или дефис.",
|
||||
"config.service_account.tenant_required": "Служебная учетная запись '{0}' требует назначения тенанта.",
|
||||
"config.service_account.tenant_unknown": "Служебная учетная запись '{0}' ссылается на неизвестного тенанта '{1}'.",
|
||||
"config.service_account.scope_required": "Учетная запись службы '{0}' должна указать хотя бы одну разрешенную область.",
|
||||
"config.service_account.unsupported_attribute": "Учетная запись службы '{0}' определяет неподдерживаемый атрибут '{1}'. Разрешенные атрибуты: env, Owner, business_tier.",
|
||||
"config.plugin.assembly_required": "Плагин центра сертификации '{0}' должен определить либо имя сборки, либо путь сборки.",
|
||||
"config.plugin.config_file_required": "Плагин полномочий '{0}' должен определить файл конфигурации.",
|
||||
"config.plugin.config_file_missing": "Плагин полномочий '{0}' указывает файл конфигурации '{1}', который не существует.",
|
||||
"config.plugin.unknown_capability": "Плагин полномочий '{0}' объявляет неизвестную возможность '{1}'. Допустимые значения: пароль, mfa, clientProvisioning, bootstrap.",
|
||||
"config.plugin.descriptor_null": "Дескриптор плагина полномочий '{0}' имеет значение null.",
|
||||
"config.delegation.duplicate_account": "Конфигурация делегирования содержит повторяющийся идентификатор сервисного аккаунта '{0}'.",
|
||||
"config.delegation.quota_max_tokens": "Для конфигурации делегирования полномочий требуется, чтобы значение {0}.MaxActiveTokens было больше нуля.",
|
||||
"config.mtls.rotation_grace_negative": "Mtls.RotationGrace не должен быть отрицательным.",
|
||||
"config.mtls.audiences_required": "Если включен Mtls.EnforceForAudiences, он должен включать хотя бы одну аудиторию.",
|
||||
"config.mtls.ca_empty": "Записи Mtls.AllowedCertificateAuthorities не должны быть пустыми.",
|
||||
"config.mtls.san_types_required": "Mtls.AllowedSanTypes должен включать хотя бы одну запись, если он включен.",
|
||||
"config.mtls.subject_patterns_empty": "Записи Mtls.AllowedSubjectPatterns не должны быть пустыми.",
|
||||
"config.mtls.subject_pattern_invalid": "Запись Mtls.AllowedSubjectPatterns '{0}' не является допустимым регулярным выражением.",
|
||||
"config.signing.key_id_required": "Для конфигурации подписи центра требуется signing.activeKeyId.",
|
||||
"config.signing.key_path_required": "Для конфигурации подписи центра требуется signing.keyPath.",
|
||||
"config.signing.jwks_cache_range": "Конфигурация подписи центра требует, чтобы signing.jwksCacheLifetime находился в диапазоне от 00:00:01 до 01:00:00.",
|
||||
"config.signing.additional_key_id_required": "Для дополнительных ключей подписи требуется keyId.",
|
||||
"config.signing.additional_key_path_required": "Для подписания ключа '{0}' требуется путь.",
|
||||
"config.bootstrap.api_key_required": "Для конфигурации начальной загрузки центра требуется ключ API, если он включен.",
|
||||
"config.bootstrap.idp_required": "Для конфигурации начальной загрузки центра требуется имя поставщика удостоверений по умолчанию, если оно включено.",
|
||||
"config.rate_limit.permit_limit": "Ограничение скорости полномочий '{0}' требует, чтобы значение PermitLimit было больше нуля.",
|
||||
"config.rate_limit.queue_limit": "Ограничение скорости полномочий '{0}'queueLimit не может быть отрицательным.",
|
||||
"config.rate_limit.window": "Окно ограничения скорости полномочий '{0}' должно быть больше нуля и не превышать одного часа.",
|
||||
"config.storage.connection_required": "Для хранения полномочий требуется строка подключения.",
|
||||
"config.storage.timeout_invalid": "Тайм-аут команды хранения полномочий должен быть больше нуля.",
|
||||
"config.ack_token.payload_type_required": "notifications.ackTokens.payloadType должен быть указан, если включены токены подтверждения.",
|
||||
"config.ack_token.default_lifetime_invalid": "notifications.ackTokens.defaultLifetime должно быть больше нуля.",
|
||||
"config.ack_token.max_lifetime_invalid": "notifications.ackTokens.maxLifetime должен быть больше нуля и больше или равен значению defaultLifetime.",
|
||||
"config.ack_token.key_id_required": "notifications.ackTokens.activeKeyId должен быть указан, если включены токены подтверждения.",
|
||||
"config.ack_token.key_path_required": "notifications.ackTokens.keyPath должен быть указан, если включены токены подтверждения.",
|
||||
"config.ack_token.jwks_cache_range": "notifications.ackTokens.jwksCacheLifetime должно находиться в диапазоне от 00:00:01 до 01:00:00.",
|
||||
"config.exceptions.null_template": "Записи шаблона маршрутизации исключений центра не должны иметь значение NULL.",
|
||||
"config.exceptions.duplicate_template": "Шаблон маршрутизации исключений центра '{0}' настроен более одного раза.",
|
||||
"config.exceptions.template_id_required": "Для шаблонов маршрутизации исключений центра требуется идентификатор.",
|
||||
"config.exceptions.template_route_required": "Для шаблона маршрутизации исключений центра '{0}' требуется AuthorityRouteId.",
|
||||
"config.sealed_mode.evidence_path_required": "AirGap.SealedMode.EvidencePath должен быть указан, если принудительное применение включено.",
|
||||
"config.sealed_mode.max_age_range": "AirGap.SealedMode.MaxEvidenceAge должно находиться в диапазоне от 00:00:01 до 7.00:00:00.",
|
||||
"config.sealed_mode.cache_lifetime_range": "AirGap.SealedMode.CacheLifetime должен быть больше нуля и меньше или равен AirGap.SealedMode.MaxEvidenceAge.",
|
||||
"config.webhook.hosts_required": "notifications.webhooks.allowedHosts должен включать хотя бы один хост, когда он включен.",
|
||||
"config.escalation.scope_required": "Необходимо указать notifications.escalation.scope.",
|
||||
"config.anti_forgery.audience_required": "vulnerabilityExplorer.workflow.antiForgery.audience должен быть указан, если включены токены защиты от подделки.",
|
||||
"config.anti_forgery.default_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.defaultLifetime должно быть больше нуля.",
|
||||
"config.anti_forgery.max_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.maxLifetime должен быть больше нуля и больше или равен значению defaultLifetime.",
|
||||
"config.anti_forgery.max_context_entries": "vulnerabilityExplorer.workflow.antiForgery.maxContextEntries не должен быть отрицательным.",
|
||||
"config.anti_forgery.max_context_value_length": "vulnerabilityExplorer.workflow.antiForgery.maxContextValueLength должно быть больше нуля.",
|
||||
"config.attachment.default_lifetime_invalid": "vulnerabilityExplorer.attachments.defaultLifetime должно быть больше нуля, если включены токены вложений.",
|
||||
"config.attachment.max_lifetime_invalid": "vulnerabilityExplorer.attachments.maxLifetime должен быть больше нуля и больше или равен значению defaultLifetime.",
|
||||
"config.attachment.payload_type_required": "vulnerabilityExplorer.attachments.payloadType должен быть указан, если включены токены вложений.",
|
||||
"config.attachment.max_metadata_entries": "vulnerabilityExplorer.attachments.maxMetadataEntries не должен быть отрицательным.",
|
||||
"config.attachment.max_metadata_value_length": "vulnerabilityExplorer.attachments.maxMetadataValueLength должно быть больше нуля.",
|
||||
"config.api_lifecycle.sunset_after_deprecation": "Дата прекращения устаревшей аутентификации должна наступать после даты прекращения поддержки.",
|
||||
"config.api_lifecycle.docs_url_format": "URL-адрес устаревшей документации по аутентификации должен быть абсолютным URL-адресом HTTP или HTTPS.",
|
||||
"crypto.provider.algorithm_not_supported": "Алгоритм подписи '{0}' не поддерживается провайдером '{1}'.",
|
||||
"crypto.provider.hash_not_supported": "Алгоритм хеширования '{0}' не поддерживается провайдером '{1}'.",
|
||||
"crypto.provider.verify_not_supported": "Алгоритм проверки '{0}' не поддерживается провайдером '{1}'.",
|
||||
"crypto.provider.key_not_registered": "Ключ подписи '{0}' не зарегистрирован у провайдера '{1}'.",
|
||||
"crypto.provider.key_algorithm_mismatch": "Ключ подписи '{0}' зарегистрирован для алгоритма '{1}', а не '{2}'.",
|
||||
"crypto.provider.ec_keys_only": "Поставщик '{0}' принимает только ключи подписи EC.",
|
||||
"crypto.provider.no_password_hashing": "Поставщик '{0}' не предоставляет возможности хеширования паролей.",
|
||||
"crypto.provider.no_content_hashing": "Провайдер '{0}' не поддерживает хеширование контента.",
|
||||
"crypto.provider.no_ephemeral_verification": "Провайдер '{0}' не поддерживает эфемерную проверку.",
|
||||
"crypto.provider.not_signing_capable": "Алгоритм подписи '{0}' не поддерживается провайдером '{1}'.",
|
||||
"crypto.provider.es256_only": "Поставщик '{0}' в настоящее время поддерживает только ключи подписи ES256.",
|
||||
"crypto.provider.p256_required": "Ключи подписи ES256 должны использовать кривую NIST P-256.",
|
||||
"crypto.provider.curve_mismatch": "Несоответствие кривой ключа подписи. Ожидаемая кривая '{0}' для алгоритма '{1}'.",
|
||||
"crypto.registry.empty": "Должен быть зарегистрирован хотя бы один криптопровайдер.",
|
||||
"crypto.registry.algorithm_required": "Требуется идентификатор алгоритма.",
|
||||
"crypto.registry.signing_not_supported": "Алгоритм подписи '{0}' не поддерживается ни одним зарегистрированным поставщиком.",
|
||||
"crypto.registry.hash_not_supported": "Алгоритм хеширования '{0}' не поддерживается ни одним зарегистрированным поставщиком.",
|
||||
"crypto.registry.verify_not_supported": "Алгоритм проверки '{0}' не поддерживается ни одним зарегистрированным провайдером.",
|
||||
"crypto.registry.active_profile_required": "Активный профиль обязателен.",
|
||||
"crypto.registry.profile_not_found": "Идентификатор профиля '{0}' не найден в реестре.",
|
||||
"crypto.registry.profile_id_required": "Идентификатор профиля не может быть нулевым или пустым.",
|
||||
"crypto.key.algorithm_required": "Требуется идентификатор алгоритма.",
|
||||
"crypto.key.private_scalar_required": "Параметры закрытого ключа должны включать скалярный компонент.",
|
||||
"crypto.key.verification_only": "Этот конструктор предназначен только для ключей, предназначенных только для проверки. Установите для параметра VerificationOnly значение true.",
|
||||
"crypto.key.public_xy_required": "Параметры открытого ключа должны включать координаты X и Y.",
|
||||
"crypto.key.private_material_required": "Должен быть предоставлен материал закрытого ключа.",
|
||||
"crypto.hash.algorithm_unsupported": "Неподдерживаемый алгоритм хеширования '{0}'.",
|
||||
"crypto.hash.purpose_required": "Цель не может быть нулевой или пустой.",
|
||||
"crypto.hmac.algorithm_unknown": "Неизвестный алгоритм HMAC '{0}'.",
|
||||
"crypto.hmac.algorithm_unsupported": "Неподдерживаемый алгоритм HMAC '{0}'.",
|
||||
"crypto.ecdsa.algorithm_unsupported": "Неподдерживаемый алгоритм подписи ECDSA '{0}'.",
|
||||
"crypto.ecdsa.curve_unsupported": "Неподдерживаемое отображение кривой ECDSA для алгоритма '{0}'.",
|
||||
"crypto.digest.required": "Дайджест обязателен.",
|
||||
"crypto.digest.prefix_required": "{0} должен начинаться с '{1}'.",
|
||||
"crypto.digest.algorithm_unsupported": "Неподдерживаемый алгоритм дайджеста в '{0}'. Поддерживается только sha256.",
|
||||
"crypto.digest.hex_length": "{0} должен содержать шестнадцатеричные символы {1}.",
|
||||
"crypto.password.memory_cost_invalid": "Стоимость памяти для хеширования паролей должна быть больше нуля.",
|
||||
"crypto.password.iterations_invalid": "Число итераций хеширования пароля должно быть больше нуля.",
|
||||
"crypto.password.parallelism_invalid": "Параллелизм хеширования паролей должен быть больше нуля.",
|
||||
"crypto.password.algorithm_mismatch": "{0} поддерживает только алгоритм {1}.",
|
||||
"crypto.password.pbkdf2_iterations": "PBKDF2 требует положительного количества итераций.",
|
||||
"crypto.gost.not_der": "Подпись не закодирована в формате DER.",
|
||||
"crypto.gost.invalid_der": "Неверная структура DER для подписи ГОСТ.",
|
||||
"crypto.gost.raw_length": "Необработанная подпись ГОСТ должна иметь размер {0} байт.",
|
||||
"crypto.gost.neither_format": "Полезная нагрузка подписи не является ни форматом DER, ни необработанным форматом ГОСТ.",
|
||||
"crypto.gost.coordinate_overflow": "Координата превышает ожидаемую длину.",
|
||||
"crypto.profile.unknown_purpose": "Неизвестное назначение хэша '{0}' в профиле '{1}'.",
|
||||
"crypto.compliance.at_least_one_signing": "Должен быть указан хотя бы один алгоритм подписи.",
|
||||
"crypto.compliance.at_least_one_hash": "Должен быть указан хотя бы один алгоритм хеширования.",
|
||||
"crypto.ed25519.private_key_size": "Закрытый ключ Ed25519 должен иметь длину 32 или 64 байта.",
|
||||
"crypto.ed25519.public_key_size": "Открытый ключ Ed25519 должен иметь длину 32 байта.",
|
||||
"crypto.ed25519.no_hashing": "Поставщик BouncyCastle Ed25519 не предоставляет возможности хеширования.",
|
||||
"crypto.ed25519.raw_key_required": "Поставщику '{0}' требуется необработанный материал закрытого ключа Ed25519.",
|
||||
"crypto.sm.no_password_hashing": "Поставщик SM не предоставляет хеширование паролей.",
|
||||
"crypto.sm.raw_key_required": "Поставщик SM2 требует необработанных байтов закрытого ключа (PKCS#8 DER).",
|
||||
"crypto.sm.unsupported_format": "Неподдерживаемый формат ключа SM2. Ожидайте PEM или PKCS#8 DER.",
|
||||
"crypto.sm.disabled": "Провайдер '{0}' отключен. Установите {1}=1 (или отключите RequireEnvironmentGate), чтобы включить программное обеспечение SM2/SM3.",
|
||||
"crypto.di.registry_empty": "Реестр криптопровайдеров не может быть пустым. Настройте хотя бы одного поставщика для развертываний RU.",
|
||||
"crypto.di.ru_openssl_required": "Для базовой версии Linux RU требуется поставщик 'ru.openssl.gost' (задайте STELLAOPS_CRYPTO_ENABLE_RU_OPENSSL=0 для явного переопределения).",
|
||||
"crypto.di.ru_provider_required": "Базовая версия RU Linux настроена неправильно: ru.openssl.gost и ru.pkcs11 отключены через среду. Включите хотя бы одного провайдера.",
|
||||
"crypto.di.no_plugins_loaded": "Ни один поставщик криптовалюты не был загружен. Проверьте конфигурацию и манифест плагина.",
|
||||
"crypto.kms.rotation_via_policy": "Ротация {0} должна управляться с помощью политик или расписаний {1}.",
|
||||
"crypto.kms.revocation_via_policy": "Отзывом {0} необходимо управлять через API-интерфейсы {1} или консоль.",
|
||||
"crypto.kms.public_key_missing_x": "В открытом ключе отсутствует координата X.",
|
||||
"crypto.kms.public_key_missing_y": "В открытом ключе отсутствует координата Y.",
|
||||
"crypto.kms.hash_failed": "Не удалось хешировать полезные данные с помощью SHA-256.",
|
||||
"crypto.kms.key_not_found": "Ключ '{0}' не существует.",
|
||||
"crypto.kms.key_revoked": "Ключ '{0}' отозван и не подлежит ротации.",
|
||||
"crypto.kms.key_revoked_signing": "Ключ '{0}' отозван и не может использоваться для подписи.",
|
||||
"crypto.kms.key_version_not_found": "Версия ключа '{0}' не существует для ключа '{1}'.",
|
||||
"crypto.kms.key_no_active_version": "Ключ '{0}' не имеет активной версии.",
|
||||
"crypto.kms.key_version_inactive": "Ключевая версия '{0}' не активна. Текущее состояние: {1}",
|
||||
"crypto.kms.key_no_public_material": "Ключ '{0}' версии '{1}' не содержит материала открытого ключа.",
|
||||
"crypto.kms.algorithm_unsupported": "Алгоритм '{0}' не поддерживается файловым драйвером KMS.",
|
||||
"crypto.kms.curve_unsupported": "Кривая '{0}' не поддерживается.",
|
||||
"crypto.kms.metadata_failed": "Не удалось создать или загрузить ключевые метаданные.",
|
||||
"crypto.kms.algorithm_mismatch": "Несоответствие алгоритма. Ожидал '{0}', получил '{1}'.",
|
||||
"crypto.kms.version_exists": "Версия ключа '{0}' уже существует для ключа '{1}'.",
|
||||
"crypto.kms.material_not_found": "Ключевой материал для версии '{0}' не найден.",
|
||||
"crypto.kms.envelope_deserialize_failed": "Конверт ключа не удалось десериализовать.",
|
||||
"crypto.kms.payload_deserialize_failed": "Полезную нагрузку ключа не удалось десериализовать.",
|
||||
"crypto.kms.pem_empty": "Открытый ключ PEM не может быть пустым.",
|
||||
"crypto.kms.no_primary_version": "Криптоключ '{0}' не имеет активной основной версии.",
|
||||
"crypto.kms.es256_only": "Поставщик '{0}' поддерживает только ключи подписи ES256.",
|
||||
"crypto.kms.version_metadata_required": "Ключи подписи KMS должны включать запись метаданных 'kms.version'.",
|
||||
"crypto.kms.missing_public_key": "В ключе подписи KMS отсутствует материал открытого ключа.",
|
||||
"crypto.fido2.curve_unsupported": "Неподдерживаемый OID кривой FIDO2 '{0}'.",
|
||||
"crypto.fido2.rotation_required": "Для ротации учетных данных FIDO2 требуется новая регистрация.",
|
||||
"crypto.fido2.revocation_relying_party": "Отзыв учетных данных FIDO2 должен управляться на проверяющей стороне.",
|
||||
"crypto.fido2.missing_x": "В открытом ключе FIDO2 отсутствует координата X.",
|
||||
"crypto.fido2.missing_y": "В открытом ключе FIDO2 отсутствует координата Y.",
|
||||
"crypto.fido2.authenticator_required": "Для использования FIDO2 KMS необходимо зарегистрировать IFido2Authenticator.",
|
||||
"crypto.pkcs11.rotation_hsm": "Для ротации PKCS#11 требуются административные инструменты HSM.",
|
||||
"crypto.pkcs11.revocation_hsm": "Отзыв PKCS#11 должен обрабатываться политиками HSM.",
|
||||
"crypto.pkcs11.slot_not_found": "Не удалось разрешить слот PKCS#11.",
|
||||
"crypto.pkcs11.private_key_not_found": "Закрытый ключ PKCS#11 не найден.",
|
||||
"crypto.pkcs11.public_key_not_found": "Открытый ключ PKCS#11 не найден.",
|
||||
"crypto.pkcs11.missing_ec_point": "В открытом ключе отсутствует точка EC.",
|
||||
"crypto.pkcs11.missing_ec_params": "В открытом ключе отсутствуют параметры EC.",
|
||||
"crypto.pkcs11.unsupported_point_format": "Неподдерживаемый формат точек EC.",
|
||||
"crypto.pkcs11.curve_oid_unsupported": "Неподдерживаемый идентификатор OID кривой EC '{0}'.",
|
||||
"crypto.pkcs11.curve_unsupported": "Неподдерживаемая кривая EC '{0}'.",
|
||||
"common.provcache.sbom_hash_required": "Хэш SBOM не может быть нулевым или пустым.",
|
||||
"common.provcache.fetch_url_absolute": "Базовый URL-адрес отложенной выборки должен быть абсолютным.",
|
||||
"common.provcache.fetch_url_no_userinfo": "Базовый URL-адрес отложенной выборки не должен содержать информацию о пользователе.",
|
||||
"common.provcache.fetch_url_host_required": "Базовый URL-адрес отложенной выборки должен включать хост.",
|
||||
"common.provcache.fetch_url_scheme_invalid": "Схема базового URL-адреса отложенной выборки '{0}' не допускается.",
|
||||
"common.provcache.fetch_url_host_invalid": "Хост '{0}' базового URL-адреса отложенного получения не внесен в белый список.",
|
||||
"common.provcache.no_chunks_provided": "Никаких кусков не предусмотрено.",
|
||||
"common.provcache.bundle_deserialize_failed": "Не удалось десериализовать пакет.",
|
||||
"common.provcache.signer_not_configured": "Подписывающая сторона не настроена.",
|
||||
"common.provcache.signing_requested_no_signer": "Запрошена подпись, но подписывающая сторона не настроена.",
|
||||
"common.provcache.cache_entry_not_found": "Запись в кеше для VeriKey не найдена: {0}",
|
||||
"common.provcache.chunk_manifest_not_found": "Манифест чанка не найден для корневого доказательства: {0}",
|
||||
"common.provcache.http_timeout_invalid": "Тайм-аут отложенной выборки HTTP должен иметь положительную, не бесконечную продолжительность.",
|
||||
"common.provcache.http_base_address_required": "HttpChunkFetcher требует BaseAddress в HTTP-клиенте.",
|
||||
"common.provcache.merkle_root_mismatch": "Несовпадение корней Меркла. Ожидается: {0}, вычисляется: {1}",
|
||||
"common.provcache.chunk_verification_failed": "Проверка чанка {0} не удалась. Ожидаемый хеш: {1}.",
|
||||
"common.provcache.artifact_reference_required": "Требуется ссылка на артефакт.",
|
||||
"common.provcache.artifact_digest_required": "Требуется дайджест артефактов.",
|
||||
"common.provcache.decision_digest_required": "Требуется DecisionDigest.",
|
||||
"common.provcache.decision_digest_verikey_required": "Требуется DecisionDigest.VeriKey.",
|
||||
"common.provcache.digest_empty": "Дайджест не может быть пустым.",
|
||||
"common.provcache.time_window_required": "Временное окно не может быть нулевым или пустым.",
|
||||
"common.provcache.vex_hash_required": "Хэш набора хэшей VEX не может быть нулевым или пустым.",
|
||||
"common.provcache.policy_hash_required": "Хэш политики не может быть нулевым или пустым.",
|
||||
"common.provcache.source_hash_required": "Хэш источника не может быть нулевым или пустым.",
|
||||
"common.provcache.signer_set_hash_required": "Хэш набора подписывающей стороны не может быть нулевым или пустым.",
|
||||
"common.evidence.toolchain_required": "ToolChain должен быть установлен перед построением индекса.",
|
||||
"common.evidence.deserialization_failed": "Не удалось десериализовать индекс доказательств.",
|
||||
"common.evidence.verdict_deserialization_failed": "Не удалось десериализовать вердикт.",
|
||||
"common.evidence.inputs_json_required": "JSON не может быть нулевым или пустым.",
|
||||
"common.evidence.inputs_deserialization_failed": "Не удалось десериализовать закрепленные входные данные оценки.",
|
||||
"common.evidence.bundle_alert_id_required": "Требуется AlertId.",
|
||||
"common.evidence.bundle_artifact_id_required": "Требуется идентификатор артефакта.",
|
||||
"common.evidence.pdf_export_requires_config": "Экспорт PDF требует дополнительной настройки",
|
||||
"common.evidence.invalid_uri_format": "Неверный формат URI доказательства: {0}. Ожидаемая стелла://тип/путь",
|
||||
"common.evidence.invalid_uri_missing_path": "Неверный формат URI доказательства: {0}. Отсутствующий путь.",
|
||||
"common.evidence.null_resolver_cannot_resolve": "NullTypeResolver не может разрешить тип доказательства: {0}",
|
||||
"common.evidence.schema_resource_not_found": "Ресурс схемы не найден: {0}",
|
||||
"common.evidence.schema_resource_not_available": "Ресурс схемы недоступен: {0}.",
|
||||
"common.evidence.provenance_deserialize_failed": "Не удалось десериализовать происхождение для доказательства {0}.",
|
||||
"common.evidence.bundle_deserialize_failed": "Не удалось десериализовать пакет вердиктов.",
|
||||
"common.evidence.delta_verdict_deserialize_failed": "Не удалось десериализовать дельта-вердикт.",
|
||||
"common.canonicalization.value_empty_after_trim": "Значение не должно быть пустым после обрезки.",
|
||||
"common.canonicalization.deserialize_failed": "Не удалось десериализовать {0}.",
|
||||
"common.canonicalization.datetime_value_null": "Значение DateTimeOffset имеет значение null.",
|
||||
"common.canonicalization.dict_key_null": "Ключ словаря не может быть нулевым.",
|
||||
"common.audit.replay_token_value_empty": "Значение токена не может быть пустым.",
|
||||
"common.audit.replay_token_empty": "Токен не может быть пустым.",
|
||||
"common.audit.replay_token_format_invalid": "Неверный формат токена повтора: {0}.",
|
||||
"common.audit.replay_token_version_invalid": "Неверная версия токена повтора: {0}.",
|
||||
"common.audit.replay_token_expiration_invalid": "Неверная метка времени истечения срока действия токена воспроизведения: {0}.",
|
||||
"common.audit.replay_token_duplicate_context_key": "Дополнительныйконтекст содержит повторяющийся ключ после нормализации: '{0}'.",
|
||||
"common.artifact.uri_format_invalid": "Неверный формат URI: {0}.",
|
||||
"common.artifact.uri_scheme_not_supported": "Схема URI не поддерживается: {0}.",
|
||||
"common.artifact.file_not_accessible": "Файл недоступен: {0}",
|
||||
"common.artifact.file_too_large": "Файл слишком большой: размер {0} в байтах превышает ограничение в 100 МБ.",
|
||||
"common.artifact.uri_not_accessible": "URI недоступен: {0} вернул {1}",
|
||||
"common.artifact.content_too_large": "Содержимое слишком велико: размер {0} в байтах превышает ограничение в 100 МБ.",
|
||||
"common.artifact.fetch_failed": "Не удалось получить данные из {0}: {1}.",
|
||||
"common.delta_verdict.artifact_ref_required": "Требуется ссылка на артефакт.",
|
||||
"common.delta_verdict.unsupported_signing_algorithm": "Неподдерживаемый алгоритм подписи: {0}.",
|
||||
"common.delta_verdict.hmac_secret_required": "Для подписания HMAC требуется секрет Base64.",
|
||||
"common.eventing.no_entry_assembly": "Входная сборка не найдена",
|
||||
"auth.persistence.deserialize_inputs_failed": "Не удалось десериализовать входные данные.",
|
||||
"auth.persistence.deserialize_result_failed": "Не удалось десериализовать результат",
|
||||
"auth.persistence.revocation_sequence_mismatch": "Несоответствие последовательности экспорта отзыва. Ожидаемый {0}, текущий {1}.",
|
||||
"auth.persistence.revocation_update_rejected": "Обновление состояния экспорта отзыва отклонено. Ожидаемая последовательность {0}."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user