i18n is disabled by default, preventing bundled translations from loading for all locales

Open 💬 3 comments Opened May 27, 2026 by Saber-CC

What version of the Codex App are you using (From “About Codex” dialog)?

26.519.81530 (3178)

What subscription do you have?

Plus

What platform is your computer?

Darwin 24.6.0 arm64 arm

What issue are you seeing?

Codex Desktop ships bundled translations and locale files for multiple locales, but the UI stays in English because i18n is gated behind the enable_i18n Statsig flag and its local fallback defaults to false.

This affects all bundled non-English locales, not only zh-CN. Even when the system locale is a supported locale, or localeOverride is set, the translated UI does not load unless the remote Statsig config explicitly enables enable_i18n.

I verified this locally by inspecting the packaged app. The i18n provider in the webview bundle reads the flag with a false fallback:

get(`enable_i18n`, false)

Changing only that fallback to true allows bundled translations to load.

What steps can reproduce the bug?

1. Install Codex Desktop version 26.519.81530 (3178).
2. Use a supported bundled non-English locale, for example:
   - Set macOS system language/region to zh-CN, ja-JP, fr-FR, de-DE, etc.
   - Or set Codex `localeOverride` to a supported locale such as `zh-CN`.
   - Or launch with `ELECTRON_LOCALE_OVERRIDE=zh-CN`.
3. Restart Codex Desktop.
4. Observe that the UI remains English.

This is not tied to a specific conversation/session. It happens before any Codex session is needed.

What is the expected behavior?

When the system locale or localeOverride is set to a supported bundled locale, Codex Desktop should load that locale's translated UI by default.

Since the locale files are already bundled with the desktop app, users should not need a remote Statsig flag to be enabled before translations can appear.

Additional information

This bug has existed for a long time. I noticed that no one has attempted to fix this vulnerability yet, and this vulnerability has occurred multiple times in the issue section. I would like to submit a pull request to fix this issue.

I wrote a Python script to patch the local app.asar file, and then I was able to switch languages correctly.

https://gist.github.com/Saber-CC/9c990d06f6a4c485de10851586cad818

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