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,5 +1,6 @@
|
||||
import { api } from './api.js';
|
||||
import { initCalendar, showToast, openProfileModal } from './calendar.js';
|
||||
import { t } from './i18n.js';
|
||||
|
||||
// ── Bootstrap ─────────────────────────────────────────────
|
||||
async function boot() {
|
||||
@@ -109,12 +110,12 @@ function bindSetupForm() {
|
||||
errEl.classList.add('hidden');
|
||||
|
||||
if (pw1 !== pw2) {
|
||||
errEl.textContent = 'Passwörter stimmen nicht überein';
|
||||
errEl.textContent = t('setup_pw_mismatch');
|
||||
errEl.classList.remove('hidden');
|
||||
return;
|
||||
}
|
||||
if (pw1.length < 6) {
|
||||
errEl.textContent = 'Passwort muss mindestens 6 Zeichen haben';
|
||||
errEl.textContent = t('setup_pw_short');
|
||||
errEl.classList.remove('hidden');
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user