← Back to PRs

#19881: feat(i18n): add Japanese (ja) locale for Control UI [AI-assisted]

by habakan open 2026-02-18 08:10 View on GitHub →
app: web-ui size: S
# 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