Skip to content

fix(i18n): complete and improve German (de-DE) settings translations#8285

Open
tobiasheinrichfaska wants to merge 4 commits into
janhq:mainfrom
tobiasheinrichfaska:fix/de-translation-settings
Open

fix(i18n): complete and improve German (de-DE) settings translations#8285
tobiasheinrichfaska wants to merge 4 commits into
janhq:mainfrom
tobiasheinrichfaska:fix/de-translation-settings

Conversation

@tobiasheinrichfaska
Copy link
Copy Markdown

What

Completes and improves the German (de-DE) translation of web-app/src/locales/de-DE/settings.json. Part of #8221.

Changes

  • Adds 53 missing keys, including the entire attachments section (30 keys), the notification-position and thread-scroll options in interface, localApiServer default-model fields, and shortcuts entries.
  • Translates English-leftover values that were still showing in German (across general, hardware, httpsProxy, localApiServer, dataFolder, and top-level keys) — e.g. „Keep application data" → „Anwendungsdaten behalten", „Release Notes" → „Versionshinweise".
  • Quality fixes in line with this issue:
    • interface.title: „Erscheinungsbild" → „Benutzeroberfläche" (the section is Interface).
    • interface.codeBlockTitle: „Code Block" → „Codeblock".
  • Keeps the existing informal du / imperative register, preserves key order and placeholders, and leaves brand/technical terms unchanged (GitHub, Discord, CPU, Vulkan, VRAM, Proxy, Top-K, ANN, CORS, Chunking, Embeddings, the example URLs, etc.).

Testing

JSON validated (parses; full key order matches en/settings.json, 321 keys). No missing keys remain; the only values identical to English are intentional brand/technical terms.

Note on screenshots

The contributing guide asks for a screenshot. This PR only edits a locale JSON file (no layout or logic change). As a free-time contributor on my personal device, I deliberately did not install and build the full app for security reasons, so I can't provide a running-app screenshot. Happy to coordinate if a maintainer wants to verify in-app.

tobiasheinrichfaska and others added 2 commits June 6, 2026 13:47
…ubDesc

The apostrophe-s genitive is an anglicism; German proper-noun genitives take
no apostrophe. Applies to both githubDesc entries in de-DE/settings.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Standardize second-person address to the capitalized forms (Du/Dich/Deine/
Deines/Deinem) for consistency across the German translation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@tokamak-pm
Copy link
Copy Markdown

tokamak-pm Bot commented Jun 7, 2026

PR Review: fix(i18n): complete and improve German (de-DE) settings translations

Summary

This PR completes the German (de-DE) translation of web-app/src/locales/de-DE/settings.json by adding 53 previously missing keys and improving several existing translations. It touches a single file across 3 commits:

  1. Main commit -- adds all missing keys and translates English leftovers
  2. Genitive fix -- corrects "Jan's" to "Jans" (proper German genitive without apostrophe)
  3. Capitalization fix -- standardizes informal "du/dein/dich" forms to capitalized "Du/Dein/Dich" throughout

Translation Quality Assessment

Completeness: After this PR, the DE locale has exactly 307 keys matching the EN source 1:1 with zero missing and zero extra keys. Key ordering also matches the EN file precisely.

Quality of new translations (spot checks):

  • attachments section (30 keys): Natural, well-formed German. Technical terms like Chunking, Embeddings, ANN, sqlite-vec, Top-K are correctly left untranslated. Descriptive text reads fluently (e.g., "Ungefaehre maximale Zeichenanzahl pro Chunk fuer Embeddings").
  • interface.notificationPosition* / threadScroll*: Clear and idiomatic.
  • shortcuts.newProject/search: Correctly translated.
  • localApiServer.defaultModel* / general.autoUpdateCheck*: Accurate.

Quality improvements to existing translations:

  • interface.title: "Erscheinungsbild" -> "Benutzeroberflaece" -- appropriate since the section is labeled "Interface", not just appearance.
  • interface.codeBlockTitle: "Code Block" -> "Codeblock" -- correct German compound.
  • releaseNotes: "Release Notes" -> "Versionshinweise" -- proper German.
  • appVersion: "App Version" -> "App-Version" -- correct German hyphenation.
  • systemMonitor: "System Monitor" -> "Systemmonitor" -- correct German compound.
  • httpsProxy.username: "Username" -> "Benutzername" -- proper German.
  • localApiServer.stopServer: "Stop Server" -> "Server stoppen" -- proper German.
  • localApiServer.runOnStartup: "Auto start" -> "Automatisch starten" -- proper German.
  • localApiServer.apiPrefix: "API Prefix" -> "API-Praefix" -- proper German.
  • English leftover strings in general section (keepAppData, keepModelsAndConfigs, etc.) now properly translated.

Consistency:

  • Du/Dein/Dich capitalization is fully consistent across the entire file (verified programmatically -- zero lowercase instances remain).
  • Placeholders (e.g., {{version}}) are preserved correctly.
  • Brand/technical terms (GitHub, Discord, CPU, Vulkan, VRAM, CORS, etc.) are correctly left untranslated.
  • Register (informal "du"/imperative) is maintained throughout.

Issues Found

None blocking. A few very minor observations (non-blocking):

  1. The general.releaseNotesDesc value is "Sehe, was es Neues..." -- the verb form "Sehe" is slightly unusual (imperative of "sehen" is typically "Sieh" or "Siehe"). The top-level releaseNotesDesc uses "Siehe". This pre-dates the PR and is not introduced by it, so it is not a regression.

  2. Some compound nouns in untouched lines still use spaces instead of hyphens (e.g., serverConfiguration = "Server Konfiguration", apiPrefixDesc = "API Endpunkt", verboseLogs = "Server Logs"). These are pre-existing and out of scope for this PR.

  3. The contributor notes they could not provide in-app screenshots due to not building the app locally. Given this is a locale JSON-only change with no layout or logic modifications, and JSON validity plus key completeness have been verified, this is acceptable.

Recommendation

Can merge. The PR achieves full key parity with the EN source, all new translations are accurate and idiomatic, existing translations are meaningfully improved, JSON is valid, key order matches, and placeholders are preserved. No regressions introduced. Clean, well-structured contribution.

Hyphenate/join compound nouns per German orthography (API-Server, API-Schlüssel,
Server-Logs, Llamacpp-Updates/-Version, App-Daten, Serverkonfiguration,
Fensterhintergrund, Proxy-SSL, …), fix "Pfadprefix"->"Pfadpräfix", and
"RAM Total"->"Gesamter RAM". Addresses review feedback on janhq#8285.

Each change reviewed and approved by the contributor (native German speaker)
before commit; AI-assisted.

Signed-off-by: Tobias Heinrich <tobias.a.w.heinrich@gmail.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant