From b9d610b61248bee5f3ae9052f7dd13f1130ec85c Mon Sep 17 00:00:00 2001 From: th Date: Thu, 16 Apr 2026 00:48:05 +0200 Subject: [PATCH] shopping: UI strings all English MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Picker dialog, hamburger menu entry, phone page and help section still had German labels from the original request ("Einkaufsliste", "keine aktive Liste", etc.). The rest of the app's UI is English, so align everything here: menu entry is "Shopping list", dialog + phone page copy translated, help references match. Trigger tags stay as-is — both #einkauf and #shopping keep working so users with either convention aren't disrupted. Co-Authored-By: Claude Opus 4.6 (1M context) --- config.php | 2 +- electron/package.json | 2 +- public/index.php | 6 +++--- public/js/modules/shopping.js | 19 ++++++++++--------- relay/inc/routes/shopping.php | 16 ++++++++-------- 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/config.php b/config.php index 31871be..29909fb 100644 --- a/config.php +++ b/config.php @@ -1,7 +1,7 @@
- Karten mit Tag #einkauf oder - #shopping können als aktive Liste fürs Telefon - gewählt werden. Nur eine ist aktiv; ihr Body wird bei jedem Sync zum Relay geschickt - und unter /shopping angezeigt. + Cards tagged with #einkauf or + #shopping can be set as the active list for the + phone. Only one is active at a time; its body is pushed to the relay on every sync + and shown at /shopping.
@@ -91,8 +91,9 @@ function openDialog() { if (!candidates.length) { list.innerHTML = `
- Keine Karten mit dem Tag #einkauf. - Lege eine Karte mit Checkbox-Items an und gib ihr den Tag, dann erscheint sie hier. + No cards tagged #einkauf or + #shopping yet. Create a card with checkbox items + and add one of those tags — it'll show up here.
`; } else { list.innerHTML = candidates.map(c => { @@ -104,14 +105,14 @@ function openDialog() {
${esc(c.title || '(untitled)')}
-
${open} offen · ${items.length} gesamt
+
${open} open · ${items.length} total
`; }).join(''); // "No active" option — explicit way to stop syncing. list.insertAdjacentHTML('beforeend', ``); list.querySelectorAll('input[name="shopping-active"]').forEach(r => { r.addEventListener('change', () => { selectedId = r.value || null; }); diff --git a/relay/inc/routes/shopping.php b/relay/inc/routes/shopping.php index ec27062..e7ce13b 100644 --- a/relay/inc/routes/shopping.php +++ b/relay/inc/routes/shopping.php @@ -133,12 +133,12 @@ if ($route === '/shopping' && $method === 'GET') { $userLabel = htmlspecialchars($sessionTenant['username'], ENT_QUOTES); ?> - + -Einkaufsliste +Shopping list