Problem or Use Case
The dashboard UI only supports English and Chinese. Users who speak Portuguese (Brazil) have no native-language option in the language switcher.
Proposed Solution
Add a complete pt-BR translation file and update the i18n infrastructure to support a third locale.
Changes required
web/src/i18n/types.ts — Extend Locale union: "en" | "zh" | "pt"
web/src/i18n/pt.ts (new) — Full translation object implementing Translations, covering all sections: common, app, status, sessions, analytics, logs, cron, skills, config,
env, oauth, language, theme
web/src/i18n/context.tsx — Import pt, add to TRANSLATIONS record, update getInitialLocale() guard
web/src/components/LanguageSwitcher.tsx — Refactor binary toggle into an N-locale cycle via LOCALE_CONFIG map, so adding future languages only requires a config entry
Notes
- Technical terms kept in English where standard: Gateway, CLI, PKCE, Cron, Skill, Toolset
- Interpolation placeholders (
{count}, {input}, etc.) preserved as-is
- Pluralization suffix
{s} follows same convention as en.ts
Alternatives Considered
No response
Feature Type
Other
Scope
Small (single file, < 50 lines)
Contribution
Debug Report (optional)
Problem or Use Case
The dashboard UI only supports English and Chinese. Users who speak Portuguese (Brazil) have no native-language option in the language switcher.
Proposed Solution
Add a complete pt-BR translation file and update the i18n infrastructure to support a third locale.
Changes required
web/src/i18n/types.ts— ExtendLocaleunion:"en" | "zh" | "pt"web/src/i18n/pt.ts(new) — Full translation object implementingTranslations, covering all sections:common,app,status,sessions,analytics,logs,cron,skills,config,env,oauth,language,themeweb/src/i18n/context.tsx— Importpt, add toTRANSLATIONSrecord, updategetInitialLocale()guardweb/src/components/LanguageSwitcher.tsx— Refactor binary toggle into an N-locale cycle viaLOCALE_CONFIGmap, so adding future languages only requires a config entryNotes
{count},{input}, etc.) preserved as-is{s}follows same convention asen.tsAlternatives Considered
No response
Feature Type
Other
Scope
Small (single file, < 50 lines)
Contribution
Debug Report (optional)