Feature Request: Built-in i18n support with Chinese translation for Desktop App
- Dominant language
- Python
- Stars
- 133k
- Forks
- 15.7k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 158
Description
## Feature Idea
ComfyUI Desktop App already ships with **12 fully translated language builds** (`main-*.js`), a complete `vue-i18n` engine (`vendor-i18n-*.js`), and a `settingsCategories.Locale` heading that appears in the Settings sidebar. However, the **Locale selector is a stub** — clicking "Locale" in Settings shows an empty panel because:
1. **No locale setting is registered** via `registerExtension()` — there is no `Comfy.Locale` or similar setting ID
2. **No UI widget exists** — no dropdown/combo/selector for language selection
3. **No persistence** — user locale preference is not saved or loaded
4. **No dynamic switching** — the correct `main-*.js` locale bundle is selected only at build/deploy time
Every translation is already complete. The only missing piece is the **selector UI** to let users choose.
## Suggested Implementation
The minimal change needed is in the desktop extension registration (likely `core-DcK7VTie.js` or equivalent):
1. **Register a locale setting** with a combo widget:
```js
{
id: "Comfy.Locale",
name: "Language",
type: "combo",
defaultValue: "en",
options: ["en", "zh", "zh-TW", "ko", "fr", "es", "pt", "ru", "fa", "ar", "tr"]
}
```
2. **On value change**: Persist the choice and reload the page with the corresponding locale bundle
3. **On initial load**: Read stored preference and load the appropriate `main-*.js` bundle
All 12 translation files already exist in the build output — they just need to be wired to a user-facing selector. This is an estimated **~20-30 lines of code** change plus backend routing support to serve the correct locale bundle.
This change would make ComfyUI accessible to non-English speakers globally, greatly expanding its user base. Thank you for considering!
## Other
**ComfyUI Desktop version:** 0.21.1 (Release)
Contributor guide
Assessment
This issue has not been assessed yet.