#19881: feat(i18n): add Japanese (ja) locale for Control UI [AI-assisted]
app: web-ui
size: S
Cluster:
Internationalization Enhancements
# feat(i18n): add Japanese (ja) locale for Control UI
Closes #3460 (partially — adds Japanese to the tracked language list)
## Summary
- Adds Japanese (`ja`) locale file: `ui/src/i18n/locales/ja.ts`
- Adds `"ja"` to the `Locale` type in `ui/src/i18n/lib/types.ts`
- Adds `"ja"` to `SUPPORTED_LOCALES` and lazy-load in `ui/src/i18n/lib/translate.ts`, including auto-detection for `navigator.language` starting with `"ja"`
- Adds `"ja"` option to the Language dropdown in `ui/src/ui/views/overview.ts`
- Adds `languages.ja` label in `ui/src/i18n/locales/en.ts`
<img width="1512" height="709" alt="image" src="https://github.com/user-attachments/assets/90197267-b638-4817-91ad-aae7f0834d19" />
## Translation notes
All strings in the Control UI are translated. Key decisions made:
- **Technical terms are kept in English** rather than katakana, for readability and consistency with how Japanese developers encounter these terms (e.g. `Gateway`, `Token`, `Snapshot`, `Agent`, `Skill`, `Status`, `Session Key`, `Presence Beacon`)
- **Sentence-ending `。`** is preserved on full sentences, consistent with the `zh-CN` locale
- Short UI labels and subtitles do not use trailing punctuation where it feels unnatural
## Test plan
- [x] `pnpm build` passes
- [x] `pnpm check` passes (format + type check + lint)
- [x] `pnpm test` passes (702 test files / 5900 tests)
- [x] Manually verified Japanese locale appears in the Language dropdown (Overview → Gateway Access → Language)
- [ ] Full visual review of all translated strings in a running UI instance
## AI-assisted
This PR was developed with Claude Code (claude-sonnet-4-6). Translation decisions and wording were reviewed and adjusted by the author.
> **Note:** This PR adds a UI locale file only — no documentation translation is included.
> VISION.md defers full-doc translation sets in favour of an AI-generated pipeline; this PR does not touch `docs/` and is consistent with that policy.
Most Similar PRs
#22570: feat(i18n): add Korean (ko) locale to Control UI
by hoonsikim · 2026-02-21
73.6%
#13622: feat(i18n): add complete multi-language support (EN, TR, FR, DE)
by vaur94 · 2026-02-10
73.5%
#8544: feat(i18n): add Japanese translation support with glossary and lang...
by dai · 2026-02-04
72.4%
#20198: docs: add Japanese localization for start section (AI-assisted)
by Gazelle221B · 2026-02-18
70.9%
#21617: feat(i18n): added korean locale
by Jaejuna · 2026-02-20
70.2%
#19689: feat(i18n): added Filipino (fil) locale
by warengonzaga · 2026-02-18
70.0%
#10657: feat(ui): add i18n support with English, Chinese, and Portuguese
by SalimBinYousuf1 · 2026-02-06
69.7%
#22332: i18n: add Korean (ko-KR) locale support
by arusia88 · 2026-02-21
68.8%
#10586: feat: Add Chinese (zh-CN) localization support
by Maxsong-0 · 2026-02-06
67.7%
#23813: Fix UI locale persistence
by kamal-ayman · 2026-02-22
67.7%