Skip to content

Feature Request: Add internationalization (i18n) support for multi-language users #3466

@hoteye

Description

@hoteye

What feature would you like to see?

Background

Codex CLI currently only supports English text throughout the user interface, error messages, and documentation. While there is basic locale-aware number formatting using ICU libraries, there's no comprehensive internationalization system for text content.

Current State Analysis

After analyzing the Codex CLI codebase, I found:

Existing locale support:

  • Basic number formatting with ICU libraries (icu_decimal, icu_locale_core, sys-locale) in codex-rs/protocol/src/num_format.rs

Missing i18n infrastructure:

  • ~926 hardcoded English strings across the codebase
  • No translation framework or resource files
  • No string extraction/management system
  • User-facing text in CLI, TUI, and error messages all in English only

Proposed Enhancement

Implement comprehensive internationalization to make Codex CLI accessible to non-English speaking developers worldwide.

Benefits

  • Global accessibility: Enable developers from different language backgrounds to use Codex effectively
  • Market expansion: Broader adoption in international developer communities
  • Better user experience: Improved usability for global teams and organizations
  • Issue resolution: Would address existing character encoding problems like Turkish character issue #3077 (Turkish character support)

Target Languages (Initial)

  • English (en-US) - baseline
  • Chinese Simplified (zh-CN) - large developer community
  • Spanish (es-ES) - growing market
  • Japanese (ja-JP) - active developer base

Are you interested in implementing this feature?

Yes, I'm ready to contribute this feature implementation. I have proven experience with CLI internationalization:

My relevant contributions:

What I can deliver:

  • Complete technical design document with framework selection rationale
  • Migration plan for existing hardcoded strings
  • Full implementation of i18n infrastructure
  • Initial translations for core languages
  • Developer documentation for future translators
  • Automated tooling for translation management

My expertise:

  • Deep understanding of Rust i18n patterns
  • Experience with translation workflows and community management
  • Full-cycle development from infrastructure to deployment

Please wait for acknowledgement before implementing or opening a PR.

Additional information

Technical Implementation Plan

Based on successful patterns from my Gemini CLI work:

Phase 1: Core Infrastructure

  • Integrate fluent-rs or similar Rust i18n framework
  • Create locale file structure (locales/en-US.ftl, locales/zh-CN.ftl, etc.)
  • Implement string extraction tooling
  • Add fallback mechanism (English as default)

Phase 2: Critical Strings

  • Error messages and warnings
  • Core CLI commands help text
  • User prompts and confirmations
  • Configuration validation messages

Phase 3: Extended Coverage

  • TUI interface text
  • Advanced help documentation
  • Configuration descriptions
  • Debug and logging messages

Related Issues

This proposal would also address existing character encoding issues like #3077 (Turkish character support) by implementing comprehensive Unicode and multi-language support.

Community Impact

This enhancement aligns with modern CLI tool standards and would significantly improve Codex's accessibility for the global developer community, potentially increasing adoption in international markets.

I'm available to discuss technical approach, timeline, and any specific requirements for Codex CLI's internationalization strategy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displayenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions