Skip to content

feat(i18n): adicionar tradução pt-BR completa ao desktop - #78081

Open
overlord111111 wants to merge 1 commit into
NousResearch:mainfrom
overlord111111:feat/ptbr-desktop
Open

feat(i18n): adicionar tradução pt-BR completa ao desktop#78081
overlord111111 wants to merge 1 commit into
NousResearch:mainfrom
overlord111111:feat/ptbr-desktop

Conversation

@overlord111111

Copy link
Copy Markdown

Descrição

Adiciona tradução completa pt-BR (Português do Brasil) ao app desktop do Hermes.

O que foi feito

  • apps/desktop/src/i18n/pt.ts — tradução via defineLocale() cobrindo 39/39 seções (~2.500 chaves): common, settings, sidebar, composer, messaging, cron, assistant, errors, etc.
  • types.ts'pt' adicionado ao union Locale
  • languages.tsPortuguês (Brasil) no seletor de idiomas + aliases (pt, pt-br, pt-pt, portuguese, português, brasileiro, etc.)
  • catalog.ts — registro do locale pt
  • pt.part1/2/3.ts — fontes das seções (facilitam manutenção futura da tradução)

Validação

  • npm run typecheck (renderer + electron + e2e): passa
  • Testes i18n desktop (languages.test.ts, context.test.tsx, runtime.test.ts, plugin-i18n.test.tsx): 28/28 passam
  • Paridade chave-por-chave com en.ts verificada (0 faltando, 0 extras)
  • 96 placeholders {...} preservados
  • Pitfall TS2367 tratado: todos count === 1+count === 1
  • Backend locales/pt.yaml (já existente) passa nos 36 testes i18n do backend

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/desktop Electron desktop app (apps/desktop/*) area/i18n Localization, locales, translations duplicate This issue or pull request already exists labels Aug 4, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Duplicate of #76863 — both add the pt-BR Desktop locale through the same i18n registration and translation surface.

@overlord111111

overlord111111 commented Aug 4, 2026

Copy link
Copy Markdown
Author

Opa, só pra registrar: este PR não é cópia do #76863 — são implementações diferentes, e tem uns pontos aqui que o review de lá apontou como pendentes. Como o próprio triage sugeriu escolher a implementação, deixo os diferenciais:

  1. Aliases completoslanguages.ts já cobre pt, pt-br, pt_br, pt-pt, pt_pt, portuguese, português, portugues, brasileiro, brasil. O review do feat(desktop): add Brazilian Portuguese (pt-BR) locale (i18n) #76863 pediu cobertura pra pt-BR/pt_br/pt-PT — aqui a normalização já resolve esses casos.

  2. Pluralização sem crash — tratei o count === 1+count === 1 em todo o arquivo (evita o erro TS2367 em strings plurais). Fica certo: "1 arquivo alterado" / "5 arquivos alterados".

  3. Tradução completa — 39/39 seções do en.ts (~2.500 chaves), paridade chave a chave, 96 placeholders preservados. Nomes próprios (Hermes Cloud, Command Center) mantidos de propósito.

  4. Validadonpm run typecheck (renderer+electron+e2e) passando, 28/28 testes de i18n do desktop, 36/36 do backend.

Se precisar, adiciono os testes de regression aqui ou ajusto o que o review apontar é só falar.

- Cria pt.ts via defineLocale com ~2509 chaves em 39/39 seções (paridade
  100% com en.ts, placeholders preservados, count === 1 normalizado para
  +count === 1 conforme pitfall TS2367)
- Registra 'pt' no union Locale (types.ts) - passo que faltou em 2026-06
- Adiciona 'Português (Brasil)' ao seletor + 11 aliases (pt-br, pt-pt,
  portuguese, português, brasileiro, etc.) em languages.ts
- Registra pt no catálogo (catalog.ts)
- Mantém pt.part1/2/3.ts como fontes das seções para futuras correções
- Validação: npm run typecheck (renderer+electron+e2e) PASS, testes i18n
  desktop 28/28 PASS, backend 36/36 PASS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/i18n Localization, locales, translations comp/desktop Electron desktop app (apps/desktop/*) duplicate This issue or pull request already exists P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants