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": "bg-BG", "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": "bg-BG",
"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} не може да е null или празно.",
"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 proof трябва да е по-голям от нула.",
"auth.dpop.clock_skew_invalid": "Позволеният clock skew за DPoP трябва да е между 0 секунди и 5 минути.",
"auth.dpop.replay_window_invalid": "Прозорецът за DPoP replay трябва да е по-голям или равен на нула.",
"auth.dpop.algorithm_required": "Трябва да е конфигуриран поне един позволен DPoP алгоритъм.",
"auth.dpop.algorithm_empty_after_normalization": "Позволените DPoP алгоритми не могат да са празни след нормализация.",
"auth.dpop.options_required": "DPoP options трябва да бъдат предоставени.",
"auth.dpop.nonce_ttl_invalid": "TTL на nonce трябва да е по-голям от нула.",
"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' store.",
"auth.dpop.nonce_audiences_required": "Dpop.Nonce.RequiredAudiences трябва да включва поне една аудитория.",
"auth.dpop.token_three_segments": "Токенът трябва да съдържа три сегмента.",
"auth.dpop.segment_out_of_range": "Индексът на сегмента е извън обхват.",
"auth.dpop.header_decode_failed": "Неуспешно декодиране на header.",
"auth.dpop.header_missing_typ": "В DPoP proof липсва typ=dpop+jwt header.",
"auth.dpop.header_missing_alg": "В DPoP proof липсва alg header.",
"auth.dpop.header_unsupported_alg": "Неподдържан DPoP алгоритъм.",
"auth.dpop.header_missing_jwk": "В DPoP proof липсва jwk header.",
"auth.dpop.header_invalid_jwk": "jwk header в DPoP proof е невалиден.",
"auth.dpop.payload_decode_failed": "Неуспешно декодиране на payload.",
"auth.dpop.payload_missing_htm": "В DPoP proof липсва htm claim.",
"auth.dpop.payload_htm_mismatch": "DPoP htm не съвпада с метода на заявката.",
"auth.dpop.payload_missing_htu": "В DPoP proof липсва htu claim.",
"auth.dpop.payload_htu_mismatch": "DPoP htu не съвпада с URI на заявката.",
"auth.dpop.payload_missing_iat": "В DPoP proof липсва iat claim.",
"auth.dpop.payload_missing_jti": "В DPoP proof липсва jti claim.",
"auth.dpop.payload_iat_invalid": "iat claim в DPoP proof не е валидно число.",
"auth.dpop.nonce_missing": "В DPoP proof липсва nonce claim.",
"auth.dpop.nonce_mismatch": "Несъответствие на DPoP nonce.",
"auth.dpop.proof_future": "DPoP proof е издаден в бъдещето.",
"auth.dpop.proof_expired": "DPoP proof е с изтекла валидност.",
"auth.dpop.signature_failed": "Проверката на подписа на DPoP proof е неуспешна.",
"auth.dpop.replay_detected": "DPoP proof вече е използван.",
"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": "Конфигурацията на пълномощията изисква поне един консултативен профил за дистанционен извод на 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}' трябва да дефинира или 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}' е нула.",
"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 трябва да бъде посочен, когато ack токените са активирани.",
"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}' изисква 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 адресът на наследената документация за удостоверяване трябва да бъде абсолютен HTTP или HTTPS URL адрес.",
"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": "ID на профил '{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 структура за GOST подпис.",
"crypto.gost.raw_length": "Суровият GOST подпис трябва да бъде {0} байта.",
"crypto.gost.neither_format": "Полезният товар на подписа не е нито DER, нито необработен GOST формат.",
"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": "IFido2Authenticator трябва да бъде регистриран, за да използва FIDO2 KMS.",
"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 не може да е null или празен.",
"common.provcache.fetch_url_absolute": "Базовият URL за lazy fetch трябва да е абсолютен.",
"common.provcache.fetch_url_no_userinfo": "Базовият URL за lazy fetch не трябва да съдържа потребителска информация.",
"common.provcache.fetch_url_host_required": "Базовият URL за lazy fetch трябва да съдържа хост.",
"common.provcache.fetch_url_scheme_invalid": "Схемата '{0}' на базовия URL за lazy fetch не е позволена.",
"common.provcache.fetch_url_host_invalid": "Хостът '{0}' на базовия URL за lazy fetch не е в allowlist.",
"common.provcache.no_chunks_provided": "Няма предоставени chunks.",
"common.provcache.bundle_deserialize_failed": "Неуспешна десериализация на bundle.",
"common.provcache.signer_not_configured": "Signer не е конфигуриран.",
"common.provcache.signing_requested_no_signer": "Поискано е подписване, но няма конфигуриран signer.",
"common.provcache.cache_entry_not_found": "Запис в кеша не е намерен за VeriKey: {0}",
"common.provcache.chunk_manifest_not_found": "Chunk manifest не е намерен за proof root: {0}",
"common.provcache.http_timeout_invalid": "HTTP timeout за lazy fetch трябва да е положителна, крайна продължителност.",
"common.provcache.http_base_address_required": "HttpChunkFetcher изисква BaseAddress на HTTP клиента.",
"common.provcache.merkle_root_mismatch": "Несъответствие на Merkle root. Очакван: {0}, изчислен: {1}",
"common.provcache.chunk_verification_failed": "Проверката на chunk {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": "Времевият прозорец не може да е null или празен.",
"common.provcache.vex_hash_required": "Хешът на VEX hash set не може да е null или празен.",
"common.provcache.policy_hash_required": "Хешът на policy не може да е null или празен.",
"common.provcache.source_hash_required": "Хешът на source не може да е null или празен.",
"common.provcache.signer_set_hash_required": "Хешът на signer set не може да е null или празен.",
"common.evidence.toolchain_required": "ToolChain трябва да е зададен преди изграждане на индекса.",
"common.evidence.deserialization_failed": "Неуспешна десериализация на evidence index.",
"common.evidence.verdict_deserialization_failed": "Неуспешна десериализация на verdict.",
"common.evidence.inputs_json_required": "JSON не може да е null или празен.",
"common.evidence.inputs_deserialization_failed": "Неуспешна десериализация на pinned scoring inputs.",
"common.evidence.bundle_alert_id_required": "AlertId е задължителен",
"common.evidence.bundle_artifact_id_required": "ArtifactId е задължителен",
"common.evidence.pdf_export_requires_config": "PDF експортът изисква допълнителна конфигурация",
"common.evidence.invalid_uri_format": "Невалиден формат на evidence URI: {0}. Очаква се stella://type/path",
"common.evidence.invalid_uri_missing_path": "Невалиден формат на evidence URI: {0}. Липсва path.",
"common.evidence.null_resolver_cannot_resolve": "NullTypeResolver не може да резолвира evidence type: {0}",
"common.evidence.schema_resource_not_found": "Schema resource не е намерен: {0}",
"common.evidence.schema_resource_not_available": "Schema resource не е наличен: {0}",
"common.evidence.provenance_deserialize_failed": "Неуспешна десериализация на provenance за evidence {0}",
"common.evidence.bundle_deserialize_failed": "Неуспешна десериализация на verdict bundle",
"common.evidence.delta_verdict_deserialize_failed": "Неуспешна десериализация на delta verdict",
"common.canonicalization.value_empty_after_trim": "Стойността не трябва да е празна след премахване на интервали.",
"common.canonicalization.deserialize_failed": "Неуспешна десериализация на {0}",
"common.canonicalization.datetime_value_null": "Стойността DateTimeOffset е null.",
"common.canonicalization.dict_key_null": "Ключът на речника не може да е null.",
"common.audit.replay_token_value_empty": "Стойността на токена не може да е празна.",
"common.audit.replay_token_empty": "Токенът не може да е празен.",
"common.audit.replay_token_format_invalid": "Невалиден формат на replay token: {0}",
"common.audit.replay_token_version_invalid": "Невалидна версия на replay token: {0}",
"common.audit.replay_token_expiration_invalid": "Невалиден timestamp за изтичане в replay token: {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} байта над лимита от 100MB",
"common.artifact.uri_not_accessible": "URI не е достъпен: {0} върна {1}",
"common.artifact.content_too_large": "Съдържанието е твърде голямо: {0} байта над лимита от 100MB",
"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 secret.",
"common.eventing.no_entry_assembly": "Не е намерен 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}."
}

View File

@@ -1,367 +1,367 @@
{
"_meta": {
"locale": "de-DE",
"namespace": "common",
"version": "1.0"
},
"common.error.generic": "Something went wrong.",
"common.error.not_found": "Die angeforderte Ressource wurde nicht gefunden.",
"common.error.entity_not_found": "{0} \u0027{1}\u0027 not found.",
"common.error.unauthorized": "Sie sind nicht berechtigt, diese Aktion auszufuehren.",
"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": "Ein interner Serverfehler ist aufgetreten. Bitte spaeter erneut versuchen.",
"common.error.service_unavailable": "The service is temporarily unavailable.",
"common.error.too_many_requests": "Zu viele Anfragen. Bitte warten und erneut versuchen.",
"common.error.network": "Network error. Check your connection.",
"common.error.body_required": "Anfrageinhalt ist erforderlich.",
"common.error.deserialization_failed": "Failed to deserialize {0}.",
"common.error.not_supported": "{0} is not supported.",
"common.error.already_exists": "{0} \u0027{1}\u0027 already exists.",
"common.error.revoked": "{0} \u0027{1}\u0027 has been revoked and cannot be used.",
"common.error.state_invalid": "{0} \u0027{1}\u0027 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} \u0027{1}\u0027 is not a valid regular expression.",
"common.validation.unknown_value": "{0} \u0027{1}\u0027 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 \u0027memory\u0027 or \u0027redis\u0027.",
"auth.dpop.nonce_redis_required": "Dpop.Nonce.RedisConnectionString must be provided when using the \u0027redis\u0027 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 \u0027{0}\u0027.",
"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 \u0027{0}\u0027 must contain only lowercase letters, digits, and hyphen.",
"config.tenant.project_format": "Tenant \u0027{0}\u0027 defines project \u0027{1}\u0027 which must contain only lowercase letters, digits, and hyphen.",
"config.tenant.role_missing_config": "Tenant \u0027{0}\u0027 defines role \u0027{1}\u0027 without configuration.",
"config.tenant.role_scope_required": "Tenant \u0027{0}\u0027 role \u0027{1}\u0027 must specify at least one scope.",
"config.tenant.role_unknown_scope": "Tenant \u0027{0}\u0027 role \u0027{1}\u0027 references unknown scope \u0027{2}\u0027.",
"config.tenant.role_unsupported_attribute": "Tenant \u0027{0}\u0027 role \u0027{1}\u0027 defines unsupported attribute \u0027{2}\u0027. Allowed attributes: env, owner, business_tier.",
"config.tenant.delegation_max_tokens": "Tenant \u0027{0}\u0027 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 \u0027{0}\u0027 must contain lowercase letters, digits, colon, underscore, or hyphen.",
"config.service_account.tenant_required": "Service account \u0027{0}\u0027 requires a tenant assignment.",
"config.service_account.tenant_unknown": "Service account \u0027{0}\u0027 references unknown tenant \u0027{1}\u0027.",
"config.service_account.scope_required": "Service account \u0027{0}\u0027 must specify at least one allowed scope.",
"config.service_account.unsupported_attribute": "Service account \u0027{0}\u0027 defines unsupported attribute \u0027{1}\u0027. Allowed attributes: env, owner, business_tier.",
"config.plugin.assembly_required": "Authority plugin \u0027{0}\u0027 must define either assemblyName or assemblyPath.",
"config.plugin.config_file_required": "Authority plugin \u0027{0}\u0027 must define a configFile.",
"config.plugin.config_file_missing": "Authority plugin \u0027{0}\u0027 specifies configFile \u0027{1}\u0027 which does not exist.",
"config.plugin.unknown_capability": "Authority plugin \u0027{0}\u0027 declares unknown capability \u0027{1}\u0027. Allowed values: password, mfa, clientProvisioning, bootstrap.",
"config.plugin.descriptor_null": "Authority plugin descriptor \u0027{0}\u0027 is null.",
"config.delegation.duplicate_account": "Delegation configuration contains duplicate service account id \u0027{0}\u0027.",
"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 \u0027{0}\u0027 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 \u0027{0}\u0027 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 \u0027{0}\u0027 requires permitLimit to be greater than zero.",
"config.rate_limit.queue_limit": "Authority rate limiting \u0027{0}\u0027 queueLimit cannot be negative.",
"config.rate_limit.window": "Authority rate limiting \u0027{0}\u0027 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 \u0027{0}\u0027 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 \u0027{0}\u0027 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 \u0027{0}\u0027 is not supported by provider \u0027{1}\u0027.",
"crypto.provider.hash_not_supported": "Hash algorithm \u0027{0}\u0027 is not supported by provider \u0027{1}\u0027.",
"crypto.provider.verify_not_supported": "Verification algorithm \u0027{0}\u0027 is not supported by provider \u0027{1}\u0027.",
"crypto.provider.key_not_registered": "Signing key \u0027{0}\u0027 is not registered with provider \u0027{1}\u0027.",
"crypto.provider.key_algorithm_mismatch": "Signing key \u0027{0}\u0027 is registered for algorithm \u0027{1}\u0027, not \u0027{2}\u0027.",
"crypto.provider.ec_keys_only": "Provider \u0027{0}\u0027 only accepts EC signing keys.",
"crypto.provider.no_password_hashing": "Provider \u0027{0}\u0027 does not expose password hashing capabilities.",
"crypto.provider.no_content_hashing": "Provider \u0027{0}\u0027 does not support content hashing.",
"crypto.provider.no_ephemeral_verification": "Provider \u0027{0}\u0027 does not support ephemeral verification.",
"crypto.provider.not_signing_capable": "Signing algorithm \u0027{0}\u0027 is not supported by provider \u0027{1}\u0027.",
"crypto.provider.es256_only": "Only ES256 signing keys are currently supported by provider \u0027{0}\u0027.",
"crypto.provider.p256_required": "ES256 signing keys must use the NIST P-256 curve.",
"crypto.provider.curve_mismatch": "Signing key curve mismatch. Expected curve \u0027{0}\u0027 for algorithm \u0027{1}\u0027.",
"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 \u0027{0}\u0027 is not supported by any registered provider.",
"crypto.registry.hash_not_supported": "Hash algorithm \u0027{0}\u0027 is not supported by any registered provider.",
"crypto.registry.verify_not_supported": "Verification algorithm \u0027{0}\u0027 is not supported by any registered provider.",
"crypto.registry.active_profile_required": "Active profile is required.",
"crypto.registry.profile_not_found": "Profile ID \u0027{0}\u0027 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 \u0027{0}\u0027.",
"crypto.hash.purpose_required": "Purpose cannot be null or empty.",
"crypto.hmac.algorithm_unknown": "Unknown HMAC algorithm \u0027{0}\u0027.",
"crypto.hmac.algorithm_unsupported": "Unsupported HMAC algorithm \u0027{0}\u0027.",
"crypto.ecdsa.algorithm_unsupported": "Unsupported ECDSA signing algorithm \u0027{0}\u0027.",
"crypto.ecdsa.curve_unsupported": "Unsupported ECDSA curve mapping for algorithm \u0027{0}\u0027.",
"crypto.digest.required": "Digest is required.",
"crypto.digest.prefix_required": "{0} must start with \u0027{1}\u0027.",
"crypto.digest.algorithm_unsupported": "Unsupported digest algorithm in \u0027{0}\u0027. 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 \u0027{0}\u0027 in profile \u0027{1}\u0027.",
"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 \u0027{0}\u0027 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 \u0027{0}\u0027 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 \u0027ru.openssl.gost\u0027 (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 \u0027{0}\u0027 does not exist.",
"crypto.kms.key_revoked": "Key \u0027{0}\u0027 has been revoked and cannot be rotated.",
"crypto.kms.key_revoked_signing": "Key \u0027{0}\u0027 is revoked and cannot be used for signing.",
"crypto.kms.key_version_not_found": "Key version \u0027{0}\u0027 does not exist for key \u0027{1}\u0027.",
"crypto.kms.key_no_active_version": "Key \u0027{0}\u0027 does not have an active version.",
"crypto.kms.key_version_inactive": "Key version \u0027{0}\u0027 is not active. Current state: {1}",
"crypto.kms.key_no_public_material": "Key \u0027{0}\u0027 version \u0027{1}\u0027 does not have public key material.",
"crypto.kms.algorithm_unsupported": "Algorithm \u0027{0}\u0027 is not supported by the file KMS driver.",
"crypto.kms.curve_unsupported": "Curve \u0027{0}\u0027 is not supported.",
"crypto.kms.metadata_failed": "Failed to create or load key metadata.",
"crypto.kms.algorithm_mismatch": "Algorithm mismatch. Expected \u0027{0}\u0027, received \u0027{1}\u0027.",
"crypto.kms.version_exists": "Key version \u0027{0}\u0027 already exists for key \u0027{1}\u0027.",
"crypto.kms.material_not_found": "Key material for version \u0027{0}\u0027 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 \u0027{0}\u0027 does not have an active primary version.",
"crypto.kms.es256_only": "Provider \u0027{0}\u0027 only supports ES256 signing keys.",
"crypto.kms.version_metadata_required": "KMS signing keys must include metadata entry \u0027kms.version\u0027.",
"crypto.kms.missing_public_key": "KMS signing key is missing public key material.",
"crypto.fido2.curve_unsupported": "Unsupported FIDO2 curve OID \u0027{0}\u0027.",
"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 \u0027{0}\u0027.",
"crypto.pkcs11.curve_unsupported": "Unsupported EC curve \u0027{0}\u0027.",
"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 \u0027{0}\u0027 is not allowed.",
"common.provcache.fetch_url_host_invalid": "Lazy fetch base URL host \u0027{0}\u0027 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: \u0027{0}\u0027.",
"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": "de-DE",
"namespace": "common",
"version": "1.0"
},
"common.error.generic": "Etwas ist schiefgelaufen.",
"common.error.not_found": "Die angeforderte Ressource wurde nicht gefunden.",
"common.error.entity_not_found": "{0} '{1}' nicht gefunden.",
"common.error.unauthorized": "Sie sind nicht berechtigt, diese Aktion auszuführen.",
"common.error.forbidden": "Zugriff verweigert.",
"common.error.bad_request": "Die Anfrage ist ungültig.",
"common.error.conflict": "Es ist ein Konflikt aufgetreten. Die Ressource wurde möglicherweise geändert.",
"common.error.timeout": "Zeitüberschreitung bei der Anfrage.",
"common.error.server_error": "Es ist ein interner Serverfehler aufgetreten. Bitte versuchen Sie es später noch einmal.",
"common.error.service_unavailable": "Der Dienst ist vorübergehend nicht verfügbar.",
"common.error.too_many_requests": "Zu viele Anfragen. Bitte warten und erneut versuchen.",
"common.error.network": "Netzwerkfehler. Überprüfen Sie Ihre Verbindung.",
"common.error.body_required": "Anfrageinhalt ist erforderlich.",
"common.error.deserialization_failed": "{0} konnte nicht deserialisiert werden.",
"common.error.not_supported": "{0} wird nicht unterstützt.",
"common.error.already_exists": "{0} '{1}' existiert bereits.",
"common.error.revoked": "{0} '{1}' wurde widerrufen und kann nicht verwendet werden.",
"common.error.state_invalid": "{0} '{1}' befindet sich nicht im erwarteten Zustand. Aktueller Stand: {2}",
"common.validation.required": "{0} ist erforderlich.",
"common.validation.invalid": "{0} ist ungültig.",
"common.validation.too_long": "{0} überschreitet die maximale Länge von {1}-Zeichen.",
"common.validation.too_short": "{0} muss mindestens {1} Zeichen umfassen.",
"common.validation.out_of_range": "{0} muss zwischen {1} und {2} liegen.",
"common.validation.invalid_format": "{0} hat ein ungültiges Format.",
"common.validation.duplicate": "{0} existiert bereits.",
"common.validation.empty_not_allowed": "{0} darf nicht leer sein.",
"common.validation.empty_after_trim": "{0} darf nach dem Trimmen nicht leer sein.",
"common.validation.greater_than_zero": "{0} muss größer als Null sein.",
"common.validation.non_negative": "{0} darf nicht negativ sein.",
"common.validation.at_least_one": "Es muss mindestens ein {0} konfiguriert sein.",
"common.validation.at_least_n": "{0} muss mindestens {1}-Einträge haben.",
"common.validation.null_or_empty": "{0} darf nicht null oder leer sein.",
"common.validation.absolute_uri": "{0} muss ein absoluter URI sein.",
"common.validation.invalid_regex": "{0} '{1}' ist kein gültiger regulärer Ausdruck.",
"common.validation.unknown_value": "{0} '{1}' wird nicht erkannt. Zulässige Werte: {2}",
"common.validation.max_exceeded": "{0} darf höchstens {1} Zeichen umfassen.",
"common.actions.save": "Speichern",
"common.actions.cancel": "Abbrechen",
"common.actions.delete": "Löschen",
"common.actions.confirm": "Bestätigen",
"common.actions.submit": "Senden",
"common.actions.close": "Schließen",
"common.actions.retry": "Erneut versuchen",
"common.actions.expand": "Erweitern",
"common.actions.collapse": "Einklappen",
"common.actions.show_more": "Mehr anzeigen",
"common.actions.show_less": "Weniger anzeigen",
"common.status.healthy": "Gesund",
"common.status.degraded": "Degradiert",
"common.status.unavailable": "Nicht verfügbar",
"common.status.unknown": "Unbekannt",
"common.status.active": "Aktiv",
"common.status.inactive": "Inaktiv",
"common.status.pending": "Ausstehend",
"common.status.running": "Läuft",
"common.status.completed": "Vollendet",
"common.status.failed": "Fehlgeschlagen",
"common.status.canceled": "Abgesagt",
"common.status.blocked": "Blockiert",
"common.severity.critical": "Kritisch",
"common.severity.high": "Hoch",
"common.severity.medium": "Mittel",
"common.severity.low": "Niedrig",
"common.severity.info": "Information",
"common.severity.none": "Keine",
"common.time.seconds_ago": "{0} vor Sekunden",
"common.time.minutes_ago": "{0} vor Minuten",
"common.time.hours_ago": "{0} vor Stunden",
"common.time.days_ago": "{0} vor Tagen",
"common.time.just_now": "Soeben",
"common.ui.loading": "Laden...",
"common.ui.saving": "Speichern...",
"common.ui.deleting": "Löschen...",
"common.ui.submitting": "Senden...",
"common.ui.no_results": "Keine Ergebnisse gefunden.",
"common.ui.offline": "Du bist offline.",
"common.ui.reconnecting": "Verbindung wird wiederhergestellt...",
"common.ui.back_online": "Wieder online.",
"auth.dpop.proof_lifetime_invalid": "Die Lebensdauer des DPoP-Beweises muss größer als Null sein.",
"auth.dpop.clock_skew_invalid": "Der für DPoP zulässige Zeitversatz muss zwischen 0 Sekunden und 5 Minuten liegen.",
"auth.dpop.replay_window_invalid": "Das DPoP-Wiedergabefenster muss größer oder gleich Null sein.",
"auth.dpop.algorithm_required": "Es muss mindestens ein zulässiger DPoP-Algorithmus konfiguriert sein.",
"auth.dpop.algorithm_empty_after_normalization": "Zulässige DPoP-Algorithmen dürfen nach der Normalisierung nicht leer sein.",
"auth.dpop.options_required": "DPoP-Optionen müssen bereitgestellt werden.",
"auth.dpop.nonce_ttl_invalid": "Nonce TTL muss größer als Null sein.",
"auth.dpop.nonce_max_issuance_invalid": "Die maximale Ausgabe pro Minute muss mindestens 1 betragen.",
"auth.dpop.nonce_store_required": "Dpop.Nonce.Store muss angegeben werden.",
"auth.dpop.nonce_store_invalid": "Dpop.Nonce.Store muss entweder 'memory' oder 'redis' sein.",
"auth.dpop.nonce_redis_required": "Bei Verwendung des 'redis'-Stores muss Dpop.Nonce.RedisConnectionString angegeben werden.",
"auth.dpop.nonce_audiences_required": "Dpop.Nonce.RequiredAudiences muss mindestens eine Zielgruppe enthalten.",
"auth.dpop.token_three_segments": "Token muss drei Segmente enthalten.",
"auth.dpop.segment_out_of_range": "Segmentindex außerhalb des gültigen Bereichs.",
"auth.dpop.header_decode_failed": "Header konnte nicht dekodiert werden.",
"auth.dpop.header_missing_typ": "Im DPoP-Proof fehlt der typ=dpop+jwt-Header.",
"auth.dpop.header_missing_alg": "DPoP-Beweis, fehlender Alg-Header.",
"auth.dpop.header_unsupported_alg": "Nicht unterstützter DPoP-Algorithmus.",
"auth.dpop.header_missing_jwk": "DPoP-Beweis, fehlender JWK-Header.",
"auth.dpop.header_invalid_jwk": "Der DPoP-Proof-JWK-Header ist ungültig.",
"auth.dpop.payload_decode_failed": "Nutzlast kann nicht dekodiert werden.",
"auth.dpop.payload_missing_htm": "DPoP-Beweis, fehlender HTM-Anspruch.",
"auth.dpop.payload_htm_mismatch": "DPoP htm stimmt nicht mit der Anforderungsmethode überein.",
"auth.dpop.payload_missing_htu": "DPoP-Beweis fehlt HTU-Anspruch.",
"auth.dpop.payload_htu_mismatch": "DPoP htu stimmt nicht mit dem Anforderungs-URI überein.",
"auth.dpop.payload_missing_iat": "DPoP-Beweis fehlt iAT-Anspruch.",
"auth.dpop.payload_missing_jti": "DPoP-Beweis, fehlender JTI-Anspruch.",
"auth.dpop.payload_iat_invalid": "DPoP-Beweis, dass der Anspruch keine gültige Nummer ist.",
"auth.dpop.nonce_missing": "DPoP-Beweis, fehlender Nonce-Anspruch.",
"auth.dpop.nonce_mismatch": "DPoP-Nonce-Nichtübereinstimmung.",
"auth.dpop.proof_future": "Zukünftig ausgestellter DPoP-Nachweis.",
"auth.dpop.proof_expired": "DPoP-Beweis abgelaufen.",
"auth.dpop.signature_failed": "Die Validierung der DPoP-Proof-Signatur ist fehlgeschlagen.",
"auth.dpop.replay_detected": "DPoP-Proof bereits verwendet.",
"config.authority.schema_version_required": "Die Autoritätskonfiguration erfordert eine positive schemaVersion.",
"config.authority.issuer_required": "Für die Autoritätskonfiguration ist eine Aussteller-URL erforderlich.",
"config.authority.issuer_absolute": "Der Autoritätsaussteller muss ein absoluter URI sein.",
"config.authority.issuer_https": "Der Autoritätsaussteller muss HTTPS verwenden, es sei denn, er läuft auf einer Loopback-Schnittstelle.",
"config.authority.duplicate_tenant": "Die Autoritätskonfiguration enthält eine doppelte Mandanten-ID '{0}'.",
"config.authority.property_greater_than_zero": "Für die Berechtigungskonfiguration muss {0} größer als Null sein.",
"config.authority.property_max": "Für die Berechtigungskonfiguration muss {0} kleiner oder gleich {1} sein.",
"config.authority.remote_inference_required": "Für die Autoritätskonfiguration ist mindestens ein beratendes AI-Remote-Inferenzprofil erforderlich, wenn Remote-Inferenz aktiviert ist.",
"config.tenant.id_required": "Jeder Mandant benötigt eine ID (Slug).",
"config.tenant.id_format": "Die Mandanten-ID '{0}' darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.",
"config.tenant.project_format": "Der Mandant '{0}' definiert das Projekt '{1}', das nur Kleinbuchstaben, Ziffern und Bindestriche enthalten darf.",
"config.tenant.role_missing_config": "Der Mandant '{0}' definiert die Rolle '{1}' ohne Konfiguration.",
"config.tenant.role_scope_required": "Die Mandantenrolle '{0}' '{1}' muss mindestens einen Bereich angeben.",
"config.tenant.role_unknown_scope": "Die Rolle '{0}' des Mandanten '{1}' verweist auf den unbekannten Bereich '{2}'.",
"config.tenant.role_unsupported_attribute": "Die Mandantenrolle '{0}' '{1}' definiert das nicht unterstützte Attribut '{2}'. Zulässige Attribute: env, owner, business_tier.",
"config.tenant.delegation_max_tokens": "Für den Mandanten '{0}' muss delegation.maxActiveTokens bei Angabe größer als Null sein.",
"config.tenant.remote_inference_disabled": "Die Einwilligung des Mandanten zur Remote-Inferenz kann nicht erteilt werden, wenn die Remote-Inferenz deaktiviert ist.",
"config.tenant.remote_inference_consent_version_length": "Die consentVersion für die Remote-Inferenz des Mandanten darf höchstens {0} Zeichen lang sein.",
"config.tenant.remote_inference_consented_by_length": "Das Feld consentedBy für die Remote-Inferenz des Mandanten darf höchstens {0} Zeichen lang sein.",
"config.tenant.remote_inference_consent_version_required": "Die Zustimmung zur Remote-Inferenz des Mandanten erfordert consentVersion, wenn consentGranted=true ist.",
"config.tenant.remote_inference_consented_at_required": "Die Zustimmung zur Remote-Inferenz des Mandanten erfordert consentedAt, wenn consentGranted=true ist.",
"config.service_account.id_required": "Seeds für Delegierungsdienstkonten erfordern eine Konto-ID.",
"config.service_account.id_format": "Die Dienstkonto-ID '{0}' muss Kleinbuchstaben, Ziffern, Doppelpunkte, Unterstriche oder Bindestriche enthalten.",
"config.service_account.tenant_required": "Das Dienstkonto '{0}' erfordert eine Mandantenzuweisung.",
"config.service_account.tenant_unknown": "Das Dienstkonto '{0}' verweist auf den unbekannten Mandanten '{1}'.",
"config.service_account.scope_required": "Das Dienstkonto '{0}' muss mindestens einen zulässigen Bereich angeben.",
"config.service_account.unsupported_attribute": "Das Dienstkonto '{0}' definiert das nicht unterstützte Attribut '{1}'. Zulässige Attribute: env, Owner, business_tier.",
"config.plugin.assembly_required": "Das Autoritäts-Plugin '{0}' muss entweder assemblyName oder assemblyPath“ definieren.",
"config.plugin.config_file_required": "Das Autoritäts-Plugin '{0}' muss eine Konfigurationsdatei definieren.",
"config.plugin.config_file_missing": "Das Autoritäts-Plugin '{0}' gibt die Konfigurationsdatei '{1}' an, die nicht existiert.",
"config.plugin.unknown_capability": "Das Autoritäts-Plugin '{0}' erklärt die unbekannte Funktion '{1}'. Zulässige Werte: Passwort, MFA, ClientProvisioning, Bootstrap.",
"config.plugin.descriptor_null": "Der Berechtigungs-Plugin-Deskriptor '{0}' ist null.",
"config.delegation.duplicate_account": "Die Delegierungskonfiguration enthält eine doppelte Dienstkonto-ID '{0}'.",
"config.delegation.quota_max_tokens": "Für die Konfiguration der Autoritätsdelegierung muss {0}.MaxActiveTokens größer als Null sein.",
"config.mtls.rotation_grace_negative": "Mtls.RotationGrace darf nicht negativ sein.",
"config.mtls.audiences_required": "Mtls.EnforceForAudiences muss bei Aktivierung mindestens eine Zielgruppe enthalten.",
"config.mtls.ca_empty": "Mtls.AllowedCertificateAuthorities-Einträge dürfen nicht leer sein.",
"config.mtls.san_types_required": "Mtls.AllowedSanTypes muss bei Aktivierung mindestens einen Eintrag enthalten.",
"config.mtls.subject_patterns_empty": "Mtls.AllowedSubjectPatterns-Einträge dürfen nicht leer sein.",
"config.mtls.subject_pattern_invalid": "Mtls.AllowedSubjectPatterns-Eintrag '{0}' ist kein gültiger regulärer Ausdruck.",
"config.signing.key_id_required": "Für die Konfiguration der Autoritätssignierung ist signing.activeKeyId erforderlich.",
"config.signing.key_path_required": "Für die Konfiguration der Autoritätssignierung ist signing.keyPath erforderlich.",
"config.signing.jwks_cache_range": "Für die Konfiguration der Autoritätssignatur muss signing.jwksCacheLifetime zwischen 00:00:01 und 01:00:00 liegen.",
"config.signing.additional_key_id_required": "Für zusätzliche Signaturschlüssel ist eine Schlüssel-ID erforderlich.",
"config.signing.additional_key_path_required": "Für den Signaturschlüssel '{0}' ist ein Pfad erforderlich.",
"config.bootstrap.api_key_required": "Für die Autoritäts-Bootstrap-Konfiguration ist bei Aktivierung ein API-Schlüssel erforderlich.",
"config.bootstrap.idp_required": "Wenn die Autoritäts-Bootstrap-Konfiguration aktiviert ist, ist ein Standard-Identitätsanbietername erforderlich.",
"config.rate_limit.permit_limit": "Für die Berechtigungsratenbegrenzung '{0}' muss permitLimit“ größer als Null sein.",
"config.rate_limit.queue_limit": "Berechtigungsratenbegrenzung '{0}' queueLimit darf nicht negativ sein.",
"config.rate_limit.window": "Das Fenster für die Berechtigungsratenbegrenzung '{0}' muss größer als Null und nicht länger als eine Stunde sein.",
"config.storage.connection_required": "Für die Berechtigungsspeicherung ist eine Verbindungszeichenfolge erforderlich.",
"config.storage.timeout_invalid": "Das Zeitlimit für den Autoritätsspeicherbefehl muss größer als Null sein.",
"config.ack_token.payload_type_required": "notifications.ackTokens.payloadType muss angegeben werden, wenn Bestätigungstoken aktiviert sind.",
"config.ack_token.default_lifetime_invalid": "notifications.ackTokens.defaultLifetime muss größer als Null sein.",
"config.ack_token.max_lifetime_invalid": "notifications.ackTokens.maxLifetime muss größer als Null und größer oder gleich defaultLifetime sein.",
"config.ack_token.key_id_required": "notifications.ackTokens.activeKeyId muss bereitgestellt werden, wenn Bestätigungstoken aktiviert sind.",
"config.ack_token.key_path_required": "notifications.ackTokens.keyPath muss bereitgestellt werden, wenn Bestätigungstoken aktiviert sind.",
"config.ack_token.jwks_cache_range": "notifications.ackTokens.jwksCacheLifetime muss zwischen 00:00:01 und 01:00:00 liegen.",
"config.exceptions.null_template": "Einträge in der Routing-Vorlage für Autoritätsausnahmen dürfen nicht null sein.",
"config.exceptions.duplicate_template": "Die Autoritätsausnahme-Routing-Vorlage '{0}' ist mehr als einmal konfiguriert.",
"config.exceptions.template_id_required": "Für Autoritätsausnahme-Routing-Vorlagen ist eine ID erforderlich.",
"config.exceptions.template_route_required": "Die Autoritätsausnahme-Routing-Vorlage '{0}' erfordert AuthorityRouteId.",
"config.sealed_mode.evidence_path_required": "AirGap.SealedMode.EvidencePath muss angegeben werden, wenn die Durchsetzung aktiviert ist.",
"config.sealed_mode.max_age_range": "AirGap.SealedMode.MaxEvidenceAge muss zwischen 00:00:01 und 7.00:00:00 liegen.",
"config.sealed_mode.cache_lifetime_range": "AirGap.SealedMode.CacheLifetime muss größer als Null und kleiner oder gleich AirGap.SealedMode.MaxEvidenceAge sein.",
"config.webhook.hosts_required": "notifications.webhooks.allowedHosts muss bei Aktivierung mindestens einen Host enthalten.",
"config.escalation.scope_required": "notifications.escalation.scope muss angegeben werden.",
"config.anti_forgery.audience_required": "vulnerabilityExplorer.workflow.antiForgery.audience muss angegeben werden, wenn Anti-Fälschungs-Token aktiviert sind.",
"config.anti_forgery.default_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.defaultLifetime muss größer als Null sein.",
"config.anti_forgery.max_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.maxLifetime muss größer als Null und größer oder gleich defaultLifetime sein.",
"config.anti_forgery.max_context_entries": "vulnerabilityExplorer.workflow.antiForgery.maxContextEntries darf nicht negativ sein.",
"config.anti_forgery.max_context_value_length": "vulnerabilityExplorer.workflow.antiForgery.maxContextValueLength muss größer als Null sein.",
"config.attachment.default_lifetime_invalid": "vulnerabilityExplorer.attachments.defaultLifetime muss größer als Null sein, wenn Anhangstoken aktiviert sind.",
"config.attachment.max_lifetime_invalid": "vulnerabilityExplorer.attachments.maxLifetime muss größer als Null und größer oder gleich defaultLifetime sein.",
"config.attachment.payload_type_required": "vulnerabilityExplorer.attachments.payloadType muss angegeben werden, wenn Anhangstoken aktiviert sind.",
"config.attachment.max_metadata_entries": "vulnerabilityExplorer.attachments.maxMetadataEntries darf nicht negativ sein.",
"config.attachment.max_metadata_value_length": "vulnerabilityExplorer.attachments.maxMetadataValueLength muss größer als Null sein.",
"config.api_lifecycle.sunset_after_deprecation": "Das Ablaufdatum der alten Authentifizierung muss nach dem Einstellungsdatum liegen.",
"config.api_lifecycle.docs_url_format": "Die URL der Legacy-Authentifizierungsdokumentation muss eine absolute HTTP- oder HTTPS-URL sein.",
"crypto.provider.algorithm_not_supported": "Der Signaturalgorithmus '{0}' wird vom Anbieter '{1}' nicht unterstützt.",
"crypto.provider.hash_not_supported": "Der Hash-Algorithmus '{0}' wird vom Anbieter '{1}' nicht unterstützt.",
"crypto.provider.verify_not_supported": "Der Verifizierungsalgorithmus '{0}' wird vom Anbieter '{1}' nicht unterstützt.",
"crypto.provider.key_not_registered": "Der Signaturschlüssel '{0}' ist nicht beim Anbieter '{1}' registriert.",
"crypto.provider.key_algorithm_mismatch": "Der Signaturschlüssel '{0}' ist für den Algorithmus '{1}' registriert, nicht für '{2}'.",
"crypto.provider.ec_keys_only": "Der Anbieter '{0}' akzeptiert nur EC-Signaturschlüssel.",
"crypto.provider.no_password_hashing": "Der Anbieter '{0}' stellt keine Passwort-Hashing-Funktionen zur Verfügung.",
"crypto.provider.no_content_hashing": "Der Anbieter '{0}' unterstützt kein Inhalts-Hashing.",
"crypto.provider.no_ephemeral_verification": "Der Anbieter '{0}' unterstützt keine kurzlebige Überprüfung.",
"crypto.provider.not_signing_capable": "Der Signaturalgorithmus '{0}' wird vom Anbieter '{1}' nicht unterstützt.",
"crypto.provider.es256_only": "Derzeit werden vom Anbieter '{0}' nur ES256-Signaturschlüssel unterstützt.",
"crypto.provider.p256_required": "ES256-Signaturschlüssel müssen die NIST P-256-Kurve verwenden.",
"crypto.provider.curve_mismatch": "Nichtübereinstimmung der Signierschlüsselkurve. Erwartete Kurve '{0}' für Algorithmus '{1}'.",
"crypto.registry.empty": "Es muss mindestens ein Kryptoanbieter registriert sein.",
"crypto.registry.algorithm_required": "Algorithmus-ID ist erforderlich.",
"crypto.registry.signing_not_supported": "Der Signaturalgorithmus '{0}' wird von keinem registrierten Anbieter unterstützt.",
"crypto.registry.hash_not_supported": "Der Hash-Algorithmus '{0}' wird von keinem registrierten Anbieter unterstützt.",
"crypto.registry.verify_not_supported": "Der Verifizierungsalgorithmus '{0}' wird von keinem registrierten Anbieter unterstützt.",
"crypto.registry.active_profile_required": "Aktives Profil ist erforderlich.",
"crypto.registry.profile_not_found": "Die Profil-ID '{0}' wurde in der Registrierung nicht gefunden.",
"crypto.registry.profile_id_required": "Die Profil-ID darf nicht null oder leer sein.",
"crypto.key.algorithm_required": "Algorithmus-ID ist erforderlich.",
"crypto.key.private_scalar_required": "Private Schlüsselparameter müssen die Skalarkomponente enthalten.",
"crypto.key.verification_only": "Dieser Konstruktor ist nur für Nur-Verifizierungsschlüssel vorgesehen. Setzen Sie „VerificationOnly“ auf „true.",
"crypto.key.public_xy_required": "Die Parameter des öffentlichen Schlüssels müssen X- und Y-Koordinaten enthalten.",
"crypto.key.private_material_required": "Privates Schlüsselmaterial muss bereitgestellt werden.",
"crypto.hash.algorithm_unsupported": "Nicht unterstützter Hash-Algorithmus '{0}'.",
"crypto.hash.purpose_required": "Der Zweck darf nicht null oder leer sein.",
"crypto.hmac.algorithm_unknown": "Unbekannter HMAC-Algorithmus '{0}'.",
"crypto.hmac.algorithm_unsupported": "Nicht unterstützter HMAC-Algorithmus '{0}'.",
"crypto.ecdsa.algorithm_unsupported": "Nicht unterstützter ECDSA-Signaturalgorithmus '{0}'.",
"crypto.ecdsa.curve_unsupported": "Nicht unterstützte ECDSA-Kurvenzuordnung für den Algorithmus '{0}'.",
"crypto.digest.required": "Digest ist erforderlich.",
"crypto.digest.prefix_required": "{0} muss mit '{1}' beginnen.",
"crypto.digest.algorithm_unsupported": "Nicht unterstützter Digest-Algorithmus in '{0}'. Es wird nur sha256 unterstützt.",
"crypto.digest.hex_length": "{0} muss {1} Hexadezimalzeichen enthalten.",
"crypto.password.memory_cost_invalid": "Die Speicherkosten für das Passwort-Hashing müssen größer als Null sein.",
"crypto.password.iterations_invalid": "Die Anzahl der Passwort-Hashing-Iterationen muss größer als Null sein.",
"crypto.password.parallelism_invalid": "Die Passwort-Hashing-Parallelität muss größer als Null sein.",
"crypto.password.algorithm_mismatch": "{0} unterstützt nur den {1}-Algorithmus.",
"crypto.password.pbkdf2_iterations": "PBKDF2 erfordert eine positive Iterationszahl.",
"crypto.gost.not_der": "Die Signatur ist nicht DER-codiert.",
"crypto.gost.invalid_der": "Ungültige DER-Struktur für GOST-Signatur.",
"crypto.gost.raw_length": "Die rohe GOST-Signatur muss {0} Bytes umfassen.",
"crypto.gost.neither_format": "Die Signaturnutzlast ist weder DER- noch das GOST-Rohformat.",
"crypto.gost.coordinate_overflow": "Die Koordinate überschreitet die erwartete Länge.",
"crypto.profile.unknown_purpose": "Unbekannter Hash-Zweck '{0}' im Profil '{1}'.",
"crypto.compliance.at_least_one_signing": "Es muss mindestens ein Signaturalgorithmus angegeben werden.",
"crypto.compliance.at_least_one_hash": "Es muss mindestens ein Hash-Algorithmus angegeben werden.",
"crypto.ed25519.private_key_size": "Der private Schlüssel Ed25519 muss 32 oder 64 Byte lang sein.",
"crypto.ed25519.public_key_size": "Der öffentliche Schlüssel Ed25519 muss 32 Byte lang sein.",
"crypto.ed25519.no_hashing": "Der BouncyCastle Ed25519-Anbieter stellt keine Hashing-Funktionen zur Verfügung.",
"crypto.ed25519.raw_key_required": "Der Anbieter '{0}' benötigt rohes Ed25519-Privatschlüsselmaterial.",
"crypto.sm.no_password_hashing": "Der SM-Anbieter stellt kein Passwort-Hashing zur Verfügung.",
"crypto.sm.raw_key_required": "Der SM2-Anbieter erfordert rohe private Schlüsselbytes (PKCS#8 DER).",
"crypto.sm.unsupported_format": "Nicht unterstütztes SM2-Schlüsselformat. Erwarten Sie PEM oder PKCS#8 DER.",
"crypto.sm.disabled": "Der Anbieter '{0}' ist deaktiviert. Legen Sie {1}=1 fest (oder deaktivieren Sie RequireEnvironmentGate), um die Software SM2/SM3 zu aktivieren.",
"crypto.di.registry_empty": "Das Register des Kryptoanbieters darf nicht leer sein. Konfigurieren Sie mindestens einen Anbieter für RU-Bereitstellungen.",
"crypto.di.ru_openssl_required": "Die Linux-RU-Baseline erfordert den Anbieter 'ru.openssl.gost' (stellen Sie STELLAOPS_CRYPTO_ENABLE_RU_OPENSSL=0 ein, um explizit zu überschreiben).",
"crypto.di.ru_provider_required": "Die RU-Linux-Basislinie ist falsch konfiguriert: Sowohl ru.openssl.gost als auch ru.pkcs11 sind über die Umgebung deaktiviert. Aktivieren Sie mindestens einen Anbieter.",
"crypto.di.no_plugins_loaded": "Es wurden keine Krypto-Anbieter geladen. Überprüfen Sie die Plugin-Konfiguration und das Manifest.",
"crypto.kms.rotation_via_policy": "Die {0}-Rotation muss über {1}-Richtlinien oder -Zeitpläne orchestriert werden.",
"crypto.kms.revocation_via_policy": "Der Widerruf von {0} muss über {1}-APIs oder Konsole verwaltet werden.",
"crypto.kms.public_key_missing_x": "Dem öffentlichen Schlüssel fehlt die X-Koordinate.",
"crypto.kms.public_key_missing_y": "Dem öffentlichen Schlüssel fehlt die Y-Koordinate.",
"crypto.kms.hash_failed": "Hash-Nutzlast mit SHA-256 fehlgeschlagen.",
"crypto.kms.key_not_found": "Schlüssel '{0}' existiert nicht.",
"crypto.kms.key_revoked": "Der Schlüssel '{0}' wurde widerrufen und kann nicht rotiert werden.",
"crypto.kms.key_revoked_signing": "Der Schlüssel '{0}' ist widerrufen und kann nicht zum Signieren verwendet werden.",
"crypto.kms.key_version_not_found": "Die Schlüsselversion '{0}' ist für den Schlüssel '{1}' nicht vorhanden.",
"crypto.kms.key_no_active_version": "Der Schlüssel '{0}' hat keine aktive Version.",
"crypto.kms.key_version_inactive": "Die Schlüsselversion '{0}' ist nicht aktiv. Aktueller Stand: {1}",
"crypto.kms.key_no_public_material": "Die Schlüsselversion '{0}' '{1}' verfügt über kein öffentliches Schlüsselmaterial.",
"crypto.kms.algorithm_unsupported": "Der Algorithmus '{0}' wird vom Datei-KMS-Treiber nicht unterstützt.",
"crypto.kms.curve_unsupported": "Kurve '{0}' wird nicht unterstützt.",
"crypto.kms.metadata_failed": "Schlüsselmetadaten konnten nicht erstellt oder geladen werden.",
"crypto.kms.algorithm_mismatch": "Nichtübereinstimmung des Algorithmus. '{0}' erwartet, '{1}' erhalten.",
"crypto.kms.version_exists": "Für den Schlüssel '{1}' existiert bereits die Schlüsselversion '{0}'.",
"crypto.kms.material_not_found": "Schlüsselmaterial für Version '{0}' wurde nicht gefunden.",
"crypto.kms.envelope_deserialize_failed": "Der Schlüsselumschlag konnte nicht deserialisiert werden.",
"crypto.kms.payload_deserialize_failed": "Schlüsselnutzlast konnte nicht deserialisiert werden.",
"crypto.kms.pem_empty": "Der öffentliche Schlüssel PEM darf nicht leer sein.",
"crypto.kms.no_primary_version": "Für den Kryptoschlüssel '{0}' gibt es keine aktive Primärversion.",
"crypto.kms.es256_only": "Der Anbieter '{0}' unterstützt nur ES256-Signaturschlüssel.",
"crypto.kms.version_metadata_required": "KMS-Signaturschlüssel müssen den Metadateneintrag 'kms.version' enthalten.",
"crypto.kms.missing_public_key": "Dem KMS-Signaturschlüssel fehlt öffentliches Schlüsselmaterial.",
"crypto.fido2.curve_unsupported": "Nicht unterstützte FIDO2-Kurven-OID '{0}'.",
"crypto.fido2.rotation_required": "Für die Rotation der FIDO2-Anmeldeinformationen ist eine Neuregistrierung erforderlich.",
"crypto.fido2.revocation_relying_party": "Der Widerruf von FIDO2-Anmeldeinformationen muss auf der vertrauenden Seite verwaltet werden.",
"crypto.fido2.missing_x": "Dem öffentlichen FIDO2-Schlüssel fehlt die X-Koordinate.",
"crypto.fido2.missing_y": "Dem öffentlichen FIDO2-Schlüssel fehlt die Y-Koordinate.",
"crypto.fido2.authenticator_required": "IFido2Authenticator muss registriert sein, um FIDO2 KMS verwenden zu können.",
"crypto.pkcs11.rotation_hsm": "Für die PKCS#11-Rotation sind HSM-Verwaltungstools erforderlich.",
"crypto.pkcs11.revocation_hsm": "Der PKCS#11-Widerruf muss durch HSM-Richtlinien gehandhabt werden.",
"crypto.pkcs11.slot_not_found": "Der PKCS#11-Steckplatz konnte nicht aufgelöst werden.",
"crypto.pkcs11.private_key_not_found": "Der private PKCS#11-Schlüssel wurde nicht gefunden.",
"crypto.pkcs11.public_key_not_found": "Öffentlicher PKCS#11-Schlüssel nicht gefunden.",
"crypto.pkcs11.missing_ec_point": "Im öffentlichen Schlüssel fehlt der EC-Punkt.",
"crypto.pkcs11.missing_ec_params": "Dem öffentlichen Schlüssel fehlen EC-Parameter.",
"crypto.pkcs11.unsupported_point_format": "Nicht unterstütztes EC-Punktformat.",
"crypto.pkcs11.curve_oid_unsupported": "Nicht unterstützte EC-Kurve OID '{0}'.",
"crypto.pkcs11.curve_unsupported": "Nicht unterstützte EC-Kurve '{0}'.",
"common.provcache.sbom_hash_required": "Der SBOM-Hash darf nicht null oder leer sein.",
"common.provcache.fetch_url_absolute": "Die Lazy-Fetch-Basis-URL muss absolut sein.",
"common.provcache.fetch_url_no_userinfo": "Die Lazy-Fetch-Basis-URL darf keine Benutzerinformationen enthalten.",
"common.provcache.fetch_url_host_required": "Die Lazy-Fetch-Basis-URL muss einen Host enthalten.",
"common.provcache.fetch_url_scheme_invalid": "Das Lazy-Fetch-Basis-URL-Schema '{0}' ist nicht zulässig.",
"common.provcache.fetch_url_host_invalid": "Der Lazy-Fetch-Basis-URL-Host '{0}' steht nicht auf der Zulassungsliste.",
"common.provcache.no_chunks_provided": "Keine Stücke vorhanden.",
"common.provcache.bundle_deserialize_failed": "Das Deserialisieren des Bundles ist fehlgeschlagen.",
"common.provcache.signer_not_configured": "Der Unterzeichner ist nicht konfiguriert.",
"common.provcache.signing_requested_no_signer": "Signierung angefordert, aber kein Signierer konfiguriert.",
"common.provcache.cache_entry_not_found": "Cache-Eintrag für VeriKey nicht gefunden: {0}",
"common.provcache.chunk_manifest_not_found": "Chunk-Manifest r Proof-Root nicht gefunden: {0}",
"common.provcache.http_timeout_invalid": "Das HTTP-Zeitlimit für Lazy Fetch muss eine positive, nicht unendliche Dauer sein.",
"common.provcache.http_base_address_required": "HttpChunkFetcher erfordert eine BaseAddress auf dem HTTP-Client.",
"common.provcache.merkle_root_mismatch": "Nichtübereinstimmung der Merkle-Wurzeln. Erwartet: {0}, Berechnet: {1}",
"common.provcache.chunk_verification_failed": "Chunk {0}-Überprüfung fehlgeschlagen. Erwarteter Hash: {1}",
"common.provcache.artifact_reference_required": "Artefaktreferenz ist erforderlich.",
"common.provcache.artifact_digest_required": "Artefakt-Digest ist erforderlich.",
"common.provcache.decision_digest_required": "DecisionDigest ist erforderlich.",
"common.provcache.decision_digest_verikey_required": "DecisionDigest.VeriKey ist erforderlich.",
"common.provcache.digest_empty": "Digest darf nicht leer sein.",
"common.provcache.time_window_required": "Das Zeitfenster darf nicht null oder leer sein.",
"common.provcache.vex_hash_required": "Der VEX-Hash-Set-Hash darf nicht null oder leer sein.",
"common.provcache.policy_hash_required": "Der Richtlinien-Hash darf nicht null oder leer sein.",
"common.provcache.source_hash_required": "Der Quell-Hash darf nicht null oder leer sein.",
"common.provcache.signer_set_hash_required": "Der Hash des Unterzeichnersatzes darf nicht null oder leer sein.",
"common.evidence.toolchain_required": "ToolChain muss vor dem Erstellen des Index festgelegt werden.",
"common.evidence.deserialization_failed": "Der Beweisindex konnte nicht deserialisiert werden.",
"common.evidence.verdict_deserialization_failed": "Das Urteil konnte nicht deserialisiert werden.",
"common.evidence.inputs_json_required": "JSON darf nicht null oder leer sein.",
"common.evidence.inputs_deserialization_failed": "Die Deserialisierung der angehefteten Bewertungseingaben ist fehlgeschlagen.",
"common.evidence.bundle_alert_id_required": "AlertId ist erforderlich",
"common.evidence.bundle_artifact_id_required": "ArtifactId ist erforderlich",
"common.evidence.pdf_export_requires_config": "Der PDF-Export erfordert zusätzliche Konfiguration",
"common.evidence.invalid_uri_format": "Ungültiges Beweis-URI-Format: {0}. Erwartet wird stella://type/path",
"common.evidence.invalid_uri_missing_path": "Ungültiges Beweis-URI-Format: {0}. Fehlender Pfad.",
"common.evidence.null_resolver_cannot_resolve": "NullTypeResolver kann den Beweistyp {0} nicht auflösen",
"common.evidence.schema_resource_not_found": "Schemaressource nicht gefunden: {0}",
"common.evidence.schema_resource_not_available": "Schemaressource nicht verfügbar: {0}",
"common.evidence.provenance_deserialize_failed": "Die Deserialisierung der Herkunft als Beweismittel ist fehlgeschlagen {0}",
"common.evidence.bundle_deserialize_failed": "Das Urteilspaket konnte nicht deserialisiert werden",
"common.evidence.delta_verdict_deserialize_failed": "Delta-Urteil konnte nicht deserialisiert werden",
"common.canonicalization.value_empty_after_trim": "Der Wert darf nach dem Trimmen nicht leer sein.",
"common.canonicalization.deserialize_failed": "{0} konnte nicht deserialisiert werden",
"common.canonicalization.datetime_value_null": "Der DateTimeOffset-Wert ist null.",
"common.canonicalization.dict_key_null": "Der Wörterbuchschlüssel darf nicht null sein.",
"common.audit.replay_token_value_empty": "Der Tokenwert darf nicht leer sein.",
"common.audit.replay_token_empty": "Token darf nicht leer sein.",
"common.audit.replay_token_format_invalid": "Ungültiges Wiedergabetokenformat: {0}",
"common.audit.replay_token_version_invalid": "Ungültige Replay-Token-Version: {0}",
"common.audit.replay_token_expiration_invalid": "Ungültiger Ablaufzeitstempel im Wiedergabetoken: {0}",
"common.audit.replay_token_duplicate_context_key": "AdditionalContext enthält nach der Normalisierung einen doppelten Schlüssel: '{0}'.",
"common.artifact.uri_format_invalid": "Ungültiges URI-Format: {0}",
"common.artifact.uri_scheme_not_supported": "URI-Schema nicht unterstützt: {0}",
"common.artifact.file_not_accessible": "Auf die Datei kann nicht zugegriffen werden: {0}",
"common.artifact.file_too_large": "Datei zu groß: {0} Bytes überschreiten die Grenze von 100 MB",
"common.artifact.uri_not_accessible": "URI nicht zugänglich: {0} hat {1} zurückgegeben",
"common.artifact.content_too_large": "Inhalt zu groß: {0} Bytes überschreiten die 100-MB-Grenze",
"common.artifact.fetch_failed": "Fehler beim Abrufen von {0}: {1}",
"common.delta_verdict.artifact_ref_required": "Artefaktreferenz ist erforderlich.",
"common.delta_verdict.unsupported_signing_algorithm": "Nicht unterstützter Signaturalgorithmus: {0}",
"common.delta_verdict.hmac_secret_required": "Für die HMAC-Signierung ist ein Base64-Geheimnis erforderlich.",
"common.eventing.no_entry_assembly": "Keine Eintragsassembly gefunden",
"auth.persistence.deserialize_inputs_failed": "Eingaben konnten nicht deserialisiert werden",
"auth.persistence.deserialize_result_failed": "Ergebnis konnte nicht deserialisiert werden",
"auth.persistence.revocation_sequence_mismatch": "Nicht übereinstimmende Sperrexportsequenz. Erwartet {0}, aktuell {1}.",
"auth.persistence.revocation_update_rejected": "Aktualisierung des Widerrufexportstatus abgelehnt. Erwartete Sequenz {0}."
}

