Multilanguage: Deutsch / English, umschaltbar in Einstellungen
- i18n.js: Übersetzungsmodul mit t(), setLang(), applyLang() + vollst. DE/EN Wörterbuch - Backend: language-Feld in UserSettings, Migration, Settings-API - calendar.js: alle deutschen Strings auf t()-Aufrufe umgestellt, setLang() beim Start - app.js, api.js, color-picker.js, views/*.js: alle UI-Strings übersetzt - Sprach-Dropdown in Einstellungen > Darstellung, data-i18n-Attribute in index.html
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { t } from './i18n.js';
|
||||
const BASE = '/api';
|
||||
|
||||
async function request(method, path, body = null, formEncoded = false) {
|
||||
@@ -27,7 +28,7 @@ async function request(method, path, body = null, formEncoded = false) {
|
||||
}
|
||||
|
||||
if (!res.ok) {
|
||||
const err = await res.json().catch(() => ({ detail: 'Unbekannter Fehler' }));
|
||||
const err = await res.json().catch(() => ({ detail: t('unknown_error') }));
|
||||
throw new Error(err.detail || `HTTP ${res.status}`);
|
||||
}
|
||||
|
||||
@@ -49,7 +50,7 @@ async function uploadRequest(path, formData) {
|
||||
return null;
|
||||
}
|
||||
if (!res.ok) {
|
||||
const err = await res.json().catch(() => ({ detail: 'Unbekannter Fehler' }));
|
||||
const err = await res.json().catch(() => ({ detail: t('unknown_error') }));
|
||||
throw new Error(err.detail || `HTTP ${res.status}`);
|
||||
}
|
||||
if (res.status === 204) return null;
|
||||
|
||||
Reference in New Issue
Block a user