Skip to content

Add German localization#1

Open
OrienteeringIsFun wants to merge 1 commit into
Jon-Salmon:mainfrom
OrienteeringIsFun:add-german-localization
Open

Add German localization#1
OrienteeringIsFun wants to merge 1 commit into
Jon-Salmon:mainfrom
OrienteeringIsFun:add-german-localization

Conversation

@OrienteeringIsFun

@OrienteeringIsFun OrienteeringIsFun commented Jul 7, 2026

Copy link
Copy Markdown

Summary

  • Adds German (de) as a fully supported language alongside English, via flutter_localizations/intl, with a language toggle in Settings that defaults to the device locale.
  • Translates all UI strings (menus, settings, how-to-play, win screen, in-game HUD).
  • Translates all 23 charades category word lists into German (assets/words/de/*.txt, mirroring assets/words/*.txt), using official German titles/names where they exist and keeping proper nouns (brands, song titles, actor names) as-is since that's what German speakers use for those too.
  • Refactors GameCategory to separate a stable English id (used for routing, e.g. /play/session/:category) from a localized display name, since the category name previously doubled as the routing key.

Test plan

  • flutter pub get resolves cleanly
  • flutter build apk --debug builds successfully
  • Manually verify the language toggle switches word lists and UI text between English and German on a device
  • Spot-check a few category word lists for translation quality (some are large, ~1900 lines total across all categories)

Adds full German (de) support alongside English: a language toggle in
Settings, localized UI strings via flutter_localizations/intl, and
German translations of all 23 charades word-list categories.

- Category names now separate a stable English id (used for routing)
  from a localized display name, since category name previously
  doubled as a routing key.
- Word lists are selected by locale (assets/words/de/*.txt mirrors
  assets/words/*.txt).
- Language defaults to the device locale (German if supported,
  otherwise English) and is persisted once the player picks one.
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