View File

@@ -1,411 +1,367 @@
{
"_meta": { "locale": "es-ES", "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": "es-ES",
"namespace": "common",
"version": "1.1"
},
"common.error.generic": "Algo salió mal.",
"common.error.not_found": "No se encontró el recurso solicitado.",
"common.error.entity_not_found": "{0} '{1}' no encontrado.",
"common.error.unauthorized": "No tienes permiso para realizar esta acción.",
"common.error.forbidden": "Acceso denegado.",
"common.error.bad_request": "La solicitud no es válida.",
"common.error.conflict": "Se produjo un conflicto. Es posible que el recurso haya sido modificado.",
"common.error.timeout": "Se agotó el tiempo de espera de la solicitud después de {0} segundos.",
"common.error.server_error": "Se produjo un error interno del servidor. Inténtelo de nuevo más tarde.",
"common.error.service_unavailable": "El servicio no está disponible temporalmente.",
"common.error.too_many_requests": "Demasiadas solicitudes. Espere e inténtelo de nuevo.",
"common.error.network": "Error de red. Comprueba tu conexión.",
"common.error.body_required": "Se requiere el cuerpo de la solicitud.",
"common.error.deserialization_failed": "No se pudo deserializar {0}.",
"common.error.not_supported": "{0} no es compatible.",
"common.error.already_exists": "{0} '{1}' ya existe.",
"common.error.revoked": "{0} '{1}' ha sido revocado y no se puede utilizar.",
"common.error.state_invalid": "{0} '{1}' no se encuentra en el estado esperado. Estado actual: {2}",
"common.validation.required": "Se requiere {0}.",
"common.validation.invalid": "{0} no es válido.",
"common.validation.too_long": "{0} excede la longitud máxima de caracteres {1}.",
"common.validation.too_short": "{0} debe tener al menos caracteres {1}.",
"common.validation.out_of_range": "{0} debe estar entre {1} y {2}.",
"common.validation.invalid_format": "{0} tiene un formato no válido.",
"common.validation.duplicate": "{0} ya existe.",
"common.validation.empty_not_allowed": "{0} no debe estar vacío.",
"common.validation.empty_after_trim": "{0} no debe quedar vacío después del recorte.",
"common.validation.greater_than_zero": "{0} debe ser mayor que cero.",
"common.validation.non_negative": "{0} no debe ser negativo.",
"common.validation.at_least_one": "Se debe configurar al menos un {0}.",
"common.validation.at_least_n": "{0} debe tener al menos entradas {1}.",
"common.validation.null_or_empty": "{0} no puede ser nulo ni estar vacío.",
"common.validation.absolute_uri": "{0} debe ser un URI absoluto.",
"common.validation.invalid_regex": "{0} '{1}' no es una expresión regular válida.",
"common.validation.unknown_value": "{0} '{1}' no se reconoce. Valores permitidos: {2}",
"common.validation.max_exceeded": "{0} debe tener caracteres {1} o menos.",
"common.actions.save": "Guardar",
"common.actions.cancel": "Cancelar",
"common.actions.delete": "Eliminar",
"common.actions.confirm": "Confirmar",
"common.actions.submit": "Enviar",
"common.actions.close": "Cerrar",
"common.actions.retry": "Reintentar",
"common.actions.expand": "Expandir",
"common.actions.collapse": "Contraer",
"common.actions.show_more": "Mostrar más",
"common.actions.show_less": "Mostrar menos",
"common.status.healthy": "Saludable",
"common.status.degraded": "Degradado",
"common.status.unavailable": "Indisponible",
"common.status.unknown": "Desconocido",
"common.status.active": "Activo",
"common.status.inactive": "Inactivo",
"common.status.pending": "Pendiente",
"common.status.running": "En ejecución",
"common.status.completed": "Terminado",
"common.status.failed": "Fallido",
"common.status.canceled": "Cancelado",
"common.status.blocked": "Bloqueado",
"common.severity.critical": "Crítico",
"common.severity.high": "Alto",
"common.severity.medium": "Medio",
"common.severity.low": "Bajo",
"common.severity.info": "Información",
"common.severity.none": "Ninguna",
"common.time.seconds_ago": "{0} hace segundos",
"common.time.minutes_ago": "{0} hace minutos",
"common.time.hours_ago": "{0} hace horas",
"common.time.days_ago": "{0} hace días",
"common.time.just_now": "En este momento",
"common.ui.loading": "Cargando...",
"common.ui.saving": "Guardando...",
"common.ui.deleting": "Eliminando...",
"common.ui.submitting": "Enviando...",
"common.ui.no_results": "No se encontraron resultados.",
"common.ui.offline": "Estás desconectado.",
"common.ui.reconnecting": "Reconectando...",
"common.ui.back_online": "Conexión restablecida.",
"auth.dpop.proof_lifetime_invalid": "La vida útil de la prueba DPoP debe ser mayor que cero.",
"auth.dpop.clock_skew_invalid": "La desviación del reloj permitida por DPoP debe estar entre 0 segundos y 5 minutos.",
"auth.dpop.replay_window_invalid": "La ventana de reproducción de DPoP debe ser mayor o igual a cero.",
"auth.dpop.algorithm_required": "Se debe configurar al menos un algoritmo DPoP permitido.",
"auth.dpop.algorithm_empty_after_normalization": "Los algoritmos DPoP permitidos no pueden estar vacíos después de la normalización.",
"auth.dpop.options_required": "Se deben proporcionar opciones DPoP.",
"auth.dpop.nonce_ttl_invalid": "Nonce TTL debe ser mayor que cero.",
"auth.dpop.nonce_max_issuance_invalid": "La emisión máxima por minuto debe ser al menos 1.",
"auth.dpop.nonce_store_required": "Se debe especificar Dpop.Nonce.Store.",
"auth.dpop.nonce_store_invalid": "Dpop.Nonce.Store debe ser 'memory' o 'redis'.",
"auth.dpop.nonce_redis_required": "Se debe proporcionar Dpop.Nonce.RedisConnectionString cuando se utiliza la tienda 'redis'.",
"auth.dpop.nonce_audiences_required": "Dpop.Nonce.RequiredAudiences debe incluir al menos una audiencia.",
"auth.dpop.token_three_segments": "El token debe contener tres segmentos.",
"auth.dpop.segment_out_of_range": "Índice de segmento fuera de rango.",
"auth.dpop.header_decode_failed": "No se puede decodificar el encabezado.",
"auth.dpop.header_missing_typ": "Falta prueba DPoP typ=dpop+encabezado jwt.",
"auth.dpop.header_missing_alg": "A la prueba DPoP le falta el encabezado alg.",
"auth.dpop.header_unsupported_alg": "Algoritmo DPoP no compatible.",
"auth.dpop.header_missing_jwk": "A la prueba DPoP le falta el encabezado jwk.",
"auth.dpop.header_invalid_jwk": "El encabezado jwk de prueba DPoP no es válido.",
"auth.dpop.payload_decode_failed": "No se puede decodificar la carga útil.",
"auth.dpop.payload_missing_htm": "Falta la prueba DPoP en el reclamo htm.",
"auth.dpop.payload_htm_mismatch": "DPoP htm no coincide con el método de solicitud.",
"auth.dpop.payload_missing_htu": "Falta prueba de DPoP en el reclamo htu.",
"auth.dpop.payload_htu_mismatch": "DPoP htu no coincide con el URI de solicitud.",
"auth.dpop.payload_missing_iat": "Falta prueba de DPoP en el reclamo.",
"auth.dpop.payload_missing_jti": "Falta prueba DPoP del reclamo jti.",
"auth.dpop.payload_iat_invalid": "La prueba DPoP iat reclamación no es un número válido.",
"auth.dpop.nonce_missing": "A la prueba DPoP le falta el reclamo nonce.",
"auth.dpop.nonce_mismatch": "No coincide el nonce DPoP.",
"auth.dpop.proof_future": "Prueba DPoP emitida en el futuro.",
"auth.dpop.proof_expired": "La prueba DPoP expiró.",
"auth.dpop.signature_failed": "La validación de la firma de prueba DPoP falló.",
"auth.dpop.replay_detected": "Prueba DPoP ya utilizada.",
"config.authority.schema_version_required": "La configuración de autoridad requiere una versión de esquema positiva.",
"config.authority.issuer_required": "La configuración de la autoridad requiere una URL del emisor.",
"config.authority.issuer_absolute": "El emisor de la autoridad debe ser un URI absoluto.",
"config.authority.issuer_https": "El emisor de la autoridad debe utilizar HTTPS a menos que se ejecute en una interfaz de bucle invertido.",
"config.authority.duplicate_tenant": "La configuración de autoridad contiene un identificador de inquilino duplicado '{0}'.",
"config.authority.property_greater_than_zero": "La configuración de autoridad requiere que {0} sea mayor que cero.",
"config.authority.property_max": "La configuración de autoridad requiere que {0} sea menor o igual que {1}.",
"config.authority.remote_inference_required": "La configuración de autoridad requiere al menos un perfil de inferencia remota de IA de asesoramiento cuando la inferencia remota está habilitada.",
"config.tenant.id_required": "Cada inquilino requiere una identificación (slug).",
"config.tenant.id_format": "El ID de inquilino '{0}' debe contener solo letras minúsculas, dígitos y guiones.",
"config.tenant.project_format": "El inquilino '{0}' define el proyecto '{1}', que debe contener solo letras minúsculas, dígitos y guiones.",
"config.tenant.role_missing_config": "El inquilino '{0}' define el rol '{1}' sin configuración.",
"config.tenant.role_scope_required": "El rol del inquilino '{0}' '{1}' debe especificar al menos un alcance.",
"config.tenant.role_unknown_scope": "El rol del inquilino '{0}' '{1}' hace referencia al alcance desconocido '{2}'.",
"config.tenant.role_unsupported_attribute": "El rol del inquilino '{0}' '{1}' define el atributo no admitido '{2}'. Atributos permitidos: env, owner, business_tier.",
"config.tenant.delegation_max_tokens": "Para el inquilino '{0}', delegation.maxActiveTokens debe ser mayor que cero cuando se especifique.",
"config.tenant.remote_inference_disabled": "No se puede otorgar el consentimiento de inferencia remota del inquilino cuando la inferencia remota está deshabilitada.",
"config.tenant.remote_inference_consent_version_length": "La consentVersion de inferencia remota del inquilino debe tener {0} caracteres o menos.",
"config.tenant.remote_inference_consented_by_length": "El campo consentedBy de inferencia remota del inquilino debe tener {0} caracteres o menos.",
"config.tenant.remote_inference_consent_version_required": "El consentimiento de inferencia remota del inquilino requiere consentVersion cuando consentGranted es true.",
"config.tenant.remote_inference_consented_at_required": "El consentimiento de inferencia remota del inquilino requiere consentedAt cuando consentGranted es true.",
"config.service_account.id_required": "Las semillas de cuentas de servicio de delegación requieren un ID de cuenta.",
"config.service_account.id_format": "El ID de cuenta de servicio '{0}' debe contener letras minúsculas, dígitos, dos puntos, guiones bajos o guiones.",
"config.service_account.tenant_required": "La cuenta de servicio '{0}' requiere una asignación de inquilino.",
"config.service_account.tenant_unknown": "La cuenta de servicio '{0}' hace referencia al inquilino desconocido '{1}'.",
"config.service_account.scope_required": "La cuenta de servicio '{0}' debe especificar al menos un ámbito permitido.",
"config.service_account.unsupported_attribute": "La cuenta de servicio '{0}' define el atributo no admitido '{1}'. Atributos permitidos: env, propietario, business_tier.",
"config.plugin.assembly_required": "El complemento de autoridad '{0}' debe definir el nombre del ensamblaje o la ruta del ensamblaje.",
"config.plugin.config_file_required": "El complemento de autoridad '{0}' debe definir un archivo de configuración.",
"config.plugin.config_file_missing": "El complemento de autoridad '{0}' especifica el archivo de configuración '{1}' que no existe.",
"config.plugin.unknown_capability": "El complemento de autoridad '{0}' declara capacidad desconocida '{1}'. Valores permitidos: contraseña, mfa, clientProvisioning, bootstrap.",
"config.plugin.descriptor_null": "El descriptor del complemento de autoridad '{0}' es nulo.",
"config.delegation.duplicate_account": "La configuración de delegación contiene un ID de cuenta de servicio duplicado, '{0}'.",
"config.delegation.quota_max_tokens": "La configuración de delegación de autoridad requiere que {0}.MaxActiveTokens sea mayor que cero.",
"config.mtls.rotation_grace_negative": "Mtls.RotationGrace no debe ser negativo.",
"config.mtls.audiences_required": "Mtls.EnforceForAudiences debe incluir al menos una audiencia cuando esté habilitado.",
"config.mtls.ca_empty": "Las entradas Mtls.AllowedCertificateAuthorities no deben estar vacías.",
"config.mtls.san_types_required": "Mtls.AllowedSanTypes debe incluir al menos una entrada cuando esté habilitado.",
"config.mtls.subject_patterns_empty": "Las entradas Mtls.AllowedSubjectPatterns no deben estar vacías.",
"config.mtls.subject_pattern_invalid": "La entrada Mtls.AllowedSubjectPatterns '{0}' no es una expresión regular válida.",
"config.signing.key_id_required": "La configuración de firma de autoridad requiere signing.activeKeyId.",
"config.signing.key_path_required": "La configuración de firma de autoridad requiere signing.keyPath.",
"config.signing.jwks_cache_range": "La configuración de firma de autoridad requiere que signing.jwksCacheLifetime esté entre 00:00:01 y 01:00:00.",
"config.signing.additional_key_id_required": "Las claves de firma adicionales requieren un keyId.",
"config.signing.additional_key_path_required": "La clave de firma '{0}' requiere una ruta.",
"config.bootstrap.api_key_required": "La configuración de arranque de autoridad requiere una clave API cuando está habilitada.",
"config.bootstrap.idp_required": "La configuración de arranque de autoridad requiere un nombre de proveedor de identidad predeterminado cuando está habilitada.",
"config.rate_limit.permit_limit": "La limitación de la tasa de autoridad '{0}' requiere que permitLimit sea mayor que cero.",
"config.rate_limit.queue_limit": "El límite de tasa de autoridad '{0}' queueLimit no puede ser negativo.",
"config.rate_limit.window": "La ventana '{0}' que limita la tasa de autoridad debe ser mayor que cero y no más de una hora.",
"config.storage.connection_required": "El almacenamiento de autoridad requiere una cadena de conexión.",
"config.storage.timeout_invalid": "El tiempo de espera del comando de almacenamiento de autoridad debe ser mayor que cero.",
"config.ack_token.payload_type_required": "Se debe especificar notifications.ackTokens.payloadType cuando los tokens de confirmación están habilitados.",
"config.ack_token.default_lifetime_invalid": "notifications.ackTokens.defaultLifetime debe ser mayor que cero.",
"config.ack_token.max_lifetime_invalid": "notifications.ackTokens.maxLifetime debe ser mayor que cero y mayor o igual que defaultLifetime.",
"config.ack_token.key_id_required": "Se debe proporcionar notifications.ackTokens.activeKeyId cuando los tokens de confirmación están habilitados.",
"config.ack_token.key_path_required": "Se debe proporcionar notifications.ackTokens.keyPath cuando los tokens de confirmación están habilitados.",
"config.ack_token.jwks_cache_range": "notifications.ackTokens.jwksCacheLifetime debe estar entre las 00:00:01 y las 01:00:00.",
"config.exceptions.null_template": "Las entradas de la plantilla de enrutamiento de excepción de autoridad no deben ser nulas.",
"config.exceptions.duplicate_template": "La plantilla de enrutamiento de excepción de autoridad '{0}' se configura más de una vez.",
"config.exceptions.template_id_required": "Las plantillas de enrutamiento de excepción de autoridad requieren una identificación.",
"config.exceptions.template_route_required": "La plantilla de enrutamiento de excepción de autoridad '{0}' requiere AuthorityRouteId.",
"config.sealed_mode.evidence_path_required": "Se debe proporcionar AirGap.SealedMode.EvidencePath cuando la aplicación está habilitada.",
"config.sealed_mode.max_age_range": "AirGap.SealedMode.MaxEvidenceAge debe estar entre las 00:00:01 y las 7.00:00:00.",
"config.sealed_mode.cache_lifetime_range": "AirGap.SealedMode.CacheLifetime debe ser mayor que cero y menor o igual a AirGap.SealedMode.MaxEvidenceAge.",
"config.webhook.hosts_required": "notifications.webhooks.allowedHosts debe incluir al menos un host cuando esté habilitado.",
"config.escalation.scope_required": "Se debe especificar notifications.escalation.scope.",
"config.anti_forgery.audience_required": "Se debe especificar vulnerabilityExplorer.workflow.antiForgery.audience cuando los tokens antifalsificación están habilitados.",
"config.anti_forgery.default_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.defaultLifetime debe ser mayor que cero.",
"config.anti_forgery.max_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.maxLifetime debe ser mayor que cero y mayor o igual que defaultLifetime.",
"config.anti_forgery.max_context_entries": "vulnerabilityExplorer.workflow.antiForgery.maxContextEntries no debe ser negativo.",
"config.anti_forgery.max_context_value_length": "vulnerabilityExplorer.workflow.antiForgery.maxContextValueLength debe ser mayor que cero.",
"config.attachment.default_lifetime_invalid": "vulnerabilityExplorer.attachments.defaultLifetime debe ser mayor que cero cuando los tokens adjuntos están habilitados.",
"config.attachment.max_lifetime_invalid": "vulnerabilityExplorer.attachments.maxLifetime debe ser mayor que cero y mayor o igual que defaultLifetime.",
"config.attachment.payload_type_required": "Se debe especificar vulnerabilityExplorer.attachments.payloadType cuando los tokens adjuntos están habilitados.",
"config.attachment.max_metadata_entries": "vulnerabilityExplorer.attachments.maxMetadataEntries no debe ser negativo.",
"config.attachment.max_metadata_value_length": "vulnerabilityExplorer.attachments.maxMetadataValueLength debe ser mayor que cero.",
"config.api_lifecycle.sunset_after_deprecation": "La fecha de caducidad de la autenticación heredada debe ser posterior a la fecha de desuso.",
"config.api_lifecycle.docs_url_format": "La URL de documentación de autenticación heredada debe ser una URL HTTP o HTTPS absoluta.",
"crypto.provider.algorithm_not_supported": "El proveedor '{1}' no admite el algoritmo de firma '{0}'.",
"crypto.provider.hash_not_supported": "El proveedor '{1}' no admite el algoritmo hash '{0}'.",
"crypto.provider.verify_not_supported": "El proveedor '{1}' no admite el algoritmo de verificación '{0}'.",
"crypto.provider.key_not_registered": "La clave de firma '{0}' no está registrada con el proveedor '{1}'.",
"crypto.provider.key_algorithm_mismatch": "La clave de firma '{0}' está registrada para el algoritmo '{1}', no para '{2}'.",
"crypto.provider.ec_keys_only": "El proveedor '{0}' solo acepta claves de firma EC.",
"crypto.provider.no_password_hashing": "El proveedor '{0}' no expone capacidades de hash de contraseñas.",
"crypto.provider.no_content_hashing": "El proveedor '{0}' no admite el hash de contenido.",
"crypto.provider.no_ephemeral_verification": "El proveedor '{0}' no admite la verificación efímera.",
"crypto.provider.not_signing_capable": "El proveedor '{1}' no admite el algoritmo de firma '{0}'.",
"crypto.provider.es256_only": "Actualmente, el proveedor '{0}' solo admite claves de firma ES256.",
"crypto.provider.p256_required": "Las claves de firma ES256 deben utilizar la curva NIST P-256.",
"crypto.provider.curve_mismatch": "La curva de la clave de firma no coincide. Curva esperada '{0}' para el algoritmo '{1}'.",
"crypto.registry.empty": "Se debe registrar al menos un proveedor de cifrado.",
"crypto.registry.algorithm_required": "Se requiere el identificador del algoritmo.",
"crypto.registry.signing_not_supported": "Ningún proveedor registrado admite el algoritmo de firma '{0}'.",
"crypto.registry.hash_not_supported": "El algoritmo hash '{0}' no es compatible con ningún proveedor registrado.",
"crypto.registry.verify_not_supported": "El algoritmo de verificación '{0}' no es compatible con ningún proveedor registrado.",
"crypto.registry.active_profile_required": "Se requiere perfil activo.",
"crypto.registry.profile_not_found": "El ID de perfil '{0}' no se encuentra en el registro.",
"crypto.registry.profile_id_required": "El ID del perfil no puede ser nulo ni estar vacío.",
"crypto.key.algorithm_required": "Se requiere el identificador del algoritmo.",
"crypto.key.private_scalar_required": "Los parámetros de clave privada deben incluir el componente escalar.",
"crypto.key.verification_only": "Este constructor es sólo para claves de verificación únicamente. Establezca la verificaciónSolo en verdadero.",
"crypto.key.public_xy_required": "Los parámetros de clave pública deben incluir las coordenadas X e Y.",
"crypto.key.private_material_required": "Se debe proporcionar material de clave privada.",
"crypto.hash.algorithm_unsupported": "Algoritmo hash no compatible '{0}'.",
"crypto.hash.purpose_required": "El propósito no puede ser nulo o vacío.",
"crypto.hmac.algorithm_unknown": "Algoritmo HMAC desconocido '{0}'.",
"crypto.hmac.algorithm_unsupported": "Algoritmo HMAC no compatible '{0}'.",
"crypto.ecdsa.algorithm_unsupported": "Algoritmo de firma ECDSA no compatible '{0}'.",
"crypto.ecdsa.curve_unsupported": "Mapeo de curvas ECDSA no compatible para el algoritmo '{0}'.",
"crypto.digest.required": "Se requiere digestión.",
"crypto.digest.prefix_required": "{0} debe comenzar con '{1}'.",
"crypto.digest.algorithm_unsupported": "Algoritmo de resumen no compatible en '{0}'. Sólo se admite sha256.",
"crypto.digest.hex_length": "{0} debe contener caracteres hexadecimales {1}.",
"crypto.password.memory_cost_invalid": "El costo de la memoria hash de contraseñas debe ser mayor que cero.",
"crypto.password.iterations_invalid": "El recuento de iteraciones de hash de contraseña debe ser mayor que cero.",
"crypto.password.parallelism_invalid": "El paralelismo de hash de contraseñas debe ser mayor que cero.",
"crypto.password.algorithm_mismatch": "{0} solo admite el algoritmo {1}.",
"crypto.password.pbkdf2_iterations": "PBKDF2 requiere un recuento de iteraciones positivo.",
"crypto.gost.not_der": "La firma no está codificada en DER.",
"crypto.gost.invalid_der": "Estructura DER no válida para la firma GOST.",
"crypto.gost.raw_length": "La firma GOST sin formato debe ser de bytes {0}.",
"crypto.gost.neither_format": "La carga útil de la firma no tiene formato DER ni GOST sin formato.",
"crypto.gost.coordinate_overflow": "La coordenada excede la longitud esperada.",
"crypto.profile.unknown_purpose": "Propósito de hash desconocido '{0}' en el perfil '{1}'.",
"crypto.compliance.at_least_one_signing": "Se debe proporcionar al menos un algoritmo de firma.",
"crypto.compliance.at_least_one_hash": "Se debe proporcionar al menos un algoritmo hash.",
"crypto.ed25519.private_key_size": "La clave privada Ed25519 debe tener 32 o 64 bytes.",
"crypto.ed25519.public_key_size": "La clave pública Ed25519 debe tener 32 bytes.",
"crypto.ed25519.no_hashing": "El proveedor BouncyCastle Ed25519 no expone capacidades de hash.",
"crypto.ed25519.raw_key_required": "El proveedor '{0}' requiere material de clave privada Ed25519 sin procesar.",
"crypto.sm.no_password_hashing": "El proveedor SM no expone el hash de contraseñas.",
"crypto.sm.raw_key_required": "El proveedor SM2 requiere bytes de clave privada sin procesar (PKCS#8 DER).",
"crypto.sm.unsupported_format": "Formato de clave SM2 no compatible. Espere PEM o PKCS#8 DER.",
"crypto.sm.disabled": "El proveedor '{0}' está deshabilitado. Configure {1}=1 (o deshabilite RequireEnvironmentGate) para habilitar el software SM2/SM3.",
"crypto.di.registry_empty": "El registro de proveedores de cifrado no puede estar vacío. Configure al menos un proveedor para implementaciones de RU.",
"crypto.di.ru_openssl_required": "La línea base de Linux RU requiere el proveedor 'ru.openssl.gost' (establezca STELLAOPS_CRYPTO_ENABLE_RU_OPENSSL=0 para anularlo explícitamente).",
"crypto.di.ru_provider_required": "La línea base de RU Linux está mal configurada: tanto ru.openssl.gost como ru.pkcs11 están deshabilitados a través del entorno. Habilite al menos un proveedor.",
"crypto.di.no_plugins_loaded": "No se cargaron proveedores de cifrado. Verifique la configuración y el manifiesto del complemento.",
"crypto.kms.rotation_via_policy": "La rotación de {0} debe orquestarse mediante políticas o programaciones de {1}.",
"crypto.kms.revocation_via_policy": "La revocación de {0} se debe gestionar a través de las API o la consola de {1}.",
"crypto.kms.public_key_missing_x": "A la clave pública le falta la coordenada X.",
"crypto.kms.public_key_missing_y": "Falta la coordenada Y de la clave pública.",
"crypto.kms.hash_failed": "No se pudo realizar el hash de la carga útil con SHA-256.",
"crypto.kms.key_not_found": "La clave '{0}' no existe.",
"crypto.kms.key_revoked": "La clave '{0}' ha sido revocada y no se puede rotar.",
"crypto.kms.key_revoked_signing": "La clave '{0}' está revocada y no se puede utilizar para firmar.",
"crypto.kms.key_version_not_found": "La versión de clave '{0}' no existe para la clave '{1}'.",
"crypto.kms.key_no_active_version": "La clave '{0}' no tiene una versión activa.",
"crypto.kms.key_version_inactive": "La versión de clave '{0}' no está activa. Estado actual: {1}",
"crypto.kms.key_no_public_material": "La clave '{0}' versión '{1}' no tiene material de clave pública.",
"crypto.kms.algorithm_unsupported": "El algoritmo '{0}' no es compatible con el controlador de archivos KMS.",
"crypto.kms.curve_unsupported": "La curva '{0}' no es compatible.",
"crypto.kms.metadata_failed": "No se pudieron crear o cargar metadatos clave.",
"crypto.kms.algorithm_mismatch": "Discrepancia de algoritmo. Se esperaba '{0}', se recibió '{1}'.",
"crypto.kms.version_exists": "La versión de clave '{0}' ya existe para la clave '{1}'.",
"crypto.kms.material_not_found": "No se encontró material clave para la versión '{0}'.",
"crypto.kms.envelope_deserialize_failed": "No se pudo deserializar el sobre de clave.",
"crypto.kms.payload_deserialize_failed": "No se pudo deserializar la carga útil de la clave.",
"crypto.kms.pem_empty": "La clave pública PEM no puede estar vacía.",
"crypto.kms.no_primary_version": "La clave criptográfica '{0}' no tiene una versión primaria activa.",
"crypto.kms.es256_only": "El proveedor '{0}' solo admite claves de firma ES256.",
"crypto.kms.version_metadata_required": "Las claves de firma de KMS deben incluir la entrada de metadatos 'kms.version'.",
"crypto.kms.missing_public_key": "A la clave de firma de KMS le falta material de clave pública.",
"crypto.fido2.curve_unsupported": "Curva FIDO2 no compatible OID '{0}'.",
"crypto.fido2.rotation_required": "La rotación de credenciales FIDO2 requiere una nueva inscripción.",
"crypto.fido2.revocation_relying_party": "La revocación de la credencial FIDO2 debe gestionarse en la parte que confía.",
"crypto.fido2.missing_x": "A la clave pública FIDO2 le falta la coordenada X.",
"crypto.fido2.missing_y": "Falta la coordenada Y de la clave pública FIDO2.",
"crypto.fido2.authenticator_required": "IFido2Authenticator debe estar registrado para utilizar FIDO2 KMS.",
"crypto.pkcs11.rotation_hsm": "La rotación de PKCS#11 requiere herramientas administrativas de HSM.",
"crypto.pkcs11.revocation_hsm": "La revocación de PKCS#11 debe ser manejada por las políticas de HSM.",
"crypto.pkcs11.slot_not_found": "No se pudo resolver la ranura PKCS#11.",
"crypto.pkcs11.private_key_not_found": "No se encontró la clave privada PKCS#11.",
"crypto.pkcs11.public_key_not_found": "No se encontró la clave pública PKCS#11.",
"crypto.pkcs11.missing_ec_point": "Falta el punto EC de la clave pública.",
"crypto.pkcs11.missing_ec_params": "Faltan parámetros EC de clave pública.",
"crypto.pkcs11.unsupported_point_format": "Formato de puntos EC no admitido.",
"crypto.pkcs11.curve_oid_unsupported": "Curva EC no admitida OID '{0}'.",
"crypto.pkcs11.curve_unsupported": "Curva EC no admitida '{0}'.",
"common.provcache.sbom_hash_required": "El hash SBOM no puede ser nulo ni estar vacío.",
"common.provcache.fetch_url_absolute": "La URL base de recuperación diferida debe ser absoluta.",
"common.provcache.fetch_url_no_userinfo": "La URL base de recuperación diferida no debe incluir información del usuario.",
"common.provcache.fetch_url_host_required": "La URL base de recuperación diferida debe incluir un host.",
"common.provcache.fetch_url_scheme_invalid": "No se permite el esquema de URL base de recuperación diferida '{0}'.",
"common.provcache.fetch_url_host_invalid": "El host de URL base de recuperación diferida '{0}' no está incluido en la lista de permitidos.",
"common.provcache.no_chunks_provided": "No se proporcionan trozos.",
"common.provcache.bundle_deserialize_failed": "No se pudo deserializar el paquete.",
"common.provcache.signer_not_configured": "El firmante no está configurado.",
"common.provcache.signing_requested_no_signer": "Se solicitó la firma pero no hay ningún firmante configurado.",
"common.provcache.cache_entry_not_found": "Entrada de caché no encontrada para VeriKey: {0}",
"common.provcache.chunk_manifest_not_found": "No se encontró el manifiesto del fragmento para la raíz de prueba: {0}",
"common.provcache.http_timeout_invalid": "El tiempo de espera de HTTP de recuperación diferida debe tener una duración positiva y no infinita.",
"common.provcache.http_base_address_required": "HttpChunkFetcher requiere una dirección base en el cliente HTTP.",
"common.provcache.merkle_root_mismatch": "La raíz de Merkle no coincide. Esperado: {0}, Calculado: {1}",
"common.provcache.chunk_verification_failed": "Error en la verificación del fragmento {0}. Hash esperado: {1}",
"common.provcache.artifact_reference_required": "Se requiere referencia de artefacto.",
"common.provcache.artifact_digest_required": "Se requiere un resumen de artefactos.",
"common.provcache.decision_digest_required": "Se requiere DecisionDigest.",
"common.provcache.decision_digest_verikey_required": "Se requiere DecisionDigest.VeriKey.",
"common.provcache.digest_empty": "El resumen no puede estar vacío.",
"common.provcache.time_window_required": "La ventana de tiempo no puede ser nula ni estar vacía.",
"common.provcache.vex_hash_required": "El hash del conjunto de hash VEX no puede ser nulo ni estar vacío.",
"common.provcache.policy_hash_required": "El hash de política no puede ser nulo ni estar vacío.",
"common.provcache.source_hash_required": "El hash de origen no puede ser nulo ni estar vacío.",
"common.provcache.signer_set_hash_required": "El hash del conjunto de firmantes no puede ser nulo ni estar vacío.",
"common.evidence.toolchain_required": "ToolChain debe configurarse antes de crear el índice.",
"common.evidence.deserialization_failed": "No se pudo deserializar el índice de evidencia.",
"common.evidence.verdict_deserialization_failed": "No se pudo deserializar el veredicto.",
"common.evidence.inputs_json_required": "JSON no puede ser nulo o vacío.",
"common.evidence.inputs_deserialization_failed": "No se pudieron deserializar las entradas de puntuación fijadas.",
"common.evidence.bundle_alert_id_required": "Se requiere ID de alerta",
"common.evidence.bundle_artifact_id_required": "Se requiere ID de artefacto",
"common.evidence.pdf_export_requires_config": "La exportación de PDF requiere configuración adicional",
"common.evidence.invalid_uri_format": "Formato de URI de evidencia no válido: {0}. Stella esperada: //tipo/ruta",
"common.evidence.invalid_uri_missing_path": "Formato de URI de evidencia no válido: {0}. Camino perdido.",
"common.evidence.null_resolver_cannot_resolve": "NullTypeResolver no puede resolver el tipo de evidencia: {0}",
"common.evidence.schema_resource_not_found": "Recurso de esquema no encontrado: {0}",
"common.evidence.schema_resource_not_available": "Recurso de esquema no disponible: {0}",
"common.evidence.provenance_deserialize_failed": "No se pudo deserializar la procedencia de la evidencia {0}",
"common.evidence.bundle_deserialize_failed": "No se pudo deserializar el paquete de veredictos",
"common.evidence.delta_verdict_deserialize_failed": "No se pudo deserializar el veredicto delta",
"common.canonicalization.value_empty_after_trim": "El valor no debe estar vacío después del recorte.",
"common.canonicalization.deserialize_failed": "No se pudo deserializar {0}",
"common.canonicalization.datetime_value_null": "El valor de DateTimeOffset es nulo.",
"common.canonicalization.dict_key_null": "La clave del diccionario no puede ser nula.",
"common.audit.replay_token_value_empty": "El valor del token no puede estar vacío.",
"common.audit.replay_token_empty": "El token no puede estar vacío.",
"common.audit.replay_token_format_invalid": "Formato de token de reproducción no válido: {0}",
"common.audit.replay_token_version_invalid": "Versión del token de reproducción no válida: {0}",
"common.audit.replay_token_expiration_invalid": "Marca de tiempo de vencimiento no válida en el token de reproducción: {0}",
"common.audit.replay_token_duplicate_context_key": "AdditionalContext contiene una clave duplicada después de la normalización: '{0}'.",
"common.artifact.uri_format_invalid": "Formato de URI no válido: {0}",
"common.artifact.uri_scheme_not_supported": "Esquema URI no compatible: {0}",
"common.artifact.file_not_accessible": "Archivo no accesible: {0}",
"common.artifact.file_too_large": "Archivo demasiado grande: los bytes {0} superan el límite de 100 MB",
"common.artifact.uri_not_accessible": "URI no accesible: {0} devolvió {1}",
"common.artifact.content_too_large": "Contenido demasiado grande: los bytes {0} superan el límite de 100 MB",
"common.artifact.fetch_failed": "No se pudo recuperar de {0}: {1}",
"common.delta_verdict.artifact_ref_required": "Se requiere referencia de artefacto.",
"common.delta_verdict.unsupported_signing_algorithm": "Algoritmo de firma no compatible: {0}",
"common.delta_verdict.hmac_secret_required": "La firma HMAC requiere un secreto base64.",
"common.eventing.no_entry_assembly": "No se encontró ningún ensamblaje de entrada",
"auth.persistence.deserialize_inputs_failed": "No se pudieron deserializar las entradas",
"auth.persistence.deserialize_result_failed": "No se pudo deserializar el resultado",
"auth.persistence.revocation_sequence_mismatch": "La secuencia de exportación de revocación no coincide. {0} esperado, {1} actual.",
"auth.persistence.revocation_update_rejected": "Se rechazó la actualización del estado de exportación de revocación. Secuencia esperada {0}."
}

