From 5847bd8ff86f470e7bec54157c4c53d04539a9b8 Mon Sep 17 00:00:00 2001 From: Ada Date: Sat, 9 May 2026 07:36:47 -0400 Subject: [PATCH] Add German (de) locale with polite Sie form MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a full first-pass German translation of the panel UI alongside the existing English/Chinese/Japanese/Korean locales. Notes: - Polite Sie form throughout. Action buttons stay in standard German UI infinitive form (Speichern, Bearbeiten, Löschen, ...). - Technical proper nouns kept in English: Steam, EAC, telnet, Cloudflare, Discord, IANA, BBGGRR, etc. Game-specific terms use the conventional 7D2D-DE renderings (Blutmond, Z-Kills, etc.). - Browser-language detection extended so visitors with de-* locales land on German automatically; otherwise they keep getting English. - Native-speaker review welcome — this is a competent first pass, not a professional localization. Common UX strings should read naturally; the deeper config-editor field labels are direct translations and may benefit from a domain-fluent polish. Plus a small layout-level tooltip: - New layout.broadcastsHint key, surfaced as a :title tooltip on the language switcher in both expanded and collapsed sidebar modes. Explains that in-game broadcast messages (vote thanks, restart warnings, etc.) are stored as-is and don't auto-translate when the panel language changes — flagged earlier as a likely-confusing UX edge for non-English admins. en.ts gets the canonical English text. de.ts gets the German. ja/ko/zh-CN/zh-TW get English placeholders so vue-tsc's structural typecheck passes; native translations are a future polish. Next up: French and Spanish, same pattern, separate PRs each. Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/components/layout/AppLayout.vue | 8 +- frontend/src/i18n/index.ts | 4 + frontend/src/i18n/locales/de.ts | 1167 ++++++++++++++++++ frontend/src/i18n/locales/en.ts | 1 + frontend/src/i18n/locales/ja.ts | 1 + frontend/src/i18n/locales/ko.ts | 1 + frontend/src/i18n/locales/zh-CN.ts | 1 + frontend/src/i18n/locales/zh-TW.ts | 1 + 8 files changed, 1182 insertions(+), 2 deletions(-) create mode 100644 frontend/src/i18n/locales/de.ts diff --git a/frontend/src/components/layout/AppLayout.vue b/frontend/src/components/layout/AppLayout.vue index 5aa361d..ebbfbf0 100644 --- a/frontend/src/components/layout/AppLayout.vue +++ b/frontend/src/components/layout/AppLayout.vue @@ -149,7 +149,10 @@ onUnmounted(() => {