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
833 B
JSON
15 lines
833 B
JSON
{
|
|
"$schema": "https://inlang.com/schema/inlang-message-format",
|
|
"hello_world": "Hello, {name} from de!",
|
|
"error_document_not_found": "Das Dokument wurde nicht gefunden.",
|
|
"error_document_no_file": "Diesem Dokument ist noch keine Datei zugeordnet.",
|
|
"error_file_not_found": "Die Datei konnte im Speicher nicht gefunden werden.",
|
|
"error_file_upload_failed": "Die Datei konnte nicht hochgeladen werden.",
|
|
"error_user_not_found": "Der Benutzer wurde nicht gefunden.",
|
|
"error_import_already_running": "Ein Import läuft bereits. Bitte warten Sie, bis dieser abgeschlossen ist.",
|
|
"error_unauthorized": "Sie sind nicht angemeldet.",
|
|
"error_forbidden": "Sie haben keine Berechtigung für diese Aktion.",
|
|
"error_validation_error": "Die Eingabe ist ungültig.",
|
|
"error_internal_error": "Ein unerwarteter Fehler ist aufgetreten."
|
|
}
|