Skip to content

PR-i18n-2b: DE translations for 183/183 catalog keys + test fixes#21

Merged
MrChengLen merged 1 commit into
mainfrom
pr-i18n-2b-de-translations
May 8, 2026
Merged

PR-i18n-2b: DE translations for 183/183 catalog keys + test fixes#21
MrChengLen merged 1 commit into
mainfrom
pr-i18n-2b-de-translations

Conversation

@MrChengLen
Copy link
Copy Markdown
Owner

The DE locale catalog landed empty in PR-i18n-2a (mechanical wrap only). Production at filemorph.io/de/ rendered English everywhere because gettext falls back to msgid when msgstr is empty.

This PR translates all 183 keys to German with a technical, terse tone matching the existing DE templates (impressum, original-DE enterprise) and the CLAUDE.md "Technology First" motto — no marketing-speak, direct addressing (du-form), German number formatting (10.000 not 10,000; 0,05 not 0.05), German tech-term conventions (Konvertieren, Komprimieren, Tarife, Preise, Datenschutzerklärung, Nutzungsbedingungen).

Brand names stay English (FileMorph, Pro, Business, Enterprise, Compliance Edition, GitHub, Stripe). Format/extension lists (HEIC, JPG, MP4 etc.) stay verbatim. Boilerplate that's a brand feature stays untranslated (GitHub Security Advisories, Safe-Harbour, AGPLv3 Open Source).

Test fixes — 6 tests asserted English-only strings on the unprefixed default route, which now renders DE. Updated to hit /en/ explicitly when the assertion checks an English copy marker:

  • test_verify_email_page_renders → /en/verify-email
  • test_each_tier_lists_quota_concurrent_and_rate (pricing_html fixture) → /en/pricing (DE uses 10.000/100.000 + "gleichzeitig")
  • test_public_legal_page_reachable[/security-...] → /en/security (DE renders "Eine Sicherheitslücke melden")
  • test_pricing_renders_coming_soon_when_stripe_disabled → /en/pricing (DE renders "demnächst verfügbar")

462 passed, 12 skipped, 0 failed.

The DE locale catalog landed empty in PR-i18n-2a (mechanical wrap
only). Production at filemorph.io/de/ rendered English everywhere
because gettext falls back to msgid when msgstr is empty.

This PR translates all 183 keys to German with a technical, terse
tone matching the existing DE templates (impressum, original-DE
enterprise) and the CLAUDE.md "Technology First" motto — no
marketing-speak, direct addressing (du-form), German number
formatting (10.000 not 10,000; 0,05 not 0.05), German tech-term
conventions (Konvertieren, Komprimieren, Tarife, Preise,
Datenschutzerklärung, Nutzungsbedingungen).

Brand names stay English (FileMorph, Pro, Business, Enterprise,
Compliance Edition, GitHub, Stripe). Format/extension lists
(HEIC, JPG, MP4 etc.) stay verbatim. Boilerplate that's a brand
feature stays untranslated (GitHub Security Advisories,
Safe-Harbour, AGPLv3 Open Source).

Test fixes — 6 tests asserted English-only strings on the
unprefixed default route, which now renders DE. Updated to hit
/en/<path> explicitly when the assertion checks an English copy
marker:

- test_verify_email_page_renders → /en/verify-email
- test_each_tier_lists_quota_concurrent_and_rate (pricing_html
  fixture) → /en/pricing  (DE uses 10.000/100.000 + "gleichzeitig")
- test_public_legal_page_reachable[/security-...] → /en/security
  (DE renders "Eine Sicherheitslücke melden")
- test_pricing_renders_coming_soon_when_stripe_disabled → /en/pricing
  (DE renders "demnächst verfügbar")

462 passed, 12 skipped, 0 failed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@MrChengLen MrChengLen merged commit 11730bb into main May 8, 2026
4 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.

1 participant