Nyura Speaks Your Language: 6100+ Translations Across 7 Languages
In a single sprint, we eliminated 300+ hardcoded language checks across 96 components, added 450+ translation keys, and made Nyura truly multilingual.
The Problem: French-First, Everyone Else Second
When Nyura started, it was built primarily for a French-speaking audience. Over time, we added support for English, German, Spanish, Malay, Hindi, and Chinese — but the original code still had hundreds of shortcuts. Instead of using our translation system properly, many components would check: if the language is French, show this text, otherwise show English.
This worked fine for two languages, but it created real problems for everyone else. German users would see English text instead of German. Spanish speakers got the English fallback everywhere. The app technically supported 7 languages, but in practice, it only truly worked in French and English.
We had over 370 of these hardcoded language checks scattered across the entire codebase. Every new feature risked adding more. It was time for a comprehensive cleanup.
The Solution: A Massive i18n Sprint
Over the course of v4.47, we systematically attacked every hardcoded language check. The numbers tell the story:
- 96 component files updated
- 300+ hardcoded checks eliminated
- 450+ new translation keys created
- All keys translated into all 7 languages
- Total translation keys grew to 6,100+
Every component now uses our proper translation function. German users see German. Hindi users see Hindi. No more English fallbacks for non-French speakers.
The process involved refactoring text labels, error messages, notification texts, travel alerts, configuration objects with bilingual labels, and even AI prompt language directives.
Quality Gates: Zero Regressions Guaranteed
Making 450+ changes across 96 files without breaking anything requires serious quality infrastructure. Here is what kept us safe:
- Automated QA ratchet test that verifies every translation key used in code exists in our English translation file — if even one key is missing, the build fails
- 1,567 unit tests that all passed throughout the migration
- 91 end-to-end tests that verified every page loads without JavaScript errors
- TypeScript strict mode catching type mismatches instantly
- Bidirectional sync between our translation file mirrors ensuring no locale drifts
The result? 1,567 unit tests passing. 91 E2E tests green. Zero TypeScript errors. Zero missing translation keys. Zero regressions.
What This Means for You
If you use Nyura in any language other than French or English, you will immediately notice the difference. Buttons, labels, error messages, notifications, travel alerts — everything now speaks your language properly.
And for French and English users? Everything works exactly as before, just with a much more solid foundation. Future features will automatically support all 7 languages from day one.
Nyura now has 6,100+ translation keys — and every single one exists in all 7 languages. That is our commitment to making Nyura feel native no matter where you are.