From 64d6cf1afbf00f5d5755d6effc3f40bf19b0f2d9 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Sat, 24 Oct 2026 20:15:40 +0000 Subject: [PATCH] Upload via GUI (72 Dateien) --- .../obj/Debug/net48/DeskHubSetup.assets.cache | Bin 532 -> 532 bytes .../obj/DeskHubSetup.csproj.nuget.dgspec.json | 2 +- .../obj/Release/net48/DeskHub-Setup.exe | Bin 115712 -> 255488 bytes desktop/installer/obj/project.assets.json | 2 +- desktop/installer/obj/project.nuget.cache | 2 +- desktop/package.json | 2 +- desktop/src/admin-extra.js | 2 +- desktop/src/admin-status.js | 55 ++++++++++ desktop/src/app.js | 79 ++++++++++---- desktop/src/assets/icon.ico | Bin 7162 -> 61832 bytes desktop/src/assets/logo.png | Bin 7140 -> 37835 bytes desktop/src/i18n.js | 102 ++++++++++++++++++ desktop/src/index.html | 3 + desktop/src/lang-en.js | 3 + desktop/src/main.js | 27 +++-- desktop/src/styles.css | 18 +++- desktop/test/mock.html | 21 +++- desktop/test/run.js | 49 ++++++++- 18 files changed, 325 insertions(+), 42 deletions(-) create mode 100644 desktop/src/admin-status.js create mode 100644 desktop/src/i18n.js create mode 100644 desktop/src/lang-en.js diff --git a/desktop/installer/obj/Debug/net48/DeskHubSetup.assets.cache b/desktop/installer/obj/Debug/net48/DeskHubSetup.assets.cache index db1b6b8517aadcde919f228d7131fd57c22c0d53..3bf3b5fcd82f876119db271c8dc37b9323ca03ef 100644 GIT binary patch delta 57 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 QdZ9+rF7Popfe-tC0BJ_G0zowJ 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 Wru+=+KlK{8L}J}e)xf6~(*FmeIdIPa diff --git a/desktop/installer/obj/project.assets.json b/desktop/installer/obj/project.assets.json index bd709539..4eb87182 100644 --- a/desktop/installer/obj/project.assets.json +++ b/desktop/installer/obj/project.assets.json @@ -418,7 +418,7 @@ "C:\\Users\\Viper\\.nuget\\packages\\": {} }, "project": { - "version": "2.7.0", + "version": "2.9.1", "restore": { "projectUniqueName": "C:\\Users\\Viper\\Desktop\\deskhub\\desktop\\installer\\DeskHubSetup.csproj", "projectName": "DeskHub-Setup", diff --git a/desktop/installer/obj/project.nuget.cache b/desktop/installer/obj/project.nuget.cache index fee82798..d6fbb576 100644 --- a/desktop/installer/obj/project.nuget.cache +++ b/desktop/installer/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "3YPOu5cr0tQ=", + "dgSpecHash": "QAGLIFBHTUQ=", "success": true, "projectFilePath": "C:\\Users\\Viper\\Desktop\\deskhub\\desktop\\installer\\DeskHubSetup.csproj", "expectedPackageFiles": [ diff --git a/desktop/package.json b/desktop/package.json index 6a2ab3b8..da804ae6 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,7 +1,7 @@ { "name": "deskhub", "productName": "DeskHub", - "version": "2.7.0", + "version": "2.9.1", "description": "DeskHub Desktop-Client für Mitarbeiter", "main": "src/main.js", "author": "M_Viper", diff --git a/desktop/src/admin-extra.js b/desktop/src/admin-extra.js index 4a90359c..9da280bb 100644 --- a/desktop/src/admin-extra.js +++ b/desktop/src/admin-extra.js @@ -26,7 +26,7 @@ async function adminTeams(body, addBtn) { clear(body).append(table(['Name', 'Leitung', 'Mitglieder', 'Aktiv', 'Aktualisiert', ''], r.items.map((t) => h('tr', { class: 'click', onclick: () => edit(t, r) }, h('td', {}, t.name), h('td', {}, t.leadName || '—'), h('td', {}, t.memberCount), h('td', {}, h('input', { type: 'checkbox', checked: t.isActive, onclick: (e) => e.stopPropagation(), onchange: () => run(async () => { await post('teams.php', { action: 'toggle', id: t.id }); load(); }) })), - h('td', { class: 'muted' }, t.updatedAt ? new Date(t.updatedAt.replace(' ', 'T')).toLocaleString('de-DE', { dateStyle: 'short', timeStyle: 'short' }) : ''), + h('td', { class: 'muted' }, t.updatedAt ? new Date(t.updatedAt.replace(' ', 'T')).toLocaleString(window.I18N?.locale || 'de-DE', { dateStyle: 'short', timeStyle: 'short' }) : ''), h('td', {}, delBtn(() => run(async () => { await post('teams.php', { action: 'delete', id: t.id }); load(); }, 'Gelöscht'))))))); addBtn.onclick = () => edit(null, r); }; diff --git a/desktop/src/admin-status.js b/desktop/src/admin-status.js new file mode 100644 index 00000000..390e82e8 --- /dev/null +++ b/desktop/src/admin-status.js @@ -0,0 +1,55 @@ +'use strict'; +// Verwaltungsbereich „Statusseite“: öffentliche Seite für Kunden mit dem Zustand der Dienste und Störungsmeldungen. +// Gleicher Funktionsumfang wie in der Android-App; die Texte der Seite selbst stehen unter /status.php. + +async function adminStatusPage(body) { + const A = 'status.php'; + const COLORS = { operational: '#157a45', maintenance: '#2563eb', degraded: '#b45309', outage: '#dc2626' }; + let st = null; + const act = async (payload, ok) => { const r = await run(() => post(A, payload), ok); if (r) { st = r.status; paint(); } return r; }; + + function paint() { + const s = st; + const comps = h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Dienste'), + s.components.length ? h('table', {}, ...s.components.map((c) => h('tr', {}, + h('td', {}, h('b', {}, c.name), c.description ? h('div', { class: 'muted' }, c.description) : null), + h('td', {}, h('select', { onchange: (e) => act({ action: 'set_component', id: c.id, status: e.target.value }, 'Zustand geändert') }, + ...s.componentStates.map((o) => h('option', { value: o.key, selected: o.key === c.status }, o.label))))))) : h('div', { class: 'muted' }, 'Noch keine Dienste eingetragen.')); + + const title = h('input', { placeholder: 'z. B. E-Mail-Versand verzögert' }), text = h('textarea', { placeholder: 'Was ist passiert? Was tun wir dagegen?' }); + const level = h('select', {}, ...s.incidentStates.map((o) => h('option', { value: o.key }, o.label))); + const comp = h('select', {}, h('option', { value: '' }, '– kein bestimmter Dienst –'), ...s.components.map((c) => h('option', { value: c.id }, c.name))); + const compState = h('select', {}, h('option', { value: '' }, '– nicht ändern –'), ...s.componentStates.map((o) => h('option', { value: o.key }, o.label))); + const create = h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Neue Meldung (Störung oder Wartung)'), + h('label', {}, 'Titel'), title, h('label', {}, 'Beschreibung'), text, h('label', {}, 'Stufe'), level, h('label', {}, 'Betrifft'), comp, h('label', {}, 'Dienst setzen auf'), compState, + h('div', { class: 'row top' }, h('button', { class: 'btn', onclick: () => act({ action: 'create_incident', title: title.value, body: text.value, status: level.value, componentId: comp.value ? +comp.value : null, componentState: compState.value || null }, 'Meldung veröffentlicht') }, 'Veröffentlichen'))); + + const incidents = h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Meldungen (letzte 14 Tage)'), + s.incidents.length ? null : h('div', { class: 'muted' }, 'Keine Meldungen.'), + ...s.incidents.map((i) => { + const upd = h('input', { placeholder: 'Update für die Kunden' }); + const lv = h('select', {}, ...s.incidentStates.map((o) => h('option', { value: o.key, selected: o.key === i.status }, o.label))); + return h('div', { class: 'incident' }, + h('div', {}, h('b', {}, i.title), ' ', h('span', { class: 'chip' }, i.statusLabel), i.component ? h('span', { class: 'muted' }, ' · ' + i.component) : null, h('span', { class: 'muted' }, ' · ' + fmtDate(i.createdAt))), + ...i.updates.map((u) => h('div', { class: 'muted' }, `${u.statusLabel}${u.body ? ': ' + u.body : ''}`)), + h('div', { class: 'row top' }, i.status === 'resolved' ? null : [lv, upd, h('button', { class: 'btn sm', onclick: () => act({ action: 'update_incident', id: i.id, status: lv.value, body: upd.value }, 'Update veröffentlicht') }, 'Update senden')], + h('button', { class: 'btn danger sm', onclick: () => confirm('Meldung löschen?') && act({ action: 'delete_incident', id: i.id }, 'Gelöscht') }, '✕'))); + })); + + clear(view).append( + h('div', { class: 'panel' }, h('div', { class: 'row' }, + h('span', { class: 'pill', color: s.overall.color }, s.overall.label), + h('label', { class: 'check grow' }, h('input', { type: 'checkbox', checked: s.enabled, onchange: (e) => act({ action: 'set_enabled', enabled: e.target.checked }, e.target.checked ? 'Statusseite eingeschaltet' : 'Statusseite ausgeschaltet') }), 'Statusseite für Kunden anzeigen')), + s.enabled ? h('div', { class: 'muted' }, 'Adresse für Kunden: ' + s.url) : null), + comps, create, incidents); + } + + const view = h('div'); + body.append(view); + const r = await run(() => api(A)); if (!r) return; + st = r.status; paint(); +} + +ADMIN.push({ key: 'statuspage', label: 'Statusseite', admin: true, custom: adminStatusPage }); +ADMIN_GROUPS.find((g) => g[0] === 'System')[1].push('statuspage'); +ADMIN_DESC.statuspage = 'Dienste und Störungsmeldungen für Kunden'; diff --git a/desktop/src/app.js b/desktop/src/app.js index 45a3935a..203cbe19 100644 --- a/desktop/src/app.js +++ b/desktop/src/app.js @@ -74,7 +74,7 @@ async function run(fn, okMsg) { try { const r = await fn(); if (okMsg) toast(okMsg); return r; } catch (e) { toast(e.message, true); return undefined; } } -const fmtDate = (s) => s ? new Date(s.replace(' ', 'T')).toLocaleString('de-DE', { dateStyle: 'short', timeStyle: 'short' }) : ''; +const fmtDate = (s) => s ? new Date(s.replace(' ', 'T')).toLocaleString(window.I18N?.locale || 'de-DE', { dateStyle: 'short', timeStyle: 'short' }) : ''; const textToHtml = (t) => '

' + t.replace(/&/g, '&').replace(//g, '>').split(/\n{2,}/).map((p) => p.replace(/\n/g, '
')).join('

') + '

'; const statusInfo = (v) => state.meta?.statuses.find((s) => s.value === v) || { label: v, color: '#64748b' }; @@ -111,7 +111,7 @@ async function showLogin(prefillUrl) { state.serverUrl = (await window.deskhub.session())?.serverUrl || ''; await startApp(r.staff, null, state.serverUrl); }); - $app.append(h('div', { class: 'login' }, h('div', { class: 'card' }, h('h1', {}, 'DeskHub'), h('div', { class: 'muted' }, 'Mitarbeiter-Anmeldung'), form))); + $app.append(h('div', { class: 'login' }, h('div', { class: 'card' }, h('div', { class: 'login-lang' }, window.I18N.switcher()), h('h1', {}, 'DeskHub'), h('div', { class: 'muted' }, 'Mitarbeiter-Anmeldung'), form))); (url.value ? email : url).focus(); } @@ -187,6 +187,7 @@ function renderShell() { can('create_ticket') ? h('button', { class: 'btn ok', onclick: () => go('newticket') }, 'Neues Ticket') : null, h('button', { class: 'searchbtn', onclick: openPalette }, h('span', { class: 'nl' }, icon('search'), 'Ticket, Kunde oder Bereich suchen…'), h('kbd', {}, 'Strg K')), h('div', { class: 'spacer' }), + window.I18N.switcher(), h('div', { class: 'who' }, h('div', { class: 'avatar' }, initials(state.staff.name)), h('div', {}, h('div', { class: 'name' }, state.staff.name), h('div', { class: 'role' }, state.staff.role === 'admin' ? 'Administrator' : 'Mitarbeiter'))), h('button', { class: 'btn ghost sm', onclick: doLogout }, 'Abmelden')); @@ -259,7 +260,7 @@ async function pollActivity() { const parts = []; if (a.newReplies) parts.push(`${a.newReplies} Aktualisierung(en) an deinen Tickets`); if (a.newUnassigned) parts.push(`${a.newUnassigned} neue(s) nicht zugewiesene(s) Ticket(s)`); - window.deskhub.notify('DeskHub', parts.join(', ')); + window.deskhub.notify('DeskHub', parts.map((p) => tr(p)).join(', ')); } paintBadge(); } @@ -288,7 +289,7 @@ async function vDashboard(main) { const body = h('div'); const hour = new Date().getHours(), greet = hour < 11 ? 'Guten Morgen' : hour < 18 ? 'Guten Tag' : 'Guten Abend'; main.append(h('div', { class: 'pagehead' }, h('div', { class: 'grow' }, h('h2', {}, `${greet}, ${state.staff.name.split(' ')[0]}`), - h('div', { class: 'sub' }, new Date().toLocaleDateString('de-DE', { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }))), + h('div', { class: 'sub' }, new Date().toLocaleDateString(window.I18N?.locale || 'de-DE', { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }))), h('button', { class: 'btn ghost sm', onclick: () => load() }, 'Aktualisieren')), body); const load = async () => { const d = await run(() => api('dashboard.php')); if (!d) return; @@ -521,7 +522,7 @@ async function vTicket(main, number) { h('div', { class: 'head' }, h('span', { class: 'who' }, h('span', { class: 'avatar sm' }, initials(m.authorName)), h('b', {}, m.authorName), h('span', { class: 'kind' }, m.isInternalNote ? 'Interne Notiz' : cust ? 'Kunde' : 'Antwort')), h('span', {}, fmtDate(m.createdAt))), h('div', { class: 'body' }, m.message), - m.attachments.length ? h('div', { class: 'muted att' }, '📎 ' + m.attachments.map((a) => `${a.name} (${Math.round(a.size / 1024)} KB)`).join(', ') + ' – Download nur im Web') : null, + m.attachments.length ? h('div', { class: 'muted att' }, '📎 ' + m.attachments.map((a) => `${a.name} (${Math.round(a.size / 1024)} KB)`).join(', '), ' ', tr('– Download nur im Web')) : null, ...m.comments.map((c) => h('div', { class: 'comment' }, h('b', {}, c.staff.name + ': '), c.message)), cust && can('reply_ticket') ? h('div', { class: 'tools' }, h('button', { class: 'btn ghost sm', onclick: () => { mode = 'reply'; paintTabs(); loadDraft(); quote(m); } }, 'Zitieren')) : null); })); @@ -549,6 +550,27 @@ async function vTicket(main, number) { const st = statusInfo(t.status); const prop = (label, ...kids) => [h('dt', {}, label), h('dd', {}, ...kids)]; + // Zufriedenheit des Kunden (Bewertung nach dem Schließen) und Cc-Empfänger / Beobachter + const csatPanel = t.csat ? h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Kundenzufriedenheit'), + t.csat.rating != null + ? h('div', {}, h('div', { class: 'stars' }, '★'.repeat(t.csat.rating) + '☆'.repeat(5 - t.csat.rating), ' ', h('span', { class: 'muted' }, `${t.csat.rating} von 5`)), + t.csat.comment ? h('div', { class: 'csat-comment' }, `„${t.csat.comment}“`) : null, h('div', { class: 'muted' }, 'Bewertet am ' + fmtDate(t.csat.answeredAt))) + : h('div', { class: 'muted' }, `Abfrage am ${fmtDate(t.csat.sentAt)} gesendet, noch keine Antwort.`)) : null; + const collabBox = h('div'); + const paintCollab = (list) => clear(collabBox).append(...(list.length ? list.map((c) => h('div', { class: 'mini row' }, + h('span', { class: 'grow' }, c.name ? `${c.name} <${c.email}>` : c.email), + can('reply_ticket') ? h('button', { class: 'btn ghost sm', title: 'Entfernen', onclick: () => run(async () => { paintCollab((await post('ticket_collaborators.php', { number, action: 'remove', id: c.id })).collaborators); }) }, '✕') : null)) + : [h('div', { class: 'muted' }, 'Niemand. Cc-Empfänger bekommen die öffentlichen Antworten per E-Mail in Kopie.')])); + paintCollab(t.collaborators || []); + const ccEmail = h('input', { type: 'email', placeholder: 'Cc-Adresse hinzufügen' }); + const addCc = () => { const email = ccEmail.value.trim(); if (!email) return; run(async () => { paintCollab((await post('ticket_collaborators.php', { number, action: 'add', email })).collaborators); ccEmail.value = ''; }, 'Cc hinzugefügt'); }; + ccEmail.addEventListener('keydown', (e) => { if (e.key === 'Enter') addCc(); }); + const peoplePanel = h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Beobachter'), + (t.followers || []).length ? h('div', {}, (t.followers || []).map((f) => f.name).join(', ')) : h('div', { class: 'muted' }, 'Niemand. Beobachter bekommen Benachrichtigungen, ohne dass ihnen das Ticket zugewiesen ist.'), + h('div', { class: 'row top' }, h('button', { class: 'btn ghost sm', onclick: () => update({ following: !t.following }, t.following ? 'Du beobachtest das Ticket nicht mehr' : 'Du beobachtest das Ticket jetzt') }, t.following ? 'Nicht mehr beobachten' : '👁 Beobachten')), + h('div', { class: 'sect' }, 'Cc-Empfänger'), collabBox, + can('reply_ticket') ? h('div', { class: 'row top' }, ccEmail, h('button', { class: 'btn sm', onclick: addCc }, 'Hinzufügen')) : null); + main.append( h('div', { class: 'tkhead' }, h('div', { class: 'tkhead-top' }, h('button', { class: 'btn ghost sm', onclick: () => go('tickets') }, 'Zurück zu Tickets'), h('span', { class: 'chip' }, '#' + t.number), @@ -579,6 +601,7 @@ async function vTicket(main, number) { (t.similar && (t.similar.articles?.length || t.similar.tickets?.length)) ? h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Dazu passend'), ...(t.similar.articles || []).map((a) => h('div', { class: 'mini' }, h('span', {}, '📘 ' + a.title), ' ', h('button', { class: 'btn ghost sm', onclick: () => { navigator.clipboard?.writeText((state.serverUrl || '') + a.url); toast('Link kopiert'); } }, 'Link kopieren'))), ...(t.similar.tickets || []).map((x) => h('div', { class: 'mini', onclick: () => go('ticket', x.number) }, x.number + ' · ' + x.subject))) : null, + csatPanel, peoplePanel, h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Weitere Tickets des Kunden'), others)))); // Neue Nachrichten von Kunden/Kollegen erkennen, ohne den Entwurf zu verlieren @@ -599,8 +622,18 @@ async function vNewTicket(main) { prio: h('select', {}, ...m.priorities.map((p) => h('option', { value: p.id }, p.name))), agent: h('select', {}, h('option', { value: '' }, '— niemand —'), ...m.agents.map((a) => h('option', { value: a.id }, a.name))), notify: h('input', { type: 'checkbox', checked: true }) }; + // Ticket-Vorlagen: füllen Betreff, Text, Abteilung und Priorität vor (gepflegt in der Weboberfläche unter Ticket-Vorlagen) + let tpls = []; + const tplSel = h('select', { onchange: () => { + const t = tpls.find((x) => String(x.id) === tplSel.value); if (!t) return; + f.subject.value = t.subject; f.message.value = t.body; + if (t.departmentId && m.departments.some((d) => d.id === t.departmentId)) f.dept.value = t.departmentId; + if (t.priorityId && m.priorities.some((p) => p.id === t.priorityId)) f.prio.value = t.priorityId; + } }, h('option', { value: '' }, '— ohne Vorlage —')); + const tplBox = h('div', { class: 'hidden' }, h('label', {}, 'Vorlage'), tplSel); + api('ticket_templates.php').then((r) => { tpls = r.templates || []; if (!tpls.length) return; tplSel.append(...tpls.map((x) => h('option', { value: x.id }, x.name))); tplBox.classList.remove('hidden'); }).catch(() => {}); main.append(h('button', { class: 'btn ghost', onclick: () => go('tickets') }, '‹ Tickets'), h('h2', {}, 'Neues Ticket'), - h('div', { class: 'panel' }, + h('div', { class: 'panel' }, tplBox, h('label', {}, 'Name des Kunden'), f.name, h('label', {}, 'E-Mail des Kunden (optional)'), f.email, h('label', {}, 'Betreff'), f.subject, h('label', {}, 'Beschreibung'), f.message, h('label', {}, 'Abteilung'), f.dept, h('label', {}, 'Priorität'), f.prio, h('label', {}, 'Zuweisen an'), f.agent, h('label', { class: 'check' }, f.notify, 'Kunden per E-Mail benachrichtigen'), @@ -727,10 +760,23 @@ async function vReports(main) { h('div', { class: 'checks wide' }, ...metrics), h('div', { class: 'row top' }, h('button', { class: 'btn', onclick: () => run_() }, 'Bericht erstellen'), h('button', { class: 'btn ghost', onclick: () => { const name = h('input', { placeholder: 'z. B. Monatsbericht Support' }), shared = h('input', { type: 'checkbox' }); - modal('Bericht speichern', h('div', {}, h('label', {}, 'Name'), name, h('label', { class: 'check' }, shared, 'Für alle Mitarbeiter sichtbar')), [{ label: 'Speichern', fn: async (close) => { if (await run(() => post('report_builder.php', { action: 'save', name: name.value, isShared: shared.checked, config: { ...cfg } }), 'Bericht gespeichert')) { close(); run_(); } } }]); } }, 'Bericht speichern'), - h('span', { class: 'muted' }, 'CSV-Export: in der Weboberfläche unter Bericht-Baukasten.'))); + modal('Bericht speichern', h('div', {}, h('label', {}, 'Name'), name, h('label', { class: 'check' }, shared, 'Für alle Mitarbeiter sichtbar')), [{ label: 'Speichern', fn: async (close) => { if (await run(() => post('report_builder.php', { action: 'save', name: name.value, isShared: shared.checked, config: { ...cfg } }), 'Bericht gespeichert')) { close(); run_(); } } }]); } }, 'Bericht speichern'))); }; - main.append(h('div', { class: 'pagehead' }, h('div', { class: 'grow' }, h('h2', {}, 'Berichte'), h('div', { class: 'sub' }, 'Frei konfigurierbare Auswertungen nach Erstellungsdatum der Tickets'))), controls, savedBar, out); + // Kundenzufriedenheit (Bewertungen der letzten 30 Tage), nur wenn die Abfrage eingeschaltet ist oder es schon Antworten gibt + const csatBox = h('div'); + api('csat.php', { query: { days: 30 } }).then((r) => { + const s = r.stats; if (!(r.enabled || s.sent > 0)) return; + const max = Math.max(1, ...s.dist.map((d) => d.count)); + clear(csatBox).append(h('div', { class: 'panel' }, h('div', { class: 'sect first' }, 'Kundenzufriedenheit (letzte 30 Tage)'), + s.sent ? h('div', {}, + h('div', { class: 'row' }, h('span', { class: 'stars big' }, s.avg != null ? String(s.avg).replace('.', ',') + ' ★' : '–'), h('span', { class: 'muted' }, `Ø Bewertung · ${s.answered} Antworten von ${s.sent} Abfragen` + (s.rate != null ? ` (${String(s.rate).replace('.', ',')} %)` : ''))), + h('table', {}, ...[...s.dist].reverse().map((d) => h('tr', {}, h('td', { class: 'stars' }, '★'.repeat(d.rating)), h('td', {}, h('div', { class: 'track' }, h('div', { class: 'fill', 'data-w': Math.round(d.count * 100 / max) }))), h('td', {}, d.count)))), + s.byStaff.length ? h('div', { class: 'muted pad' }, 'Nach Mitarbeiter: ' + s.byStaff.map((x) => `${x.name} ${String(x.avg).replace('.', ',')} ★ (${x.count})`).join(' · ')) : null, + ...s.recent.slice(0, 5).map((x) => h('div', { class: 'mini', onclick: () => go('ticket', x.number) }, h('span', { class: 'stars' }, '★'.repeat(x.rating)), ` #${x.number} ${x.subject}`, x.comment ? h('div', { class: 'muted' }, `„${x.comment}“`) : null))) + : h('div', { class: 'muted' }, 'Noch keine Abfragen verschickt.'))); + for (const f of csatBox.querySelectorAll('.fill')) f.style.setProperty('width', f.dataset.w + '%'); + }).catch(() => {}); + main.append(h('div', { class: 'pagehead' }, h('div', { class: 'grow' }, h('h2', {}, 'Berichte'), h('div', { class: 'sub' }, 'Frei konfigurierbare Auswertungen nach Erstellungsdatum der Tickets'))), csatBox, controls, savedBar, out); await run_(); } @@ -817,17 +863,8 @@ async function vAdmin(main, sectionKey) { return tiles.length ? h('section', { class: 'tilegroup' }, h('h3', { class: 'grouplabel' }, title), h('div', { class: 'tiles' }, ...tiles)) : null; }); const rest = [...entries.keys()].filter((k) => !used.has(k)).map((k) => h('div', { class: 'tile', onclick: entries.get(k).open }, h('div', { class: 'tt' }, entries.get(k).label))); - const webBox = h('div'); - main.append(h('div', { class: 'pagehead' }, h('div', { class: 'grow' }, h('h2', {}, 'Verwaltung'), h('div', { class: 'sub' }, 'Nur Bereiche, für die du freigeschaltet bist. Weitere Seiten (Einstellungen, Assistent, Backup …) öffnen sich im Browser, du bist dort automatisch angemeldet.'))), - ...groupsView, webBox, rest.length ? h('section', { class: 'tilegroup' }, h('h3', { class: 'grouplabel' }, 'Weitere'), h('div', { class: 'tiles' }, ...rest)) : null); - // Seiten der Weboberfläche: Der Server liefert nur, was dieser Mitarbeiter öffnen darf - api('web_pages.php').then((r) => { - const groups = new Map(); - for (const p of (r.pages || []).filter((x) => x.key !== 'assistant')) { if (!groups.has(p.group)) groups.set(p.group, []); groups.get(p.group).push(p); } - webBox.append(...[...groups].map(([title, pages]) => h('section', { class: 'tilegroup' }, h('h3', { class: 'grouplabel' }, title + ' (im Browser)'), - h('div', { class: 'tiles' }, ...pages.map((p) => h('div', { class: 'tile', tabindex: '0', onclick: () => openWebPage(p.path), onkeydown: (ev) => { if (ev.key === 'Enter' || ev.key === ' ') { ev.preventDefault(); openWebPage(p.path); } } }, - h('div', { class: 'tt' }, p.label + ' ↗'), h('div', { class: 'td' }, 'Öffnet die Weboberfläche'))))))); - }).catch(() => {}); + main.append(h('div', { class: 'pagehead' }, h('div', { class: 'grow' }, h('h2', {}, 'Verwaltung'), h('div', { class: 'sub' }, 'Nur Bereiche, für die du freigeschaltet bist.'))), + ...groupsView, rest.length ? h('section', { class: 'tilegroup' }, h('h3', { class: 'grouplabel' }, 'Weitere'), h('div', { class: 'tiles' }, ...rest)) : null); return; } const s = sections.find((x) => x.key === sectionKey); @@ -924,7 +961,7 @@ async function vSettings(main) { check('notifications', 'Windows-Benachrichtigungen anzeigen', 'Bei neuen Aktualisierungen an deinen Tickets und neuen, nicht zugewiesenen Tickets.'), h('label', {}, 'Abfrage-Intervall'), h('select', { onchange: (e) => save({ pollSeconds: +e.target.value }, 'Gespeichert') }, ...[[30, 'alle 30 Sekunden'], [60, 'jede Minute'], [120, 'alle 2 Minuten'], [300, 'alle 5 Minuten']].map(([v, l]) => h('option', { value: v, selected: Number(p.pollSeconds) === v }, l))), - h('div', { class: 'row top' }, h('button', { class: 'btn ghost sm', onclick: () => window.deskhub.notify('DeskHub', 'Test-Benachrichtigung – so sieht eine Meldung aus.') }, 'Test-Benachrichtigung'))), + h('div', { class: 'row top' }, h('button', { class: 'btn ghost sm', onclick: () => window.deskhub.notify('DeskHub', tr('Test-Benachrichtigung – so sieht eine Meldung aus.')) }, 'Test-Benachrichtigung'))), h('div', { class: 'panel' }, h('h3', {}, 'Konto'), h('div', {}, `${state.staff.name} (${state.staff.email})`), h('div', { class: 'muted' }, session?.serverUrl || ''), h('div', { class: 'row top' }, h('button', { class: 'btn ghost', onclick: doLogout }, 'Abmelden / Server wechseln'), diff --git a/desktop/src/assets/icon.ico b/desktop/src/assets/icon.ico index a0acb97df301666d63b7d59d691c3c2bf0fa1e1b..22d852e9fd092c81213c741b81c712c78d2d5685 100644 GIT binary patch literal 61832 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 IM6N<$f;BGu}b`!nS%eeeO=}m+EQ0Tsb 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 diff --git a/desktop/src/assets/logo.png b/desktop/src/assets/logo.png index bf54cbe9f7b120ed8670ecdd78da4b7fb96077e4..401e19fb7156be854e5524b54e7c2b0ee11d9343 100644 GIT binary patch literal 37835 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 { try { return localStorage.getItem('lang'); } catch { return null; } })(); + const lang = stored === 'de' || stored === 'en' ? stored : ((navigator.language || 'de').toLowerCase().startsWith('de') ? 'de' : 'en'); + const FLAG = { + de: 'data:image/svg+xml;base64,' + btoa(''), + en: 'data:image/svg+xml;base64,' + btoa(''), + }; + const NAMES = { de: 'Deutsch', en: 'English' }; + + const exact = new Map(); + const patterns = []; + const norm = (s) => String(s).replace(/\s+/g, ' ').trim(); + if (lang === 'en' && window.I18N_EN) { + for (const [k, v] of Object.entries(window.I18N_EN)) { + if (!v || k[0] === '_') continue; + const key = norm(k); + if (key.includes('{}') || key.includes('{#}')) { + const parts = key.split(/(\{#\}|\{\})/); + const re = '^' + parts.map((p, i) => (i % 2 === 0 ? p.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') : (p === '{#}' ? '(\\d+)' : '(.+?)'))).join('') + '$'; + patterns.push([new RegExp(re, 's'), v]); + } else exact.set(key, v); + } + } + + // Übersetzt einen Text; Leerraum am Rand bleibt erhalten, unbekannte Texte bleiben unverändert + function t(s) { + if (lang !== 'en' || typeof s !== 'string' || s === '') return s; + const m = /^(\s*)([\s\S]*?)(\s*)$/.exec(s); + const key = norm(m[2]); + if (!key) return s; + let r = exact.get(key); + if (r === undefined) { + for (const [re, v] of patterns) { + const mm = re.exec(key); + if (mm) { + let i = 0; + // Eingefügte Teile werden selbst noch einmal übersetzt (zum Beispiel „in 2 Std 5 Min“ in „Lösung fällig: {}“) + r = v.replace(/\{(\d+)\}/g, (_, n) => t(mm[+n] ?? '')).replace(/\{\}/g, () => t(mm[++i] ?? '')); + break; + } + } + } + return r === undefined ? s : m[1] + r + m[3]; + } + + if (lang === 'en') { + // Textknoten, die über createTextNode oder append() entstehen + const ct = Document.prototype.createTextNode; + Document.prototype.createTextNode = function (d) { return ct.call(this, t(String(d))); }; + for (const name of ['append', 'prepend']) { + const orig = Element.prototype[name]; + Element.prototype[name] = function (...a) { return orig.apply(this, a.map((x) => (typeof x === 'string' ? t(x) : x))); }; + } + const sa = Element.prototype.setAttribute; + const attrs = new Set(['placeholder', 'title', 'aria-label', 'alt']); + Element.prototype.setAttribute = function (n, v) { return sa.call(this, n, attrs.has(n) && typeof v === 'string' ? t(v) : v); }; + const td = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent'); + Object.defineProperty(Node.prototype, 'textContent', { ...td, set(v) { td.set.call(this, typeof v === 'string' ? t(v) : v); } }); + const ph = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'placeholder'); + if (ph) Object.defineProperty(HTMLInputElement.prototype, 'placeholder', { ...ph, set(v) { ph.set.call(this, t(String(v))); } }); + for (const fn of ['confirm', 'alert']) { const o = window[fn].bind(window); window[fn] = (m) => o(t(String(m))); } + document.documentElement.lang = 'en'; + } + + // Sprachwechsler mit Flaggen (gleiche Optik wie im Web) + function switcher() { + const box = document.createElement('span'); + box.className = 'lang-switch'; + box.setAttribute('role', 'group'); + for (const code of ['de', 'en']) { + const a = document.createElement('button'); + a.type = 'button'; + a.className = 'lang-flag' + (code === lang ? ' on' : ''); + a.title = NAMES[code]; + a.setAttribute('aria-label', NAMES[code]); + if (code === lang) a.setAttribute('aria-current', 'true'); + const img = document.createElement('img'); + img.src = FLAG[code]; img.alt = ''; img.width = 24; img.height = 16; + a.appendChild(img); + a.addEventListener('click', () => { if (code !== lang) setLang(code); }); + box.appendChild(a); + } + return box; + } + function setLang(code) { + try { localStorage.setItem('lang', code); } catch {} + try { window.deskhub?.setSettings?.({ language: code }); } catch {} + location.reload(); + } + try { window.deskhub?.setSettings?.({ language: lang }); } catch {} + + window.I18N = { lang, t, switcher, setLang, locale: lang === 'en' ? 'en-GB' : 'de-DE' }; + window.tr = t; +})(); diff --git a/desktop/src/index.html b/desktop/src/index.html index 15eae98c..44e7fc77 100644 --- a/desktop/src/index.html +++ b/desktop/src/index.html @@ -11,7 +11,10 @@
DeskHub
+ + + diff --git a/desktop/src/lang-en.js b/desktop/src/lang-en.js new file mode 100644 index 00000000..37f2fc02 --- /dev/null +++ b/desktop/src/lang-en.js @@ -0,0 +1,3 @@ +// Englische Texte (Schlüssel = deutscher Text). {} = wechselnder Teil, {#} = Zahl, {1}/{2} = Reihenfolge in der Übersetzung. +// Wird nur gelesen, wenn die Sprache English gewählt ist (i18n.js). +window.I18N_EN = {"%.1f Std":"%.1f hrs","(Gast)":"(Guest)","(zusätzlich)":"(additional)","+ Aktion":"+ Action","+ Aktion hinzufügen":"+ Add action","+ Antwort hinzufügen":"+ Add answer","+ Aufgabe":"+ Task","+ Bedingung":"+ Condition","+ Bedingung hinzufügen":"+ Add condition","+ Erfassen":"+ Log time","+ Kategorie hinzufügen":"+ Add category","+ Neu":"+ New","+ Neue Aufgabe":"+ New task","+ Neue Regel":"+ New rule","+ Neuer Artikel":"+ New article","+ Neuer Textbaustein":"+ New text snippet","+ Neues Muster":"+ New pattern","+ Neues Ticket":"+ New ticket","+ Ticket erstellen":"+ Create ticket","+ hinzufügen":"+ add","0 Gerät(e) angemeldet":"0 device(s) signed in","1 Std":"1 hr","1 Tag":"1 day","1 Treffer ·":"1 hit ·","1 Woche":"1 week","10 Backups behalten":"Keep 10 backups","14 Backups behalten":"Keep 14 backups","2 Std":"2 hrs","2 Tage":"2 days","3 Backups behalten":"Keep 3 backups","3 Std":"3 hrs","3 Tage":"3 days","30 Backups behalten":"Keep 30 backups","5 Backups behalten":"Keep 5 backups","6-stelliger Code":"6-digit code","7 Backups behalten":"Keep 7 backups","7 Tage":"7 days","8 Std":"8 hrs",": bitte in der App erneut versuchen":": please try again in the app","API-Schlüssel":"API keys","Abbrechen":"Cancel","Abfrage am {} gesendet, noch keine Antwort.":"Survey sent on {}, no answer yet.","Abfrage-Intervall":"Fetch interval","Abgehend (SMTP)":"Outgoing (SMTP)","Abgehend (eigener SMTP-Server)":"Outgoing (own SMTP server)","Abmelden":"Sign out","Abmelden / Server wechseln":"Sign out / switch server","Abruf":"Fetch","Abruf aktivieren":"Enable fetching","Abruf für diese Adresse aktivieren":"Enable fetching for this address","Absender":"Sender","Absender oder Mailanbieter sperren":"Block sender or mail provider","Absender sperren":"Block sender","Absender sperren…":"Block sender…","Absender-E-Mail":"Sender email","Absender-Name":"Sender name","Absender:":"Sender:","Absendername":"Sender name","Abteilung":"Department","Abteilung aktualisieren":"Update department","Abteilung für Live-Chat-Tickets":"Department for live chat tickets","Abteilung für Tickets des Assistenten":"Department for assistant tickets","Abteilung hinzufügen":"Add department","Abteilung nicht gefunden.":"Department not found.","Abteilung setzen":"Set department","Abteilung und Priorität stammen aus dem Reiter „Konto“.":"Department and priority come from the \"Account\" tab.","Abteilung wirklich löschen?":"Really delete this department?","Abteilung ändern":"Change department","Abteilung „":"Department \"","Abteilung „Allgemeiner Support“ (nicht hinterlegt)":"Department \"General support\" (not set)","Abteilung/Priorität bestimmt die Zeiten":"Department/priority determines the times","Abteilung:":"Department:","Abteilungen":"Departments","Abteilungen verwalten":"Manage departments","Abteilungen werden geladen …":"Loading departments …","Abteilungs-E-Mail (optional)":"Department email (optional)","Abteilungs-E-Mail (optional, sonst Standardadresse)":"Department email (optional, otherwise default address)","Abteilungs-Routing-Tabelle":"Department routing table","Abteilungsinformationen":"Department information","Abteilungsleiter":"Department head","Achtung:":"Attention:","Admin benachrichtigen":"Notify admin","Admin-Protokoll":"Admin log","Admin-Protokoll einsehen":"View admin log","Administrator (alle Rechte)":"Administrator (all rights)","Administratornotizen":"Administrator notes","Administratornotizen (intern)":"Administrator notes (internal)","Adminportal":"Admin portal","Adminportal-Bereiche (\"Co-Admin\")":"Admin portal areas (\"co-admin\")","Admins benachrichtigen":"Notify admins","Adresse für Kunden:":"Address for customers:","Adresse für Kunden: {}":"Address for customers: {}","Adressen und Postfach-Abruf":"Addresses and mailbox fetching","Adressen verwaltest du unter „E-Mail-Adressen“.":"You manage addresses under \"Email addresses\".","Adressen, Priorität und Postfach-Abruf pflegst du unter":"You manage addresses, priority and mailbox fetching under","Agent anlegen":"Create agent","Agenten":"Agents","Agenten verwalten — {}":"Manage agents — {}","Aktion":"Action","Aktion nach Abruf":"Action after fetch","Aktionen":"Actions","Aktiv":"Active","Aktiv (auf dem Ticket-Formular sichtbar)":"Active (visible on the ticket form)","Aktiv (deaktivierte Rolle wird ignoriert)":"Active (a disabled role is ignored)","Aktiv (sonst deaktiviert)":"Active (otherwise disabled)","Aktiv (sonst gesperrt)":"Active (otherwise blocked)","Aktiv (wird beim Abruf berücksichtigt)":"Active (used when fetching)","Aktive Live-Chats (0)":"Active live chats (0)","Aktivieren":"Activate","Aktivität":"Activity","Aktualisiere …":"Refreshing …","Aktualisieren":"Refresh","Aktualisiert":"Updated","Aktuell keine offenen Live-Chats.":"There are currently no open live chats.","Aktuell würden":"Currently","Aktuelle Filter als Ansicht speichern":"Save current filters as a view","Aktuelle Filter speichern …":"Save current filters …","Aktuelles Passwort":"Current password","Alle":"All","Alle Absender der markierten Tickets sperren und Tickets schließen?":"Block all senders of the selected tickets and close the tickets?","Alle Abteilungen":"All departments","Alle Artikel durchsuchen":"Browse all articles","Alle Bedingungen":"All conditions","Alle Bedingungen müssen zutreffen":"All conditions must match","Alle Ergebnisse":"All results","Alle Prioritäten":"All priorities","Alle Status":"All statuses","Alle Tags":"All tags","Alle Textbausteine":"All text snippets","Alle Themen (oder Formular ohne Themenauswahl)":"All topics (or form without topic selection)","Alle Zuständigkeiten":"All assignments","Alle aktiven":"All active","Alle anlegen":"Create all","Alle außer Geschlossen":"All except closed","Alle behalten":"Keep all","Alle bekannten Datenbank-Änderungen sind eingespielt.":"All known database changes have been applied.","Alle eingegebenen Adressen sperren und Tickets schließen?":"Block all entered addresses and close tickets?","Alle löschen":"Delete all","Alle sperren":"Block all","Allgemein":"General","Allgemeine Anfrage":"General inquiry","Allgemeiner Support":"General support","Alphabetisch":"Alphabetical","Als Spam markiert":"Marked as spam","Als gelesen markieren":"Mark as read","An diesen Tagen laufen keine SLA-Fristen, unabhängig vom Wochentag.":"No SLA deadlines run on these days, regardless of the weekday.","Analysieren":"Analyze","Android fragt einmalig, ob der Browser Apps installieren darf. Das bitte erlauben.":"Android asks once whether the browser may install apps. Please allow it.","Anfrage-Quelle":"Request source","Angaben des Kunden":"Customer details","Angepasst":"Customized","Angewendet":"Applied","Anhang":"Attachment","Anhänge (optional, mehrere möglich)":"Attachments (optional, multiple allowed)","Anmelden":"Sign in","Anmelden – {}":"Sign in – {}","Anmeldung für Support-Mitarbeiter und Administratoren.":"Sign-in for support staff and administrators.","Anmeldung wird geprüft …":"Checking sign-in …","Anonymisiert":"Anonymized","Anonymisierung jetzt ausführen? Dies kann nicht rückgängig gemacht werden.":"Run anonymization now? This cannot be undone.","Anordnung der Optionen":"Order of the options","Ansicht aktualisieren":"Refresh view","Ansicht gespeichert":"View saved","Ansicht löschen":"Delete view","Ansicht löschen?":"Delete view?","Ansicht speichern":"Save view","Ansicht umbenennen":"Rename view","Ansichten":"Views","Antwort":"Answer","Antwort *":"Answer *","Antwort / Ticket":"Answer / ticket","Antwort an Kunden":"Reply to customer","Antwort anlegen":"Create answer","Antwort bearbeiten":"Edit answer","Antwort dazu anlegen":"Create an answer for it","Antwort gelöscht":"Answer deleted","Antwort gesendet":"Reply sent","Antwort gespeichert":"Answer saved","Antwort jetzt an den Kunden senden?":"Send the reply to the customer now?","Antwort löschen":"Delete answer","Antwort nicht gesendet":"Reply not sent","Antwort schreiben":"Write reply","Antwort senden":"Send reply","Antworten":"Replies","Antworten / Notiz":"Reply / note","Antworten auf häufige Fragen – oft schneller als der Weg über ein Ticket.":"Answers to common questions – often faster than opening a ticket.","Antworten, Fragen-Log, Einstellungen":"Answers, question log, settings","Antworten, Fragen-Log, Einstellungen, Synonyme":"Answers, question log, settings, synonyms","Antwort…":"Answer…","Anzeigename":"Display name","Anzeigename & URL":"Display name & URL","Anzeigename (optional)":"Display name (optional)","App öffnen, Serveradresse eingeben und anmelden.":"Open the app, enter the server address and sign in.","Apps für Mitarbeiter":"Apps for staff","Artikel":"Article","Artikel bearbeiten":"Edit article","Artikel und Kategorien":"Articles and categories","Artikel wirklich löschen?":"Really delete this article?","Auch Nachrichten durchsuchen":"Also search messages","Auf Standard zurücksetzen?":"Reset to default?","Auf später legen":"Snooze","Auf später legen: das Ticket verschwindet aus den Listen und kommt zurück, mit Benachrichtigung.":"Snooze: the ticket disappears from the lists and comes back, with a notification.","Auf „Alle Themen“ belassen, damit das Feld unabhängig vom gewählten Anliegen erscheint.":"Leave on \"All topics\" so the field appears regardless of the chosen request.","Aufbewahrungsdauer nach Schließung":"Retention period after closing","Aufgabe":"Task","Aufgabe löschen?":"Delete task?","Aufgaben":"Tasks","Aufgaben werden geladen …":"Loading tasks …","Aufrufe":"Views","Aus":"Off","Ausfall":"Outage","Auslöser":"Trigger","Ausprobieren":"Try out","Auswahl aufheben":"Clear selection","Auswahl:":"Selection:","Auswertungen":"Reports","Authenticator-Code":"Authenticator code","Auto-Antwort senden (Textbaustein)":"Send auto-reply (text snippet)","Automatisch":"Automatic","Automatisch (Routing-Tabelle / globale Standardabteilung)":"Automatic (routing table / global default department)","Automatisch (Standardadresse der Abteilung)":"Automatic (department default address)","Automatisch offline nach":"Go offline automatically after","Automatisch schließen":"Close automatically","Automatische Anonymisierung aktivieren":"Enable automatic anonymization","Automatische Backups":"Automatic backups","Automatische Backups jetzt manuell ausführen?":"Run automatic backups manually now?","Automatische Datenlöschung":"Automatic data deletion","Automatische Zeiterfassung (misst automatisch, wie lange ein Mitarbeiter ein Ticket geöffnet hat)":"Automatic time tracking (measures how long a staff member has a ticket open)","Automatischen Hintergrund-Betrieb aktiv halten":"Keep automatic background operation active","Automatischer Logout nach Inaktivität":"Automatic logout after inactivity","Automatisches Schließen":"Automatic closing","Automatisches Schließen jetzt manuell ausführen?":"Run automatic closing manually now?","Automatisierung":"Automation","Automatisierung und Auto-Antworten":"Automation and auto-replies","Backup-Intervall":"Backup interval","Backup-Rotation (lokale Kopien behalten)":"Backup rotation (local copies to keep)","Backups enthalten alle Dateien inkl.":"Backups contain all files incl.","Backups liegen in":"Backups are stored in","Backups vorhanden":"Backups available","Backups werden automatisch vor jedem Update erstellt":"Backups are created automatically before every update","Backups werden nach der Erstellung automatisch per FTP übertragen.":"Backups are transferred automatically via FTP after creation.","Bald fällig":"Due soon","Bayern":"Bavaria","Beantwortet":"Answered","Beantwortete Tickets nach":"Answered tickets after","Bearbeiten":"Edit","Bearbeitung":"Processing","Bedingungen":"Conditions","Bedingungen (optional – leer = alle Tickets)":"Conditions (optional – empty = all tickets)","Beenden":"Quit","Begrüßung":"Greeting","Behoben":"Resolved","Bei einer":"For a","Bei neuen Aktualisierungen an deinen Tickets und neuen, nicht zugewiesenen Tickets.":"On new updates to your tickets and new unassigned tickets.","Bei schweren Fehlern auf der Webseite eine E-Mail senden":"Send an email on serious errors on the website","Beide leer = immer Popups. Es gilt die Zeit des Servers, auch über Mitternacht (z. B. 22:00 bis 06:00).":"Both empty = always popups. The server time applies, also past midnight (e.g. 22:00 to 06:00).","Beim Schließen im Infobereich weiterlaufen":"Keep running in the notification area when closing","Beim Öffnen automatisch zuweisen (ein noch nicht zugewiesenes Ticket geht an den Mitarbeiter, der es öffnet)":"Assign automatically on open (an unassigned ticket goes to the staff member who opens it)","Beliebig":"Any","Beliebte Artikel":"Popular articles","Benachr.":"Notif.","Benachrichtigung bei Ticketzuweisung deaktivieren":"Disable notification on ticket assignment","Benachrichtigungen":"Notifications","Benannte Zeiten je Abteilung oder Thema":"Named times per department or topic","Benutzerdefiniert":"Custom","Benutzerdefinierte Berechtigungssets für Mitarbeiter. Ohne Rolle gelten die Standard-Mitarbeiterrechte.":"Custom permission sets for staff. Without a role, the default staff permissions apply.","Benutzerdefinierte Listen":"Custom lists","Benutzername":"Username","Benutzername (leer = E-Mail-Adresse)":"Username (empty = email address)","Benutzername / E-Mail":"Username / email","Beobachter":"Watchers","Beobachter und Cc":"Watchers and Cc","Beobachtetes Ticket aktualisiert":"Watched ticket updated","Berechtigungen":"Permissions","Berechtigungssets":"Permission sets","Bereich":"Area","Bereich „Beliebte Artikel“ auf der Startseite anzeigen":"Show the \"Popular articles\" section on the home page","Bereits registriert?":"Already registered?","Bericht erstellen":"Create report","Bericht gespeichert":"Report saved","Bericht löschen?":"Delete report?","Bericht speichern":"Save report","Bericht-Baukasten":"Report builder","Berichte":"Reports","Berichte ansehen":"View reports","Berichte einsehen":"View reports","Berichtszeitraum":"Reporting period","Beschreiben Sie Ihr Anliegen so detailliert wie möglich…":"Describe your request in as much detail as possible…","Beschreiben Sie Ihr Anliegen so genau wie möglich – das hilft uns, schneller zu helfen.":"Describe your request as precisely as possible – it helps us help you faster.","Beschreibung":"Description","Beschreibung (optional)":"Description (optional)","Beschriftung im Footer":"Footer label","Beschädigte Sitzungsdaten konnten nicht entfernt werden.":"Corrupted session data could not be removed.","Beschäftigt":"Busy","Bestätigen":"Confirm","Betreff":"Subject","Betreff & letzte Nachricht":"Subject & last message","Betreff und Kundenname in der Benachrichtigung anzeigen":"Show subject and customer name in the notification","Betreff · Ticket-Nr. · Kundenname · E-Mail":"Subject · ticket no. · customer name · email","Betrifft":"Affects","Betrifft: {}":"Affects: {}","Bewertet am":"Rated on","Bewertet am {}":"Rated on {}","Bezeichnung":"Label","Bezeichnung (z. B. Neujahr)":"Label (e.g. New Year)","Bild aus der Signatur":"Image from signature","Bild wird hochgeladen …":"Uploading image …","Bis":"To","Bis (HH:MM)":"Until (HH:MM)","Bis (JJJJ-MM-TT)":"Until (YYYY-MM-DD)","Bitte Authenticator-Code eingeben.":"Please enter the authenticator code.","Bitte Benachrichtigungen im Browser erlauben.":"Please allow notifications in the browser.","Bitte eine Datei auswaehlen.":"Please select a file.","Bitte eine Ziel-Abteilung wählen.":"Please choose a target department.","Bitte einen Zeitpunkt in der Zukunft wählen.":"Please choose a point in time in the future.","Bitte in der App anmelden.":"Please sign in in the app.","Bitte in der App neu anmelden.":"Please sign in again in the app.","Bitte mindestens ein Ticket markieren.":"Please select at least one ticket.","Bitte schildern Sie uns so viele Details wie möglich, damit wir Ihnen bestmöglich helfen können.":"Please give us as many details as possible so we can help you in the best way.","Bitte warten …":"Please wait …","Browser-Push-Benachrichtigungen":"Browser push notifications","Buchhaltung":"Accounting","Bundesland":"Federal state","Bündeln Sie mehrere Kundenkonten unter einer Firma/Organisation. Kontakte werden unter „Kunden“ zugeordnet.":"Group several customer accounts under one company/organization. Contacts are assigned under \"Customers\".","CSV exportieren":"Export CSV","Cc entfernen":"Remove Cc","Cc hinzufügen":"Add Cc","Cc hinzugefügt":"Cc added","Cc-Adresse hinzufügen":"Add Cc address","Cc-Empfänger":"Cc recipients","Chat auswählen":"Choose chat","Chat beenden":"End chat","Chat beenden?":"End chat?","Chat starten":"Start chat","Chat wird geladen …":"Loading chat …","Chat wirklich beenden?":"Really end chat?","Chats werden geladen …":"Loading chats …","Chatverlauf (an Kunde, nach Chatende)":"Chat transcript (to customer, after chat ends)","Chatverlauf per E-Mail an den Kunden senden, sobald ein Mitarbeiter den Chat beendet":"Send the chat transcript to the customer by email as soon as a staff member ends the chat","Checkbox (Ja/Nein)":"Checkbox (yes/no)","Copyright © {} – Alle Rechte vorbehalten.":"Copyright © {} – All rights reserved.","Cron-Job einrichten:":"Set up cron job:","Cron-Jobs":"Cron jobs","Cron-Status":"Cron status","Crontab-Eintrag":"Crontab entry","Crontab-Zeilen anzeigen":"Show crontab lines","Da gerade niemand direkt verfügbar ist, antworten wir Ihnen per E-Mail, sobald wir Ihre Anfrage bearbeitet haben.":"Nobody is available right now, so we will reply by email as soon as we have looked into your request.","Dann …":"Then …","Darf Tickets anlegen":"May create tickets","Darf Ticketstatus lesen (mit Ticketnummer + E-Mail des Anfragenden)":"May read ticket status (with ticket number + requester's email)","Darstellung":"Appearance","Das Ticket verschwindet aus den Listen und kommt zum gewählten Zeitpunkt zurück, mit Benachrichtigung. Antwortet der Kunde früher, kommt es sofort zurück.":"The ticket disappears from the lists and comes back at the chosen time, with a notification. If the customer replies earlier, it comes back immediately.","Das Ticket wird angelegt und gleich geschlossen. Es gibt keine Benachrichtigung an Mitarbeiter oder Kunden.":"The ticket is created and closed immediately. Neither staff nor customers are notified.","Das Token hat kein Ablaufdatum.":"The token has no expiry date.","Das gesamte Fragen-Log löschen?":"Delete the entire question log?","Das gesamte Fragen-Log wird gelöscht.":"The entire question log will be deleted.","Das sind deutsche Texte, die der Sammelmodus gesehen hat. Sie bilden die Vorlage für ein neues Sprachpaket.":"These are the German texts the collection mode has seen. They form the template for a new language pack.","Datei auf dem Handy herunterladen und öffnen.":"Download the file on your phone and open it.","Datei auswählen":"Choose file","Datei herunterladen und starten.":"Download the file and run it.","Datei per FTP in den Ordner":"Upload the file via FTP into the folder","Datenanonymisierung":"Data anonymization","Datenanonymisierung jetzt manuell ausführen?":"Run data anonymization manually now?","Datenbank":"Database","Datenschutz":"Privacy","Datenschutz & Impressum":"Privacy & legal notice","Datum":"Date","Datum (JJJJ-MM-TT)":"Date (YYYY-MM-DD)","Dazu passend":"Related","Deaktivieren":"Deactivate","Deaktiviert":"Disabled","Der Agent ist Mitglied in folgenden Teams.":"The agent is a member of the following teams.","Der Assistent beantwortet Fragen von Kunden aus der Wissensdatenbank und aus den zusätzlichen Antworten. Findet er nichts, bietet er ein Ticket an. Es wird kein externer KI-Dienst verwendet.":"The assistant answers customer questions from the knowledge base and the additional answers. If it finds nothing, it offers a ticket. No external AI service is used.","Der Assistent beantwortet Fragen von Kunden aus der Wissensdatenbank und den zusätzlichen Antworten. Findet er nichts, bietet er ein Ticket an. Es wird kein externer KI-Dienst verwendet.":"The assistant answers customer questions from the knowledge base and the additional answers. If it finds nothing, it offers a ticket. No external AI service is used.","Der Branding-Rahmen (Kopf-/Fußzeile) wird beim Versand automatisch ergänzt – hier nur den Inhalt anpassen.":"The branding frame (header/footer) is added automatically when sending – only adjust the content here.","Der Katalog konnte nicht geladen werden: SSL certificate problem: unable to get local issuer certificate":"The catalog could not be loaded: SSL certificate problem: unable to get local issuer certificate","Der Ordner install/ existiert ohne Sperrdatei. Löschen Sie den Ordner install/ vom Server.":"The install/ folder exists without a lock file. Delete the install/ folder from the server.","Der Server hat keine Antwort geliefert.":"The server did not return a response.","Design wechseln":"Switch design","DeskHub Desktop {} · Rechte und Daten kommen vom Server – genau wie in der Android-App.":"DeskHub Desktop {} · Permissions and data come from the server – just like in the Android app.","DeskHub Ticketsystem":"DeskHub ticket system","Deutsch":"German","Die":"The","Die Aktion ist fehlgeschlagen.":"The action failed.","Die Anmeldung lieferte kein Mitarbeiterprofil.":"The sign-in returned no staff profile.","Die Anmeldung lieferte kein Token.":"The sign-in returned no token.","Die Datenbank ist noch nicht aktuell. Bitte im Adminportal unter System-Update „Datenbank aktualisieren“ klicken.":"The database is not up to date yet. Please click \"Update database\" in the admin portal under System update.","Die Liste der Versionen konnte nicht geladen werden: API HTTP 0":"The list of versions could not be loaded: API HTTP 0","Die Seite konnte nicht geöffnet werden.":"The page could not be opened.","Die Server-Adresse ist ungültig.":"The server address is invalid.","Die Server-Adresse muss HTTPS verwenden.":"The server address must use HTTPS.","Die Serverantwort ist ungültig.":"The server response is invalid.","Die angeforderte Seite existiert nicht.":"The requested page does not exist.","Die geschützte Anmeldung konnte nicht gelesen werden und wurde entfernt.":"The protected sign-in could not be read and was removed.","Die geschützte Anmeldung konnte nicht gespeichert werden.":"The protected sign-in could not be saved.","Die lokale Anmeldung konnte nicht entfernt werden.":"The local sign-in could not be removed.","Die meistgelesenen Antworten aus unserer Wissensdatenbank.":"The most-read answers from our knowledge base.","Dienst entfernen?":"Remove service?","Dienst setzen auf":"Set service to","Dienstag":"Tuesday","Dienste":"Services","Dienste und Störungen für Kunden":"Services and incidents for customers","Dienste und Störungsmeldungen für Kunden":"Services and incident messages for customers","Diese Adresse gebt ihr beim ersten Start der App ein, danach meldet ihr euch mit eurem Mitarbeiter-Konto an.":"You enter this address when you first start the app, then sign in with your staff account.","Diese Antworten haben Vorrang vor der Wissensdatenbank. Der Assistent findet sie über die Wörter in der Frage und in den Stichwörtern.":"These answers take precedence over the knowledge base. The assistant finds them through the words in the question and in the keywords.","Diesen Bericht speichern":"Save this report","Dieser Abteilung sind noch keine Mitarbeiter zugewiesen. Die Zuweisung erfolgt unter „Mitarbeiter“.":"No staff members are assigned to this department yet. Assignment is done under \"Staff\".","Dieser Bewertungslink ist ungültig oder abgelaufen.":"This rating link is invalid or has expired.","Dieser Chat wird gerade von „{}“ bearbeitet – nur Ansicht.":"This chat is currently being handled by \"{}\" – view only.","Dieser Chat wurde beendet.":"This chat has ended.","Dieser Monat":"This month","Dieses Jahr":"This year","Dieses Ticket":"This ticket","Dieses Ticket wurde nicht gefunden.":"This ticket was not found.","Digitalen Assistenten einschalten":"Enable digital assistant","Digitaler Assistent":"Digital assistant","Dir fehlt das Recht „Tickets erstellen“.":"You lack the \"Create tickets\" permission.","Dir zugewiesen":"Assigned to you","Discord Webhook-URL":"Discord webhook URL","Domain (ganzer Mailanbieter)":"Domain (whole mail provider)","Domain, z.B. spam.de":"Domain, e.g. spam.com","Donnerstag":"Thursday","Dringend":"Urgent","Dropdown-Auswahl":"Dropdown selection","Druckdatum: 24.10.2026 19:44":"Print date: 24.10.2026 19:44","Druckdatum: {}":"Print date: {}","Du beobachtest das Ticket jetzt":"You are now watching the ticket","Du beobachtest das Ticket nicht mehr":"You are no longer watching the ticket","Dunkel":"Dark","E-Mail":"Email","E-Mail (optional)":"Email (optional)","E-Mail / Domain":"Email / domain","E-Mail des Kunden (optional)":"Customer email (optional)","E-Mail, z.B. spam@beispiel.de":"Email, e.g. spam@example.com","E-Mail-Abruf":"Email fetching","E-Mail-Abruf (IMAP)":"Email fetching (IMAP)","E-Mail-Abruf jetzt manuell ausführen?":"Run email fetching manually now?","E-Mail-Adresse":"Email address","E-Mail-Adresse *":"Email address *","E-Mail-Adresse bearbeiten":"Edit email address","E-Mail-Adresse oder Passwort ist falsch.":"Email address or password is incorrect.","E-Mail-Adresse wirklich löschen?":"Really delete this email address?","E-Mail-Adressen":"Email addresses","E-Mail-Adressen verwalten":"Manage email addresses","E-Mail-Adressen werden geladen …":"Loading email addresses …","E-Mail-Versand aktiv (PHP mail() Fallback)":"Email sending active (PHP mail() fallback)","E-Mail-Vorlagen":"Email templates","E-Mail-Vorlagen verwalten":"Manage email templates","E-Mails / Domains":"Emails / domains","Echter Server-Cronjob":"Real server cron job","Eigene Inhaltsseiten für das Kundenportal (z. B. Impressum, Datenschutz, Willkommen). Erreichbar unter":"Custom content pages for the customer portal (e.g. legal notice, privacy, welcome). Available at","Eigene Kundenportal-Themes":"Custom customer portal themes","Eigene Sprache als Plugin erstellen":"Create your own language as a plugin","Eigenen SMTP-Server für diese Adresse verwenden":"Use own SMTP server for this address","Eigenen SMTP-Server verwenden":"Use own SMTP server","Eigener SMTP":"Own SMTP","Eigenes Plugin hochladen":"Upload your own plugin","Eigenschaften":"Properties","Ein von dir gesetzter Status bleibt, bis der Mitarbeiter ihn selbst ändert oder du ihn erneut änderst.":"A status you set stays until the staff member changes it or you change it again.","Eine Adresse pro Zeile, optional mit Anzeigename nach einem Komma (z. B.":"One address per line, optionally with a display name after a comma (e.g.","Eine Bedingung":"One condition","Eine E-Mail oder Domain pro Zeile (oder kommagetrennt). Typ wird automatisch erkannt.":"One email or domain per line (or comma-separated). The type is detected automatically.","Eine E-Mail oder Domain pro Zeile. Typ wird automatisch erkannt.":"One email or domain per line. The type is detected automatically.","Eingang":"Inbox","Eingangsbestätigung per E-Mail an Kunden senden (nur wenn E-Mail angegeben)":"Send an acknowledgement of receipt to the customer by email (only if an email address was given)","Eingangsbestätigung per E-Mail senden":"Send acknowledgement of receipt by email","Eingeschränkt":"Degraded","Einstellungen":"Settings","Einstellungen bei neuem Ticket":"Settings for new tickets","Einstellungen konnten nicht geladen werden (hat der Server die neueste Version?).":"Settings could not be loaded (does the server have the latest version?).","Einträge":"Entries","Einzeiliger Text":"Single-line text","Einzeln":"Individually","Einzeln sperren":"Block individually","Empfänger (leer = Administratoren), mehrere mit Komma":"Recipients (empty = administrators), several separated by comma","Entfernen":"Remove","Entferntes Postfach":"Remote mailbox","Entferntes Postfach (Abruf per IMAP)":"Remote mailbox (fetch via IMAP)","Entsperren":"Unblock","Entwurf":"Draft","Entwürfe gelöscht":"Drafts deleted","Er bleibt als Ticket erhalten, verschwindet aber aus den aktiven Live-Chats.":"It remains as a ticket but disappears from the active live chats.","Ereignisse":"Events","Erfasste Arbeitszeiten":"Recorded working times","Ergebnis":"Result","Erhalten eine Kopie jeder öffentlichen Antwort per E-Mail.":"Receive a copy of every public reply by email.","Erinnerung (an Kunde, wenn er nicht reagiert)":"Reminder (to customer, if they do not respond)","Erlaubte Datei-Endungen":"Allowed file extensions","Erlaubte Dateitypen":"Allowed file types","Erlaubte IP-Adressen (optional)":"Allowed IP addresses (optional)","Erlaubte IPs":"Allowed IPs","Erledigt":"Done","Erneut":"Again","Erneut versuchen":"Try again","Ersetzt die Zeiten der Priorität für Tickets, deren Hilfethema oder Abteilung diesen Plan nutzt (Hilfethema vor Abteilung).":"Replaces the priority's times for tickets whose help topic or department uses this plan (help topic before department).","Erste Schritte":"Getting started","Erstellen":"Create","Erstellen Sie ein Kundenkonto, um Tickets zu verfolgen.":"Create a customer account to track your tickets.","Erstellen Sie unter Backup eines und prüfen Sie es.":"Create one under Backup and check it.","Erstellt":"Created","Erstellt:":"Created:","Erstreaktion":"First response","Erwartete Prüfsumme (SHA-256, optional)":"Expected checksum (SHA-256, optional)","Erweiterter Zugriff":"Extended access","Erwähnungen":"Mentions","Es sind noch keine Teams angelegt.":"No teams have been created yet.","Es sind noch keine Teams angelegt. Teams legst du unter":"No teams have been created yet. You create teams under","Es wird keine Signatur angehängt.":"No signature will be attached.","Eskalationsregeln":"Escalation rules","Eskalationsregeln jetzt manuell ausführen?":"Run escalation rules manually now?","Eskalationsregeln verwalten":"Manage escalation rules","Eskalationsregeln werden stündlich per Cron geprüft (":"Escalation rules are checked hourly via cron (","Exportieren (CSV)":"Export (CSV)","Externer Link":"External link","Externer Link (optional)":"External link (optional)","FTP speichern":"Save FTP","FTP-Host":"FTP host","FTP-Rotation (Kopien auf Server)":"FTP rotation (copies on server)","Falls Windows warnt („Der Computer wurde geschützt“):":"If Windows warns (\"Windows protected your PC\"):","Farbe (#RRGGBB)":"Color (#RRGGBB)","Favicon (Symbol im Browser-Tab)":"Favicon (icon in the browser tab)","Fehler:":"Error:","Feiertag hinzufügen":"Add holiday","Feiertage":"Holidays","Feiertage (0)":"Holidays (0)","Feiertage / Schließtage":"Holidays / closing days","Feiertage automatisch übernehmen":"Import holidays automatically","Feld":"Field","Feldtyp":"Field type","Fenster schließen":"Close window","Fertig":"Done","Fertige Designs direkt installieren. Prüfsumme und Signatur werden vor der Installation geprüft.":"Install ready-made designs directly. Checksum and signature are verified before installation.","Filter in der":"Filter in the","Filter zurücksetzen":"Reset filters","Filtern":"Filter","Firmenlogo":"Company logo","Formular":"Form","Frage":"Question","Frage / Thema":"Question / topic","Frage / Thema *":"Question / topic *","Frage ausprobieren":"Try a question","Fragen-Log":"Question log","Fragen-Log geleert":"Question log cleared","Fragen-Log leeren?":"Clear question log?","Fragen-Log: Aufbewahrung in Tagen (0 = nichts speichern)":"Question log: retention in days (0 = store nothing)","Frei konfigurierbare Auswertungen nach Erstellungsdatum der Tickets":"Freely configurable reports by ticket creation date","Freitag":"Friday","Fällig":"Due","Fällig bis":"Due until","Fällig bis (JJJJ-MM-TT HH:MM, optional)":"Due until (YYYY-MM-DD HH:MM, optional)","Für Kunden sichtbar (auf „Neues Ticket“)":"Visible to customers (on \"New ticket\")","Für alle Abteilungen":"For all departments","Für alle Mitarbeiter sichtbar":"Visible to all staff","Für automatische Backups den Cron einrichten:":"Set up cron for automatic backups:","Für dich":"For you","Gast":"Guest","Gast-Kunde":"Guest customer","Gast-Ticket zum Konto hinzufügen":"Add guest ticket to your account","Gedruckt: 24.10.2026 19:44":"Printed: 24.10.2026 19:44","Gedruckt: {}":"Printed: {}","Gefährliche Typen (PHP, EXE, SH etc.) werden immer blockiert – unabhängig von dieser Liste.":"Dangerous types (PHP, EXE, SH etc.) are always blocked – regardless of this list.","Gelöscht":"Deleted","Gelöst":"Resolved","Gelöst diesen Monat":"Resolved this month","Gelöst/Geschlossen":"Resolved/Closed","Genutzt":"Used","Geprüfte Plugins":"Verified plugins","Gerade ist niemand verfügbar – wir antworten aber, sobald wir wieder da sind.":"Nobody is available right now – we will reply as soon as we are back.","Gesammelte Texte löschen?":"Delete collected texts?","Gesammelte Texte: 556":"Collected texts: 556","Gesammelte Texte: {#}":"Collected texts: {}","Gesamt":"Total","Gesamt: {} Minuten":"Total: {} minutes","Gesamter Zeitraum":"Entire period","Gesamtgröße":"Total size","Geschlossen":"Closed","Geschäftszeiten":"Business hours","Geschäftszeiten für SLA-Berechnung verwenden":"Use business hours for SLA calculation","Geschäftszeiten verwalten":"Manage business hours","Geschäftszeiten werden geladen …":"Loading business hours …","Gespeichert":"Saved","Gespeichert ({} Gruppen)":"Saved ({} groups)","Gespeichert werden: assigned":"Saved: assigned","Gespeichert werden: keine Filter (alle Tickets)":"Saved: no filters (all tickets)","Gespeichert werden: status":"Saved: status","Gespeichert.":"Saved.","Gespeicherte Ansichten":"Saved views","Gespeicherte Berichte":"Saved reports","Gespeicherte Entwürfe löschen":"Delete saved drafts","Gespeicherte Zugangsdaten (SMTP, IMAP, Webhooks) sind mit einem eigenen Schlüssel verschlüsselt.":"Stored credentials (SMTP, IMAP, webhooks) are encrypted with a separate key.","Gesperrt":"Blocked","Gesperrt am":"Blocked on","Gesperrte Einträge (0)":"Blocked entries (0)","Geteilt von {}":"Shared by {}","Geöffnet":"Opened","Gilt für Hilfe-Thema":"Applies to help topic","Gilt für Tickets aus Formular, E-Mail, API und Live-Chat. Eine Ticket-Regel mit „Mitarbeiter zuweisen“ hat Vorrang. Im Urlaub bekommt die Vertretung das Ticket, „Reihum“ überspringt Mitarbeiter im Urlaub oder offline.":"Applies to tickets from the form, email, API and live chat. A ticket rule with \"Assign staff member\" takes precedence. On vacation, the substitute gets the ticket; \"Round robin\" skips staff on vacation or offline.","Gleichbedeutende Wörter":"Synonyms","Gleichbedeutende Wörter gespeichert":"Synonyms saved","Grund":"Reason","Grund (optional)":"Reason (optional)","Grund für alle (optional)":"Reason for all (optional)","Gruppe":"Group","Gruppieren nach":"Group by","Guten Abend":"Good evening","Guten Abend, {}":"Good evening, {}","Guten Morgen":"Good morning","Guten Morgen, {}":"Good morning, {}","Guten Tag":"Hello","Guten Tag, {}":"Hello, {}","HTML-Inhalt (Popup)":"HTML content (popup)","HTML-Inhalt (öffnet Popup). Ist ein Link gesetzt, wird das HTML-Feld ignoriert.":"HTML content (opens popup). If a link is set, the HTML field is ignored.","Handlungsbedarf ·":"Action needed ·","Hauptabteilung":"Main department","Hauptrolle":"Main role","Hell":"Light","Helpdesk-Status":"Helpdesk status","Herkunft":"Origin","Hessen":"Hesse","Heute":"Today","Heute gelöst":"Resolved today","Hier finden Sie das Archiv und den Verlauf Ihrer aktuellen und vorherigen Supportanfragen inklusive der Antworten.":"Here you can find the archive and history of your current and previous support requests, including the replies.","Hier finden Sie den Verlauf und Status Ihrer aktuellen und bisherigen Supportanfragen.":"Here you can find the history and status of your current and previous support requests.","Hier ist noch keine Android-App hinterlegt.":"No Android app has been stored here yet.","Hier ist noch keine Windows-App hinterlegt.":"No Windows app has been stored here yet.","Hier könnt ihr eigene Plugins als ZIP installieren oder aktualisieren, auch ohne Signatur. Diese Plugins sind":"Here you can install or update your own plugins as ZIP, even without a signature. These plugins are","Hilfe-Thema":"Help topic","Hilfe-Thema (optional)":"Help topic (optional)","Hilfe-Thema setzen":"Set help topic","Hilfe-Themen":"Help topics","Hilfe-Themen verwalten":"Manage help topics","Hilfethema":"Help topic","Hilfethema aktualisieren":"Update help topic","Hilfethema wirklich löschen?":"Really delete this help topic?","Hilfethemen":"Help topics","Hilfethemen werden geladen …":"Loading help topics …","Hilfethemeninformationen":"Help topic information","Hintergrundbild im dunklen Hero-Bereich. Mind. 1600×500 px, max. 5 MB.":"Background image in the dark hero area. At least 1600×500 px, max. 5 MB.","Hinweis für Administratoren: Zum Aktualisieren einer App die neue Datei per FTP in":"Note for administrators: to update an app, upload the new file via FTP to","Hinweis:":"Note:","Hinweise":"Notes","Hinweise ·":"Notes ·","Hinweistext (optional)":"Note text (optional)","Hinzufügen":"Add","Hoch":"High","Hochladen":"Upload","Hochladen & installieren":"Upload & install","Hochladen →":"Upload →","Hohe Priorität":"High priority","Häufige Fragen":"Frequently asked questions","Häufige Fragen ohne Antwort":"Frequent questions without an answer","IP-Adresse":"IP address","IP-Adressen sofort beim Speichern kürzen (letztes Oktett entfernen)":"Shorten IP addresses immediately when saving (remove last octet)","Ich wurde erwähnt":"I was mentioned","Ihr Anliegen":"Your request","Ihr Name":"Your name","Ihre Bewertung – {}":"Your rating – {}","Ihre E-Mail-Adresse":"Your email address","Ihre Kontaktdaten":"Your contact details","Ihre Nachricht...":"Your message...","Ihre Nachricht…":"Your message…","Im Browser öffnen: zusammenführen, aufteilen, drucken":"Open in browser: merge, split, print","Im Zeitraum wurden noch keine Abfragen verschickt.":"No surveys were sent in this period.","Immer (zum Testen)":"Always (for testing)","Immer an einen bestimmten Mitarbeiter":"Always to a specific staff member","Impressum":"Legal notice","In 1 Stunde":"In 1 hour","In 1 Woche":"In 1 week","In 3 Stunden":"In 3 hours","In 3 Tagen":"In 3 days","In Arbeit":"In progress","In Betrieb":"Operational","In Ordner verschieben":"Move to folder","In der Datei":"In the file","Inaktiv":"Inactive","Individuelle Berechtigungen":"Individual permissions","Individuelle Ticket-Felder":"Custom ticket fields","Informationen":"Information","Inhalt":"Content","Inhalt / Zusammenfassung":"Content / summary","Installierte Sprachen":"Installed languages","Installierte Version":"Installed version","Intern":"Internal","Interne Notiz":"Internal note","Interne Notizen":"Internal notes","Interne Notizen (vertraulich)":"Internal notes (confidential)","Interne Notizen schreiben":"Write internal notes","Interner Chat":"Internal chat","Interner Kommentar…":"Internal comment…","Jahr":"Year","Jeder Job kann hier zusätzlich jederzeit sofort manuell gestartet werden.":"Each job can also be started manually at any time here.","Jedes Postfach wird beim Abruf (Cronjob":"Each mailbox is queried individually when fetching (cron job","Jetzt anmelden":"Sign in now","Jetzt ausführen":"Run now","Jetzt erneut versuchen":"Try again now","Jetzt registrieren":"Register now","Kanal (web/email)":"Channel (web/email)","Kanal-Einstellungen → Integrationen → Webhooks → Neuer Webhook":"Channel settings → Integrations → Webhooks → New webhook","Katalog aktualisieren":"Refresh catalog","Kategorie":"Category","Kategorie wirklich löschen?":"Really delete this category?","Kategorien":"Categories","Kein Hilfethema":"No help topic","Kein Konto nötig:":"No account needed:","Kein Kunde ausgewählt.":"No customer selected.","Kein Live-Chat ausgewählt":"No live chat selected","Kein Logo hinterlegt.":"No logo stored.","Kein Spam":"Not spam","Kein Ticket ausgewählt.":"No ticket selected.","Kein Titelbild hinterlegt.":"No cover image stored.","Kein Token eingetragen (öffentlicher Zugriff).":"No token entered (public access).","Kein Update seit X Stunden":"No update for X hours","Kein Zugriff.":"No access.","Kein eigenes Favicon hinterlegt.":"No custom favicon stored.","Keine":"None","Keine Aktualisierung seit …":"No update since …","Keine Antwort seit …":"No reply since …","Keine Aufgaben gefunden.":"No tasks found.","Keine Aufgaben.":"No tasks.","Keine Berechtigungen":"No permissions","Keine Daten verfügbar.":"No data available.","Keine Einträge.":"No entries.","Keine Erwähnungen vorhanden.":"No mentions.","Keine Kunden gefunden.":"No customers found.","Keine Meldungen.":"No messages.","Keine Mitarbeiter gefunden.":"No staff found.","Keine Mitarbeiter-Antwort seit X Stunden":"No staff reply for X hours","Keine Signatur":"No signature","Keine Signatur hinterlegt.":"No signature stored.","Keine Störungen in den letzten 14 Tagen.":"No incidents in the last 14 days.","Keine Tickets gefunden.":"No tickets found.","Keine Tickets im gewählten Zeitraum.":"No tickets in the selected period.","Keine Tickets mit diesen Filtern. Unter „Aktiv“ kannst du „Alle Status“ wählen, um auch erledigte Tickets zu sehen.":"No tickets with these filters. Under \"Active\" you can choose \"All statuses\" to also see completed tickets.","Keine Tickets vorhanden.":"No tickets available.","Keine Treffer für diese Suche.":"No results for this search.","Keine Treffer.":"No results.","Keine Verbindung zum Server – nächster Versuch in {} s. Bereits geladene Daten sind eventuell veraltet.":"No connection to the server – next attempt in {} s. Data already loaded may be outdated.","Keine Verbindung zum Server.":"No connection to the server.","Keine Verbindung zum Server. Es wird automatisch erneut versucht.":"No connection to the server. It will be retried automatically.","Keine Zeiteinträge im gewählten Zeitraum.":"No time entries in the selected period.","Keine aktive deskhub-Sitzung.":"No active deskhub session.","Keine aktiven Chats":"No active chats","Keine lokale Anmeldung vorhanden.":"No local sign-in available.","Keine passende Antwort: Der Assistent würde anbieten, ein Ticket zu erstellen. Lege dafür eine zusätzliche Antwort an oder ergänze die Wissensdatenbank.":"No matching answer: the assistant would offer to create a ticket. Create an additional answer for it or extend the knowledge base.","Keine vorhanden.":"None available.","Keine weitere Einstellung nötig.":"No further setting needed.","Keine weiteren Mitarbeiter vorhanden.":"No more staff available.","Keine weiteren Tickets.":"No more tickets.","Kennzahlen":"Key figures","Klicke rechts auf einen Mitarbeiter":"Click a staff member on the right","Kollaboratoren":"Collaborators","Kollegen auswählen":"Select colleagues","Kommentieren":"Comment","Konfiguration":"Configuration","Kontaktdaten":"Contact details","Kontakte":"Contacts","Kontakte werden geladen …":"Loading contacts …","Konten und Zugriff":"Accounts and access","Konten, Rollen, Abteilungszugriff":"Accounts, roles, department access","Konto":"Account","Konto erstellen":"Create account","Konto erstellen – {}":"Create account – {}","Kontodaten":"Account details","Kontoinformationen":"Account information","Kontotyp":"Account type","Kopieren":"Copy","Kostenloses Konto erstellen":"Create a free account","Kunde":"Customer","Kunde nicht gefunden.":"Customer not found.","Kunde tippt …":"Customer is typing …","Kunden":"Customers","Kunden erinnern, wenn sie auf eine Antwort nicht reagieren (einmalig, vor dem automatischen Schließen)":"Remind customers if they do not respond to a reply (once, before automatic closing)","Kunden per E-Mail benachrichtigen":"Notify customers by email","Kunden werden geladen …":"Loading customers …","Kunden zu Firmen bündeln":"Group customers into companies","Kunden-Organisationen":"Customer organizations","Kundendaten":"Customer data","Kundenerinnerung":"Customer reminder","Kundenerinnerung jetzt manuell ausführen?":"Run customer reminder manually now?","Kundenprofil":"Customer profile","Kundenprofil wird geladen …":"Loading customer profile …","Kundenprofil: {}":"Customer profile: {}","Kundenverzeichnis":"Customer directory","Kundenzufriedenheit":"Customer satisfaction","Kundenzufriedenheit (letzte 30 Tage)":"Customer satisfaction (last 30 days)","Kundenzufriedenheit ({} Tage)":"Customer satisfaction ({} days)","Kurzbeschreibung (optional)":"Short description (optional)","Kurze Zusammenfassung Ihres Problems":"Short summary of your problem","Lade …":"Loading …","Lade…":"Loading…","Leere Vorlage laden":"Load empty template","Legen Sie fest, welche zusätzlichen Bereiche auf der Kundenportal-Startseite angezeigt werden.":"Choose which additional sections are shown on the customer portal home page.","Leiter, Mitglieder, E-Mail":"Lead, members, email","Leiter: {} · {} Mitglieder":"Lead: {} · {} members","Leitung":"Lead","Leserecht":"Read permission","Letzte 30 Tage":"Last 30 days","Letzte 7 Tage":"Last 7 days","Letzte Zustellung":"Last delivery","Letzter Abruf":"Last fetch","Letzter Abruf: {}.":"Last fetch: {}.","Letztes Auto-Backup":"Last auto backup","Letztes Backup":"Last backup","Link anfordern":"Request link","Link kopieren":"Copy link","Link kopiert":"Link copied","Link nicht gültig":"Link not valid","Link-Adresse":"Link address","Live-Chat":"Live chat","Live-Chat (Kunden)":"Live chat (customers)","Live-Chat im Kundenportal (Chat-Widget unten rechts, auch ohne Kundenkonto nutzbar)":"Live chat in the customer portal (chat widget at the bottom right, also usable without a customer account)","Live-Chat ist derzeit":"Live chat is currently","Live-Chat {} · Wissensdatenbank im Portal {}":"Live chat {} · Knowledge base in the portal {}","Log geleert":"Log cleared","Log leeren":"Clear log","Lädt …":"Loading …","Löschen":"Delete","Lösen":"Resolve","Lösung":"Solution","Lösung (Std)":"Resolution (hrs)","Lösung (h)":"Resolution (h)","Lösung fällig":"Resolution due","Lösung fällig: {}":"Resolution due: {}","Lösungszeit (Std)":"Resolution time (hrs)","Lösungszeit (Std.)":"Resolution time (hrs.)","Mail senden nach":"Send email after","Manuell":"Manual","Manuelles Update":"Manual update","Markierte Tickets wirklich unwiderruflich löschen?":"Really delete the selected tickets permanently?","Maximale Dateigröße":"Maximum file size","Mecklenburg-Vorpommern":"Mecklenburg-Western Pomerania","Mehr":"More","Mehr laden":"Load more","Mehrere":"Several","Mehrere Adressen auf einmal anlegen":"Create several addresses at once","Mehrere sperren":"Block several","Mehrzeiliger Text":"Multi-line text","Mein Profil":"My profile","Mein Status":"My status","Mein Status:":"My status:","Meine":"My","Meine Ansicht":"My view","Meine Erwähnungen":"My mentions","Meine Signatur":"My signature","Meine Signatur (nicht hinterlegt)":"My signature (not set)","Meine Signatur bearbeiten":"Edit my signature","Meine Tickets":"My tickets","Meine Tickets ansehen":"View my tickets","Meine Tickets – {}":"My tickets – {}","Meine offenen":"My open","Melden Sie sich an, um alle Ihre Tickets im Überblick zu sehen.":"Sign in to see all your tickets at a glance.","Meldung gelöscht":"Message deleted","Meldung löschen":"Delete message","Meldung löschen?":"Delete message?","Meldung veröffentlicht":"Message published","Meldungen":"Messages","Meldungen (letzte 14 Tage)":"Messages (last 14 days)","Mindestens 10 Zeichen mit Groß- und Kleinbuchstaben, einer Ziffer und einem Sonderzeichen.":"At least 10 characters with upper and lower case letters, a digit and a special character.","Mindestens eine Bedingung":"At least one condition","Minuten":"Minutes","Minuten (5–480). Countdown wird oben rechts angezeigt.":"Minutes (5–480). Countdown is shown at the top right.","Minuten ohne Aktivität":"Minutes without activity","Mir zugewiesen":"Assigned to me","Mir zuweisen":"Assign to me","Mit Windows starten":"Start with Windows","Mit deinem Mitarbeiterkonto anmelden":"Sign in with your staff account","Mit den Apps bearbeitet ihr Tickets am PC oder unterwegs. Beide haben ein helles und dunkles Design.":"With the apps you work on tickets at the PC or on the go. Both have a light and a dark design.","Mitarbeiter":"Staff","Mitarbeiter (nur bei „Immer an einen bestimmten Mitarbeiter“)":"Staff member (only for \"Always to a specific staff member\")","Mitarbeiter auswählen":"Select staff member","Mitarbeiter können diese Textbausteine beim Beantworten eines Tickets per Klick in die Antwort einfügen.":"Staff can insert these text snippets into a reply with one click when answering a ticket.","Mitarbeiter löschen":"Delete staff member","Mitarbeiter tippt …":"Agent is typing …","Mitarbeiter verwalten":"Manage staff","Mitarbeiter werden geladen …":"Loading staff …","Mitarbeiter wirklich löschen?":"Really delete this staff member?","Mitarbeiter zuweisen":"Assign staff member","Mitarbeiter-Anmeldung":"Staff sign-in","Mitarbeiter-Bereich":"Staff area","Mitarbeiter-Gruppen":"Staff groups","Mitarbeiter-Login – {}":"Staff login – {}","Mitarbeiter-Login →":"Staff login →","Mitarbeiter-Verzeichnis":"Staff directory","Mitarbeiterbereich":"Staff area","Mitglied in Teams":"Member of teams","Mitglieder":"Members","Mitglieder (2)":"Members (2)","Mitglieder lassen sich nach dem Erstellen unter „Mitarbeiter“ zuweisen.":"Members can be assigned under \"Staff\" after creating.","Mitglieder: {}":"Members: {}","Mittwoch":"Wednesday","Monat":"Month","Monate":"Months","Monatlich":"Monthly","Montag":"Monday","Morgen 8:00":"Tomorrow 8:00","Morgen früh (8:00 Uhr)":"Tomorrow morning (8:00)","Nach Mitarbeiter:":"By staff member:","Nach Priorität":"By priority","Nach Status":"By status","Nach Stunden":"By hours","Nach dem Update Browser-Cache leeren":"Clear the browser cache after the update","Nach wie vielen Tagen ohne Kundenreaktion":"After how many days without customer response","Nach wie vielen Tagen ohne Reaktion":"After how many days without response","Nachricht":"Message","Nachricht eingeben...":"Enter message...","Nachricht verfassen":"Compose message","Nachricht …":"Message …","Nachricht…":"Message…","Nachricht… (Strg+Enter zum Senden)":"Message… (Ctrl+Enter to send)","Name der Ansicht":"Name of the view","Name der Vorlage":"Name of the template","Name des Assistenten":"Name of the assistant","Name des Kunden":"Customer name","Name in der Benachrichtigung (optional)":"Name in the notification (optional)","Name oder E-Mail":"Name or email","Name oder E-Mail suchen…":"Search name or email…","Nebeneinander":"Side by side","Neu":"New","Neue Abteilung":"New department","Neue Abteilung hinzufügen":"Add new department","Neue Adresse":"New address","Neue Antwort":"New reply","Neue Antwort (an Kunde)":"New reply (to customer)","Neue Aufgabe":"New task","Neue E-Mail-Adresse":"New email address","Neue Eskalationsregel":"New escalation rule","Neue Kategorie":"New category","Neue Kundenantwort":"New customer reply","Neue Liste hinzufügen":"Add new list","Neue Meldung (Störung oder Wartung)":"New message (incident or maintenance)","Neue Organisation":"New organization","Neue Priorität":"New priority","Neue Priorität hinzufügen":"Add new priority","Neue Regel":"New rule","Neue Regel hinzufügen":"Add new rule","Neue Rolle":"New role","Neue Rolle hinzufügen":"Add new role","Neue Seite hinzufügen":"Add new page","Neue Stufe":"New level","Neue Ticket-Regel":"New ticket rule","Neue Tickets automatisch zuweisen":"Assign new tickets automatically","Neue Tickets, Kundenantworten und Zuweisungen":"New tickets, customer replies and assignments","Neue Vorlage":"New template","Neuen Agenten hinzufügen":"Add new agent","Neuen Chat starten":"Start a new chat","Neuen SLA-Plan hinzufügen":"Add new SLA plan","Neuen Schlüssel erstellen":"Create new key","Neuen Webhook hinzufügen":"Add new webhook","Neuer Agent":"New agent","Neuer Artikel":"New article","Neuer Dienst, z. B. Webseite":"New service, e.g. website","Neuer Live-Chat":"New live chat","Neuer Mitarbeiter":"New staff member","Neuer SLA-Plan":"New SLA plan","Neues Bild hochladen (JPG, PNG, WEBP · max. 2 MB)":"Upload new image (JPG, PNG, WEBP · max. 2 MB)","Neues Feld":"New field","Neues Hilfethema":"New help topic","Neues Hilfethema hinzufügen":"Add new help topic","Neues Passwort":"New password","Neues Passwort (leer = unverändert)":"New password (empty = unchanged)","Neues Postfach":"New mailbox","Neues Team":"New team","Neues Team hinzufügen":"Add new team","Neues Ticket":"New ticket","Neues Ticket (an Abteilung)":"New ticket (to department)","Neues Ticket erstellen":"Create new ticket","Neues Ticket eröffnen":"Open a new ticket","Neues Ticket für diesen Kunden":"New ticket for this customer","Neues Ticket – {}":"New ticket – {}","Nicht angemeldet.":"Not signed in.","Nicht automatisch zuweisen":"Do not assign automatically","Nicht für den Produktivbetrieb geeignet. Bitte in":"Not suitable for production use. Please in","Nicht gespeichert: bitte Uhrzeiten prüfen (z. B. 22:00) oder später erneut versuchen.":"Not saved: please check the times (e.g. 22:00) or try again later.","Nicht mehr beobachten":"Stop watching","Nicht prüfbar: die eigene Adresse ließ sich nicht abrufen.":"Cannot be checked: your own address could not be fetched.","Nicht unterstützte HTTP-Methode: {}":"Unsupported HTTP method: {}","Nicht zugew.":"Unassigned","Nicht zugewiesen":"Unassigned","Niedersachsen":"Lower Saxony","Niedrig":"Low","Niemand. Beobachter bekommen Benachrichtigungen, ohne dass ihnen das Ticket zugewiesen ist.":"Nobody. Watchers receive notifications without the ticket being assigned to them.","Niemand. Cc-Empfänger bekommen die öffentlichen Antworten per E-Mail in Kopie.":"Nobody. Cc recipients receive the public replies by email in copy.","Noch kein Konto?":"No account yet?","Noch kein Postfach angelegt.":"No mailbox created yet.","Noch keine API-Schlüssel angelegt.":"No API keys created yet.","Noch keine Abfragen verschickt.":"No surveys sent yet.","Noch keine Abteilungen.":"No departments yet.","Noch keine Artikel.":"No articles yet.","Noch keine Backups vorhanden.":"No backups available yet.","Noch keine Dienste eingetragen.":"No services entered yet.","Noch keine E-Mail-Adressen angelegt.":"No email addresses created yet.","Noch keine Einträge.":"No entries yet.","Noch keine Eskalationsregeln. Erstellen Sie eine neue Regel mit dem Button oben.":"No escalation rules yet. Create a new rule with the button above.","Noch keine Eskalationsregeln. Mit + eine neue Regel anlegen.":"No escalation rules yet. Create a new rule with +.","Noch keine Feiertage eingetragen.":"No holidays entered yet.","Noch keine Hilfethemen.":"No help topics yet.","Noch keine Listen angelegt.":"No lists created yet.","Noch keine Muster angelegt.":"No patterns created yet.","Noch keine Nachrichten vorhanden.":"No messages yet.","Noch keine Nachrichten.":"No messages.","Noch keine Nachrichten. Schreib die erste!":"No messages yet. Write the first one!","Noch keine Notizen.":"No notes yet.","Noch keine Organisationen angelegt.":"No organizations created yet.","Noch keine Organisationen.":"No organizations yet.","Noch keine Plugins installiert.":"No plugins installed yet.","Noch keine Prioritäten.":"No priorities yet.","Noch keine SLA-Pläne angelegt.":"No SLA plans created yet.","Noch keine Seiten angelegt.":"No pages created yet.","Noch keine Teams angelegt.":"No teams created yet.","Noch keine Teams.":"No teams yet.","Noch keine Ticket-Regeln angelegt.":"No ticket rules created yet.","Noch keine Ticket-Regeln. Mit + eine neue Regel anlegen.":"No ticket rules yet. Create a new rule with +.","Noch keine Vorlagen.":"No templates yet.","Noch keine Webhooks angelegt.":"No webhooks created yet.","Noch keine Zeit erfasst.":"No time recorded yet.","Noch keine benutzerdefinierten Rollen angelegt.":"No custom roles created yet.","Noch keine benutzerdefinierten Rollen. Ohne eigene Rolle gelten die Standard-Agentenrechte.":"No custom roles yet. Without a role of their own, the default agent permissions apply.","Noch keine eigenen Themes hochgeladen.":"No custom themes uploaded yet.","Noch keine gespeicherten Ansichten vorhanden.":"No saved views yet.","Noch keine individuellen Felder angelegt.":"No custom fields created yet.","Noch keine zusätzlichen Antworten.":"No additional answers yet.","Noch nie":"Never","Nordrhein-Westfalen":"North Rhine-Westphalia","Normale Tickets":"Normal tickets","Notiz":"Note","Notiz (optional)":"Note (optional)","Notiz (optional, z.B. «In Besprechung bis 14:00»)":"Note (optional, e.g. \"In a meeting until 14:00\")","Notiz gespeichert":"Note saved","Notiz hinzufügen…":"Add note…","Notiz speichern":"Save note","Notizen":"Notes","Notizen (optional)":"Notes (optional)","Nr.":"No.","Nummer kopieren":"Copy number","Nummer kopiert":"Number copied","Nur Abteilung":"Department only","Nur Administratoren dürfen die Statusseite ändern.":"Only administrators may change the status page.","Nur Bereiche, für die du freigeschaltet bist.":"Only areas you are authorized for.","Nur Lesezugriff, solange {} diesen Chat bearbeitet.":"Read-only while {} is handling this chat.","Nur Priorität":"Priority only","Nur Status (kommagetrennt, z.B. open,pending)":"Only status (comma-separated, e.g. open,pending)","Nur ausfüllen, wenn der Anbieter eine Prüfsumme nennt":"Only fill in if the provider states a checksum","Nur ausfüllen, wenn der Anbieter eine Signatur nennt":"Only fill in if the provider states a signature","Nur benachrichtigen":"Notify only","Nur in der installierten Version verfügbar.":"Only available in the installed version.","Nur interne Notiz speichern":"Save internal note only","Nur nötig, wenn das Repository mit den Releases":"Only needed if the repository with the releases","Nur signierte Releases:":"Signed releases only:","Nur wenn der Live-Chat aus oder niemand erreichbar ist (Standard)":"Only if live chat is off or nobody can be reached (default)","Nur wenn der Live-Chat ausgeschaltet oder niemand erreichbar ist (Standard)":"Only if live chat is switched off or nobody can be reached (default)","Offen":"Open","Offene Tickets":"Open tickets","Offline (Wartungsmodus)":"Offline (maintenance mode)","Offline-Nachricht":"Offline message","Ohne Konto: Geben Sie Ihre Ticketnummer und E-Mail-Adresse ein.":"Without an account: enter your ticket number and email address.","Ohne eigenen Server wird der globale SMTP aus den Einstellungen genutzt.":"Without its own server the global SMTP from the settings is used.","Online Mitarbeiter":"Staff online","Option 1: Datei in den DeskHub-Ordner legen (für große Dateien empfohlen)":"Option 1: put the file in the DeskHub folder (recommended for large files)","Option 2: Direkt hochladen (in Teilen von 5 MB, passend zum Limit dieses Servers)":"Option 2: upload directly (in 5 MB parts, matching this server's limit)","Optionale Felder beim Anlegen:":"Optional fields when creating:","Optionen":"Options","Optionen (eine pro Zeile)":"Options (one per line)","Optionen bei neuem Ticket":"Options for new tickets","Ordner":"Folder","Ordner mit diesen Dateien packen:":"Pack the folder with these files:","Organisation":"Organization","Organisation bearbeiten":"Edit organization","Organisationen":"Organizations","Organisationen verwalten":"Manage organizations","Organisationen werden geladen …":"Loading organizations …","Passwort":"Password","Passwort (leer = unverändert)":"Password (empty = unchanged)","Passwort *":"Password *","Passwort eingeben":"Enter password","Passwort vergessen":"Forgot password","Passwort vergessen – {}":"Forgot password – {}","Passwort vergessen?":"Forgot your password?","Passwort wiederholen":"Repeat password","Passwort ändern":"Change password","Pause":"Break","Pausiert":"Paused","Pflichtfeld":"Required field","Pflichtfelder sind mit":"Required fields are marked with","Platzhalter:":"Placeholders:","Plugins (Hintergrundaufgaben)":"Plugins (background tasks)","Plugins (Hintergrundaufgaben) jetzt manuell ausführen?":"Run plugins (background tasks) manually now?","Popups und stille Zeiten":"Popups and quiet hours","Postfach":"Mailbox","Postfach / Ordner":"Mailbox / folder","Postfach testen":"Test mailbox","Postfächer (E-Mail-Abruf)":"Mailboxes (email fetching)","Postfächer für den E-Mail-Abruf":"Mailboxes for email fetching","Postfächer verwalten →":"Manage mailboxes →","Postfächer werden jetzt direkt bei der jeweiligen":"Mailboxes are now fetched directly at the respective","Priorisiert: mir zugewiesen oder unbearbeitet":"Prioritized: assigned to me or unprocessed","Priorität":"Priority","Priorität bearbeiten":"Edit priority","Priorität für Tickets des Assistenten":"Priority for assistant tickets","Priorität setzen":"Set priority","Priorität wirklich löschen?":"Really delete this priority?","Priorität:":"Priority:","Prioritäten & SLA-Zeiten":"Priorities & SLA times","Prioritäten / SLA":"Priorities / SLA","Prioritäten / SLA verwalten":"Manage priorities / SLA","Prioritäten werden geladen …":"Loading priorities …","Profil":"Profile","Profilbild":"Profile picture","Protokoll wird geladen …":"Loading log …","Prüfen ·":"Check ·","Push fehlgeschlagen:":"Push failed:","Push-Benachrichtigungen senden":"Send push notifications","Push-Benachrichtigungen sind auf diesem Server nicht verfügbar (OpenSSL-Erweiterung fehlt oder PHP zu alt).":"Push notifications are not available on this server (OpenSSL extension missing or PHP too old).","Quelle":"Source","Quelltext":"Source code","Radio-Auswahl (Punkte)":"Radio selection (dots)","Reaktion":"Response","Reaktion (Std)":"Response (hrs)","Reaktion (h)":"Response (h)","Reaktion {} Std · Lösung {} Std":"Response {} hrs · resolution {} hrs","Reaktion: {}h · Lösung: {}h":"Response: {}h · resolution: {}h","Reaktions- und Lösungszeit ab Ticketerstellung bzw. Prioritätsänderung. Mit aktivierten":"Response and resolution time from ticket creation or priority change. With enabled","Reaktions- und Lösungszeiten":"Response and resolution times","Reaktionszeit (Std)":"Response time (hrs)","Reaktionszeit (Std.)":"Response time (hrs.)","Rechnungsfrage":"Billing question","Rechte":"Permissions","Regel":"Rule","Regel bearbeiten":"Edit rule","Regeln für überfällige Tickets":"Rules for overdue tickets","Regeln werden geladen …":"Loading rules …","Registrierte Kundenkonten und Gast-Anfrager (ohne Konto) aus allen Tickets.":"Registered customer accounts and guest requesters (without account) from all tickets.","Registriertes Konto":"Registered account","Reihenfolge":"Order","Reihum an die Mitarbeiter der Abteilung":"Round robin among the department's staff","Reiner Text. Adressen mit https:// werden anklickbar.":"Plain text. Addresses with https:// become clickable.","Rheinland-Pfalz":"Rhineland-Palatinate","Richtung:":"Direction:","Rolle":"Role","Rolle (für Mitarbeiter)":"Role (for staff)","Rolle bearbeiten":"Edit role","Rolle:":"Role:","Rollen":"Roles","Rollen legst du unter":"You create roles under","Rollen und ihre Rechte legst du unter „Rollen“ an.":"You create roles and their permissions under \"Roles\".","Rollen verwalten":"Manage roles","Rollen werden geladen …":"Loading roles …","Rollenname":"Role name","SLA Erste Antwort":"SLA first response","SLA Lösung":"SLA resolution","SLA überschritten":"SLA breached","SLA-Fristen":"SLA deadlines","SLA-Plan":"SLA plan","SLA-Plan (leer = Abteilung/Priorität)":"SLA plan (empty = department/priority)","SLA-Plan (leer = Zeiten der Priorität)":"SLA plan (empty = priority's times)","SLA-Plan aktualisieren":"Update SLA plan","SLA-Pläne":"SLA plans","SLA-Pläne werden geladen …":"Loading SLA plans …","SLA-Prüfung":"SLA check","SLA-Prüfung jetzt manuell ausführen?":"Run SLA check manually now?","SLA-Quote":"SLA rate","SLA-Status":"SLA status","SLA-Uhr nur innerhalb der Geschäftszeiten laufen lassen":"Run the SLA clock only within business hours","SLA-Zeitfenster, Feiertage":"SLA time windows, holidays","SLA: Alle":"SLA: All","SMTP testen":"Test SMTP","SMTP-Server":"SMTP server","SMTP-Versand":"SMTP sending","SQL-Datei hochladen oder Pfad angeben":"Upload SQL file or enter path","SQLite-Modus aktiv:":"SQLite mode active:","Sachsen":"Saxony","Sachsen-Anhalt":"Saxony-Anhalt","Sammelmodus für Übersetzer:":"Collection mode for translators:","Samstag":"Saturday","Schichtplan bearbeiten":"Edit shift schedule","Schließen":"Close","Schließt Tickets, auf die der Kunde nach einer Antwort nicht mehr reagiert.":"Closes tickets the customer no longer responds to after a reply.","Schlüssel":"Key","Schlüssel erstellen":"Create key","Schnellfilter":"Quick filters","Schnellsuche / Befehle":"Quick search / commands","Seit":"Since","Seit 24.10.2026 19:44 geöffnet – wird beim Antworten automatisch als Zeit erfasst.":"Open since 24.10.2026 19:44 – time is recorded automatically when you reply.","Seite nicht gefunden":"Page not found","Seite nicht gefunden – {}":"Page not found – {}","Seite {}":"Page {}","Seite {} · {} Tickets":"Page {} · {} tickets","Seiten":"Pages","Seiten-Verwaltung":"Page management","Seitenleiste einblenden":"Show sidebar","Seitenleiste einklappen":"Collapse sidebar","Senden":"Send","Sendet …":"Sending …","Server-Adresse":"Server address","Server-Fehler ({}).":"Server error ({}).","Server: 0,00 MB":"Server: 0.00 MB","Serveradresse für die Anmeldung":"Server address for sign-in","Serverfehler ({}).":"Server error ({}).","Servicezeit (Std)":"Service time (hrs)","Setzen":"Set","Setzen auf:":"Set to:","Sicherheitsprüfung":"Security check","Signatur":"Signature","Signatur (E-Mail-Fuß für Antworten ohne Mitarbeiter-Signatur)":"Signature (email footer for replies without a staff signature)","Signatur (E-Mail-Fuß für eigene Antworten)":"Signature (email footer for own replies)","Signatur (optional)":"Signature (optional)","Signatur (optional, Base64)":"Signature (optional, Base64)","Sitzung abgelaufen – bitte neu anmelden.":"Session expired – please sign in again.","So kommen Benachrichtigungen auch bei geschlossenem Fenster an. Beenden über das Tray-Menü.":"This way notifications also arrive when the window is closed. Quit via the tray menu.","So nutzt du die API":"How to use the API","Sonntag":"Sunday","Sortieren nach":"Sort by","Sortiermodus:":"Sort mode:","Sortierung":"Sorting","Spam-/Junk-Ordner":"Spam/junk folder","Speichern":"Save","Speichert die aktuellen Filter (Reiter, Suche, Abteilung, Priorität).":"Saves the current filters (tab, search, department, priority).","Speichert die aktuellen Filter.":"Saves the current filters.","Speichert …":"Saving …","Sperre aufgehoben":"Lock released","Sperre aufheben":"Remove lock","Sperre aufheben und übernehmen":"Release lock and take over","Sperren":"Block","Sperrliste":"Block list","Sperrliste ist leer.":"The block list is empty.","Sperrliste ist leer. Mit + eine E-Mail-Adresse oder Domain sperren.":"The block list is empty. Block an email address or domain with +.","Sperrliste wird geladen …":"Loading block list …","Sprachen":"Languages","Stand":"As of","Stand: {} Uhr":"As of: {}","Standard":"Default","Standard-Absenderadresse der Abteilung":"Department's default sender address","Standard-Absenderadresse dieser Abteilung":"Default sender address of this department","Standard-Berichte":"Default reports","Standard-Mitarbeiterrechte (ohne eigene Rolle)":"Default staff permissions (without own role)","Standardabteilung":"Default department","Standardabteilung (bzw. Abteilung des Themas)":"Default department (or the topic's department)","Standardabteilung (für E-Mail-Tickets ohne Zuordnung)":"Default department (for email tickets without assignment)","Standardabteilung verwenden":"Use default department","Standardpriorität (optional)":"Default priority (optional)","Standardsprache (für alle, die noch keine Flagge gewählt haben)":"Default language (for everyone who has not yet chosen a flag)","Startet DeskHub beim Anmelden im Hintergrund (Tray).":"Starts DeskHub in the background (tray) when signing in.","Startseiten-Inhalte":"Home page content","Statistiken":"Statistics","Statistiken werden geladen …":"Loading statistics …","Status & Schichten":"Status & shifts","Status & Vorschau":"Status & preview","Status abfragen:":"Query status:","Status der Mitarbeiter":"Staff status","Status der Mitarbeiter ändern (Admin)":"Change staff status (admin)","Status gesetzt":"Status set","Status geändert":"Status changed","Status nach Antwort":"Status after reply","Status nach dem Senden":"Status after sending","Status prüfen":"Check status","Status setzen":"Set status","Status setzen…":"Set status…","Status von":"Status of","Status von {}":"Status of {}","Status wird geladen …":"Loading status …","Status ändern, z. B. auf Offline setzen":"Change status, e.g. set to offline","Status, Leiter, Mitglieder, E-Mail":"Status, lead, members, email","Status: automatisch":"Status: automatic","Statusseite":"Status page","Statusseite ausgeschaltet":"Status page switched off","Statusseite eingeschaltet":"Status page switched on","Statusseite für Kunden anzeigen":"Show status page to customers","Statusseite für Kunden anzeigen (Link „Status“ im Kundenbereich)":"Show status page to customers (link \"Status\" in the customer area)","Statusseite wird geladen …":"Loading status page …","Std":"hrs","Std.":"hrs.","Stichwörter":"Keywords","Stichwörter (durch Komma)":"Keywords (comma-separated)","Stichwörter (optional, durch Komma getrennt)":"Keywords (optional, comma-separated)","Stichwörter: {}":"Keywords: {}","Stille Zeiten (keine Popups)":"Quiet hours (no popups)","Strg+F5":"Ctrl+F5","Stufe":"Level","Stunden":"Hours","Störung:":"Incident:","Stündliche Prüfung. Letzte Ausführung: noch nie":"Hourly check. Last run: never","Suchbegriff eingeben …":"Enter a search term …","Suche":"Search","Suchen":"Search","Suchen (Betreff, Nummer, Kunde, Text)… Strg+F":"Search (subject, number, customer, text)… Ctrl+F","Suchen …":"Searching …","Suchen…":"Search…","Supportcenter":"Support center","Supportcenter-Startseite":"Support center home","Supportcenter-Startseite – {}":"Support center home – {}","System-Update":"System update","Systemstandard":"System default","Systemstatus":"System status","Systemstatus – {}":"System status – {}","Tag hinzufügen":"Add tag","Tag-Name":"Tag name","Tage":"Days","Tage (am besten kürzer als die Frist zum automatischen Schließen)":"Days (preferably shorter than the period for automatic closing)","Tage ohne Reaktion":"Days without response","Tagen schließen":"days","Tastenkürzel":"Keyboard shortcuts","Team (als Administrator kannst du den Status ändern)":"Team (as administrator you can change the status)","Team bearbeiten":"Edit team","Team-Chat":"Team chat","Team-Übersicht":"Team overview","Team-Übersicht (zum Ändern antippen)":"Team overview (tap to change)","Teamleiter":"Team lead","Teamname":"Team name","Teams verwalten":"Manage teams","Teams werden geladen …":"Loading teams …","Technik":"Technology","Technisches Problem":"Technical issue","Teilweise eingeschränkt":"Partially degraded","Telefon":"Phone","Telefonnummer (optional)":"Phone number (optional)","Telegram Bot-Token":"Telegram bot token","Telegram Chat-ID":"Telegram chat ID","Test-Benachrichtigung":"Test notification","Test-Benachrichtigung – so sieht eine Meldung aus.":"Test notification – this is what a message looks like.","Test-Mail senden":"Send test email","Testen":"Test","Testnachricht an meine Geräte":"Test message to my devices","Testnachricht senden":"Send test message","Tests verwenden die gespeicherten Werte.":"Tests use the saved values.","Text (HTML erlaubt)":"Text (HTML allowed)","Text (Vorschau)":"Text (preview)","Text, wenn er keine Antwort findet":"Text if it finds no answer","Textbaustein wirklich löschen?":"Really delete this text snippet?","Textbausteine verwalten":"Manage text snippets","Textbaustein…":"Text snippet…","Texte der automatischen E-Mails":"Texts of the automatic emails","Texte der automatischen Mails":"Texts of the automatic emails","Thema":"Topic","Thema, Abteilung, Priorität":"Topic, department, priority","Thema, Typ, Abteilung, Priorität":"Topic, type, department, priority","Theme hochladen":"Upload theme","Theme-Paket":"Theme package","Themen":"Topics","Themes aus dem Katalog":"Themes from the catalog","Thüringen":"Thuringia","Ticket #{}":"Ticket #{}","Ticket #{} – {}":"Ticket #{1} – {2}","Ticket anlegen (JSON). Antwort:":"Create ticket (JSON). Response:","Ticket ansehen":"View ticket","Ticket ansehen – {}":"View ticket – {}","Ticket auf später legen":"Snooze ticket","Ticket eingegangen":"Ticket received","Ticket erstellen":"Create ticket","Ticket erstellt":"Ticket created","Ticket erstellt (an Kunde)":"Ticket created (to customer)","Ticket hinzufügen":"Add ticket","Ticket im Namen eines Kunden anlegen – z.B. bei Telefonanrufen oder Vor-Ort-Anfragen.":"Create a ticket on behalf of a customer – e.g. for phone calls or on-site requests.","Ticket inkl. Verlauf unwiderruflich löschen?":"Permanently delete the ticket including its history?","Ticket ist überfällig (SLA überschritten)":"Ticket is overdue (SLA exceeded)","Ticket mir zugewiesen":"Ticket assigned to me","Ticket offen seit X Stunden":"Ticket open for X hours","Ticket schließen (wird angelegt, aber sofort geschlossen)":"Close ticket (is created but closed immediately)","Ticket verknüpfen (Ticket-Nr., optional)":"Link ticket (ticket no., optional)","Ticket verwerfen (z.B. Spam)":"Discard ticket (e.g. spam)","Ticket wird geladen …":"Loading ticket …","Ticket wurde aktualisiert":"Ticket was updated","Ticket wurde {}, aber nicht alle Original-Mails konnten verschoben werden:":"Ticket was {}, but not all original emails could be moved:","Ticket überfällig (an Admins)":"Ticket overdue (to admins)","Ticket(s) anonymisiert (geschlossen/gelöst, älter als 24 Monate).":"ticket(s) anonymized (closed/resolved, older than 24 months).","Ticket, Kunde oder Bereich suchen…":"Search ticket, customer or area…","Ticket-Berechtigungen":"Ticket permissions","Ticket-Bewertung aktivieren (Kunden können nach Schließung 1–5 Sterne vergeben)":"Enable ticket rating (customers can give 1–5 stars after closing)","Ticket-Details":"Ticket details","Ticket-Felder":"Ticket fields","Ticket-Formular":"Ticket form","Ticket-Liste":"Ticket list","Ticket-Nachrichten":"Ticket messages","Ticket-Nr.:":"Ticket no.:","Ticket-Nummer, Betreff, Status":"Ticket number, subject, status","Ticket-Regel bearbeiten":"Edit ticket rule","Ticket-Regeln":"Ticket rules","Ticket-Regeln (Filter)":"Ticket rules (filter)","Ticket-Regeln, Auto-Antworten":"Ticket rules, auto-replies","Ticket-Vorlagen":"Ticket templates","Ticketaktivität":"Ticket activity","Ticketnummer":"Ticket number","Ticketnummer kopieren":"Copy ticket number","Ticketnummer oder Betreff suchen…":"Search ticket number or subject…","Ticketnummer verknüpfen (optional)":"Link ticket number (optional)","Ticketnummer, Betreff, Kunde oder Bereich…":"Ticket number, subject, customer or area…","Tickets ({#})":"Tickets ({})","Tickets automatisch schließen, wenn der Kunde nach einer Antwort nicht mehr reagiert":"Close tickets automatically if the customer does not respond after a reply","Tickets beantworten":"Reply to tickets","Tickets durchsuchen":"Search tickets","Tickets erstellen":"Create tickets","Tickets gesamt":"Total tickets","Tickets im Namen von Kunden erstellen":"Create tickets on behalf of customers","Tickets löschen":"Delete tickets","Tickets lösen/schließen":"Resolve/close tickets","Tickets schließen/lösen":"Close/resolve tickets","Tickets verschieben":"Move tickets","Tickets werden geladen …":"Loading tickets …","Tickets zusammenführen":"Merge tickets","Tickets zuweisen":"Assign tickets","Tickets übertragen":"Transfer tickets","Ticketstatus überprüfen":"Check ticket status","Titel":"Title","Titelbild (Hero-Banner)":"Cover image (hero banner)","To-dos für dich und dein Team":"To-dos for you and your team","Token aus Gitea einfügen":"Paste token from Gitea","Typ":"Type","Täglich":"Daily","Um Ihnen weiterhelfen zu können, benötigen wir noch ein paar zusätzli…":"To help you further, we need a few additional details…","Unbeantwortet":"Unanswered","Unbekannt":"Unknown","Ungültige Eingabe.":"Invalid input.","Ungültige verschlüsselte Sitzungsdaten.":"Invalid encrypted session data.","Untereinander":"Stacked","Unterhaltung wird geladen …":"Loading conversation …","Unterstützt werden SQL-Dumps von osTicket 1.10 bis 1.18 (phpMyAdmin-Export oder":"SQL dumps from osTicket 1.10 to 1.18 are supported (phpMyAdmin export or","Update für die Kunden":"Update for the customers","Update senden":"Send update","Update veröffentlicht":"Update published","Updates: neue Datei laden und darüber installieren. Eure Anmeldung bleibt erhalten.":"Updates: load a new file and install over it. Your sign-in is kept.","Ursache gefunden":"Cause found","Verbindung testen":"Test connection","Verbindung wiederhergestellt":"Connection restored","Verfügbar":"Available","Verfügbare Platzhalter:":"Available placeholders:","Verfügbarkeit":"Availability","Verfügbarkeit & Schichten":"Availability & shifts","Verfügbarkeit und Team-Übersicht":"Availability and team overview","Verfügbarkeit wird geprüft…":"Checking availability…","Vergangene Meldungen (letzte 14 Tage)":"Past incidents (last 14 days)","Verknüpftes Ticket":"Linked ticket","Verknüpfung":"Link","Verlauf":"History","Verlauf (1 Nachricht)":"History (1 message)","Verlauf und Status Ihrer aktuellen und bisherigen Supportanfragen.":"History and status of your current and previous support requests.","Verlauf, Tags und Collaborators werden ins Ziel-Ticket verschoben. Dieses Ticket wird geschlossen.":"History, tags and collaborators are moved to the target ticket. This ticket will be closed.","Verlinkter Teil des Textes":"Linked part of the text","Verschlüsselung":"Encryption","Vertraulich/Intern":"Confidential/Internal","Verwalten":"Manage","Verwaltung":"Administration","Verwenden →":"Use →","Verzeichnis":"Directory","Veröffentlichen":"Publish","Veröffentlicht":"Published","Vielen Dank für Ihre Nachricht. Wir haben Ihr Anliegen erhalten und k…":"Thank you for your message. We have received your request and…","Vielen Dank! Ihr Ticket wurde erstellt.":"Thank you! Your ticket has been created.","Von":"From","Von (HH:MM)":"From (HH:MM)","Von (JJJJ-MM-TT)":"From (YYYY-MM-DD)","Vorgabe für den Betreff":"Default for the subject","Vorhandene Backups":"Existing backups","Vorhandene Vorlagen":"Existing templates","Vorlage":"Template","Vorlage einfügen":"Insert template","Vorlage laden":"Load template","Vorlagen":"Templates","Vorlagen / Textbausteine":"Templates / text snippets","Vorlagen werden geladen …":"Loading templates …","Vorname Nachname":"First name last name","Vorschau":"Preview","Wann ist er aktiv?":"When is it active?","Wann?":"When?","Wartend":"Waiting","Wartet auf Kunde":"Waiting for customer","Wartung":"Maintenance","Was ist passiert? Was tun wir dagegen?":"What happened? What are we doing about it?","Was ist zu tun?":"What needs to be done?","Was wird anonymisiert?":"What is anonymized?","Website-URL":"Website URL","Weiter ›":"Next ›","Weitere":"More","Weitere Aktionen":"More actions","Weitere Informationen benötigt":"More information needed","Weitere Informationen → Trotzdem ausführen":"More information → Run anyway","Weitere Tickets des Kunden":"More tickets from the customer","Weitere laden":"Load more","Weiterer Treffer:":"Another match:","Weiterer Treffer: {}":"Another match: {}","Wenige Stunden pro Tag (z. B. nur abends) lassen die Fälligkeit in":"A few hours per day (e.g. only evenings) let the due date in","Wenn …":"If …","Wert":"Value","Wie System":"Like system","Wie Windows (automatisch)":"Like Windows (automatic)","Wie erstelle ich ein Ticket?":"How do I create a ticket?","Wie können wir helfen?":"How can we help?","Wie lange dauert die Bearbeitung?":"How long does processing take?","Wieder geöffnet":"Reopened","Wieder öffnen":"Reopen","Wiederkehrende Tickets":"Recurring tickets","Wiederkehrende Tickets jetzt manuell ausführen?":"Run recurring tickets manually now?","Wiedervorlage":"Snooze","Wiedervorlage aufgehoben":"Snooze removed","Wiedervorlage aufheben":"Remove snooze","Wiedervorlage fällig":"Snooze due","Wiedervorlage gesetzt":"Snooze set","Wiedervorlage und Beobachten":"Snooze and watching","Wiedervorlagen":"Snoozes","Wiedervorlagen jetzt manuell ausführen?":"Run snoozes manually now?","Willkommen zurück, {}":"Welcome back, {}","Willkommen, Gast":"Welcome, Guest","Willkommen, {}":"Welcome, {}","Windows-Benachrichtigungen anzeigen":"Show Windows notifications","Wir senden Ihnen einen Link zum Zurücksetzen.":"We will send you a reset link.","Wird beobachtet":"Being monitored","Wird berechnet …":"Calculating …","Wird erstellt …":"Creating …","Wird geladen …":"Loading …","Wird gerade von {} bearbeitet – Sie sehen live mit, können hier aber nicht antworten.":"Currently being handled by {} – you can watch live but cannot reply here.","Wird gerade von {} bearbeitet.":"Currently being handled by {}.","Wird gespeichert …":"Saving …","Wird gesperrt …":"Blocking …","Wird im Browser-Tab, in E-Mails und in der Web-App angezeigt.":"Shown in the browser tab, in emails and in the web app.","Wird in E-Mail-Links verwendet. Kein abschließendes /":"Used in email links. No trailing /","Wird nur an öffentliche Antworten angehängt, nicht an interne Notizen.":"Only appended to public replies, not to internal notes.","Wird untersucht":"Investigating","Wird verwendet, wenn ein eingegangenes E-Mail-Ticket als Spam markiert wird.":"Used when an incoming email ticket is marked as spam.","Wirklich löschen?":"Really delete?","Wirklich sperren?":"Really block?","Wirksame Rechte":"Effective permissions","Wissensdatenbank":"Knowledge base","Wissensdatenbank durchsuchen oder direkt ein Ticket eröffnen – wir antworten so schnell wie möglich.":"Search the knowledge base or open a ticket right away – we will reply as quickly as possible.","Wissensdatenbank im Kundenportal anzeigen":"Show knowledge base in the customer portal","Wissensdatenbank verwalten":"Manage knowledge base","Wissensdatenbank wird geladen …":"Loading knowledge base …","Wissensdatenbank – {}":"Knowledge base – {}","Woche":"Week","Wochenzeiten":"Weekly hours","Wofür soll die App ein Popup zeigen?":"What should the app show a popup for?","Wonach suchen Sie?":"What are you looking for?","Worum geht es?":"What is it about?","Wähle die Abteilungen, zu denen der Agent Zugang haben soll.":"Choose the departments the agent should have access to.","Wähle, wofür die App ein Popup zeigen soll.":"Choose what the app should show a popup for.","Wöchentlich":"Weekly","Wörter":"Words","Wörter, die Kunden und Artikel unterschiedlich nennen, aber dasselbe meinen. Eine Gruppe je Zeile, durch Komma getrennt, zum Beispiel „Zugang, Einladung, beitreten“. Einige Gruppen sind eingebaut, deine ergänzen oder überschreiben sie.":"Words that customers and articles name differently but mean the same. One group per line, separated by commas, for example \"access, invitation, join\". Some groups are built in, yours add to or override them.","ZIP-Datei":"ZIP file","ZIP-Datei von Gitea hochladen und installieren.":"Upload and install a ZIP file from Gitea.","Zahl":"Number","Zeigt, was Kunden den Assistenten gefragt haben und ob er eine Antwort fand. Gespeichert werden nur Frage und Ergebnis (kein Name, keine E-Mail-Adresse).":"Shows what customers asked the assistant and whether it found an answer. Only the question and result are stored (no name, no email address).","Zeigt, was Kunden gefragt haben und ob der Assistent eine Antwort fand. Gespeichert werden nur Frage und Ergebnis.":"Shows what customers asked and whether the assistant found an answer. Only the question and result are stored.","Zeigt, was der Assistent auf eine Kundenfrage antworten würde (ohne Zähler und ohne Ticket).":"Shows what the assistant would answer to a customer question (without counters and without a ticket).","Zeit":"Time","Zeiten der Priorität verwenden":"Use the priority's times","Zeiten je Abteilung oder Thema":"Times per department or topic","Zeiten je Mitarbeiter":"Times per staff member","Zeiten werden geladen …":"Loading times …","Zeiterfassung":"Time tracking","Zeiterfassung einsehen":"View time tracking","Zeitplan aus":"Schedule off","Zeitplan speichern":"Save schedule","Zeitraum":"Period","Zeitzone":"Time zone","Ziel":"Target","Zielordner":"Target folder","Zielordner (bei Verschieben)":"Target folder (when moving)","Zielverzeichnis":"Target directory","Zitieren":"Quote","Zu einem Zeitpunkt …":"At a point in time …","Zu lange offen seit …":"Open for too long since …","Zufriedenheitsabfrage":"Satisfaction survey","Zufriedenheitsabfrage jetzt manuell ausführen?":"Run the satisfaction survey manually now?","Zugang":"Access","Zugang zum Update-Server":"Access to the update server","Zugang, Einladung, beitreten Geld zurück, Erstattung, Rückzahlung":"access, invitation, join money back, refund, reimbursement","Zugewiesen":"Assigned","Zugewiesen an":"Assigned to","Zugewiesen:":"Assigned:","Zugewiesenen Mitarbeiter benachrichtigen":"Notify assigned staff member","Zugriffstoken":"Access token","Zuletzt aktiv":"Last active","Zuletzt aktualisiert":"Last updated","Zuletzt genutzt":"Last used","Zum Ändern fehlt das Recht „Teams verwalten“.":"The \"Manage teams\" permission is missing to change this.","Zuordnung":"Assignment","Zurück":"Back","Zurück zu Tickets":"Back to tickets","Zurück zur Startseite":"Back to home","Zurück zur Ticketliste":"Back to ticket list","Zurückgesetzt":"Reset","Zurückgestellt":"Postponed","Zurücksetzen":"Reset","Zusammenführen":"Merge","Zustand":"State","Zustand geändert":"State changed","Zustand jetzt:":"Current state:","Zustand jetzt: {}":"State now: {}","Zuständig":"Responsible","Zuständigen benachrichtigen":"Notify responsible person","Zusätzlich":"Additionally","Zusätzliche Antwort":"Additional answer","Zusätzliche Antworten":"Additional answers","Zuweisen":"Assign","Zuweisen an":"Assign to","Zuweisen…":"Assign…","Zuweisung":"Assignment","Zuweisung geändert":"Assignment changed","Zuweisungen änderst du unter":"You change assignments under","Zuweisungen änderst du unter „Mitarbeiter“.":"You change assignments under \"Staff\".","Zweiten Faktor bestätigen":"Confirm second factor","absteigend":"descending","aktiv (Kunden sehen den Assistenten)":"active (customers see the assistant)","aktiv gerade eben":"active just now","alle 2 Minuten":"every 2 minutes","alle 30 Sekunden":"every 30 seconds","alle 5 Minuten":"every 5 minutes","als Spam markiert":"marked as spam","an":"on","auf":"to","ausgeschaltet":"switched off","beginnt mit":"starts with","bis":"until","bis (HH:MM)":"until (HH:MM)","ein Ticket eröffnen":"open a ticket","eingeschaltet":"switched on","endet mit":"ends with","enthält":"contains","enthält nicht":"does not contain","gekennzeichnet.":"marked.","geändert":"changed","in Ordnung":"OK","in {#} Min":"in {} min","in {#} Std {#} Min":"in {1}h {2}m","ist genau":"is exactly","jede Minute":"every minute","kein bestimmter Dienst":"no specific service","keine Abteilung":"no department","keine Abteilungs-E-Mail":"no department email","leer = von überall; sonst kommagetrennt":"empty = from anywhere; otherwise comma-separated","mind. 10 Zeichen, Groß-/Klein, Ziffer, Sonderzeichen":"min. 10 characters, upper/lower case, digit, special character","mitarbeiter@firma.de":"staff@company.com","nicht vom Herausgeber geprüft":"not verified by the publisher","nicht ändern":"do not change","noch keins":"none yet","oder":"or","oder direkt":"or directly","privat":"private","um alle Ihre Tickets im Überblick zu behalten.":"to keep all your tickets at a glance.","und":"and","von":"from","von (HH:MM)":"from (HH:MM)","vor {#} Min (überfällig)":"{} min ago (overdue)","vor {#} Min.":"{} min. ago","vor {#} Std {#} Min (überfällig)":"{1}h {2}m ago (overdue)","wird nur an Antworten an den Kunden angehängt":"is only attached to replies to the customer","z. B. E-Mail-Versand verzögert":"e.g. email delivery delayed","z. B. Ich habe die Nutzerbedingungen gelesen und akzeptiert.":"e.g. I have read and accept the terms of use.","z. B. Lieferzeit, Paket, Lieferung":"e.g. delivery time, parcel, delivery","z. B. Meine überfälligen":"e.g. My overdue","z. B. Mit freundlichen Grüßen Ihr Support-Team":"e.g. Kind regards, your support team","z. B. Mit freundlichen Grüßen Max Mustermann":"e.g. Kind regards, Max Mustermann","z. B. Monatsbericht Support":"e.g. Monthly support report","z. B. Neuer Mitarbeiter":"e.g. New employee","z. B. Nutzerbedingungen":"e.g. Terms of use","z. B. Passwort zurücksetzen, Rechnung, Versand …":"e.g. reset password, invoice, shipping …","z. B. Vertragsnummer":"e.g. Contract number","z. B. Website-Kontaktformular":"e.g. Website contact form","z. B. Wie lange dauert der Versand?":"e.g. How long does shipping take?","z. B. Wie setze ich mein Passwort zurück?":"e.g. How do I reset my password?","z.B. Import aus alter Sperrliste":"e.g. Import from old block list","z.B. Junk, Spam oder INBOX.Junk":"e.g. Junk, Spam or INBOX.Junk","z.B. Tag der Deutschen Einheit":"e.g. German Unity Day","z.B. Technik-Postfach":"e.g. Technical mailbox","z.B. wiederholter Spam":"e.g. repeated spam","z.B. „In Besprechung bis 14:00“":"e.g. \"In a meeting until 14:00\"","zurückgeholt":"restored","zählen nur die dort eingetragenen Öffnungszeiten.":"only the opening hours entered there count.","{#} Artikel":"{} article(s)","{#} Aufrufe":"{} views","{#} Tag(e)":"{} day(s)","{#} Treffer":"{} hits","{} Abteilung(en) · {} Hilfethema/-themen":"{} department(s) · {} help topic(s)","{} Aktualisierung(en) an deinen Tickets":"{} update(s) to your tickets","{} Antworten von {} Abfragen":"{} answers from {} surveys","{} Artikel":"{} articles","{} Bedingung(en) ({})":"{} condition(s) ({})","{} Einträge · Seite {} von {}":"{} entries · page {} of {}","{} Einträge · Seite {}/{}":"{} entries · page {}/{}","{} Kontakte":"{} contacts","{} Mitarbeiter":"{} staff","{} Mitglied(er)":"{} member(s)","{} Std":"{} hrs","{} Tickets":"{} tickets","{} ausgewählt":"{} selected","{} gesperrt, {} übersprungen.":"{} blocked, {} skipped.","{} neue(s) nicht zugewiesene(s) Ticket(s)":"{} new unassigned ticket(s)","{} offen":"{} open","{} von 5":"{} of 5","{} · erstellt am {}":"{1} · created {2}","{} · {} · erstellt {}":"{} · {} · created {}","{} überfällig":"{} overdue","{}: {} Ticket(s)":"{}: {} ticket(s)","{}× angewendet":"applied {}×","{}× genutzt · {}":"used {}× · {}","· Handeln":"· Act","· Hinweis":"· Notice","· In Ordnung":"· OK","· Leiter: {}":"· Lead: {}","· Letzte automatische Prüfung: Noch nie":"· Last automatic check: never","· Letzter Abruf: Noch nie":"· Last fetch: never","· Live-Chat {} · Wissensdatenbank im Portal {}":"· Live chat {} · Knowledge base in the portal {}","· Prüfen":"· Check","· fällig {}":"· due {}","· für alle":"· for everyone","· {} Fehler ({})":"· {} errors ({})","· über den DeskHub-Push-Dienst, es ist nichts einzurichten":"· via the DeskHub push service, nothing to set up","Ältere Backups werden automatisch gelöscht wenn das Limit erreicht wird.":"Older backups are deleted automatically when the limit is reached.","Änderungen speichern":"Save changes","Änderungen und Mailfehler":"Changes and failed emails","Änderungen und fehlgeschlagene Mails":"Changes and failed emails","Öffentlich":"Public","Öffentlich (für Kunden sichtbar)":"Public (visible to customers)","Öffentliche Antwort senden":"Send public reply","Öffnen Sie zuerst den persönlichen Ticket-Link aus der Ticket-E-Mail in diesem Browser. Anschließend können Sie das Ticket hier Ihrem Konto hinzufügen, wenn die Ticket-E-Mail-Adresse mit Ihrer Konto-E-Mail-Adresse übereinstimmt.":"First open the personal ticket link from the ticket email in this browser. You can then add the ticket to your account here if the ticket email address matches your account email address.","Öffnungszeiten je Wochentag":"Opening hours per weekday","Öffnungszeiten speichern":"Save opening hours","Öffnungszeiten und Feiertage":"Opening hours and holidays","Ø Bewertung · {} Antworten von {} Abfragen":"Ø rating · {} answers from {} surveys","Ø Erste Antwort":"Ø First response","Ø Erstreaktion":"Ø First response","Ø Lösungszeit":"Ø Resolution time","Überfällig":"Overdue","Überfällig seit …":"Overdue since …","Übergeordnetes Thema":"Parent topic","Überschrift":"Heading","Übersicht":"Overview","– Abteilung wählen –":"– choose department –","– Download nur im Web":"– Download on the web only","– Hilfe-Thema wählen –":"– choose help topic –","– Interne Notizen, sichtbar für alle Administratoren":"– Internal notes, visible to all administrators","– Mitarbeiter wählen –":"– choose staff member –","– Priorität wählen –":"– choose priority –","– Standard-Mitarbeiterrechte –":"– default staff permissions –","– Textbaustein wählen –":"– choose text snippet –","– Vorlage wählen –":"– choose template –","– auswählen –":"– select –","– bitte wählen –":"– please choose –","– kein Leiter –":"– no lead –","– kein Thema –":"– no topic –","– kein bestimmter Dienst –":"– no specific service –","– keine Änderung –":"– no change –","– keine –":"– none –","– nicht vorgeben –":"– do not preset –","– nicht zugewiesen –":"– unassigned –","– nicht ändern –":"– do not change –","– ohne Vorlage –":"– without template –","– wählen –":"– choose –","— Abteilung auswählen —":"— select department —","— Automatisch (Standardadresse der Abteilung) —":"— Automatic (department default address) —","— Automatisch —":"— Automatic —","— Bitte wählen —":"— Please choose —","— Keine(r) —":"— None —","— Niemand —":"— Nobody —","— Oberste Hilfethemenebene —":"— Top help topic level —","— Standard —":"— Default —","— Standardabteilung (bzw. Abteilung des gewählten Themas) —":"— Default department (or department of the chosen topic) —","— Systemstandard —":"— System default —","— Zeiten der Priorität verwenden —":"— Use the priority's times —","— keine —":"— none —","— nicht ändern —":"— do not change —","— niemand —":"— nobody —","— ohne Vorlage —":"— without template —","‹ Liste":"‹ List","‹ Verwaltung":"‹ Administration","‹ Zurück":"‹ Back","ℹ️ Ausführung hochgeladener Dateien":"ℹ️ Execution of uploaded files","ℹ️ Erreichbarkeit interner Dateien":"ℹ️ Accessibility of internal files","ℹ️ Hinweise":"ℹ️ Notes","← Einstellungen":"← Settings","← Zum Kundenportal":"← To the customer portal","← Zur Anmeldung":"← Back to sign in","← Zur Ticket-Liste":"← To the ticket list","← Zurück":"← Back","↑ Priorität: {}":"↑ Priority: {}","→ bleiben erhalten":"→ are kept","↓ CSV exportieren":"↓ Export CSV","↩️ Spam-Markierung aufheben":"↩️ Remove spam mark","⏰ Automatischer Zeitplan":"⏰ Automatic schedule","⏱ Zeiterfassung":"⏱ Time tracking","⏱ Zeiterfassung läuft":"⏱ Time tracking running","○ Noch kein Postfach eingerichtet":"○ No mailbox set up yet","○ deaktiviert":"○ disabled","⚙ Einstellungen":"⚙ Settings","⚠️ Administratoren ohne Zwei-Faktor-Anmeldung":"⚠️ Administrators without two-factor authentication","⚠️ Datenbank: SQLite":"⚠️ Database: SQLite","⚠️ Noch kein geprüftes Backup":"⚠️ No verified backup yet","⛔ Absender sperren":"⛔ Block sender","⛔ Gesperrt":"⛔ Blocked","✅ Verschlüsselungsschlüssel gesetzt":"✅ Encryption key set","✍ Signatur":"✍ Signature","✓ Berichte einsehen":"✓ View reports","✓ Die Datenbank ist aktuell":"✓ The database is up to date","✓ Interne Notizen schreiben":"✓ Write internal notes","✓ Push ist aktiv":"✓ Push is active","✓ Tickets beantworten":"✓ Reply to tickets","✓ Tickets im Namen von Kunden erstellen":"✓ Create tickets on behalf of customers","✓ Tickets schließen/lösen":"✓ Close/resolve tickets","✓ Tickets zuweisen (Mitarbeiter/Team)":"✓ Assign tickets (staff/team)","✓ Tickets übertragen (Abteilung ändern)":"✓ Transfer tickets (change department)","✕ Abteilungen verwalten":"✕ Manage departments","✕ Admin-Protokoll einsehen":"✕ View admin log","✕ Digitalen Assistenten verwalten":"✕ Manage digital assistant","✕ E-Mail-Adressen verwalten":"✕ Manage email addresses","✕ E-Mail-Vorlagen verwalten":"✕ Manage email templates","✕ Eskalationsregeln verwalten":"✕ Manage escalation rules","✕ Filter zurücksetzen":"✕ Reset filters","✕ Geschäftszeiten verwalten":"✕ Manage business hours","✕ Hilfe-Themen verwalten":"✕ Manage help topics","✕ Mitarbeiter verwalten":"✕ Manage staff","✕ Organisationen verwalten":"✕ Manage organizations","✕ Prioritäten / SLA verwalten":"✕ Manage priorities / SLA","✕ Rollen verwalten":"✕ Manage roles","✕ Teams verwalten":"✕ Manage teams","✕ Textbausteine verwalten":"✕ Manage text snippets","✕ Tickets löschen":"✕ Delete tickets","✕ Wissensdatenbank verwalten":"✕ Manage knowledge base","✕ Zeiterfassung einsehen":"✕ View time tracking","❌ Installationsassistent ist nicht gesperrt":"❌ The installation wizard is not locked","❌ Website-URL nutzt kein HTTPS":"❌ Website URL does not use HTTPS","⬆️ Hochladen & installieren":"⬆️ Upload & install","🌐 Im Browser":"🌐 In browser","🌐 Web (im Namen)":"🌐 Web (on behalf)","🏖 Urlaub":"🏖 Vacation","👁 Beobachten":"👁 Watch","👁 Beobachtet":"👁 Watched","👁 Nicht mehr beobachten":"👁 Stop watching","👁 Ticket beobachten":"👁 Watch ticket","👋 Hallo! Wie können wir Ihnen helfen?":"👋 Hello! How can we help you?","👤 Konto":"👤 Account","💤 Auf später":"💤 Snooze","💤 Ausgeblendet bis {} Uhr, dann kommt das Ticket zurück.":"💤 Hidden until {}, then the ticket comes back.","💤 Wiedervorlage":"💤 Snooze","💤 bis":"💤 until","💬 Live-Chat":"💬 Live chat","💾 Backup jetzt erstellen":"💾 Create backup now","📄 Impressum":"📄 Legal notice","📎 Datei":"📎 File","📞 Telefon":"📞 Phone","📡 FTP-Upload":"📡 FTP upload","📥 osTicket Import":"📥 osTicket import","📧 E-Mail":"📧 Email","📧 Mitarbeiter":"📧 Staff","📱 Android-App: Push-Benachrichtigungen":"📱 Android app: push notifications","📱 Android-App: Welche Popups?":"📱 Android app: which popups?","🔄 Automatischer Hintergrund-Betrieb (ohne Server-Cronjob)":"🔄 Automatic background operation (without server cron job)","🔄 Erneut prüfen":"🔄 Check again","🔄 System-Update":"🔄 System update","🔒 Datenschutz":"🔒 Privacy","🔒 Datenschutzerklärung":"🔒 Privacy policy","🔒 Dieses Ticket wird gerade von „{}“ bearbeitet. Als Administrator kannst du es trotzdem lesen und bearbeiten.":"🔒 This ticket is currently being handled by \"{}\". As administrator you can still read and edit it.","🔒 Sicherheit":"🔒 Security","🔒 Wird gerade von {} bearbeitet – Sie sehen live mit, können hier aber nicht schreiben.":"🔒 Currently being handled by {} – you can watch live but cannot write here.","🔓 freigeben":"🔓 release","🔔 Meine Erwähnungen":"🔔 My mentions","🔴 Beschäftigt":"🔴 Busy","🔴 Überfällig":"🔴 Overdue","🖥 Intern":"🖥 Internal","🖥 Vor Ort / Intern":"🖥 On site / internal","🖨 Drucken":"🖨 Print","🖨 Drucken / Als PDF speichern":"🖨 Print / Save as PDF","🖨️ Ticket drucken":"🖨️ Print ticket","🖼️ Bild einfügen":"🖼️ Insert image","🗄 Datenbank aktualisieren":"🗄 Update database","🗑 Ticket löschen":"🗑 Delete ticket","🚫 Als Spam markieren":"🚫 Mark as spam","🚫 Sperren":"🚫 Block","🟡 Bald fällig":"🟡 Due soon","🟡 Bald fällig (< 4 Std.)":"🟡 Due soon (< 4 hrs)","🟡 Pause":"🟡 Break","🟢 Im Zeitplan":"🟢 On schedule","🟢 Verfügbar":"🟢 Available","+ Ansicht speichern":"+ Save view"}; diff --git a/desktop/src/main.js b/desktop/src/main.js index bfa49126..776d737b 100644 --- a/desktop/src/main.js +++ b/desktop/src/main.js @@ -110,8 +110,11 @@ ipcMain.handle('notify', (_e, { title, body }) => { }); // ─── Einstellungen (settings.json im Benutzerordner) ──────────────────────── -const DEFAULTS = { theme: 'system', autostart: false, closeToTray: true, notifications: true, pollSeconds: 60, startMinimized: false, bounds: null }; +const DEFAULTS = { theme: 'system', autostart: false, closeToTray: true, notifications: true, pollSeconds: 60, startMinimized: false, bounds: null, language: null }; let settings = { ...DEFAULTS }; +// Sprache für Tray-Menü und Meldungen (Auswahl im Programm, sonst die von Windows) +const lang = () => (settings.language === 'de' || settings.language === 'en' ? settings.language : ((app.getLocale() || 'de').toLowerCase().startsWith('de') ? 'de' : 'en')); +const L = (de, en) => (lang() === 'en' ? en : de); const settingsFile = () => path.join(app.getPath('userData'), 'settings.json'); function loadSettings() { try { settings = { ...DEFAULTS, ...JSON.parse(fs.readFileSync(settingsFile(), 'utf8')) }; } catch { settings = { ...DEFAULTS }; } } function saveSettings() { try { fs.writeFileSync(settingsFile(), JSON.stringify(settings)); } catch {} } @@ -124,6 +127,7 @@ ipcMain.handle('settings:set', (_e, patch) => { for (const k of Object.keys(DEFAULTS)) if (k in patch && k !== 'bounds') settings[k] = patch[k]; saveSettings(); applyAutostart(); applyNativeTheme(); + try { tray?.setContextMenu(trayMenu()); } catch {} return { ...settings, version: app.getVersion(), packaged: app.isPackaged }; }); @@ -134,24 +138,27 @@ function showWindow(page) { win.show(); if (win.isMinimized()) win.restore(); win.focus(); if (page) win.webContents.send('navigate', page); } +function trayMenu() { + return Menu.buildFromTemplate([ + { label: L('DeskHub öffnen', 'Open DeskHub'), click: () => showWindow() }, + { label: 'Tickets', click: () => showWindow('tickets') }, + { label: L('Neues Ticket', 'New ticket'), click: () => showWindow('newticket') }, + { type: 'separator' }, + { label: L('Beenden', 'Quit'), click: () => { quitting = true; app.quit(); } }, + ]); +} function createTray() { const img = nativeImage.createFromPath(path.join(__dirname, 'assets', 'icon.ico')); tray = new Tray(img.resize({ width: 16, height: 16 })); tray.setToolTip('DeskHub'); - tray.setContextMenu(Menu.buildFromTemplate([ - { label: 'DeskHub öffnen', click: () => showWindow() }, - { label: 'Tickets', click: () => showWindow('tickets') }, - { label: 'Neues Ticket', click: () => showWindow('newticket') }, - { type: 'separator' }, - { label: 'Beenden', click: () => { quitting = true; app.quit(); } }, - ])); + tray.setContextMenu(trayMenu()); tray.on('click', () => showWindow()); } ipcMain.handle('badge', (_e, { count, dataUrl }) => { if (!win) return; try { - win.setOverlayIcon(count > 0 && dataUrl ? nativeImage.createFromDataURL(dataUrl) : null, count > 0 ? `${count} neu` : ''); - tray?.setToolTip(count > 0 ? `DeskHub – ${count} neu` : 'DeskHub'); + win.setOverlayIcon(count > 0 && dataUrl ? nativeImage.createFromDataURL(dataUrl) : null, count > 0 ? `${count} ${L('neu', 'new')}` : ''); + tray?.setToolTip(count > 0 ? `DeskHub – ${count} ${L('neu', 'new')}` : 'DeskHub'); } catch {} }); diff --git a/desktop/src/styles.css b/desktop/src/styles.css index 7b812f27..ccc89e0f 100644 --- a/desktop/src/styles.css +++ b/desktop/src/styles.css @@ -76,7 +76,8 @@ h4 { margin: 16px 0 6px; font-size: 12px; text-transform: uppercase; letter-spac .shell { display: grid; grid-template-columns: 232px 1fr; grid-template-rows: 54px 1fr; height: 100%; } .topbar { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; padding: 0 154px 0 18px; background: var(--chrome); color: var(--chrome-text); border-bottom: 1px solid var(--chrome-line); } .topbar .brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 17px; letter-spacing: -.01em; min-width: 196px; } -.logo { width: 30px; height: 30px; border-radius: 8px; background: linear-gradient(135deg, #3aa7f2, #1769b8); color: #fff; display: grid; place-items: center; font-size: 16px; font-weight: 700; } +/* Das Zeichen („D“ weiß, „H“ orange) kommt aus assets/logo.png; der Buchstabe im Markup bleibt als Ersatz unsichtbar */ +.logo { width: 30px; height: 30px; border-radius: 8px; background: url(assets/logo.png) center / cover no-repeat; color: transparent; display: grid; place-items: center; font-size: 0; font-weight: 700; overflow: hidden; } .topbar .btn.ok { background: #2fa05a; color: #fff; border-color: transparent; } .topbar .btn.ok:hover { background: #278a4d; } .searchbtn { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 360px; max-width: 38vw; background: #fff; color: #6b7785; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 7px 11px; cursor: pointer; font-weight: 400; } @@ -234,3 +235,18 @@ tr.totalrow td { font-weight: 700; background: var(--panel2); border-top: 2px so .sigpreview.text { white-space: pre-wrap; } .sigpreview p { margin: 0 0 6px; } .sigpreview p:last-child { margin-bottom: 0; } .sigpreview img { max-width: 100%; height: auto; vertical-align: middle; } + +/* Bewertungen (Zufriedenheitsabfrage) und Störungsmeldungen */ +.stars { color: #f5b301; letter-spacing: 1px; } +.stars.big { font-size: 1.6rem; font-weight: 700; margin-right: 10px; } +.csat-comment { margin: 4px 0; } +.incident { padding: 10px 0; border-top: 1px solid var(--line, rgba(128,128,128,.25)); } +.incident:first-of-type { border-top: 0; } + +/* Sprachwechsler (Flaggen) */ +.lang-switch { display: inline-flex; gap: 6px; align-items: center; margin-right: 12px; -webkit-app-region: no-drag; } +.lang-flag { border: 0; background: none; padding: 2px; border-radius: 5px; opacity: .6; cursor: pointer; line-height: 0; } +.lang-flag:hover { opacity: .9; } +.lang-flag.on { opacity: 1; outline: 2px solid var(--accent, #14b8a6); outline-offset: 1px; } +.lang-flag img { display: block; width: 24px; height: 16px; object-fit: cover; border-radius: 3px; } +.login-lang { text-align: right; margin: -4px 0 8px; } diff --git a/desktop/test/mock.html b/desktop/test/mock.html index eb175380..c3ba66a3 100644 --- a/desktop/test/mock.html +++ b/desktop/test/mock.html @@ -22,10 +22,27 @@ const routes = { return { dbReady: true, settings: { enabled: true, mode: 'offline_only', name: '', greeting: '', noAnswer: '', departmentId: 0, priorityId: 0, logDays: 90, synonyms: 'Zugang, Einladung, beitreten' }, defaults: { name: 'Digitaler Assistent', greeting: 'Hallo!', noAnswer: 'Keine Antwort.' }, state: { activeNow: true, liveChatEnabled: false, kbEnabled: true, helpdeskOffline: false }, departments: [{ id: 1, name: 'Technik' }], priorities: [{ id: 1, name: 'Normal' }] }; }, 'tickets.php': () => ({ items: tickets, page: 1, perPage: 30, total: 4, hasMore: false }), - 'ticket.php': () => ({ ticket: { ...tickets[0], source: 'web', firstResponseDueAt: null, resolutionDueAt: '2026-10-12 12:00:00', similar: { articles: [{ title: 'Drucker einrichten', url: '/kb_article.php?slug=drucker' }], tickets: [{ number: 'T-77', subject: 'Alter Druckerfall' }] }, lockedByOtherName: null, lockedBy: window.__lockedBy || null, canUnlock: !!window.__lockedBy, customFields: [{ label: 'Titel der Geschichte', type: 'text', value: 'Der kleine Bär' }, { label: 'Nutzerbedingungen', type: 'checkbox', value: 'Ja' }], replySignatures: { default: 'own', own: { available: true, text: 'Viele Grüße\nMax persönlich', html: '

Viele Grüße

Max persönlich
', hasImage: false }, department: { available: true, name: 'Technik', text: 'Technik-Team Support', html: '

Technik-Team Support

Linkalert(2)', hasImage: true } }, threads: [ + 'ticket.php': () => ({ ticket: { ...tickets[0], collaborators: window.__collabs || [{ id: 1, email: 'cc@firma.de', name: 'Cc Person' }], followers: [{ id: 2, name: 'Eva Beispiel' }], csat: { rating: 4, comment: 'Schnell und freundlich', sentAt: '2026-10-12 09:00:00', answeredAt: '2026-10-12 09:30:00' }, source: 'web', firstResponseDueAt: null, resolutionDueAt: '2026-10-12 12:00:00', similar: { articles: [{ title: 'Drucker einrichten', url: '/kb_article.php?slug=drucker' }], tickets: [{ number: 'T-77', subject: 'Alter Druckerfall' }] }, lockedByOtherName: null, lockedBy: window.__lockedBy || null, canUnlock: !!window.__lockedBy, customFields: [{ label: 'Titel der Geschichte', type: 'text', value: 'Der kleine Bär' }, { label: 'Nutzerbedingungen', type: 'checkbox', value: 'Ja' }], replySignatures: { default: 'own', own: { available: true, text: 'Viele Grüße\nMax persönlich', html: '

Viele Grüße

Max persönlich
', hasImage: false }, department: { available: true, name: 'Technik', text: 'Technik-Team Support', html: '

Technik-Team Support

Linkalert(2)', hasImage: true } }, threads: [ { id: 1, authorType: 'user', authorName: 'Kunde 1', message: 'Mein Drucker druckt nichts mehr.\nBitte helft.', isInternalNote: false, createdAt: '2026-10-12 08:00:00', attachments: [{ id: 1, name: 'foto.png', size: 20480 }], comments: [] }, { id: 2, authorType: 'staff', authorName: 'Max Muster', message: 'Wir schauen uns das an.', isInternalNote: false, createdAt: '2026-10-12 08:30:00', attachments: [], comments: [] }, { id: 3, authorType: 'staff', authorName: 'Max Muster', message: 'Treiber prüfen', isInternalNote: true, createdAt: '2026-10-12 08:35:00', attachments: [], comments: [] }] } }), + 'ticket_collaborators.php': (req) => { + window.__collabs = window.__collabs || [{ id: 1, email: 'cc@firma.de', name: 'Cc Person' }]; + const b = req.body || {}; + if (b.action === 'add') window.__collabs.push({ id: 10 + window.__collabs.length, email: b.email, name: '' }); + if (b.action === 'remove') window.__collabs = window.__collabs.filter((c) => c.id !== b.id); + return { collaborators: window.__collabs }; + }, + 'ticket_templates.php': () => ({ templates: [{ id: 1, name: 'Neuer Mitarbeiter', description: '', subject: 'Neuer Mitarbeiter: ', body: 'Name:\nStartdatum:', departmentId: 1, helpTopicId: null, priorityId: 1, isPublic: true }] }), + 'csat.php': () => ({ enabled: true, days: 30, stats: { sent: 10, answered: 6, avg: 4.2, rate: 60, dist: [1, 2, 3, 4, 5].map((r) => ({ rating: r, count: r === 5 ? 3 : r === 4 ? 2 : r === 1 ? 1 : 0 })), byStaff: [{ id: 1, name: 'Max Muster', count: 4, avg: 4.5 }], recent: [{ rating: 5, comment: 'Top', answeredAt: '2026-10-12 09:30:00', number: 'T-1001', subject: 'Drucker druckt nicht' }] } }), + 'status.php': (req) => { + window.__status = window.__status || { enabled: false, title: 'Systemstatus', url: 'https://demo.example.de/status.php', overall: { key: 'operational', label: 'Alle Systeme laufen', color: '#157a45' }, + componentStates: [{ key: 'operational', label: 'In Betrieb' }, { key: 'maintenance', label: 'Wartung' }, { key: 'degraded', label: 'Eingeschränkt' }, { key: 'outage', label: 'Ausfall' }], + incidentStates: [{ key: 'investigating', label: 'Wird untersucht' }, { key: 'resolved', label: 'Behoben' }], + components: [{ id: 1, name: 'Webseite', description: 'Kundenportal', status: 'operational', statusLabel: 'In Betrieb' }], incidents: [] }; + if (req.method === 'POST') { (window.__statusPosts = window.__statusPosts || []).push(req.body); const b = req.body; if (b.action === 'set_enabled') window.__status.enabled = b.enabled; } + return { status: window.__status, canManage: true }; + }, 'ticket_unlock.php': () => { window.__lockedBy = null; return { ok: true, unlocked: true }; }, 'departments.php': () => ({ staffOptions: [{ id: 1, name: 'Max Muster' }, { id: 2, name: 'Eva Beispiel' }], emailOptions: [], slaPlans: [], items: [{ id: 1, name: 'Technik', email: 'technik@example.de', isDefault: true, signature: '', isActive: true, slaPlanId: null, managerId: 1, managerName: 'Max Muster', autoAssignMode: 'staff', autoAssignStaffId: 2, notes: '', members: [{ id: 1, name: 'Max Muster', isPrimary: true }] }] }), 'queues.php': () => ({ items: [{ id: 1, name: 'Meine überfälligen', isShared: false, mine: true, ownerName: 'Max Muster', filters: { status: 'open,pending', assigned: 'me', sla: 'overdue' } }, { id: 2, name: 'Team-Überblick', isShared: true, mine: false, ownerName: 'Eva Beispiel', filters: { status: 'open,pending,answered' } }] }), @@ -52,5 +69,5 @@ window.deskhub = { onSessionExpired() {}, onNavigate() {}, }; - + diff --git a/desktop/test/run.js b/desktop/test/run.js index 4b88df54..8e59be50 100644 --- a/desktop/test/run.js +++ b/desktop/test/run.js @@ -47,6 +47,13 @@ app.whenReady().then(async () => { check('Ticketdetail zeigt Eigenschaften und Aktionen', await run(`['eigenschaften', 'schließen'].every(x => document.getElementById('main').innerText.toLowerCase().includes(x))`)); check('Ticketdetail: Wiedervorlage- und Beobachten-Knopf sind da', await run(`(() => { const t = document.getElementById('main').innerText; return t.includes('Auf später') && t.includes('Beobachten'); })()`)); check('Ticketdetail: „Dazu passend“ zeigt Artikel und ähnliches Ticket', await run(`(() => { const t = document.getElementById('main').innerText; return t.toLowerCase().includes('dazu passend') && t.includes('Drucker einrichten') && t.includes('T-77'); })()`)); + check('Ticketdetail: Bewertung des Kunden (Sterne und Kommentar)', await run(`(() => { const t = document.getElementById('main').textContent; return t.includes('Kundenzufriedenheit') && t.includes('★★★★☆') && t.includes('4 von 5') && t.includes('Schnell und freundlich'); })()`)); + check('Ticketdetail: Beobachter und Cc-Empfänger werden gezeigt', await run(`(() => { const t = document.getElementById('main').innerText; return t.includes('Eva Beispiel') && t.includes('Cc Person') && t.includes('cc@firma.de'); })()`)); + await run(`window.__bodies = {}; (() => { const i = [...document.querySelectorAll('#main input')].find((x) => x.placeholder === 'Cc-Adresse hinzufügen'); i.value = 'neu@kunde.de'; [...document.querySelectorAll('#main button')].find((b) => b.innerText === 'Hinzufügen').click(); })()`); + check('Cc hinzufügen sendet die Adresse an den Server und zeigt sie an', await waitFor(`(window.__bodies['ticket_collaborators.php'] || {}).action === 'add' && window.__bodies['ticket_collaborators.php'].email === 'neu@kunde.de' && document.getElementById('main').innerText.includes('neu@kunde.de')`)); + await run(`window.__bodies = {}; [...document.querySelectorAll('#main .mini.row button')][0].click()`); + check('Cc entfernen sendet die Kennung an den Server', await waitFor(`(window.__bodies['ticket_collaborators.php'] || {}).action === 'remove' && window.__bodies['ticket_collaborators.php'].id === 1 && !document.getElementById('main').innerText.includes('Cc Person')`)); + await run(`window.__collabs = null`); await run(`window.__bodies = {}; [...document.querySelectorAll('#main button')].find((b) => b.innerText.includes('Beobachten') && !b.innerText.includes('Nicht')).click()`); await run(`window.__web = ''; [...document.querySelectorAll('#main button')].find((b) => b.innerText.includes('Im Browser')).click()`); check('Ticket: „Im Browser“ öffnet das Ticket in der Weboberfläche', await waitFor(`String(window.__web).startsWith('/staff/ticket_view.php?n=')`)); @@ -76,6 +83,11 @@ app.whenReady().then(async () => { check('Sperre aufheben ruft den Server auf und der Hinweis verschwindet', await waitFor(`window.__calls.includes('ticket_unlock.php') && !document.getElementById('main').innerText.includes('„Florian“ bearbeitet')`)); await run(`go('reports')`); check('Berichte laden Tabelle mit Summen', await waitFor(`['Technik', 'Vertrieb', '59'].every(x => document.getElementById('main').innerText.includes(x))`)); + check('Berichte: Kundenzufriedenheit mit Durchschnitt, Rücklauf und Kommentar', await waitFor(`(() => { const t = document.getElementById('main').textContent; return t.includes('Kundenzufriedenheit') && t.includes('4,2 ★') && t.includes('6 Antworten von 10') && t.includes('Max Muster 4,5') && t.includes('Top'); })()`)); + await run(`go('newticket')`); + check('Neues Ticket: Vorlagenauswahl erscheint', await waitFor(`(() => { const s = [...document.querySelectorAll('#main select')][0]; return !!s && [...s.options].some((o) => o.text === 'Neuer Mitarbeiter'); })()`)); + await run(`(() => { const s = [...document.querySelectorAll('#main select')][0]; s.value = '1'; s.dispatchEvent(new Event('change')); })()`); + check('Vorlage füllt Betreff, Text und Priorität vor', await run(`(() => { const inp = [...document.querySelectorAll('#main input')].map((x) => x.value); const ta = document.querySelector('#main textarea').value; const sel = [...document.querySelectorAll('#main select')].map((x) => x.value); return inp.includes('Neuer Mitarbeiter: ') && ta === 'Name:\\nStartdatum:' && sel.includes('1'); })()`)); console.log('Verwaltung'); await run(`state.staff.role = 'admin'`); @@ -105,6 +117,15 @@ app.whenReady().then(async () => { await tabBtn('Frage ausprobieren'); await run(`window.__assistantPosts = []; document.querySelector('#main input').value = 'Wann kommt das Paket?'; [...document.querySelectorAll('#main button')].find((b) => b.innerText === 'Testen').click()`); check('Assistent: Ausprobieren zeigt die Antwort', await waitFor(`document.getElementById('main').innerText.includes('Zwei bis drei Werktage.')`)); + // Statusseite: Zustand der Dienste, Einschalten, Meldung veröffentlichen + await run(`go('admin', 'statuspage')`); + check('Statusseite: Dienste und Gesamtzustand werden gezeigt', await waitFor(`(() => { const t = document.getElementById('main').textContent; return t.includes('Alle Systeme laufen') && t.includes('Webseite') && t.includes('Neue Meldung'); })()`)); + await run(`window.__statusPosts = []; document.querySelector('#main input[type=checkbox]').click()`); + check('Statusseite: Einschalten sendet set_enabled', await waitFor(`(window.__statusPosts[0] || {}).action === 'set_enabled' && window.__statusPosts[0].enabled === true`)); + await run(`window.__statusPosts = []; (() => { const t = [...document.querySelectorAll('#main input')].find((x) => x.placeholder.includes('E-Mail-Versand')); t.value = 'Portal langsam'; [...document.querySelectorAll('#main button')].find((b) => b.innerText === 'Veröffentlichen').click(); })()`); + check('Statusseite: Meldung veröffentlichen sendet Titel und Stufe', await waitFor(`(window.__statusPosts[0] || {}).action === 'create_incident' && window.__statusPosts[0].title === 'Portal langsam' && window.__statusPosts[0].status === 'investigating'`)); + await run(`window.__statusPosts = []; (() => { const s = [...document.querySelectorAll('#main select')][0]; s.value = 'outage'; s.dispatchEvent(new Event('change')); })()`); + check('Statusseite: Zustand eines Dienstes ändern sendet set_component', await waitFor(`(window.__statusPosts[0] || {}).action === 'set_component' && window.__statusPosts[0].status === 'outage' && window.__statusPosts[0].id === 1`)); // Rechte: ohne das Recht ist der Bereich nicht in der Verwaltung await run(`state.staff.role = 'agent'; state.staff.permissions = {}`); check('Assistent: ohne Recht nicht in den Verwaltungsbereichen', await run(`!adminSections().some((s) => s.key === 'assistant')`)); @@ -114,9 +135,8 @@ app.whenReady().then(async () => { // Abteilung: automatische Zuweisung neuer Tickets einstellen await run(`go('admin')`); - check('Verwaltung zeigt die Weboberfläche-Seiten, die der Server freigibt', await waitFor(`(() => { const t = document.getElementById('main').innerText; return t.includes('Backup') && t.includes('Einstellungen') && t.includes('im Browser'); })()`)); - await run(`[...document.querySelectorAll('#main .tile')].find((x) => x.innerText.includes('Backup')).click()`); - check('Klick öffnet die Seite über die einmalige Anmeldung (nur /staff/-Pfad)', await waitFor(`window.__web === '/staff/backup.php'`)); + check('Verwaltung zeigt nur Bereiche der App, keine Seiten der Weboberfläche mehr', await waitFor(`(() => { const t = document.getElementById('main').innerText; return t.includes('Abteilungen') && !t.includes('(im Browser)') && !t.includes('Backup') && !document.querySelector('#main .tile[data-web]'); })()`)); + check('Verwaltung ruft die Seiten der Weboberfläche nicht mehr ab', await run(`!window.__calls.includes('web_pages.php')`)); await run(`go('admin', 'departments')`); check('Abteilungen: Liste lädt', await waitFor(`document.getElementById('main').innerText.includes('Technik')`)); await run(`document.querySelector('#main tr.click').click()`); @@ -143,6 +163,29 @@ app.whenReady().then(async () => { await run(`window.__health = [{ level: 'error', code: 'mailbox_down', message: 'Postfach „support@example.de“ ist nicht erreichbar.' }]; pollActivity()`); check('Serverstörung (Mailabruf) wird als Banner gezeigt', await waitFor(`document.getElementById('banners').innerText.includes('support@example.de')`, 6000)); + console.log('Sprache'); + check('Standard (Windows-Sprache im Test: Deutsch): Flaggen sind in der Kopfleiste', await run(`document.querySelectorAll('.topbar .lang-flag').length === 2 && document.querySelector('.topbar .lang-flag.on').title === 'Deutsch'`)); + check('Deutsch: Seitenleiste deutsch', await run(`document.querySelector('.side').innerText.includes('Übersicht')`)); + await run(`localStorage.setItem('lang', 'en')`); + await win.loadFile(path.join(__dirname, 'mock.html')); + check('English: App startet', await waitFor(`!!document.querySelector('.side') && !!document.getElementById('main')`)); + check('English: Seitenleiste und Kopfleiste übersetzt', await run(`(() => { const t = document.querySelector('.side').innerText + document.querySelector('.topbar').innerText; return t.includes('Overview') && t.includes('Tasks') && t.includes('Sign out') && !t.includes('Abmelden'); })()`)); + check('English: Flagge English ist aktiv, passt', await run(`document.querySelector('.topbar .lang-flag.on').title === 'English' && document.documentElement.lang === 'en'`)); + await run(`go('ticket', 1)`); + check('English: Ticket übersetzt (Eigenschaften, Aktionen, Texte mit Zahlen)', await waitFor(`(() => { const t = document.getElementById('main').textContent; return t.includes('Properties') && t.includes('Resolve') && t.includes('Customer satisfaction') && t.includes('Mein Drucker druckt nichts mehr') && t.includes('Drucker druckt nicht'); })()`)); + check('English: Kundendaten (Ticketinhalt) bleiben unübersetzt', await run(`document.getElementById('main').textContent.includes('Mein Drucker druckt nichts mehr')`)); + await run(`go('newticket')`); + check('English: Neues Ticket (Beschriftungen und Platzhalter)', await waitFor(`(() => { const t = document.getElementById('main').textContent; return t.includes('New ticket') && t.includes('Customer name') && t.includes('Subject') && t.includes('Create ticket'); })()`)); + await run(`go('tickets')`); + check('English: Ticketliste hat Reiter und Suche auf English', await waitFor(`(() => { const t = document.getElementById('main').textContent; return t.includes('Watched') || t.includes('Snoozed') || t.includes('Open'); })()`)); + check('English: Datumsformat englisch', await run(`fmtDate('2026-10-24 19:42:00').includes('24/10/2026')`)); + await run(`state.staff.role = 'admin'; go('admin')`); + check('English: Verwaltung (Kacheln, Hinweis ohne Web-Verweis)', await waitFor(`(() => { const t = document.getElementById('main').textContent; return t.includes('Administration') && t.includes('Departments') && t.includes('Only areas you are authorized for.'); })()`)); + await run(`[...document.querySelectorAll('.topbar .lang-flag')].find((b) => b.title === 'Deutsch').click()`); + await waitFor(`localStorage.getItem('lang') === 'de'`); + check('Klick auf die deutsche Flagge speichert die Sprache', await run(`localStorage.getItem('lang') === 'de'`)); + await run(`localStorage.removeItem('lang')`); + check('Keine JavaScript-Fehler in der Konsole', consoleErrors.length === 0, consoleErrors.slice(0, 3).join(' | ')); } catch (e) { failures.push('Testlauf abgebrochen: ' + e.message);