Repository navigation
Replies: 24 comments 3 replies
|
I want to acknowledge that this issue may reasonably be considered a duplicate of #1463. I previously left a follow-up comment there to ask whether a small, community-led implementation would be welcome, but I did not receive a response. For that reason, I decided to open this more narrowly scoped issue in the hope of receiving clear guidance before investing time in the implementation. I sincerely apologize if opening a separate issue is not the preferred approach. If the maintainers would rather continue the discussion in #1463, I completely understand and would be happy for this issue to be closed. |
|
"Minimal i18n foundation" is the right framing, the foundation decides whether language two costs a weekend or a quarter. |
|
#6900 is being consolidated here with the other Simplified Chinese requests. It also asks for eventual mobile coverage; please retain that cross-client goal alongside the initial web/desktop localization work. |
|
Adding a strong +1 from the Chinese developer & builder community. Following Julius’s note in #16888 consolidating this discussion, I wanted to echo why this is so critical right now:
Really excited to see the progress in #16087 (shared i18n foundation) and #16673 (opt-in Chinese navigation & settings). Hoping to see these merged upstream so the whole community can rally behind the official mainline! |
|
Hi all, Adding a +1 from Switzerland. I set up T3 Code for small businesses here, and the people using it day to day work in German and often struggle with an English UI. They love T3 Code otherwise. We've already translated the full web UI into German (about 4,700 strings, with a glossary) in a private fork, and we'd be glad to contribute and maintain German once there is an i18n foundation. Would a minimal foundation be something you'd accept? If you tell us the shape you'd want, we're happy to follow your lead. Thanks for building this, |
Small English / Spanish starting point, with a working macOS prototypeAdding a Spanish use case here, following the consolidation noted in #17522. I'm a Spanish-speaking T3 Code user. With Codex, I built a local macOS version with an Español / English selector, a saved language preference, and English fallback. I verified switching both ways and restarting, with my existing accounts, projects and chat history preserved. Some technical and third-party text still appears in English. The screenshot below is from this local prototype. For an upstream contribution, I would propose a much smaller initial scope:
Mobile coverage remains a later goal, as discussed above; the catalog design should allow reuse without requiring a full mobile or application-wide translation in the first contribution. Documentation and marketing translations can also wait. I would like to contribute the initial Spanish catalog and adapt the prototype to an agreed scope. I understand that community translations still create review and maintenance work. This should fit the existing foundation work referenced here, rather than establish a competing localization system. Would maintainers be open to this English/Spanish slice, and which existing approach or PR should it build on? I'll wait for direction and scope approval before opening an implementation PR. Local prototype — Settings → General:
|
|
We need that, hope maintainer will accept related PR soon! |
|
Hi maintainers, this thread started as a Simplified Chinese request, but it has since collected requests for German, Spanish, Turkish, and other languages. I'd like a direction decision on a multi-locale foundation before anyone opens a PR, following CONTRIBUTING.md#prior-approval. Proposed scope (deliberately narrow):
Design constraints:
What I took from the closed PRs (#10900, #14215, #11748, #12563, #8073, #6010): they were closed mainly for missing direction approval and for scope. Changing the default language, or bundling the framework with deployment, identity, or docs changes, made them hard to review. I'd keep each step to one reviewable PR. Questions:
If there is a yes on direction, I'll follow up with a small first PR: the catalog foundation, the setting, and the locales agreed here, without translating other surfaces yet. Happy to narrow the scope further first. |
|
Adding Czech (cs) to the list. I am a Czech front-end developer using T3 Code daily and I would be glad to contribute and maintain the Czech catalog once a shared locale foundation is approved. I agree with the narrow scope proposed above: English stays the source, default and fallback, other locales are opt-in through a setting, and a locale is a data-only catalog file with no changes in components. I will not open a PR before maintainers approve the direction here, per CONTRIBUTING.md#prior-approval. Happy to help test or review the foundation PR as well. |
|
多语言不是一个简单功能吗?啥时候推出啊? |
|
我也不理解,i18n的提案一直不通过,pr也一直遇到各种问题
|
|
I've updated the title to reflect the scope this thread has grown into. It started as a Simplified Chinese request, but it now also covers requests for German, Spanish, Czech, Turkish, and other languages, and #6900 / #16888 / #17522 have been consolidated here. The proposal is unchanged in substance: English stays the source, default, and fallback; other locales are opt-in through a setting; each locale is a data-only catalog file; and the initial work covers only the core web UI. I'm also keeping the cross-client goal @juliusmarminge asked for, so mobile coverage is part of the longer-term plan. I'm not opening a PR until there is a direction decision on the foundation, per CONTRIBUTING.md#prior-approval. Happy to adjust the scope if maintainers prefer a different split. |
|
I'd like to contribute Turkish ( I checked current Would maintainers be open to a Turkish catalog once the foundation's direction and scope are approved? I can start with one agreed screen, such as General settings, and keep English as the default and fallback. Provider/model names, commands, paths and user content would remain unchanged, with translation keys and interpolation placeholders checked. Please point me to the approach you want contributors to build on. I'll wait for explicit direction and scope approval before implementing or opening a PR. |
|
I'd like to coordinate a possible German contribution here, following the routing of the German offer in #17522 and the existing German translation interest in this thread. We have a private English/German reference implementation spanning web, desktop, and the native iOS/Android app. It includes a substantial amount of private-edition branding and installation isolation, so I would not propose merging that fork. Those private names, identifiers, data paths, update restrictions, signing choices and unrelated fixes would remain outside an upstream contribution. A possible first contribution would be an opt-in English/German foundation with one complete settings-to-chat-entry path across all three app surfaces, including the corresponding desktop/native mobile labels needed for that path. Existing users would remain on English, missing translations would fall back to English, and each client would own its locale. User content, commands, file paths, provider output and raw diagnostics would remain unchanged. Broader catalog coverage and additional native surfaces would be follow-up scope, with mobile retained in the overall goal. The reference uses bundled catalogs with Would the maintainers be interested in this direction, and if so, what initial cross-client scope and catalog/runtime approach would you explicitly approve before an implementation PR? If the preferred route is to build on another contributor's foundation, I can first assess how the German catalog and client integration can fit that direction. No PR is being opened as a substitute for scope approval, and this proposal does not depend on setting up external push delivery. I am offering a bounded technical proposal and reference material, not committing to a maintenance schedule. Prepared using OpenAI Codex, GPT-6 family (exact runtime model identifier not exposed in this session). |
|
I don't think i18n is fundamentally a technical challenge at this point. It's more about whether the project is willing to commit to it. The community has already shown interest, proposed solutions, and even contributed working implementations. The technical groundwork is largely there. T3 Code is growing beyond English-speaking users, and i18n shouldn't be treated as a low-priority feature indefinitely. We don't need perfect translations for every language on day one. A simple, maintainable i18n framework that allows community contributions would be a great start. The real question isn't whether we can implement i18n, but whether we want to make it happen. |
|
Agreed, a simple, maintainable i18n framework would be a great start.From: Mike Erickson ***@***.***>Date: Friday, 30 October 2026 at 03:53To: pingdotgg/t3code ***@***.***>Cc: full_poulet ***@***.***>; Comment ***@***.***>Subject: Re: [pingdotgg/t3code] [Feature]: Minimal multi-locale i18n foundation, with zh-CN as the first locale (Discussion #6789)I don't think i18n is fundamentally a technical challenge at this point. It's more about whether the project is willing to commit to it.The community has already shown interest, proposed solutions, and even contributed working implementations. The technical groundwork is largely there.T3 Code is growing beyond English-speaking users, and i18n shouldn't be treated as a low-priority feature indefinitely.We don't need perfect translations for every language on day one. A simple, maintainable i18n framework that allows community contributions would be a great start.The real question isn't whether we can implement i18n, but whether we want to make it happen.—Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you commented.
|
|
I'd like to contribute an opt-in Russian ( The working reference is available here: English/Russian implementation, based on upstream The implementation keeps English as the default and per-message fallback. The existing client-settings pipeline persists each device's language. Switching updates mounted components without reloading or remounting the app; presentation metadata is cached separately per translator. Native menu labels follow the same preference, with menu-specific wording where needed. User messages, project names, code, commands, file paths and model IDs stay outside translation. There is no external translation service or new runtime dependency. This branch contains only localization. Our separate OMP adapter, deployment setup, credentials, private memory, branding and signing changes are excluded. Mobile and marketing translations are outside this reference's current scope. Local validation: I see the foundation work in #27965 and the direction discussion here. I am not asking to merge a competing localization foundation or treating a reference implementation as scope approval. The complete Russian catalog and UI integration can be adapted to the maintainers' chosen foundation. Would maintainers approve this English/Russian web-and-desktop coverage as a contribution, and which foundation should it build on? Per CONTRIBUTING.md, I will wait for explicit direction/scope approval before opening the implementation PR. I'm not committing to a translation maintenance schedule without first agreeing on the approach. Prepared with OpenAI Codex (GPT-6 family). |
|
French on top of #27965, plus three small follow-ups #27965 looks like the shared foundation this thread asked for: English stays the source, default and fallback, and each locale is a catalog keyed by the English keys. Once it lands, I'd like to build on it, and I'm asking for explicit approval of the direction and scope first, per Locale. French, which I can translate and maintain as a native speaker. It is opt-in through the existing language setting and adds catalog data only. Follow-ups to the layer, one PR each, needed by French and by any other language beyond
Not included: any change to the default language (that stays with your product review on #27965), desktop native menus, and mobile, which I'd propose separately. For every PR: no new dependencies, one problem per PR, before/after captures, and the model and harness named in the description. No PR before an explicit OK. Could a maintainer confirm whether (a) a French catalog and (b) the three follow-ups are welcome once #27965 merges, and (c) whether you want contributors to extract further screens domain by domain, or prefer to drive that yourselves? |
|
I'd like to contribute Ukrainian ( A local prototype based on stable v0.1.6 covers approximately 6,100 web messages and 85 Electron-shell messages, including settings, navigation, composer, dialogs, accessibility labels and native menus. It has a persisted System / English / Українська preference, English fallback, named interpolation and Ukrainian plural categories through Validation: format, lint, both knip passes, typechecks of all 39 affected packages, 576 React Compiler cases and production desktop packaging passed. Focused localization/persistence/menu/model-label/packaging/search tests passed (94 tests); the follow-up settings/chat tests passed (50 tests). The broad changed-code run was not green: 1,902/1,910 tests passed. Seven browser failures passed when their files ran separately; the remaining guest-scroll failure reproduces identically on untouched v0.1.6 (LegendList convergence abort, 2,074-pixel bottom gap). No tests were skipped or relaxed to conceal these results. The packaged macOS app's Ukrainian settings and composer were also inspected in the native client. The local build uses separate app identity/state and no upstream update feed so official updates cannot erase the translation. Those distribution-specific changes would stay separate from an upstream contribution. Would maintainers welcome a Ukrainian catalog and focused web/Electron integration adapted to the chosen foundation? In particular, should Ukrainian plural support and native menus be separate follow-ups to #27965? I will wait for explicit direction/scope approval before opening an implementation PR; this comment is a proposal, not a claim of approval or a maintenance commitment. Prepared with Codex (GPT-6.1 Sol); Claude Opus 5.5 reviewed the packaged-client startup failure and identified the macOS Unicode helper-path mismatch. |
|
+1 for a multi-locale foundation, and please consider German (de) as one of the next locales. I use T3 Code every day for my work as a craftsman in Germany, and my whole working environment is German. The menus are the only part that stays English. A language setting with English as the default and fallback would be enough. I would be glad to help test a German catalog. |
|
Offering to help with Simplified Chinese (zh) on top of #31313 Hi! I'm a native Simplified Chinese speaker. I'd like to help with the official zh translation, following the direction maintainers have set in #31313 (gt-react, English as the source and fallback) rather than proposing anything competing. What I can bring
How I'd like to help, if it's welcome
Before doing any of that, I'd appreciate a maintainer's go-ahead on the direction (per CONTRIBUTING), and on two terms that shape every later string: thread as 会话 or 线程, and agent as 智能体 or 代理. The reasoning is in my comment on #31313. Thanks for opening T3 Code up to more languages! |
|
I’d like to request multilingual UI support in T3 Code. Please consider adding a language selector in Settings so users can choose their preferred interface language. The language preference should be saved, and English can remain the default and fallback when a translation is not yet available. A useful first step would be to support a few commonly requested languages, including Simplified Chinese, and cover the main interface areas such as navigation, settings, model options, permission prompts, and error messages. The localization system should also make it straightforward for the community to contribute more languages over time. As a Chinese-speaking designer using T3 Code on macOS, I can already communicate with the coding agents in Chinese, but I still struggle with the English interface when choosing settings or understanding permissions and errors. A multilingual interface would make T3 Code easier to use for people around the world. |
|
I built an experimental Simplified Chinese desktop branch against T3 Code 0.1.9: https://github.com/Link557/t3code/tree/zh-cn-desktop-prototype It adds English / 简体中文 switching, translated UI text and localized macOS menus, building on work by ZhiweiXiao98. The desktop language and menu switch were observed; translation coverage and restart persistence still need verification. The branch also contains settings for an isolated local build. Would maintainers be interested in an i18n contribution? If so, what scope would you prefer for a PR? The separate Antigravity SOCKS proxy issue is already tracked in #16911 and google-antigravity/antigravity-cli#1489. |

Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/web
Problem or use case
T3 Code currently displays its interface in English only. As a native Chinese speaker, I can use the application, but understanding settings, actions, error messages, and less familiar terminology requires additional effort.
This also creates a barrier for Chinese-speaking developers who are interested in using or contributing to the project but are not comfortable working with an English-only interface.
A previous request for Chinese localization was raised in #1463 and closed because the maintainers did not have the capacity to work on i18n at the time. I understand that concern. This proposal is specifically asking whether a small, community-led implementation would be acceptable, with me taking responsibility for the initial Simplified Chinese translation and implementation work.
Proposed solution
Introduce a minimal localization foundation for the web application and add Simplified Chinese (zh-CN) as the first additional locale.
The initial implementation could:
I would follow the maintainers’ preferred architecture and keep the implementation small. I am willing to prepare the translations and submit the PR myself if the project is open to accepting and maintaining this foundation.
Why this matters
Chinese-speaking developers represent a large part of the global developer community. A localized core interface would make T3 Code easier to understand and adopt, particularly for users who are comfortable with programming but not with an English-only product interface.
Adding a small localization foundation would also make future community-contributed translations possible without requiring the maintainers to translate the application themselves.
Smallest useful scope
The first version only needs to cover the core application shell and the most frequently used interface text, including:
English would remain the default language. Documentation, marketing pages, uncommon screens, and additional locales can remain out of scope for the initial PR.
Alternatives considered
Browser translation: This can produce inconsistent translations and may not work well for dialogs, dynamic content, technical terminology, or desktop usage.
Maintaining a separate Chinese fork: This would quickly fall behind the upstream project and duplicate maintenance work.
Translating documentation only: Helpful for onboarding, but it would not address difficulty using the application itself.
Hardcoding Chinese text directly in components: This would not scale and would make future maintenance more difficult.
Risks or tradeoffs
Introducing i18n creates ongoing maintenance work because new or changed UI strings need corresponding translations.
There is also a risk of missing or outdated translations. This can be reduced by:
The implementation may also add some architectural and bundle-size complexity, so the initial solution should remain lightweight.
Examples or references
Previous request: #1463
Maintainer response regarding current capacity: #1463 (comment)
Contribution
All reactions