feat(i18n): settings.js und widgets.js auf t() umstellen

Reset-Dialog, Dateifehler, Widget-Buttons (Minimieren/Schließen)
und Default-Titel verwenden jetzt i18n-Keys.
This commit is contained in:
2026-03-22 18:16:41 +01:00
parent ab165d4f75
commit f07200cd8e
3 changed files with 15 additions and 7 deletions
+8
View File
@@ -115,6 +115,10 @@ const STRINGS = {
'imageref.invalid_file': 'Bitte eine Bilddatei verwenden (PNG, JPG, WebP, etc.).', 'imageref.invalid_file': 'Bitte eine Bilddatei verwenden (PNG, JPG, WebP, etc.).',
'imageref.invalid_file.title': 'Kein Bild', 'imageref.invalid_file.title': 'Kein Bild',
// Widget-Manager
'widget.minimize': 'Minimieren',
'widget.close': 'Schließen',
// Daten (Export/Import) // Daten (Export/Import)
'data.invalid_format': 'Ungültiges Format', 'data.invalid_format': 'Ungültiges Format',
'data.no_boards': 'Keine gültigen Boards gefunden', 'data.no_boards': 'Keine gültigen Boards gefunden',
@@ -406,6 +410,10 @@ const STRINGS = {
'imageref.invalid_file': 'Please use an image file (PNG, JPG, WebP, etc.).', 'imageref.invalid_file': 'Please use an image file (PNG, JPG, WebP, etc.).',
'imageref.invalid_file.title': 'Not an image', 'imageref.invalid_file.title': 'Not an image',
// Widget manager
'widget.minimize': 'Minimize',
'widget.close': 'Close',
// Data (export/import) // Data (export/import)
'data.invalid_format': 'Invalid format', 'data.invalid_format': 'Invalid format',
'data.no_boards': 'No valid boards found', 'data.no_boards': 'No valid boards found',
+3 -3
View File
@@ -188,7 +188,7 @@ function bindSettingsEvents() {
await saveSettings(); await saveSettings();
}; };
reader.onerror = () => { reader.onerror = () => {
HellionDialog.alert('Fehler beim Lesen der Datei. Bitte eine andere Datei wählen.', { type: 'danger', title: 'Dateifehler' }); HellionDialog.alert(t('settings.file_read_error'), { type: 'danger', title: t('settings.file_read_error.title') });
}; };
reader.readAsDataURL(file); reader.readAsDataURL(file);
}); });
@@ -224,8 +224,8 @@ function bindSettingsEvents() {
// Reset All // Reset All
document.getElementById('btnResetAll').addEventListener('click', async () => { document.getElementById('btnResetAll').addEventListener('click', async () => {
const ok = await HellionDialog.confirm( const ok = await HellionDialog.confirm(
'Wirklich alle Boards und Einstellungen löschen? Das kann nicht rückgängig gemacht werden.', t('settings.reset_confirm'),
{ type: 'danger', title: 'Alles zurücksetzen', confirmText: 'Alles löschen' } { type: 'danger', title: t('settings.reset_confirm.title'), confirmText: t('settings.reset_confirm.button') }
); );
if (!ok) return; if (!ok) return;
boards = []; boards = [];
+4 -4
View File
@@ -20,7 +20,7 @@ const WidgetManager = {
const state = { const state = {
id, id,
type, type,
title: config.title || 'Note', title: config.title || t('notes.default_title'),
x: config.x || 120, x: config.x || 120,
y: config.y || 80, y: config.y || 80,
width: config.width || 280, width: config.width || 280,
@@ -75,7 +75,7 @@ const WidgetManager = {
title.addEventListener('blur', async () => { title.addEventListener('blur', async () => {
title.contentEditable = 'false'; title.contentEditable = 'false';
const newTitle = title.textContent.trim().slice(0, 20); const newTitle = title.textContent.trim().slice(0, 20);
title.textContent = newTitle || 'Note'; title.textContent = newTitle || t('notes.default_title');
const entry = this._widgets.get(state.id); const entry = this._widgets.get(state.id);
if (entry) { if (entry) {
entry.state.title = title.textContent; entry.state.title = title.textContent;
@@ -94,13 +94,13 @@ const WidgetManager = {
const btnMin = document.createElement('button'); const btnMin = document.createElement('button');
btnMin.className = 'widget-btn widget-minimize'; btnMin.className = 'widget-btn widget-minimize';
btnMin.title = 'Minimieren'; btnMin.title = t('widget.minimize');
btnMin.textContent = '\u2500'; btnMin.textContent = '\u2500';
btnMin.addEventListener('click', () => this.minimize(state.id)); btnMin.addEventListener('click', () => this.minimize(state.id));
const btnClose = document.createElement('button'); const btnClose = document.createElement('button');
btnClose.className = 'widget-btn widget-close'; btnClose.className = 'widget-btn widget-close';
btnClose.title = 'Schließen'; btnClose.title = t('widget.close');
btnClose.textContent = '\u2715'; btnClose.textContent = '\u2715';
btnClose.addEventListener('click', () => this.close(state.id)); btnClose.addEventListener('click', () => this.close(state.id));