[Feature Request] Internationalization (i18n) Support — Starting with pt-BR · Issue #2376 · block/goose · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🚀 [Feature Request] Internationalization (i18n) Support — Starting with pt-BR
Hello Goose team!
I'm opening this issue to propose the addition of internationalization (i18n) support for Goose, starting with a full translation to Brazilian Portuguese (pt-BR) and a scalable system for future languages.
Why?
Goose is gaining traction globally, but the UI is currently English-only.
Supporting multiple languages will make onboarding easier for non-English speakers and help grow the community.
It encourages contributions of new translations from users everywhere.
What I've Done Before
I've previously implemented i18n systems in TypeScript/JavaScript projects, such as in my i18n.ts file. There, I used a modular approach with:
JSON translation files for each language (e.g., en.json, pt-BR.json)
A simple API for loading translations and switching languages at runtime
Fallback to default language if a key is missing
Integration with React components for seamless translation via hooks or HOCs
What I'm Proposing for Goose
Translation files: Organize translations in a /locales directory (e.g., locales/en.json, locales/pt-BR.json)
Translation API: Implement a utility (in JS/TS for the UI, or Rust for CLI if desired) to load language files, retrieve translations, and provide fallbacks
Refactor UI: Replace hardcoded strings in the React/Electron frontend with translation keys, using a hook or function like t('key')
Language selector: Add a language selector in the settings for users to change their preferred language
Documentation: Provide clear docs on how to contribute new translations
CLI support: (Optional, but awesome) Consider supporting i18n for CLI output as well, using a similar approach
Implementation Example
For the frontend, I suggest something similar to what I did in my previous project:
This approach is simple, scalable, and battle-tested.
🇧🇷 [Sugestão de Feature] Suporte a Internacionalização (i18n) — Começando pelo pt-BR
Fala, time Goose!
Tô abrindo essa issue pra sugerir a adição de suporte a internacionalização (i18n) no Goose, começando com uma tradução completa pra português brasileiro (pt-BR) e um sistema fácil de expandir pra qualquer idioma maluco que o povo inventar.
Por que isso?
O Goose tá ficando famoso no mundo todo, mas a interface ainda é só em inglês (tristeza pra quem só sabe pedir "um pão na chapa").
Suporte a múltiplos idiomas facilita a vida de quem não manja inglês e faz a comunidade crescer.
Incentiva a galera a contribuir com traduções (imagina um Goose em japonês, que chique!).
O que eu já fiz antes
Já implementei sistemas de i18n em projetos TypeScript/JavaScript, tipo no meu i18n.ts. Lá eu usei:
Arquivos JSON pra cada idioma (en.json, pt-BR.json, etc)
Uma API simples pra carregar as traduções e trocar de idioma em tempo real
Fallback pro idioma padrão se faltar alguma chave
Integração com componentes React usando hooks ou HOCs (pra traduzir tudo sem dor de cabeça)
O que eu proponho pro Goose
Arquivos de tradução: Organizar tudo numa pasta /locales (locales/en.json, locales/pt-BR.json)
API de tradução: Criar um utilitário (em JS/TS pra UI, ou Rust pro CLI se quiserem ser ousados) pra carregar os arquivos, buscar traduções e garantir fallback
Refatorar a UI: Trocar todos os textos "hardcoded" por chaves de tradução, usando um hook ou função tipo t('key')
Seletor de idioma: Adicionar um seletor de idioma nas configurações (nada de menu escondido, hein)
Documentação: Explicar direitinho como contribuir com novas traduções
Suporte ao CLI: (Opcional, mas seria lindo) Pensar em internacionalizar a saída do CLI também
Traduzir tudo pra pt-BR (com direito a piadinha e tudo)
Deixar fácil pra galera adicionar mais idiomas depois
Observações
Se já tiverem algum plano ou começo de i18n, me avisem pra não reinventar a roda!
Quero deixar tudo automatizado e escalável pra quem quiser contribuir no futuro.
Posso ajudar a revisar PRs de novos idiomas ou melhorias!
Valeu por considerar! — Dev5
Describe alternatives you've considered
EN:
Keeping the UI English-only, but that limits adoption and excludes non-English speakers. Also considered using third-party i18n libraries, but a simple, custom solution is easier to maintain and contribute to in this context.
PT-BR:
Deixar tudo só em inglês, mas aí só gringo usa! Também pensei em usar libs de terceiros, mas um sistema próprio deixa tudo mais enxuto, fácil de manter e de contribuir.
🚀 [Feature Request] Internationalization (i18n) Support — Starting with pt-BR
Hello Goose team!
I'm opening this issue to propose the addition of internationalization (i18n) support for Goose, starting with a full translation to Brazilian Portuguese (pt-BR) and a scalable system for future languages.
Why?
What I've Done Before
I've previously implemented i18n systems in TypeScript/JavaScript projects, such as in my
i18n.ts
file. There, I used a modular approach with:en.json
,pt-BR.json
)What I'm Proposing for Goose
/locales
directory (e.g.,locales/en.json
,locales/pt-BR.json
)t('key')
Implementation Example
For the frontend, I suggest something similar to what I did in my previous project:
And then in React:
This approach is simple, scalable, and battle-tested.
🇧🇷 [Sugestão de Feature] Suporte a Internacionalização (i18n) — Começando pelo pt-BR
Fala, time Goose!
Tô abrindo essa issue pra sugerir a adição de suporte a internacionalização (i18n) no Goose, começando com uma tradução completa pra português brasileiro (pt-BR) e um sistema fácil de expandir pra qualquer idioma maluco que o povo inventar.
Por que isso?
O que eu já fiz antes
Já implementei sistemas de i18n em projetos TypeScript/JavaScript, tipo no meu
i18n.ts
. Lá eu usei:en.json
,pt-BR.json
, etc)O que eu proponho pro Goose
/locales
(locales/en.json
,locales/pt-BR.json
)t('key')
Exemplo de implementação
No frontend, sugiro algo assim:
E no React:
Simples, escalável e já testado até por pato!
O que pretendo fazer
Observações
Valeu por considerar!
— Dev5
Describe alternatives you've considered
EN:
Keeping the UI English-only, but that limits adoption and excludes non-English speakers. Also considered using third-party i18n libraries, but a simple, custom solution is easier to maintain and contribute to in this context.
PT-BR:
Deixar tudo só em inglês, mas aí só gringo usa! Também pensei em usar libs de terceiros, mas um sistema próprio deixa tudo mais enxuto, fácil de manter e de contribuir.
Additional context
i18n.ts
)The text was updated successfully, but these errors were encountered: