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
730 B
JSON
15 lines
730 B
JSON
{
|
|
"$schema": "https://inlang.com/schema/inlang-message-format",
|
|
"hello_world": "Hello, {name} from en!",
|
|
"error_document_not_found": "Document not found.",
|
|
"error_document_no_file": "No file is associated with this document.",
|
|
"error_file_not_found": "The file could not be found in storage.",
|
|
"error_file_upload_failed": "The file could not be uploaded.",
|
|
"error_user_not_found": "User not found.",
|
|
"error_import_already_running": "An import is already running. Please wait for it to finish.",
|
|
"error_unauthorized": "You are not logged in.",
|
|
"error_forbidden": "You do not have permission for this action.",
|
|
"error_validation_error": "The input is invalid.",
|
|
"error_internal_error": "An unexpected error occurred."
|
|
}
|