View File

@@ -1,411 +1,367 @@
{
"_meta": { "locale": "fr-FR", "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": "fr-FR",
"namespace": "common",
"version": "1.1"
},
"common.error.generic": "Quelque chose s'est mal passé.",
"common.error.not_found": "La ressource demandée n'a pas été trouvée.",
"common.error.entity_not_found": "{0} '{1}' introuvable.",
"common.error.unauthorized": "Vous n'êtes pas autorisé à effectuer cette action.",
"common.error.forbidden": "Accès refusé.",
"common.error.bad_request": "La demande n'est pas valide.",
"common.error.conflict": "Un conflit est survenu. La ressource a peut-être été modifiée.",
"common.error.timeout": "La requête a expiré après {0} secondes.",
"common.error.server_error": "Une erreur de serveur interne s'est produite. Veuillez réessayer plus tard.",
"common.error.service_unavailable": "Le service est temporairement indisponible.",
"common.error.too_many_requests": "Trop de demandes. Veuillez patienter et réessayer.",
"common.error.network": "Erreur réseau. Vérifiez votre connexion.",
"common.error.body_required": "Le corps de la demande est requis.",
"common.error.deserialization_failed": "Échec de la désérialisation de {0}.",
"common.error.not_supported": "{0} nest pas pris en charge.",
"common.error.already_exists": "{0} '{1}' existe déjà.",
"common.error.revoked": "{0} '{1}' a été révoqué et ne peut pas être utilisé.",
"common.error.state_invalid": "{0} '{1}' nest pas dans létat attendu. État actuel : {2}",
"common.validation.required": "{0} est requis.",
"common.validation.invalid": "{0} nest pas valide.",
"common.validation.too_long": "{0} dépasse la longueur maximale des caractères {1}.",
"common.validation.too_short": "{0} doit contenir au moins des caractères {1}.",
"common.validation.out_of_range": "{0} doit être compris entre {1} et {2}.",
"common.validation.invalid_format": "{0} a un format non valide.",
"common.validation.duplicate": "{0} existe déjà.",
"common.validation.empty_not_allowed": "{0} ne doit pas être vide.",
"common.validation.empty_after_trim": "{0} ne doit pas être vide après le rognage.",
"common.validation.greater_than_zero": "{0} doit être supérieur à zéro.",
"common.validation.non_negative": "{0} doit être non négatif.",
"common.validation.at_least_one": "Au moins un {0} doit être configuré.",
"common.validation.at_least_n": "{0} doit avoir au moins des entrées {1}.",
"common.validation.null_or_empty": "{0} ne peut pas être nul ou vide.",
"common.validation.absolute_uri": "{0} doit être un URI absolu.",
"common.validation.invalid_regex": "{0} '{1}' n'est pas une expression régulière valide.",
"common.validation.unknown_value": "{0} '{1}' nest pas reconnu. Valeurs autorisées : {2}",
"common.validation.max_exceeded": "{0} doit contenir au maximum des caractères {1}.",
"common.actions.save": "Enregistrer",
"common.actions.cancel": "Annuler",
"common.actions.delete": "Supprimer",
"common.actions.confirm": "Confirmer",
"common.actions.submit": "Soumettre",
"common.actions.close": "Fermer",
"common.actions.retry": "Réessayer",
"common.actions.expand": "Développer",
"common.actions.collapse": "Réduire",
"common.actions.show_more": "Afficher plus",
"common.actions.show_less": "Afficher moins",
"common.status.healthy": "En bonne santé",
"common.status.degraded": "Dégradé",
"common.status.unavailable": "Indisponible",
"common.status.unknown": "Inconnu",
"common.status.active": "Actif",
"common.status.inactive": "Inactif",
"common.status.pending": "En attente",
"common.status.running": "En cours",
"common.status.completed": "Complété",
"common.status.failed": "Échoué",
"common.status.canceled": "Annulé",
"common.status.blocked": "Bloqué",
"common.severity.critical": "Critique",
"common.severity.high": "Haut",
"common.severity.medium": "Moyen",
"common.severity.low": "Faible",
"common.severity.info": "Informations",
"common.severity.none": "Aucune",
"common.time.seconds_ago": "{0} il y a quelques secondes",
"common.time.minutes_ago": "{0} il y a quelques minutes",
"common.time.hours_ago": "{0} il y a heures",
"common.time.days_ago": "{0} il y a jours",
"common.time.just_now": "Tout à l' heure",
"common.ui.loading": "Chargement...",
"common.ui.saving": "Enregistrement...",
"common.ui.deleting": "Suppression...",
"common.ui.submitting": "Envoi...",
"common.ui.no_results": "Aucun résultat trouvé.",
"common.ui.offline": "Vous êtes hors ligne.",
"common.ui.reconnecting": "Reconnexion...",
"common.ui.back_online": "De retour en ligne.",
"auth.dpop.proof_lifetime_invalid": "La durée de vie de la preuve DPoP doit être supérieure à zéro.",
"auth.dpop.clock_skew_invalid": "Le décalage dhorloge autorisé par DPoP doit être compris entre 0 seconde et 5 minutes.",
"auth.dpop.replay_window_invalid": "La fenêtre de relecture DPoP doit être supérieure ou égale à zéro.",
"auth.dpop.algorithm_required": "Au moins un algorithme DPoP autorisé doit être configuré.",
"auth.dpop.algorithm_empty_after_normalization": "Les algorithmes DPoP autorisés ne peuvent pas être vides après la normalisation.",
"auth.dpop.options_required": "Les options DPoP doivent être fournies.",
"auth.dpop.nonce_ttl_invalid": "Nonce TTL doit être supérieur à zéro.",
"auth.dpop.nonce_max_issuance_invalid": "L'émission maximale par minute doit être d'au moins 1.",
"auth.dpop.nonce_store_required": "Dpop.Nonce.Store doit être spécifié.",
"auth.dpop.nonce_store_invalid": "Dpop.Nonce.Store doit être soit 'memory', soit 'redis'.",
"auth.dpop.nonce_redis_required": "Dpop.Nonce.RedisConnectionString doit être fourni lors de lutilisation du magasin 'redis'.",
"auth.dpop.nonce_audiences_required": "Dpop.Nonce.RequiredAudiences doit inclure au moins une audience.",
"auth.dpop.token_three_segments": "Le jeton doit contenir trois segments.",
"auth.dpop.segment_out_of_range": "Indice de segment hors plage.",
"auth.dpop.header_decode_failed": "Impossible de décoder l'en-tête.",
"auth.dpop.header_missing_typ": "Preuve DPoP manquant en-tête typ=dpop+jwt.",
"auth.dpop.header_missing_alg": "Preuve DPoP manquant l'en-tête alg.",
"auth.dpop.header_unsupported_alg": "Algorithme DPoP non pris en charge.",
"auth.dpop.header_missing_jwk": "Preuve DPoP en-tête jwk manquant.",
"auth.dpop.header_invalid_jwk": "L'en-tête jwk de preuve DPoP n'est pas valide.",
"auth.dpop.payload_decode_failed": "Impossible de décoder la charge utile.",
"auth.dpop.payload_missing_htm": "Preuve DPoP manquant la réclamation htm.",
"auth.dpop.payload_htm_mismatch": "Le htm DPoP ne correspond pas à la méthode de demande.",
"auth.dpop.payload_missing_htu": "Preuve DPoP manquant la réclamation htu.",
"auth.dpop.payload_htu_mismatch": "DPoP htu ne correspond pas à l'URI de la demande.",
"auth.dpop.payload_missing_iat": "Preuve DPoP manquante dans cette réclamation.",
"auth.dpop.payload_missing_jti": "Preuve DPoP manquant la réclamation jti.",
"auth.dpop.payload_iat_invalid": "Preuve DPoP que la réclamation n'est pas un numéro valide.",
"auth.dpop.nonce_missing": "Preuve DPoP manquante, réclamation occasionnelle.",
"auth.dpop.nonce_mismatch": "DPoP ne correspond jamais.",
"auth.dpop.proof_future": "Preuve DPoP délivrée dans le futur.",
"auth.dpop.proof_expired": "La preuve DPoP a expiré.",
"auth.dpop.signature_failed": "La validation de la signature de preuve DPoP a échoué.",
"auth.dpop.replay_detected": "Preuve DPoP déjà utilisée.",
"config.authority.schema_version_required": "La configuration des autorités nécessite une version de schéma positive.",
"config.authority.issuer_required": "La configuration de l'autorité nécessite une URL d'émetteur.",
"config.authority.issuer_absolute": "Lémetteur dautorité doit être un URI absolu.",
"config.authority.issuer_https": "L'émetteur d'autorité doit utiliser HTTPS, sauf s'il s'exécute sur une interface de bouclage.",
"config.authority.duplicate_tenant": "La configuration des autorités contient un identifiant de locataire en double '{0}'.",
"config.authority.property_greater_than_zero": "La configuration des autorités nécessite que {0} soit supérieur à zéro.",
"config.authority.property_max": "La configuration des autorités nécessite que {0} soit inférieur ou égal à {1}.",
"config.authority.remote_inference_required": "La configuration des autorités nécessite au moins un profil dinférence à distance AI consultatif lorsque linférence à distance est activée.",
"config.tenant.id_required": "Chaque locataire nécessite un identifiant (slug).",
"config.tenant.id_format": "LID de locataire '{0}' doit contenir uniquement des lettres minuscules, des chiffres et des traits dunion.",
"config.tenant.project_format": "Le locataire '{0}' définit le projet '{1}' qui doit contenir uniquement des lettres minuscules, des chiffres et des traits d'union.",
"config.tenant.role_missing_config": "Le locataire '{0}' définit le rôle '{1}' sans configuration.",
"config.tenant.role_scope_required": "Le rôle de locataire '{0}' '{1}' doit spécifier au moins une portée.",
"config.tenant.role_unknown_scope": "Le rôle '{0}' du locataire '{1}' fait référence à une portée inconnue '{2}'.",
"config.tenant.role_unsupported_attribute": "Le rôle de locataire '{0}' '{1}' définit l'attribut '{2}' non pris en charge. Attributs autorisés : env, owner, business_tier.",
"config.tenant.delegation_max_tokens": "Pour le locataire '{0}', delegation.maxActiveTokens doit être supérieur à zéro lorsqu'il est spécifié.",
"config.tenant.remote_inference_disabled": "Le consentement du locataire à linférence à distance ne peut pas être accordé lorsque linférence à distance est désactivée.",
"config.tenant.remote_inference_consent_version_length": "La consentVersion dinférence distante du locataire doit contenir au plus {0} caractères.",
"config.tenant.remote_inference_consented_by_length": "Le champ consentedBy dinférence distante du locataire doit contenir au plus {0} caractères.",
"config.tenant.remote_inference_consent_version_required": "Le consentement dinférence distante du locataire exige consentVersion lorsque consentGranted=true.",
"config.tenant.remote_inference_consented_at_required": "Le consentement dinférence distante du locataire exige consentedAt lorsque consentGranted=true.",
"config.service_account.id_required": "Les graines de compte de service de délégation nécessitent un identifiant de compte.",
"config.service_account.id_format": "L'ID du compte de service '{0}' doit contenir des lettres minuscules, des chiffres, des deux-points, un trait de soulignement ou un trait d'union.",
"config.service_account.tenant_required": "Le compte de service '{0}' nécessite une attribution de locataire.",
"config.service_account.tenant_unknown": "Le compte de service '{0}' fait référence au locataire inconnu '{1}'.",
"config.service_account.scope_required": "Le compte de service '{0}' doit spécifier au moins une étendue autorisée.",
"config.service_account.unsupported_attribute": "Le compte de service '{0}' définit l'attribut '{1}' non pris en charge. Attributs autorisés : env, propriétaire, business_tier.",
"config.plugin.assembly_required": "Le plugin d'autorité '{0}' doit définir soit assemblyName, soit assemblyPath.",
"config.plugin.config_file_required": "Le plugin d'autorité '{0}' doit définir un fichier de configuration.",
"config.plugin.config_file_missing": "Le plugin d'autorité '{0}' spécifie le fichier de configuration '{1}' qui n'existe pas.",
"config.plugin.unknown_capability": "Le plugin d'autorité '{0}' déclare une capacité inconnue '{1}'. Valeurs autorisées : mot de passe, mfa, clientProvisioning, bootstrap.",
"config.plugin.descriptor_null": "Le descripteur de plugin d'autorité '{0}' est nul.",
"config.delegation.duplicate_account": "La configuration de délégation contient un ID de compte de service en double '{0}'.",
"config.delegation.quota_max_tokens": "La configuration de la délégation dautorité nécessite que {0}.MaxActiveTokens soit supérieur à zéro.",
"config.mtls.rotation_grace_negative": "Mtls.RotationGrace doit être non négatif.",
"config.mtls.audiences_required": "Mtls.EnforceForAudiences doit inclure au moins une audience lorsquil est activé.",
"config.mtls.ca_empty": "Les entrées Mtls.AllowedCertificateAuthorities ne doivent pas être vides.",
"config.mtls.san_types_required": "Mtls.AllowedSanTypes doit inclure au moins une entrée lorsqu'il est activé.",
"config.mtls.subject_patterns_empty": "Les entrées Mtls.AllowedSubjectPatterns ne doivent pas être vides.",
"config.mtls.subject_pattern_invalid": "L'entrée Mtls.AllowedSubjectPatterns '{0}' n'est pas une expression régulière valide.",
"config.signing.key_id_required": "La configuration de la signature d'autorité nécessite signing.activeKeyId.",
"config.signing.key_path_required": "La configuration de la signature d'autorité nécessite signing.keyPath.",
"config.signing.jwks_cache_range": "La configuration de la signature d'autorité nécessite que signing.jwksCacheLifetime se situe entre 00:00:01 et 01:00:00.",
"config.signing.additional_key_id_required": "Les clés de signature supplémentaires nécessitent un keyId.",
"config.signing.additional_key_path_required": "La clé de signature '{0}' nécessite un chemin.",
"config.bootstrap.api_key_required": "La configuration du bootstrap d'autorité nécessite une clé API lorsqu'elle est activée.",
"config.bootstrap.idp_required": "La configuration du bootstrap d'autorité nécessite un nom de fournisseur d'identité par défaut lorsqu'elle est activée.",
"config.rate_limit.permit_limit": "La limitation du taux dautorité '{0}' nécessite que permitLimit soit supérieur à zéro.",
"config.rate_limit.queue_limit": "Limitation du débit d'autorité '{0}' queueLimit ne peut pas être négatif.",
"config.rate_limit.window": "La fenêtre '{0}' de limitation du débit dautorité doit être supérieure à zéro et ne doit pas dépasser une heure.",
"config.storage.connection_required": "Le stockage dautorité nécessite une chaîne de connexion.",
"config.storage.timeout_invalid": "Le délai dexpiration de la commande de stockage dautorité doit être supérieur à zéro.",
"config.ack_token.payload_type_required": "notifications.ackTokens.payloadType doit être spécifié lorsque les jetons de réception sont activés.",
"config.ack_token.default_lifetime_invalid": "notifications.ackTokens.defaultLifetime doit être supérieur à zéro.",
"config.ack_token.max_lifetime_invalid": "notifications.ackTokens.maxLifetime doit être supérieur à zéro et supérieur ou égal à defaultLifetime.",
"config.ack_token.key_id_required": "notifications.ackTokens.activeKeyId doit être fourni lorsque les jetons de réception sont activés.",
"config.ack_token.key_path_required": "notifications.ackTokens.keyPath doit être fourni lorsque les jetons de réception sont activés.",
"config.ack_token.jwks_cache_range": "notifications.ackTokens.jwksCacheLifetime doit être compris entre 00:00:01 et 01:00:00.",
"config.exceptions.null_template": "Les entrées du modèle de routage dexception dautorité ne doivent pas être nulles.",
"config.exceptions.duplicate_template": "Le modèle de routage des exceptions dautorité '{0}' est configuré plusieurs fois.",
"config.exceptions.template_id_required": "Les modèles de routage dexception dautorité nécessitent un identifiant.",
"config.exceptions.template_route_required": "Le modèle de routage dexception dautorité '{0}' nécessite AuthorityRouteId.",
"config.sealed_mode.evidence_path_required": "AirGap.SealedMode.EvidencePath doit être fourni lorsque lapplication est activée.",
"config.sealed_mode.max_age_range": "AirGap.SealedMode.MaxEvidenceAge doit être compris entre 00:00:01 et 7.00:00:00.",
"config.sealed_mode.cache_lifetime_range": "AirGap.SealedMode.CacheLifetime doit être supérieur à zéro et inférieur ou égal à AirGap.SealedMode.MaxEvidenceAge.",
"config.webhook.hosts_required": "notifications.webhooks.allowedHosts doit inclure au moins un hôte lorsqu'il est activé.",
"config.escalation.scope_required": "notifications.escalation.scope doit être spécifié.",
"config.anti_forgery.audience_required": "vulnerabilityExplorer.workflow.antiForgery.audience doit être spécifié lorsque les jetons anti-contrefaçon sont activés.",
"config.anti_forgery.default_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.defaultLifetime doit être supérieur à zéro.",
"config.anti_forgery.max_lifetime_invalid": "vulnerabilityExplorer.workflow.antiForgery.maxLifetime doit être supérieur à zéro et supérieur ou égal à defaultLifetime.",
"config.anti_forgery.max_context_entries": "vulnerabilityExplorer.workflow.antiForgery.maxContextEntries doit être non négatif.",
"config.anti_forgery.max_context_value_length": "vulnerabilityExplorer.workflow.antiForgery.maxContextValueLength doit être supérieur à zéro.",
"config.attachment.default_lifetime_invalid": "vulnerabilityExplorer.attachments.defaultLifetime doit être supérieur à zéro lorsque les jetons de pièce jointe sont activés.",
"config.attachment.max_lifetime_invalid": "vulnerabilityExplorer.attachments.maxLifetime doit être supérieur à zéro et supérieur ou égal à defaultLifetime.",
"config.attachment.payload_type_required": "vulnerabilityExplorer.attachments.payloadType doit être spécifié lorsque les jetons de pièce jointe sont activés.",
"config.attachment.max_metadata_entries": "vulnerabilityExplorer.attachments.maxMetadataEntries doit être non négatif.",
"config.attachment.max_metadata_value_length": "vulnerabilityExplorer.attachments.maxMetadataValueLength doit être supérieur à zéro.",
"config.api_lifecycle.sunset_after_deprecation": "La date dexpiration de lauthentification héritée doit être postérieure à la date de dépréciation.",
"config.api_lifecycle.docs_url_format": "L'URL de la documentation d'authentification héritée doit être une URL HTTP ou HTTPS absolue.",
"crypto.provider.algorithm_not_supported": "L'algorithme de signature '{0}' n'est pas pris en charge par le fournisseur '{1}'.",
"crypto.provider.hash_not_supported": "L'algorithme de hachage '{0}' n'est pas pris en charge par le fournisseur '{1}'.",
"crypto.provider.verify_not_supported": "L'algorithme de vérification '{0}' n'est pas pris en charge par le fournisseur '{1}'.",
"crypto.provider.key_not_registered": "La clé de signature '{0}' nest pas enregistrée auprès du fournisseur '{1}'.",
"crypto.provider.key_algorithm_mismatch": "La clé de signature '{0}' est enregistrée pour l'algorithme '{1}', et non pour '{2}'.",
"crypto.provider.ec_keys_only": "Le fournisseur '{0}' accepte uniquement les clés de signature EC.",
"crypto.provider.no_password_hashing": "Le fournisseur '{0}' n'expose pas les capacités de hachage de mot de passe.",
"crypto.provider.no_content_hashing": "Le fournisseur '{0}' ne prend pas en charge le hachage de contenu.",
"crypto.provider.no_ephemeral_verification": "Le fournisseur '{0}' ne prend pas en charge la vérification éphémère.",
"crypto.provider.not_signing_capable": "L'algorithme de signature '{0}' n'est pas pris en charge par le fournisseur '{1}'.",
"crypto.provider.es256_only": "Seules les clés de signature ES256 sont actuellement prises en charge par le fournisseur '{0}'.",
"crypto.provider.p256_required": "Les clés de signature ES256 doivent utiliser la courbe NIST P-256.",
"crypto.provider.curve_mismatch": "Inadéquation de la courbe de clé de signature. Courbe attendue '{0}' pour l'algorithme '{1}'.",
"crypto.registry.empty": "Au moins un fournisseur de crypto doit être enregistré.",
"crypto.registry.algorithm_required": "Lidentifiant de lalgorithme est requis.",
"crypto.registry.signing_not_supported": "L'algorithme de signature '{0}' n'est pris en charge par aucun fournisseur enregistré.",
"crypto.registry.hash_not_supported": "L'algorithme de hachage '{0}' n'est pris en charge par aucun fournisseur enregistré.",
"crypto.registry.verify_not_supported": "L'algorithme de vérification '{0}' n'est pris en charge par aucun fournisseur enregistré.",
"crypto.registry.active_profile_required": "Un profil actif est requis.",
"crypto.registry.profile_not_found": "LID de profil '{0}' est introuvable dans le registre.",
"crypto.registry.profile_id_required": "L'ID de profil ne peut pas être nul ou vide.",
"crypto.key.algorithm_required": "Lidentifiant de lalgorithme est requis.",
"crypto.key.private_scalar_required": "Les paramètres de clé privée doivent inclure le composant scalaire.",
"crypto.key.verification_only": "Ce constructeur est uniquement destiné aux clés de vérification uniquement. Définissez vérificationOnly sur true.",
"crypto.key.public_xy_required": "Les paramètres de clé publique doivent inclure les coordonnées X et Y.",
"crypto.key.private_material_required": "Le matériel de clé privée doit être fourni.",
"crypto.hash.algorithm_unsupported": "Algorithme de hachage '{0}' non pris en charge.",
"crypto.hash.purpose_required": "Le but ne peut pas être nul ou vide.",
"crypto.hmac.algorithm_unknown": "Algorithme HMAC inconnu '{0}'.",
"crypto.hmac.algorithm_unsupported": "Algorithme HMAC '{0}' non pris en charge.",
"crypto.ecdsa.algorithm_unsupported": "Algorithme de signature ECDSA non pris en charge '{0}'.",
"crypto.ecdsa.curve_unsupported": "Mappage de courbe ECDSA non pris en charge pour l'algorithme '{0}'.",
"crypto.digest.required": "Un résumé est requis.",
"crypto.digest.prefix_required": "{0} doit commencer par '{1}'.",
"crypto.digest.algorithm_unsupported": "Algorithme de résumé non pris en charge dans '{0}'. Seul sha256 est pris en charge.",
"crypto.digest.hex_length": "{0} doit contenir des caractères hexadécimaux {1}.",
"crypto.password.memory_cost_invalid": "Le coût de la mémoire de hachage du mot de passe doit être supérieur à zéro.",
"crypto.password.iterations_invalid": "Le nombre ditérations de hachage de mot de passe doit être supérieur à zéro.",
"crypto.password.parallelism_invalid": "Le parallélisme du hachage des mots de passe doit être supérieur à zéro.",
"crypto.password.algorithm_mismatch": "{0} prend uniquement en charge l'algorithme {1}.",
"crypto.password.pbkdf2_iterations": "PBKDF2 nécessite un nombre d'itérations positif.",
"crypto.gost.not_der": "La signature nest pas codée en DER.",
"crypto.gost.invalid_der": "Structure DER invalide pour la signature GOST.",
"crypto.gost.raw_length": "La signature GOST brute doit être composée d'octets {0}.",
"crypto.gost.neither_format": "La charge utile de signature nest ni au format DER ni au format GOST brut.",
"crypto.gost.coordinate_overflow": "La coordonnée dépasse la longueur prévue.",
"crypto.profile.unknown_purpose": "Objectif de hachage inconnu '{0}' dans le profil '{1}'.",
"crypto.compliance.at_least_one_signing": "Au moins un algorithme de signature doit être fourni.",
"crypto.compliance.at_least_one_hash": "Au moins un algorithme de hachage doit être fourni.",
"crypto.ed25519.private_key_size": "La clé privée Ed25519 doit faire 32 ou 64 octets.",
"crypto.ed25519.public_key_size": "La clé publique Ed25519 doit faire 32 octets.",
"crypto.ed25519.no_hashing": "Le fournisseur BouncyCastle Ed25519 nexpose pas les capacités de hachage.",
"crypto.ed25519.raw_key_required": "Le fournisseur '{0}' nécessite le matériel de clé privée Ed25519 brut.",
"crypto.sm.no_password_hashing": "Le fournisseur SM n'expose pas le hachage de mot de passe.",
"crypto.sm.raw_key_required": "Le fournisseur SM2 nécessite des octets de clé privée brute (PKCS#8 DER).",
"crypto.sm.unsupported_format": "Format de clé SM2 non pris en charge. Attendez-vous à PEM ou PKCS#8 DER.",
"crypto.sm.disabled": "Le fournisseur '{0}' est désactivé. Définissez {1}=1 (ou désactivez RequireEnvironmentGate) pour activer le logiciel SM2/SM3.",
"crypto.di.registry_empty": "Le registre des fournisseurs de crypto ne peut pas être vide. Configurez au moins un fournisseur pour les déploiements RU.",
"crypto.di.ru_openssl_required": "La ligne de base Linux RU nécessite le fournisseur 'ru.openssl.gost' (définissez STELLAOPS_CRYPTO_ENABLE_RU_OPENSSL=0 pour remplacer explicitement).",
"crypto.di.ru_provider_required": "La ligne de base RU Linux est mal configurée : ru.openssl.gost et ru.pkcs11 sont désactivés via l'environnement. Activez au moins un fournisseur.",
"crypto.di.no_plugins_loaded": "Aucun fournisseur de chiffrement n'a été chargé. Vérifiez la configuration et le manifeste du plugin.",
"crypto.kms.rotation_via_policy": "La rotation {0} doit être orchestrée via des politiques ou des calendriers {1}.",
"crypto.kms.revocation_via_policy": "La révocation de {0} doit être gérée via les API ou la console {1}.",
"crypto.kms.public_key_missing_x": "Clé publique manquant la coordonnée X.",
"crypto.kms.public_key_missing_y": "Clé publique manquant la coordonnée Y.",
"crypto.kms.hash_failed": "Échec du hachage de la charge utile avec SHA-256.",
"crypto.kms.key_not_found": "La clé '{0}' nexiste pas.",
"crypto.kms.key_revoked": "La clé '{0}' a été révoquée et ne peut pas être pivotée.",
"crypto.kms.key_revoked_signing": "La clé '{0}' est révoquée et ne peut pas être utilisée pour la signature.",
"crypto.kms.key_version_not_found": "La version de clé '{0}' n'existe pas pour la clé '{1}'.",
"crypto.kms.key_no_active_version": "La clé '{0}' na pas de version active.",
"crypto.kms.key_version_inactive": "La version de clé '{0}' n'est pas active. État actuel : {1}",
"crypto.kms.key_no_public_material": "Clé '{0}' version '{1}' ne dispose pas de clé publique.",
"crypto.kms.algorithm_unsupported": "L'algorithme '{0}' n'est pas pris en charge par le pilote de fichier KMS.",
"crypto.kms.curve_unsupported": "La courbe '{0}' n'est pas prise en charge.",
"crypto.kms.metadata_failed": "Échec de la création ou du chargement des métadonnées clés.",
"crypto.kms.algorithm_mismatch": "Inadéquation des algorithmes. '{0}' attendu, reçu '{1}'.",
"crypto.kms.version_exists": "La version de clé '{0}' existe déjà pour la clé '{1}'.",
"crypto.kms.material_not_found": "Les éléments clés pour la version '{0}' sont introuvables.",
"crypto.kms.envelope_deserialize_failed": "L'enveloppe de clé n'a pas pu être désérialisée.",
"crypto.kms.payload_deserialize_failed": "La charge utile clé na pas pu être désérialisée.",
"crypto.kms.pem_empty": "La clé publique PEM ne peut pas être vide.",
"crypto.kms.no_primary_version": "La clé cryptographique '{0}' na pas de version principale active.",
"crypto.kms.es256_only": "Le fournisseur '{0}' prend uniquement en charge les clés de signature ES256.",
"crypto.kms.version_metadata_required": "Les clés de signature KMS doivent inclure l'entrée de métadonnées 'kms.version'.",
"crypto.kms.missing_public_key": "La clé de signature KMS ne contient pas de clé publique.",
"crypto.fido2.curve_unsupported": "Courbe FIDO2 OID '{0}' non prise en charge.",
"crypto.fido2.rotation_required": "La rotation des diplômes FIDO2 nécessite une nouvelle inscription.",
"crypto.fido2.revocation_relying_party": "La révocation des informations didentification FIDO2 doit être gérée dans la partie utilisatrice.",
"crypto.fido2.missing_x": "Clé publique FIDO2 manquant la coordonnée X.",
"crypto.fido2.missing_y": "Clé publique FIDO2 manquant la coordonnée Y.",
"crypto.fido2.authenticator_required": "IFido2Authenticator doit être enregistré pour utiliser FIDO2 KMS.",
"crypto.pkcs11.rotation_hsm": "La rotation PKCS#11 nécessite des outils d'administration HSM.",
"crypto.pkcs11.revocation_hsm": "La révocation PKCS#11 doit être gérée par les stratégies HSM.",
"crypto.pkcs11.slot_not_found": "Impossible de résoudre l'emplacement PKCS#11.",
"crypto.pkcs11.private_key_not_found": "Clé privée PKCS#11 introuvable.",
"crypto.pkcs11.public_key_not_found": "Clé publique PKCS#11 introuvable.",
"crypto.pkcs11.missing_ec_point": "Clé publique manquant le point EC.",
"crypto.pkcs11.missing_ec_params": "Clé publique manquant les paramètres EC.",
"crypto.pkcs11.unsupported_point_format": "Format de point EC non pris en charge.",
"crypto.pkcs11.curve_oid_unsupported": "Courbe EC non prise en charge OID '{0}'.",
"crypto.pkcs11.curve_unsupported": "Courbe EC non prise en charge '{0}'.",
"common.provcache.sbom_hash_required": "Le hachage SBOM ne peut pas être nul ou vide.",
"common.provcache.fetch_url_absolute": "L'URL de base de récupération différée doit être absolue.",
"common.provcache.fetch_url_no_userinfo": "L'URL de base de récupération différée ne doit pas inclure d'informations utilisateur.",
"common.provcache.fetch_url_host_required": "L'URL de base de récupération différée doit inclure un hôte.",
"common.provcache.fetch_url_scheme_invalid": "Le schéma d'URL de base de récupération différée '{0}' n'est pas autorisé.",
"common.provcache.fetch_url_host_invalid": "L'hôte d'URL de base de récupération différée '{0}' n'est pas sur la liste autorisée.",
"common.provcache.no_chunks_provided": "Aucun morceau fourni.",
"common.provcache.bundle_deserialize_failed": "Échec de la désérialisation du bundle.",
"common.provcache.signer_not_configured": "Le signataire n'est pas configuré.",
"common.provcache.signing_requested_no_signer": "Signature demandée mais aucun signataire n'est configuré.",
"common.provcache.cache_entry_not_found": "Entrée de cache introuvable pour VeriKey : {0}",
"common.provcache.chunk_manifest_not_found": "Manifeste de fragments introuvable pour la racine de preuve : {0}",
"common.provcache.http_timeout_invalid": "Le délai d'expiration HTTP de récupération différée doit être une durée positive et non infinie.",
"common.provcache.http_base_address_required": "HttpChunkFetcher nécessite une BaseAddress sur le client HTTP.",
"common.provcache.merkle_root_mismatch": "Inadéquation des racines de Merkle. Attendu : {0}, calculé : {1}",
"common.provcache.chunk_verification_failed": "La vérification du bloc {0} a échoué. Hachage attendu : {1}",
"common.provcache.artifact_reference_required": "Une référence à lartefact est requise.",
"common.provcache.artifact_digest_required": "Un résumé des artefacts est requis.",
"common.provcache.decision_digest_required": "DecisionDigest est requis.",
"common.provcache.decision_digest_verikey_required": "DecisionDigest.VeriKey est requis.",
"common.provcache.digest_empty": "Le résumé ne peut pas être vide.",
"common.provcache.time_window_required": "La fenêtre horaire ne peut pas être nulle ou vide.",
"common.provcache.vex_hash_required": "Le hachage du jeu de hachage VEX ne peut pas être nul ou vide.",
"common.provcache.policy_hash_required": "Le hachage de la stratégie ne peut pas être nul ou vide.",
"common.provcache.source_hash_required": "Le hachage source ne peut pas être nul ou vide.",
"common.provcache.signer_set_hash_required": "Le hachage de l'ensemble de signataires ne peut pas être nul ou vide.",
"common.evidence.toolchain_required": "ToolChain doit être défini avant de créer l'index.",
"common.evidence.deserialization_failed": "Échec de la désérialisation de l'index des preuves.",
"common.evidence.verdict_deserialization_failed": "Échec de la désérialisation du verdict.",
"common.evidence.inputs_json_required": "JSON ne peut pas être nul ou vide.",
"common.evidence.inputs_deserialization_failed": "Échec de la désérialisation des entrées de notation épinglées.",
"common.evidence.bundle_alert_id_required": "L'ID d'alerte est requis",
"common.evidence.bundle_artifact_id_required": "L'ID de l'artefact est requis",
"common.evidence.pdf_export_requires_config": "L'exportation PDF nécessite une configuration supplémentaire",
"common.evidence.invalid_uri_format": "Format URI de preuve non valide : {0}. Stella://type/chemin attendu",
"common.evidence.invalid_uri_missing_path": "Format URI de preuve non valide : {0}. Chemin manquant.",
"common.evidence.null_resolver_cannot_resolve": "NullTypeResolver ne peut pas résoudre le type de preuve : {0}",
"common.evidence.schema_resource_not_found": "Ressource de schéma introuvable : {0}",
"common.evidence.schema_resource_not_available": "Ressource de schéma non disponible : {0}",
"common.evidence.provenance_deserialize_failed": "Échec de la désérialisation de la provenance pour preuve {0}",
"common.evidence.bundle_deserialize_failed": "Échec de la désérialisation du paquet de verdicts",
"common.evidence.delta_verdict_deserialize_failed": "Échec de la désérialisation du verdict delta",
"common.canonicalization.value_empty_after_trim": "La valeur ne doit pas être vide après le découpage.",
"common.canonicalization.deserialize_failed": "Échec de la désérialisation de {0}",
"common.canonicalization.datetime_value_null": "La valeur DateTimeOffset est nulle.",
"common.canonicalization.dict_key_null": "La clé du dictionnaire ne peut pas être nulle.",
"common.audit.replay_token_value_empty": "La valeur du jeton ne peut pas être vide.",
"common.audit.replay_token_empty": "Le jeton ne peut pas être vide.",
"common.audit.replay_token_format_invalid": "Format de jeton de relecture non valide : {0}",
"common.audit.replay_token_version_invalid": "Version du jeton de relecture non valide : {0}",
"common.audit.replay_token_expiration_invalid": "Horodatage d'expiration non valide dans le jeton de relecture : {0}",
"common.audit.replay_token_duplicate_context_key": "AdditionalContext contient une clé en double après normalisation : '{0}'.",
"common.artifact.uri_format_invalid": "Format d'URI non valide : {0}",
"common.artifact.uri_scheme_not_supported": "Schéma d'URI non pris en charge : {0}",
"common.artifact.file_not_accessible": "Fichier non accessible : {0}",
"common.artifact.file_too_large": "Fichier trop volumineux : les octets {0} dépassent la limite de 100 Mo.",
"common.artifact.uri_not_accessible": "URI non accessible : {0} a renvoyé {1}",
"common.artifact.content_too_large": "Contenu trop volumineux : les octets {0} dépassent la limite de 100 Mo.",
"common.artifact.fetch_failed": "Échec de la récupération à partir de {0} : {1}",
"common.delta_verdict.artifact_ref_required": "Une référence à lartefact est requise.",
"common.delta_verdict.unsupported_signing_algorithm": "Algorithme de signature non pris en charge : {0}",
"common.delta_verdict.hmac_secret_required": "La signature HMAC nécessite un secret base64.",
"common.eventing.no_entry_assembly": "Aucun assemblage d'entrée trouvé",
"auth.persistence.deserialize_inputs_failed": "Échec de la désérialisation des entrées",
"auth.persistence.deserialize_result_failed": "Échec de la désérialisation du résultat",
"auth.persistence.revocation_sequence_mismatch": "Incohérence de la séquence d'exportation de révocation. {0} attendu, {1} actuel.",
"auth.persistence.revocation_update_rejected": "La mise à jour de l'état d'exportation de révocation a été rejetée. Séquence attendue {0}."
}

