// AUTO-GENERATED by scripts/gen-errors.mjs — do not edit by hand. // Source: stapel-auth canonical errors.json (backend codegen artifact). // Regenerate: pnpm gen:errors · Drift gate: pnpm gen:errors:check // Locale source: backend translations/errors.es.json (locale catalog // beside the canonical errors.json — i18n-shipping.md §1). import type { CategoriesErrorCode } from "./errors.gen.js"; /** * `es` texts for the backend error codes this catalog carries. * * PARTIAL, and deliberately typed to say so: 13 key(s) owned by * stapel_attributes are absent, because that owner ships no locale catalog * (ERRORS_LOCALE_EXEMPT_OWNERS). English for them still comes from the registry * artifact via the en bundle; the pair layers its own authored `es` * strings over this one until upstream ships translations. `Partial` is what * makes the gap visible to TypeScript instead of a silent English fallback. * * Import from the pair's `./i18n/es` subpath, NOT the main entry, so * the locale stays out of hosts that don't ship it. */ export const categoriesErrorBundleEs: Partial> = { "error.400.bad_request": "Solicitud incorrecta", "error.400.captcha_invalid": "La verificación del captcha ha fallado. Inténtalo de nuevo.", "error.400.captcha_required": "Se requiere el token del captcha.", "error.400.categories_config_required": "Se requiere un objeto config", "error.400.categories_database_error": "Error de base de datos al aplicar los cambios", "error.400.categories_duplicate_slug": "Ya existe una característica con el slug «{slug}»", "error.400.categories_expected_list": "Se esperaba una lista de objetos", "error.400.categories_feature_editor_invalid": "Solicitud al editor de características no válida: {reason}", "error.400.categories_invalid_conversion": "Conversión de tipo no válida (solo se admite select ↔ string)", "error.400.categories_not_deleted": "La categoría no está eliminada", "error.400.expected_list": "Se esperaba una lista de elementos", "error.400.field.blank": "{field} no puede estar vacío", "error.400.field.does_not_exist": "{field} no existe", "error.400.field.invalid": "{field} no es válido", "error.400.field.invalid_choice": "{field} no es una opción válida", "error.400.field.max_length": "{field} debe tener como máximo {max_length} caracteres", "error.400.field.max_value": "{field} debe ser como máximo {max_value}", "error.400.field.min_length": "{field} debe tener al menos {min_length} caracteres", "error.400.field.min_value": "{field} debe ser como mínimo {min_value}", "error.400.field.null": "{field} no puede ser nulo", "error.400.field.required": "{field} es obligatorio", "error.400.field.unique": "{field} debe ser único", "error.400.invalid_ad_id": "ID de anuncio no válido", "error.400.validation_error": "Error de validación", "error.400.verification_failed": "La verificación ha fallado", "error.400.verification_invalid_factor": "Este factor de verificación no está disponible", "error.401.unauthorized": "Se requiere autenticación", "error.402.payment_required": "Se requiere pago", "error.403.forbidden": "No tienes permiso para realizar esta acción", "error.403.network_blocked": "No se permiten solicitudes desde esta red.", "error.403.verification_enrollment_required": "Es necesario registrar un factor de verificación.", "error.403.verification_required": "Se requiere verificación adicional", "error.404.ad_not_found": "Anuncio no encontrado", "error.404.categories_slug_not_found": "No existe ninguna categoría con el slug «{slug}»", "error.404.not_found": "Recurso solicitado no encontrado", "error.404.verification_challenge_not_found": "Desafío de verificación no encontrado o caducado", "error.405.method_not_allowed": "Método no permitido", "error.406.not_acceptable": "No aceptable", "error.408.request_timeout": "Tiempo de espera de la solicitud agotado", "error.409.categories_feature_editor_conflict": "Otro editor ha modificado la categoría (se esperaba la revisión {expected}, ahora es {actual}); recarga la página y vuelve a intentarlo", "error.409.conflict": "El recurso ya existe", "error.410.gone": "El recurso se ha eliminado permanentemente", "error.413.payload_too_large": "El cuerpo de la solicitud es demasiado grande", "error.415.unsupported_media_type": "Tipo de contenido no compatible", "error.422.unprocessable_entity": "Entidad no procesable", "error.423.locked": "El recurso está bloqueado", "error.423.verification_locked": "Demasiados intentos fallidos — verificación bloqueada", "error.429.rate_limit": "Demasiados intentos. Inténtalo de nuevo en {retry_after_minutes} minutos.", "error.429.too_many_requests": "Demasiadas solicitudes. Inténtalo de nuevo más tarde.", "error.500.internal": "Algo salió mal", "error.503.mandate_unavailable": "No se puede verificar el mandato del espacio de trabajo", };