What
Add French language support. Currently the app supports English and German.
Why
French is widely spoken and France has a large developer community. The AZERTY layout is also unique and interesting for a typing trainer.
How
- Open
src/core/i18n.ts
- The existing
en and de translation objects show the pattern
- Add a new
fr: Translations object with French translations
- Update the
Language type: type Language = 'en' | 'de' | 'fr'
- Add French to the language picker in settings
- You don't need to translate exercise content — just the UI strings
Tip
There are ~100 translation keys. Focus on getting the structure right, and we can refine translations in follow-up PRs.
What
Add French language support. Currently the app supports English and German.
Why
French is widely spoken and France has a large developer community. The AZERTY layout is also unique and interesting for a typing trainer.
How
src/core/i18n.tsenanddetranslation objects show the patternfr: Translationsobject with French translationsLanguagetype:type Language = 'en' | 'de' | 'fr'Tip
There are ~100 translation keys. Focus on getting the structure right, and we can refine translations in follow-up PRs.