Skip to content

feat: add German, French and Russian translations - #151

Merged
lippdev merged 5 commits into
mainfrom
feat/german-translation
Oct 18, 2026
Merged

lippdev merged 5 commits into
mainfrom
feat/german-translation

Conversation

@lippdev

@lippdev lippdev commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

What

  • German (de-DE): full catalog contributed by a Reddit user (377 keys, placeholders checked against en-US).
  • French (fr-FR) and Russian (ru-RU): new catalogs, machine-translated and not yet reviewed by native speakers. French uses "vous", Russian "вы".
  • All three are in the language picker ("Deutsch", "Français", "Русский") and are matched from any regional Windows variant (de-AT, fr-CA, ru-KZ…).
  • Installer: the three languages are in the language dialog (Inno's official German.isl, French.isl, Russian.isl), with translated custom messages and the registry value the app reads on first run. ConsoleMode.iss now has a UTF-8 BOM so Inno reads the Cyrillic text correctly.
  • Tests: the "unknown language → English" examples moved from de-DE/fr-FR to ja-JP. New cases cover de-CH, fr-CA and ru-KZ.
  • README (both), changelog (both) and manual checks in docs/TESTING.md.

Closes #14.

Testing

  • dotnet test tests/ConsoleMode.Tests/ConsoleMode.Tests.csproj: 411 passed.
  • dotnet build src/ConsoleMode (x64, Debug) on Windows: 0 errors.
  • Ran the app in de/fr/ru: desktop Home and Settings, console Home, Session and System tabs. Nothing overflows. Known limit: on the console Session tab, the quick-setting tiles truncate the long "Resolution and refresh rate" and "Variable refresh rate (VRR)" captions with an ellipsis in fr/ru. Spanish already did this before, so it's a layout follow-up, not part of this PR.
  • Compiled the installer with ISCC and opened it in Russian: the custom messages render correctly.

🤖 Generated with Claude Code

lippdev and others added 3 commits October 17, 2026 21:13
Community translation of every UI string (377 keys, placeholders checked
against en-US). The language picker lists Deutsch, Windows in any German
region opens the app in German, and the installer offers it too.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
New fr-FR and ru-RU catalogs (377 keys, placeholders checked against
en-US), listed in the language picker, matched from any French or
Russian Windows region, and offered by the installer. The installer
script gets a UTF-8 BOM so Inno Setup reads the Cyrillic messages
correctly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes: Reviewed the new German, French, and Russian localization catalogs and their integration into language selection, installer setup, tests, and user-facing documentation.

  • Catalogs and language resolution: Added three complete catalogs and maps regional Windows language variants to the matching catalog while preserving English fallback.
  • Installer integration: Added language-dialog options, translated custom messages, and registry values used by the app on first run; encoded the script as UTF-8 for Cyrillic text.
  • Validation and documentation: Added catalog resources and tests for regional matching, key parity, and placeholders, plus README, changelog, and manual-checklist updates.

Pullfrog  | View workflow run | Using gpt-6-luna | 𝕏

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes: Reviewed the delta since the prior Pullfrog review: the minimize-to-tray strings in the new language catalogs and the changelog context merged from main.

  • Translated minimize-to-tray setting: Added the card title and description in German, French, and Russian, matching the English setting's behavior.
  • Changelog context: Brought the upstream system-tray release note into both changelogs alongside the translation entry.

Pullfrog  | View workflow run | Using gpt-6-luna | 𝕏

@lippdev
lippdev merged commit 94cd580 into main Oct 18, 2026
5 checks passed
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 more interface languages

1 participant