Conversation
Verified mechanically rather than by sampling: extracted every leaf key from this PR's One forward-looking note:
|
2026-08-26 current-main parity checkI rechecked this Indonesian CLI/Desktop lane against current upstream The original 354/354 parity evidence is no longer sufficient for the current tree:
Recommendation: synchronize/rebase this branch to current |
a2b087e to
1f1ca42
Compare
2026-08-29 current-main recheckCurrent upstream The latest upstream segment since Recommendation remains: rebase/synchronize this contributor-owned branch onto current |
2026-08-30 current-main parity updateCurrent upstream Exact comparison against current upstream is now 1 commit ahead / 248 commits behind, with merge base The original Exact-head workflows on
Recommended maintainer-safe path remains: synchronize/rebase this contributor-owned branch onto current python -m pytest tests/agent/test_i18n.py -q
# mechanical en/id key + placeholder parity check
cd apps/desktop
npm run typecheck
npx vitest run src/i18n/languages.test.tsI am not modifying the contributor-owned branch, and no no-op CI retrigger is warranted. |
2026-08-30 current-main parity updateFresh re-check against upstream This PR remains at head Recommended repair remains narrowly scoped: synchronize with current python -m pytest tests/agent/test_i18n.py -q
cd apps/desktop
npm run typecheck
npx vitest run src/i18n/languages.test.tsNo merge requested. |
b94bf69 to
7b71064
Compare
7b71064 to
a838bec
Compare
a838bec to
9c1f689
Compare
What does this PR do?
Adds an Indonesian (
id) locale for the Hermes Desktop UI (Electron app).Implemented as a partial locale via
defineLocale(): uncovered strings fallback to English gracefully, while the
Translationstype contract keeps everykey type-checked.
This is an i18n-only change. No agent logic, tools, or unrelated files are
touched.
Translation approach:
imperatives, no bureaucratic phrasing).
actually say: session, token, model, provider, branch, checkpoint, rollback,
context, etc.
coverage will grow in follow-up PRs.
Scope note
The CLI/gateway catalog (
locales/id.yaml+agent/i18n.pyregistration) isintentionally out of scope here and will be proposed in a separate
follow-up PR. This PR registers
idonly in the Desktop locale system.Changes Made
apps/desktop/src/i18n/id.ts— new Desktop UI catalog (Indonesian, partial viadefineLocale)apps/desktop/src/i18n/languages.ts—LOCALE_OPTIONS/LOCALE_META/LOCALE_ALIASESentries forid(aliases:indonesian,bahasa,bahasa-indonesia,id-id)apps/desktop/src/i18n/catalog.ts— import and re-exportidapps/desktop/src/i18n/types.ts— add'id'to theLocaleunionapps/desktop/src/i18n/languages.test.ts— registration assertions foridHow to Test
Then switch language to Bahasa Indonesia in Settings → Language and verify UI
strings render in Indonesian, with English fallback for uncovered keys.
Checklist
feat(i18n): add Indonesian (id) locale for Desktop UInpm run typecheckpassesnpx vitest run src/i18n/languages.test.tspasses (4 tests)