Skip to content

[FEATURE]: Restore Console localization (new Console is English-only; v1 Console shipped 18 locales) #50299

Open

Description

@zcwvwdz

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

TL;DR: the new Console at https://opencode.ai/console/ is English-only, while the Console app in this repo (packages/console/app/src/i18n/*, including zh.ts / zht.ts, 750 keys, last touched 2026-09-18) ships full localization. It looks like localization was dropped during the Console rewrite / v2 migration.

What I observe (no account needed to check):

  1. curl -H "Accept-Language: zh-CN" https://opencode.ai/console/ returns <html lang="en">. Sending the oc_locale=zh cookie makes no difference either — the locale is ignored.
  2. The Console bundle (/console/assets/index-*.js, ~590 KB) and 16 sampled lazy chunks contain zero CJK characters and no i18n/locale code at all (no oc_locale, no language picker).
  3. For comparison, https://opencode.ai/docs/ does localize: Accept-Language: zh-CN returns <html lang="zh-CN">. So browser language detection works elsewhere; the Console is the one place that ignores it. (The docs also no longer expose the visible language picker the older site had.)
  4. Some strings on the Console page (e.g. "One-time credits", "Manage privacy") don't exist anywhere in this repo, which suggests the new Console is built from a separate codebase.

Request:

  • Bring back locale handling for the new Console: browser language detection + the oc_locale cookie + a language picker.
  • Reuse the translation keys that already exist in this repo (packages/console/app/src/i18n/) so nothing has to be retranslated from scratch.

Context on when this appeared: the v2 rollout — Console URL change (~2026-08-20, "Updated the default Console URL used by account connection flows"), workspace migration (2026-09-16/17), install links switched to v2 (2026-09-19). Users whose browser is not English (e.g. zh users who had a Chinese Console before) now get an English-only Console.

Activity

  1. SeaCat666 commented on Sep 24, 2026

    @SeaCat666

    Additional confirmation as of 2026-09-24, with a couple of pointers that may help:

    Still reproducible on today's deployment. The live Console now serves /console/assets/index-DYyBjoBx.js (593,460 bytes; it was index-AYRBkg4c.js when I first checked on 2026-09-17 — so new deployments are going out). The new bundle still has:

    • 0 CJK characters (raw or \uXXXX-escaped) — in the main bundle and in 10 sampled lazy chunks (40 are referenced).
    • No oc_locale / x-opencode-locale — the cookie/header used by v1's packages/console/app/src/lib/language.ts.
    • Only an English-only translator stub: the dictionary is hardcoded to locale: () => "en".
    • It's minified, while the repo's current packages/console/app/vite.config.ts sets minify: false — i.e. the deployed artifact is not built from the current repo config.

    Separate-codebase evidence: I sampled 244 distinctive strings from packages/console/app/src/i18n/en.ts (e.g. "Create New Workspace", "Get started for free") — none of them appear in the deployed main bundle. This matches the observation above that the new Console is served from a different codebase/build.

    Reuse is possible: packages/console/app/src/i18n/ still ships all 18 locales (en, zh, zht, ko, de, es, fr, it, da, ja, pl, ru, uk, ar, no, br, th, tr) via static imports in i18n/index.ts, and lib/language.ts still defines LOCALES, the oc_locale cookie and the x-opencode-locale header. zh.ts alone has ~750 keys, so wiring the new Console to these dictionaries would restore most of the v1 coverage without retranslating.

    Related open work: PRs #50550 and #50204 ("complete Chinese copy in console and stats" / "complete current V2 translation coverage"), plus #50553 and #50554 — might be worth coordinating so the translations land in one place.

  2. opencodejr commented on Oct 28, 2026

    @opencodejr
    Contributor

    Thanks for the detailed write-up, @zcwvwdz! To restate the request: the new Console at opencode.ai/console should support localization again. That means detecting the browser language, honouring the oc_locale cookie and offering a language picker, ideally reusing the existing translations in packages/console/app/src/i18n/ so nothing needs to be retranslated.

    The existing Console app in this repo does still ship those 18 locales and the oc_locale handling, while the strings you saw on the new Console page aren't in this repo. That fits your observation that it's built separately. I've passed this on as a feature request so maintainers can consider it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions