Skip to content

feat(i18n): add German localization across macOS, Windows and Linux - #701

Closed
Ohualtex wants to merge 2 commits into
Louis-CFM:mainfrom
Ohualtex:codex/german-localization-refresh
Closed

Ohualtex wants to merge 2 commits into
Louis-CFM:mainfrom
Ohualtex:codex/german-localization-refresh

Conversation

@Ohualtex

@Ohualtex Ohualtex commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Adds Deutsch to language selection and system locale detection across macOS, Windows and Linux. Covers the current catalog, including Flow dictation, the Notetaker, voice commands and phone-link settings, while preserving all other languages and generated-table keys.

Built directly on current main to replace #437 with a focused diff. Covers 650 localized Apple catalog entries, retaining the 18 German portfolio translations already in main, and all 391 Windows/Linux-only entries; regenerates the 605-entry shared table. Preserves formatting placeholders and German singular/plural forms.

Validation: 404 frontend tests and 5 isolated Rust i18n tests pass; TypeScript, generator freshness, plist parsing and diff checks pass. Browser previews checked language selection and translated settings/Flow content. Full native Tauri/macOS builds were not run. The existing sidebar does not redraw immediately on live language changes; its implementation is unchanged.

Supersedes #437. Closes #436.

Related localization: #700 adds Turkish independently. When combining both, retain both tr and de in the shared language registries and regenerate the shared table.

@Ohualtex

Copy link
Copy Markdown
Contributor Author

Follow-up: #705 fixes the existing Windows/Linux live-language limitation noted in this PR. Changing the interface language now refreshes the sidebar labels, Notch group heading and dictation status while preserving the selected page and navigation nodes. It is a separate fix against main, with three regression tests, and does not depend on this localization PR.

Louis-CFM pushed a commit that referenced this pull request Oct 20, 2026
Ohualtex's German translation, re-applied onto current main:
- Localizable.xcstrings: the "de" localization of every main key #701
  translates, nothing else changed; the newer whatsapp.* and update.*
  strings stay in English for now (whatsapp.remove and step.needs-input
  are translated: Windows shows them).
- Deutsch in the language picker, CFBundleLocalizations of both Mac
  targets (Info.plist, InfoAppStore.plist, project.yml).
- Windows and Linux: "de" in the language lists (gen-strings, i18n.ts,
  i18n.rs), #701's German values for extra.json, strings.json regenerated,
  and #701's tests. The Apple-catalog checks now accept strings newer than
  a translation, and the registration check lets the Mac have languages
  Windows and Linux don't.

Co-Authored-By: Ohualtex <230626673+Ohualtex@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
Louis-CFM pushed a commit that referenced this pull request Oct 20, 2026
shawn-t516's Traditional Chinese translation:
- Localizable.xcstrings: the "zh-Hant" localization of every key, from
  #314 (plus the update.* and step.needs-input strings main gained since),
  and 繁體中文 in the language picker after 简体中文;
  CFBundleLocalizations of both Mac targets.
- #314's wrapping of hard-coded English in String(localized:): outfit
  names (MochiWardrobe), PillCatalog category titles and subtitles, and the
  DeepSeek, Qwen and Moonshot "key saved" messages. Pill ids are unchanged.
  The catalog gains #314's new keys (those, plus literals the code already
  shows that the catalog lacked, and the plan card's Change plan, Auto mode
  and Manual buttons), each translated in every language; the
  ones Windows already translates in extra.json reuse those translations
  (and #701/#700's German and Turkish) and leave extra.json, since the Mac
  catalog now has them. Brand names and URLs keep their English text.
- scripts/test-localization.py and its CONTRIBUTING note, now also run by
  the macOS Build workflow.

Co-Authored-By: shawn-t516 <180199675+shawn-t516@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LJm3SRL9k3gBPaVtfPhwcT
PythonTilk added a commit to PythonTilk/coucou that referenced this pull request Oct 21, 2026
German now comes from upstream (Louis-CFM#701): our own de.json goes, its words kept
only where upstream had none. Turkish is added for this build's chat strings.

Upstream's updater (update.rs and its island card) is left out: it installs
Louis' public builds, and this build updates from its private repository
(updates.rs, settings/updates.ts, the tray item).

The approval guard now also covers PreToolUse, which upstream reshaped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Ohualtex

Copy link
Copy Markdown
Contributor Author

Integrated into main through #821, with attribution preserved. Closing this PR because a separate merge is no longer needed. Thank you!

@Ohualtex Ohualtex closed this Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add German (de) localization

1 participant