Backend now returns { code: ErrorCode, message: string } for all errors,
making it language-agnostic. Frontend maps codes to localised strings via
Paraglide (en/de/es), so translations live in messages/*.json.
- Add ErrorCode enum and DomainException with static factory methods
- Update GlobalExceptionHandler to return ErrorResponse(code, message)
- Replace ResponseStatusException throughout controllers/services/aspects
- Add frontend errors.ts with parseBackendError() and getErrorMessage()
- getErrorMessage() delegates to Paraglide m.error_*() functions
- Add error_* keys to messages/en.json, de.json, es.json
- Update all page.server.ts files to use the new error utilities
- Fix hardcoded localhost URLs in admin and login pages
- Fix missing baseUrl in deleteTag action
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
15 lines
781 B
JSON
15 lines
781 B
JSON
{
|
|
"$schema": "https://inlang.com/schema/inlang-message-format",
|
|
"hello_world": "Hello, {name} from es!",
|
|
"error_document_not_found": "Documento no encontrado.",
|
|
"error_document_no_file": "No hay ningún archivo asociado a este documento.",
|
|
"error_file_not_found": "El archivo no pudo encontrarse en el almacenamiento.",
|
|
"error_file_upload_failed": "No se pudo subir el archivo.",
|
|
"error_user_not_found": "Usuario no encontrado.",
|
|
"error_import_already_running": "Ya hay una importación en curso. Por favor, espere a que finalice.",
|
|
"error_unauthorized": "No ha iniciado sesión.",
|
|
"error_forbidden": "No tiene permiso para realizar esta acción.",
|
|
"error_validation_error": "La entrada no es válida.",
|
|
"error_internal_error": "Se ha producido un error inesperado."
|
|
}
|