Skip to content

i18n: add German translation and locale detection - #541

Merged
KnifeLemon merged 4 commits into
KnifeLemon:mainfrom
deinzooshop:contribution/german-translation
Oct 25, 2026
Merged

KnifeLemon merged 4 commits into
KnifeLemon:mainfrom
deinzooshop:contribution/german-translation

Conversation

@deinzooshop

Copy link
Copy Markdown
Contributor

What does this change?

Adds German (Deutsch) with all 1,106 current UI strings, including installer texts. German is available in the language picker and selected automatically for de and de-* system cultures, including Germany, Austria and Switzerland.

Type of change

  • Translation

How was it tested?

  • dotnet format Filee.slnx --verify-no-changes --no-restore --severity warn
  • Localization and resource-switching tests: 93 passed.
  • German page renders: all 9 passed; screenshots visually checked at 1080 × 820.
  • Complete Filee.Setup.Tests project: 160 passed.
  • Full dotnet test Filee.slnx -c Release --no-restore is green.

The full suite was attempted on Windows and stopped after 13 engine-test failures and a LibreOffice export-cancellation timeout in an unchanged App integration test. The failures include OFD conversion, CAD-to-SVG XML, and LibreOffice formatting/repacking. Engine tests do not reference the changed App/Setup localization code. These failures have not been reproduced on an unmodified baseline. One initial Setup path check failed with FILEE_DATA_DIR overridden; the full Setup project passed after removing that override.

Checklist

  • German has exactly the English keys and preserves format placeholders; no new UI keys were introduced.
  • No new third-party code, fonts or binaries.
  • The PR does one thing.

Screenshots

The German Home and General pages are rendered from this branch.

Start-Deutsch Allgemein-Deutsch

@github-actions github-actions Bot added the translation UI translations and language support label Oct 24, 2026

@KnifeLemon KnifeLemon left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks @deinzooshop, and welcome! A complete German catalog with the installer texts and automatic selection for de-* is great. Main moved since you started (European Portuguese and new strings), so this now conflicts and German is missing the newest keys. I'll merge main into your branch and translate those keys myself, so there's nothing for you to do. The engine-test failures you saw locally don't come from this change. German goes into the next release, and onto filee.sh too.

KnifeLemon and others added 3 commits October 25, 2026 15:14
Main added European Portuguese (pt-PT) meanwhile. Both languages stay:
German is matched before the shared Portuguese policy in
LocalizationService.Resolve, and the Setup /LANG list names pt-PT and de.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- de.json gets the 23 keys main added since the PR started (built-in
  engine names and compact donut labels) and follows en.json's order.
- de.lproj: Finder service title and permission explanations, listed in
  CFBundleLocalizations.
- The READMEs list Deutsch among the UI languages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pt-PT test used de-DE as an OS language Filee doesn't ship, which now
selects German.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@KnifeLemon
KnifeLemon merged commit b921fd6 into KnifeLemon:main Oct 25, 2026
10 checks passed
cre8ive-marketing added a commit to cre8ive-marketing/Filee that referenced this pull request Oct 25, 2026
cre8ive-marketing added a commit to cre8ive-marketing/Filee that referenced this pull request Oct 25, 2026
cre8ive-marketing added a commit to cre8ive-marketing/Filee that referenced this pull request Oct 25, 2026
…cimal MB

From the review of KnifeLemon#567:
- The queue checks every result against the preset's limit after the last step, and after a join, and refuses one that's over (HEIC, CAD and 3D renders, animations, pages, Remove metadata). The video field is hidden for joins, slideshows, VOB and DV.
- Video: one encode, its bitrate capped (-maxrate / -bufsize) at what the length allows next to the CRF. The video is never copied as-is with a limit, and a second encode at a lower bitrate runs only if the first missed, on the last tenth of the progress bar. When nothing fits, it's refused before anything is encoded.
- MB is 1,000,000 bytes (SizeLimit.Bytes), in the error detail too.
- Pictures stop shrinking at a long edge of 640 px (or their own) and are refused there, never made a thumbnail.
- The New menu is filled from PlacePresets; the "email 20" comment says 18. German strings for the new keys (KnifeLemon#541).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

translation UI translations and language support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants