Context
AgenticPay serves a global user base. A single-language interface excludes non-English speakers and creates adoption barriers in key markets.
Current Limitation/Problem
The frontend is English-only with no internationalization framework. Adding translations requires significant refactoring. Right-to-left (RTL) languages like Arabic and Hebrew are not supported.
Expected Outcome
A complete i18n framework with next-intl, automated translation pipeline, RTL layout support, and locale detection. Initial translations for top 5 languages.
Acceptance Criteria
- Integrate next-intl for route-based localization
- Support language switching without page reload
- Auto-detect browser locale on first visit
- RTL layout support with mirrored UI components
- Translation files for: English, Spanish, French, Japanese, Arabic
- ICU message format with pluralization and interpolation
- Extract all hardcoded strings to translation keys
- Translation management dashboard (for missing keys)
- Locale-aware date, time, number, and currency formatting
- SEO: hreflang tags and localized sitemaps
Technical Scope
frontend/src/i18n/ - i18n configuration and locales
frontend/messages/{en,es,fr,ja,ar}.json - translation files
- next-intl integration with App Router
- RTL CSS with logical properties
frontend/src/components/common/locale-switcher.tsx - language selector
- Automated translation via DeepL API in CI
- Edge cases: missing translations fallback, mixed content, dynamic content
Context
AgenticPay serves a global user base. A single-language interface excludes non-English speakers and creates adoption barriers in key markets.
Current Limitation/Problem
The frontend is English-only with no internationalization framework. Adding translations requires significant refactoring. Right-to-left (RTL) languages like Arabic and Hebrew are not supported.
Expected Outcome
A complete i18n framework with next-intl, automated translation pipeline, RTL layout support, and locale detection. Initial translations for top 5 languages.
Acceptance Criteria
Technical Scope
frontend/src/i18n/- i18n configuration and localesfrontend/messages/{en,es,fr,ja,ar}.json- translation filesfrontend/src/components/common/locale-switcher.tsx- language selector