consolidation of some of the modules, localization fixes, product advisories work, qa work

This commit is contained in:
master
2026-03-05 03:54:22 +02:00
parent 7bafcc3eef
commit 8e1cb9448d
3878 changed files with 72600 additions and 46861 deletions

View File

@@ -1,411 +1,367 @@
{
"_meta": { "locale": "uk-UA", "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": "uk-UA",
"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.",
"auth.dpop.nonce_mismatch": "Невідповідність DPoP nonce.",
"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": "Конфігурація повноважень вимагає позитивної версії schemaVersion.",
"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": "Конфігурація повноважень вимагає принаймні одного консультативного профілю дистанційного висновку ШІ, якщо ввімкнено дистанційний висновок.",
"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}' повинен визначати або assemblyName, або assemblyPath.",
"config.plugin.config_file_required": "Плагін повноважень '{0}' повинен визначати configFile.",
"config.plugin.config_file_missing": "Плагін повноважень '{0}' визначає configFile '{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": "Для додаткових ключів підпису потрібен ідентифікатор ключа.",
"config.signing.additional_key_path_required": "Для ключа підпису '{0}' потрібен шлях.",
"config.bootstrap.api_key_required": "Конфігурація завантажувальної програми Authority потребує ключа 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": "Записи шаблону маршрутизації винятків повноважень не мають бути нульовими.",
"config.exceptions.duplicate_template": "Шаблон маршрутизації винятків повноважень '{0}' налаштовано кілька разів.",
"config.exceptions.template_id_required": "Шаблони маршрутизації винятків із повноважень вимагають ідентифікатора.",
"config.exceptions.template_route_required": "Шаблон маршрутизації винятків повноважень '{0}' потребує authorRouteId.",
"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": "Лише ключі підпису ES256 наразі підтримуються постачальником '{0}'.",
"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": "ID профілю '{0}' не знайдено в реєстрі.",
"crypto.registry.profile_id_required": "Ідентифікатор профілю не може бути пустим або порожнім.",
"crypto.key.algorithm_required": "Необхідний ідентифікатор алгоритму.",
"crypto.key.private_scalar_required": "Параметри закритого ключа повинні містити скалярний компонент.",
"crypto.key.verification_only": "Цей конструктор призначений лише для ключів лише для перевірки. Установіть значення true для verificationOnly.",
"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} потрібно керувати через {1} API або консоль.",
"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": "Непідтримувана крива EC OID '{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": "Необхідний ідентифікатор сповіщення",
"common.evidence.bundle_artifact_id_required": "Необхідний ідентифікатор артефакту",
"common.evidence.pdf_export_requires_config": "Експорт PDF вимагає додаткового налаштування",
"common.evidence.invalid_uri_format": "Недійсний формат URI доказів: {0}. Очікується stella://type/path",
"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 має нульове значення.",
"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": "AdditionalContext містить повторюваний ключ після нормалізації: '{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}."
}