feat(frontend): settings window, i18n, admin UI, books, tasks, calendar, timer
- Settings window with tabs: profile (name, email, avatar, password), appearance (light/dark/system), language (de/en/zh), background (gradient presets, custom URL, blur toggle); persisted server-side - i18n dictionaries (de/en/zh) applied across nav, sidebar, tasks, calendar, time tracking, admin, invites and comments - Greeting header with time-of-day message, live clock and date; cooler theme, cards, kanban, calendar grid and data-table styling - Shared sidebar: nav, collapsible books with per-book pages, top-level pages, search; user chip opens settings - Tasks kanban with priorities, overdue flags and book/page links; calendar month view fed by task deadlines; time view with entries, durations and totals; top-right live timer with optional book link - User discovery autocomplete in the invite card; editor gains tables and checklists; standalone theme buttons removed
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
export default {
|
||||
nav: {
|
||||
dashboard: 'Dashboard', tasks: 'Aufgaben', calendar: 'Kalender', time: 'Zeiterfassung',
|
||||
admin: 'Admin', logout: 'Abmelden',
|
||||
},
|
||||
side: {
|
||||
workspaces: 'Workspaces', newWorkspace: 'Neuer Workspace', searchPh: 'Seiten suchen …',
|
||||
newPagePh: 'Neue Seite', newBookPh: 'Neues Book', books: '📚 Books', pages: '📄 Seiten',
|
||||
members: 'Mitglieder', role: 'Rolle',
|
||||
},
|
||||
greet: {
|
||||
morning: 'Guten Morgen', midday: 'Mahlzeit', afternoon: 'Guten Tag',
|
||||
evening: 'Guten Abend', night: 'Gute Nacht',
|
||||
},
|
||||
set: {
|
||||
title: 'Einstellungen', profile: '👤 Profil', appearance: '🎨 Darstellung',
|
||||
language: '🌍 Sprache', background: '🖼️ Hintergrund',
|
||||
name: 'Anzeigename', email: 'E-Mail', avatar: 'Profilbild (Emoji oder Bild-URL)',
|
||||
avatarHint: 'Z. B. 🦊 oder https://…/foto.png',
|
||||
curPw: 'Aktuelles Passwort', newPw: 'Neues Passwort (min. 8 Zeichen)',
|
||||
changePw: 'Passwort ändern', pwChanged: 'Passwort geändert ✅',
|
||||
save: 'Speichern', saved: 'Gespeichert ✅', theme: 'Farbschema',
|
||||
light: '☀️ Hell', dark: '🌙 Dunkel', system: '🖥️ System',
|
||||
bgUrl: 'Hintergrundbild-URL', bgUrlHint: 'Leer lassen = kein Bild. Oder Preset wählen:',
|
||||
bgBlur: 'Hintergrund weichzeichnen (Blur)', close: 'Schließen',
|
||||
presetNone: 'Kein Bild', presetCustom: 'Eigene URL',
|
||||
},
|
||||
task: {
|
||||
title: 'Aufgaben', new: 'Neue Aufgabe', ph: 'Was ist zu tun?',
|
||||
todo: '📝 Offen', doing: '🚧 In Arbeit', done: '✅ Erledigt',
|
||||
priority: 'Prio', low: 'Niedrig', normal: 'Normal', high: 'Hoch',
|
||||
due: 'Fällig', noDue: 'Ohne Termin', book: 'Book', page: 'Seite',
|
||||
none: '—', overdue: 'Überfällig!', toTodo: '← Offen', toDoing: 'In Arbeit →',
|
||||
toDone: 'Erledigt →', reopen: '↩ Öffnen',
|
||||
},
|
||||
cal: { title: 'Kalender', today: 'Heute' },
|
||||
time: {
|
||||
title: 'Zeiterfassung', start: '▶ Start', stop: '⏹ Stopp',
|
||||
descPh: 'Woran arbeitest du?', book: 'Book', none: '—',
|
||||
entries: 'Einträge', dur: 'Dauer', running: 'läuft …',
|
||||
total: 'Gesamt', noEntries: 'Noch keine Einträge. Starte oben den Timer! ⏱️',
|
||||
started: 'Start', ended: 'Ende',
|
||||
},
|
||||
admin: {
|
||||
title: 'Admin-Dashboard', overview: '📊 Übersicht', users: '👥 Benutzer',
|
||||
name: 'Name', email: 'E-Mail', role: 'Rolle', admin: 'Admin', user: 'User',
|
||||
workspaces: 'Workspaces', joined: 'Dabei seit', makeAdmin: 'Zum Admin machen',
|
||||
unmake: 'Admin entziehen', del: 'Löschen', confirm: 'Wirklich löschen?',
|
||||
you: '(du)', books: 'Books', pages: 'Seiten', tasks: 'Aufgaben', time: 'Zeiteinträge',
|
||||
},
|
||||
c: {
|
||||
save: 'Speichern', cancel: 'Abbrechen', delete: 'Löschen', create: 'Anlegen',
|
||||
back: 'Zurück', loading: 'Lädt …',
|
||||
},
|
||||
inv: {
|
||||
title: '✉️ Mitarbeiter einladen', hint: 'Tippen zum Suchen – oder volle E-Mail eingeben.',
|
||||
ph: 'Name oder E-Mail suchen …', btn: 'Einladen', done: 'Eingeladen',
|
||||
pick: 'Person wählen …',
|
||||
},
|
||||
com: { title: 'Kommentare', ph: 'Kommentar schreiben …', post: 'Posten' },
|
||||
};
|
||||
Reference in New Issue
Block a user