feat(i18n): app.js Strings auf t() umstellen

Clock-Tage/Monate, Backup-Reminder, HTML-Import und
URL-Validierung verwenden jetzt i18n-Keys.
This commit is contained in:
2026-03-22 18:10:22 +01:00
parent 4a66015258
commit ab165d4f75
+9 -9
View File
@@ -95,8 +95,8 @@ async function checkBackupReminder() {
if (boards.length === 0) return; if (boards.length === 0) return;
const doBackup = await HellionDialog.confirm( const doBackup = await HellionDialog.confirm(
'Du hast seit über einer Woche kein Backup gemacht. Beim Löschen der Browserdaten gehen deine Boards verloren. Jetzt sichern?', t('app.backup_reminder'),
{ type: 'warning', title: 'Backup-Erinnerung', confirmText: 'Jetzt sichern', cancelText: 'Später' } { type: 'warning', title: t('app.backup_reminder.title'), confirmText: t('app.backup_now'), cancelText: t('app.backup_later') }
); );
if (doBackup) { if (doBackup) {
@@ -121,15 +121,15 @@ async function checkBackupReminder() {
// ---- CLOCK & DATE ---- // ---- CLOCK & DATE ----
function startClock() { function startClock() {
const DAYS = ['So','Mo','Di','Mi','Do','Fr','Sa']; const DAY_KEYS = ['clock.days.sun','clock.days.mon','clock.days.tue','clock.days.wed','clock.days.thu','clock.days.fri','clock.days.sat'];
const MONTHS = ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez']; const MONTH_KEYS = ['clock.months.jan','clock.months.feb','clock.months.mar','clock.months.apr','clock.months.may','clock.months.jun','clock.months.jul','clock.months.aug','clock.months.sep','clock.months.oct','clock.months.nov','clock.months.dec'];
function tick() { function tick() {
const now = new Date(); const now = new Date();
document.getElementById('clock').textContent = document.getElementById('clock').textContent =
`${String(now.getHours()).padStart(2,'0')}:${String(now.getMinutes()).padStart(2,'0')}`; `${String(now.getHours()).padStart(2,'0')}:${String(now.getMinutes()).padStart(2,'0')}`;
document.getElementById('date').textContent = document.getElementById('date').textContent =
`${DAYS[now.getDay()]}, ${String(now.getDate()).padStart(2,'0')}. ${MONTHS[now.getMonth()]}`; `${t(DAY_KEYS[now.getDay()])}, ${String(now.getDate()).padStart(2,'0')}. ${t(MONTH_KEYS[now.getMonth()])}`;
} }
tick(); tick();
setInterval(tick, 1000); setInterval(tick, 1000);
@@ -149,7 +149,7 @@ function bindGlobalEvents() {
if (!file) return; if (!file) return;
const imported = parseBookmarkHtml(await file.text()); const imported = parseBookmarkHtml(await file.text());
if (imported.length === 0) { if (imported.length === 0) {
await HellionDialog.alert('Keine Bookmarks in dieser Datei gefunden.', { type: 'warning', title: 'Import' }); await HellionDialog.alert(t('app.no_bookmarks'), { type: 'warning', title: t('app.import_title') });
return; return;
} }
boards = [...boards, ...imported]; boards = [...boards, ...imported];
@@ -157,8 +157,8 @@ function bindGlobalEvents() {
renderBoards(); renderBoards();
e.target.value = ''; e.target.value = '';
await HellionDialog.alert( await HellionDialog.alert(
`${imported.length} Board(s) mit ${imported.reduce((s,b) => s + b.bookmarks.length, 0)} Bookmarks importiert.`, t('app.html_import_success', { count: imported.length, total: imported.reduce((s,b) => s + b.bookmarks.length, 0) }),
{ type: 'success', title: 'Import erfolgreich' } { type: 'success', title: t('app.import_success_title') }
); );
}); });
@@ -190,7 +190,7 @@ function bindGlobalEvents() {
const url = document.getElementById('newBmUrl').value.trim(); const url = document.getElementById('newBmUrl').value.trim();
const desc = document.getElementById('newBmDesc').value.trim(); const desc = document.getElementById('newBmDesc').value.trim();
if (!title || !url) return; if (!title || !url) return;
try { new URL(url); } catch { await HellionDialog.alert('Ungültige URL. Bitte mit https:// beginnen.', { type: 'warning', title: 'URL ungültig' }); return; } try { new URL(url); } catch { await HellionDialog.alert(t('app.invalid_url'), { type: 'warning', title: t('app.invalid_url.title') }); return; }
const board = boards.find(b => b.id === pendingBookmarkBoardId); const board = boards.find(b => b.id === pendingBookmarkBoardId);
if (!board) return; if (!board) return;
board.bookmarks.push({ id: uid(), title, url, desc }); board.bookmarks.push({ id: uid(), title, url, desc });