Console localization & product-surface language
Diátaxis quadrant: Reference. Audience: non-Korean (or non-English) operators evaluating the humanymous Gate product surface and its language.
humanymous Gate (“Gate” after first mention) ships an English product surface. This page states, factually, which surfaces are English, what is Korean but not user-facing, and what localization is and is not shipped in the reference implementation. It is a reference implementation, not a production-hardened build, and localization is one of the areas a production deployment must supply for itself.
For the docs’ own language convention, see the documentation style guide (the docs are English-primary). For the documentation set overview, see the README.
What the surface language is
Every user-facing surface in the reference build is English:
| Surface | Language | Notes |
|---|---|---|
| Ledger UI | English | The single-page app declares <html lang="en">. |
| Admin API messages | English | Responses and error strings from the /__hmn/admin API. |
| Server log lines | English | Log messages emitted by the running node. |
| CSV export | English | The Overview “Export CSV” button downloads audit-feed.csv (text/csv); its column headers are English. |
| Reference challenge page | English | The interstitial an unverified visitor sees. |
| Reference help pages | English | Including “Why am I seeing this?”. |
An end user who is challenged, and an operator who opens the Ledger, both read English in the reference build.
The internal specifications are Korean, but are not the surface
The internal specification documents that describe how Gate is built are written in Korean. They are for developers of the reference implementation only. They are not part of the user-facing product surface — no operator or end user encounters them at runtime, and they are not shipped as product strings. Do not treat the existence of Korean internal specs as evidence that any runtime surface is Korean; it is not.
Localization is not shipped — it is a prod-delta
Localization of the product surface into Korean or any other language is not shipped in the reference. This includes:
- The Ledger UI.
- Admin API and error strings.
- CSV export column headers (
audit-feed.csv). - The end-user challenge page.
- The end-user “Why am I seeing this?” help page.
Adding any of these in another language is a prod-delta — a production responsibility for the operator, not a feature of the reference build. The reference does not define a message catalog, locale-negotiation, or string-externalization mechanism.
Confirmed in source: No i18n or string-externalization mechanism exists in the reference. There is no message catalog, no locale files, and no
Accept-Languagelocale negotiation for product strings — every surface string is inline and English-only (the Ledger UI is served from a singleconsole.htmlwith a hardcodedlang="en", and the challenge interstitial is emitted with a hardcodedlang="en").Accept-Languageis read only as a fingerprinting/forwarding input, never to select a language. Localization is unimplemented; adding it is a prod-delta.
If you serve non-English visitors, localize the visitor-facing pages first
Two surfaces are read by real end users rather than by your operators, and they are the priority to localize if your audience is not English-reading:
- The challenge page an unverified visitor is shown. See Challenge accessibility for what that page is and its accessibility posture (the reference ships a minimal interstitial; a full self-hosted, accessible challenge UI is itself a prod-delta).
- The “Why am I seeing this?” explanation page. See why-am-i-seeing-this.
These pages face people who may have been challenged or blocked, so their language and clarity matter most to a non-English audience. The Ledger, admin API, and log lines face your own operators and can stay English or be localized later, at your discretion.
Note: When you localize the challenge or help pages, keep them free of internal signal identifiers (hard-rule IDs, layer references, fingerprint terms). Those never belong in an end-user string in any language. The documentation style guide states this rule for the English surface; it applies equally to any translation.
Related pages
- Documentation style guide — the docs are English-primary; terminology and end-user-string rules.
- README — the documentation set overview.
- Challenge accessibility — the visitor-facing challenge page.
- Why am I seeing this? — the visitor-facing explanation page.