Skip to content

feat: Complete internationalization with 14 language translations#71

Merged
dannymcc merged 1 commit intomainfrom
dev
Feb 17, 2026
Merged

feat: Complete internationalization with 14 language translations#71
dannymcc merged 1 commit intomainfrom
dev

Conversation

@dannymcc
Copy link
Owner

Summary

  • Wrapped all 172 flash messages across 12 route handlers with gettext _() for translation support
  • Extracted 606 translatable strings from Python routes and Jinja2 templates using pybabel
  • Added complete translations for all 14 supported languages:
    • European: German (de), Spanish (es), French (fr), Italian (it), Portuguese (pt), Dutch (nl), Polish (pl)
    • Nordic: Swedish (sv), Danish (da), Norwegian (no), Finnish (fi)
    • East Asian: Japanese (ja), Chinese (zh), Korean (ko)
  • Updated babel.cfg for modern Jinja2 compatibility (removed deprecated extensions)
  • Bumped version to 0.12.0
  • Added supported languages documentation and translation contribution guide to README

Closes #70

Test plan

  • Verify app starts without errors
  • Switch language in Settings > Units & Values > Language
  • Confirm UI strings update to selected language
  • Test German translation specifically (requested in Translation - German #70)
  • Verify flash messages display in selected language
  • Check that format placeholders (vehicle names, usernames) render correctly in translations

Wrap all flash messages across 12 route handlers with gettext _()
for translation support. Extract 606 translatable strings from both
Python routes and Jinja2 templates using pybabel.

Add complete translations for all 14 supported languages:
- German (de), Spanish (es), French (fr), Italian (it)
- Portuguese (pt), Dutch (nl), Polish (pl)
- Swedish (sv), Danish (da), Norwegian (no), Finnish (fi)
- Japanese (ja), Chinese (zh), Korean (ko)

Update babel.cfg for modern Jinja2 compatibility, bump version to
0.12.0, and add supported languages documentation to README.

Closes #70
@dannymcc dannymcc merged commit 84335b6 into main Feb 17, 2026
1 check 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.

Translation - German

1 participant