View File

@@ -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}."
}

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}."
}

View File

@@ -1,411 +1,367 @@
{
"_meta": { "locale": "zh-CN", "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": "zh-CN",
"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} 不能为 null 或为空。",
"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": "使用 'redis' 存储时必须提供 Dpop.Nonce.RedisConnectionString。",
"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": "DPoP 证明 jwk 标头无效。",
"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 证明缺少 IAT 声明。",
"auth.dpop.payload_missing_jti": "DPoP 证据缺少 jti 声明。",
"auth.dpop.payload_iat_invalid": "DPoP 证明 iat 声明不是有效数字。",
"auth.dpop.nonce_missing": "DPoP 证明缺少随机数声明。",
"auth.dpop.nonce_mismatch": "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": "权限配置需要正的 schemaVersion。",
"config.authority.issuer_required": "权限配置需要颁发者 URL。",
"config.authority.issuer_absolute": "权限颁发者必须是绝对 URI。",
"config.authority.issuer_https": "除非在环回接口上运行,否则授权颁发者必须使用 HTTPS。",
"config.authority.duplicate_tenant": "权限配置包含重复的租户标识符“{0}”。",
"config.authority.property_greater_than_zero": "权限配置要求 {0} 大于零。",
"config.authority.property_max": "权限配置要求{0}小于等于{1}。",
"config.authority.remote_inference_required": "启用远程推理时,权限配置需要至少一个咨询性 AI 远程推理配置文件。",
"config.tenant.id_required": "每个租户都需要一个 IDslug",
"config.tenant.id_format": "租户 ID“{0}”只能包含小写字母、数字和连字符。",
"config.tenant.project_format": "租户“{0}”定义的项目“{1}”只能包含小写字母、数字和连字符。",
"config.tenant.role_missing_config": "租户“{0}”定义了角色“{1}”,但缺少配置。",
"config.tenant.role_scope_required": "租户“{0}”的角色“{1}”必须至少指定一个范围。",
"config.tenant.role_unknown_scope": "租户“{0}”的角色“{1}”引用了未知范围“{2}”。",
"config.tenant.role_unsupported_attribute": "租户“{0}”的角色“{1}”定义了不受支持的属性“{2}”。允许的属性env、owner、business_tier。",
"config.tenant.delegation_max_tokens": "租户“{0}”的 delegation.maxActiveTokens 在指定时必须大于 0。",
"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": "当 consentGranted=true 时,租户远程推理同意需要 consentVersion。",
"config.tenant.remote_inference_consented_at_required": "当 consentGranted=true 时,租户远程推理同意需要 consentedAt。",
"config.service_account.id_required": "委派服务帐户种子需要 accountId。",
"config.service_account.id_format": "服务帐户 ID '{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}' 为空。",
"config.delegation.duplicate_account": "委派配置包含重复的服务帐户 ID '{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}'窗口必须大于零且不超过1小时。",
"config.storage.connection_required": "权限存储需要连接字符串。",
"config.storage.timeout_invalid": "权限存储命令超时必须大于零。",
"config.ack_token.payload_type_required": "启用 ack 令牌时必须指定 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": "当启用 ack 令牌时,必须提供 notifications.ackTokens.activeKeyId。",
"config.ack_token.key_path_required": "当启用 ack 令牌时,必须提供 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": "权限异常路由模板需要一个 ID。",
"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 必须是绝对 HTTP 或 HTTPS URL。",
"crypto.provider.algorithm_not_supported": "提供商 '{1}' 不支持签名算法 '{0}'。",
"crypto.provider.hash_not_supported": "提供商 '{1}' 不支持哈希算法 '{0}'。",
"crypto.provider.verify_not_supported": "提供商 '{1}' 不支持验证算法 '{0}'。",
"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": "提供商 '{1}' 不支持签名算法 '{0}'。",
"crypto.provider.es256_only": "提供商 '{0}' 当前仅支持 ES256 签名密钥。",
"crypto.provider.p256_required": "ES256 签名密钥必须使用 NIST P-256 曲线。",
"crypto.provider.curve_mismatch": "签名密钥曲线不匹配。算法 '{1}' 的预期曲线 '{0}'。",
"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": "配置文件 ID 不能为 null 或为空。",
"crypto.key.algorithm_required": "需要算法标识符。",
"crypto.key.private_scalar_required": "私钥参数必须包含标量部分。",
"crypto.key.verification_only": "此构造函数仅用于仅验证密钥。将 verifyOnly 设置为 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": "算法 '{0}' 不支持 ECDSA 曲线映射。",
"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": "GOST 签名的 DER 结构无效。",
"crypto.gost.raw_length": "原始 GOST 签名必须是 {0} 字节。",
"crypto.gost.neither_format": "签名有效负载既不是 DER 也不是原始 GOST 格式。",
"crypto.gost.coordinate_overflow": "坐标超出预期长度。",
"crypto.profile.unknown_purpose": "配置文件 '{1}' 中的未知哈希用途 '{0}'。",
"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": "密钥 '{1}' 的密钥版本 '{0}' 不存在。",
"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": "文件 KMS 驱动程序不支持算法 '{0}'。",
"crypto.kms.curve_unsupported": "不支持曲线 '{0}'。",
"crypto.kms.metadata_failed": "无法创建或加载关键元数据。",
"crypto.kms.algorithm_mismatch": "算法不匹配。预期为 '{0}',收到为 '{1}'",
"crypto.kms.version_exists": "密钥 '{1}' 的密钥版本 '{0}' 已存在。",
"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": "不支持的 FIDO2 曲线 OID '{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": "必须注册 IFido2Authenticator 才能使用 FIDO2 KMS。",
"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 哈希值不能为 null 或为空。",
"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": "延迟获取基本 URL 主机 '{0}' 未列入允许名单。",
"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 需要 HTTP 客户端上的 BaseAddress。",
"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": "需要决策摘要。",
"common.provcache.decision_digest_verikey_required": "DecisionDigest.VeriKey 为必填项。",
"common.provcache.digest_empty": "摘要不能为空。",
"common.provcache.time_window_required": "时间窗口不能为 null 或为空。",
"common.provcache.vex_hash_required": "VEX 哈希集哈希不能为 null 或为空。",
"common.provcache.policy_hash_required": "策略哈希不能为 null 或为空。",
"common.provcache.source_hash_required": "源哈希不能为 null 或为空。",
"common.provcache.signer_set_hash_required": "签名者集哈希值不能为 null 或为空。",
"common.evidence.toolchain_required": "ToolChain 必须在构建索引之前设置。",
"common.evidence.deserialization_failed": "无法反序列化证据索引。",
"common.evidence.verdict_deserialization_failed": "无法反序列化判决。",
"common.evidence.inputs_json_required": "JSON 不能为 null 或为空。",
"common.evidence.inputs_deserialization_failed": "无法反序列化固定的评分输入。",
"common.evidence.bundle_alert_id_required": "警报 ID 为必填项",
"common.evidence.bundle_artifact_id_required": "ArtifactId 为必填项",
"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": "无法反序列化 delta 判决",
"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} 字节超过 100MB 限制",
"common.artifact.uri_not_accessible": "URI 无法访问:{0} 返回 {1}",
"common.artifact.content_too_large": "内容太大:{0} 字节超过 100MB 限制",
"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}。"
}

View File

@@ -1,411 +1,367 @@
{
"_meta": { "locale": "zh-TW", "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": "zh-TW",
"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} 不能為 null 或為空。",
"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": "使用 'redis' 儲存時必須提供 Dpop.Nonce.RedisConnectionString。",
"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": "DPoP 證明 jwk 標頭無效。",
"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 證明缺少 IAT 聲明。",
"auth.dpop.payload_missing_jti": "DPoP 證據缺少 jti 聲明。",
"auth.dpop.payload_iat_invalid": "DPoP 證明 iat 聲明不是有效數字。",
"auth.dpop.nonce_missing": "DPoP 證明缺少隨機數字聲明。",
"auth.dpop.nonce_mismatch": "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": "權限配置需要正的 schemaVersion。",
"config.authority.issuer_required": "權限配置需要頒發者 URL。",
"config.authority.issuer_absolute": "權限頒發者必須是絕對 URI。",
"config.authority.issuer_https": "除非在環回介面上執行,否則授權頒發者必須使用 HTTPS。",
"config.authority.duplicate_tenant": "權限設定包含重複的租戶識別碼「{0}」。",
"config.authority.property_greater_than_zero": "權限配置要求 {0} 大於零。",
"config.authority.property_max": "權限配置要求{0}小於等於{1}。",
"config.authority.remote_inference_required": "啟用遠端推理時,權限配置需要至少一個諮詢性 AI 遠端推理設定檔。",
"config.tenant.id_required": "每個租戶都需要一個 IDslug",
"config.tenant.id_format": "租戶 ID「{0}」只能包含小寫字母、數字與連字號。",
"config.tenant.project_format": "租戶「{0}」定義的專案「{1}」只能包含小寫字母、數字與連字號。",
"config.tenant.role_missing_config": "租戶「{0}」定義了角色「{1}」,但缺少設定。",
"config.tenant.role_scope_required": "租戶「{0}」的角色「{1}」至少必須指定一個範圍。",
"config.tenant.role_unknown_scope": "租戶「{0}」的角色「{1}」引用未知範圍「{2}」。",
"config.tenant.role_unsupported_attribute": "租戶「{0}」的角色「{1}」定義了不支援的屬性「{2}」。允許的屬性env、owner、business_tier。",
"config.tenant.delegation_max_tokens": "租戶「{0}」的 delegation.maxActiveTokens 在指定時必須大於 0。",
"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": "當 consentGranted=true 時,租戶遠端推理同意需要 consentVersion。",
"config.tenant.remote_inference_consented_at_required": "當 consentGranted=true 時,租戶遠端推理同意需要 consentedAt。",
"config.service_account.id_required": "委派服務帳戶種子需要 accountId。",
"config.service_account.id_format": "服務帳號 ID '{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}' 為空。",
"config.delegation.duplicate_account": "委派配置包含重複的服務帳號 ID '{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}'視窗必須大於零且不超過1小時。",
"config.storage.connection_required": "權限儲存需要連接字串。",
"config.storage.timeout_invalid": "權限存儲命令超時必須大於零。",
"config.ack_token.payload_type_required": "啟用 ack 令牌時必須指定 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": "啟用 ack 令牌時,必須提供 notifications.ackTokens.activeKeyId。",
"config.ack_token.key_path_required": "啟用 ack 令牌時,必須提供 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": "權限異常路由範本需要一個 ID。",
"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 必須是絕對 HTTP 或 HTTPS URL。",
"crypto.provider.algorithm_not_supported": "提供者 '{1}' 不支援簽名演算法 '{0}'。",
"crypto.provider.hash_not_supported": "提供者 '{1}' 不支援哈希演算法 '{0}'。",
"crypto.provider.verify_not_supported": "供應商 '{1}' 不支援驗證演算法 '{0}'。",
"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": "提供者 '{1}' 不支援簽名演算法 '{0}'。",
"crypto.provider.es256_only": "提供者 '{0}' 目前僅支援 ES256 簽署金鑰。",
"crypto.provider.p256_required": "ES256 簽章金鑰必須使用 NIST P-256 曲線。",
"crypto.provider.curve_mismatch": "簽名金鑰曲線不符。演算法 '{1}' 的預期曲線 '{0}'。",
"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": "設定檔 ID 不能為 null 或為空。",
"crypto.key.algorithm_required": "需要演算法標識符。",
"crypto.key.private_scalar_required": "私鑰參數必須包含標量部分。",
"crypto.key.verification_only": "此建構函式僅用於僅驗證金鑰。將 verifyOnly 設為 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": "演算法 '{0}' 不支援 ECDSA 曲線映射。",
"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": "GOST 簽章的 DER 結構無效。",
"crypto.gost.raw_length": "原始 GOST 簽章必須是 {0} 位元組。",
"crypto.gost.neither_format": "簽章有效負載既不是 DER 也不是原始 GOST 格式。",
"crypto.gost.coordinate_overflow": "座標超出預期長度。",
"crypto.profile.unknown_purpose": "設定檔 '{1}' 中的未知哈希用途 '{0}'。",
"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": "金鑰 '{1}' 的金鑰版本 '{0}' 不存在。",
"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": "檔案 KMS 驅動程式不支援演算法 '{0}'。",
"crypto.kms.curve_unsupported": "不支援曲線 '{0}'。",
"crypto.kms.metadata_failed": "無法建立或載入關鍵元資料。",
"crypto.kms.algorithm_mismatch": "演算法不匹配。預期為 '{0}',收到為 '{1}'",
"crypto.kms.version_exists": "金鑰 '{1}' 的金鑰版本 '{0}' 已存在。",
"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": "不支援的 FIDO2 曲線 OID '{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": "必須註冊 IFido2Authenticator 才能使用 FIDO2 KMS。",
"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 雜湊值不能為 null 或為空。",
"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": "延遲取得基本 URL 主機 '{0}' 未列入允許名單。",
"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 需要 HTTP 用戶端上的 BaseAddress。",
"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": "需要決策摘要。",
"common.provcache.decision_digest_verikey_required": "DecisionDigest.VeriKey 為必填項。",
"common.provcache.digest_empty": "摘要不能為空。",
"common.provcache.time_window_required": "時間視窗不能為 null 或為空。",
"common.provcache.vex_hash_required": "VEX 雜湊集雜湊不能為 null 或為空。",
"common.provcache.policy_hash_required": "策略哈希不能為 null 或為空。",
"common.provcache.source_hash_required": "來源哈希不能為 null 或為空。",
"common.provcache.signer_set_hash_required": "簽署者集雜湊值不能為 null 或為空。",
"common.evidence.toolchain_required": "ToolChain 必須在建立索引之前設定。",
"common.evidence.deserialization_failed": "無法反序列化證據索引。",
"common.evidence.verdict_deserialization_failed": "無法反序列化判決。",
"common.evidence.inputs_json_required": "JSON 不能為 null 或為空。",
"common.evidence.inputs_deserialization_failed": "無法反序列化固定的評分輸入。",
"common.evidence.bundle_alert_id_required": "警報 ID 為必填項",
"common.evidence.bundle_artifact_id_required": "ArtifactId 為必填項",
"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": "無法反序列化 delta 判決",
"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} 位元組超過 100MB 限制",
"common.artifact.uri_not_accessible": "URI 無法存取:{0} 返回 {1}",
"common.artifact.content_too_large": "內容太大:{0} 位元組超過 100MB 限制",
"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}。"
}