CroCruise — Internationalization Upgrade
Implemented i18n support for a web application, enabling Croatian and English languages across UI, routing, and content structure.
Role: Frontend Developer
Year: 2024
Next.jsTypeScripti18n

Problem
Product needed to support multiple languages (Croatian and English) to serve a wider audience and improve UX for international users.
Constraints
- • Consistent translations across all screens
- • Language persistence and predictable switching
- • Scalable translation structure for future languages
Solution
Implemented a structured translation system and language switching logic, ensuring consistent localized UI text and language-aware content patterns.
Key Features
Language Toggle
Switch between Croatian and English seamlessly.
Scalable Keys
Structured translation keys for maintainability.
Persistence
Remember selected language across sessions.
Tech Decisions
Structured Translation Keys
Used nested keys to keep translations predictable and easy to expand.
Persisted Language Choice
Stored language selection to improve UX and reduce friction for returning users.
Performance & Metrics
Consistent bilingual experience
UX
Scalable translation structure
Maintainability
Predictable language switching
Stability
Lessons Learned
- • i18n is easiest when planned early, but still achievable later with structure
- • Translation key hygiene prevents long-term maintenance pain
- • Language persistence noticeably improves product polish