i18n: hardcoded English UI strings can't be translated
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 40/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- react, tailwindcss, typescript
- Domínio
- documentation, frontend, localization
Direção de pesquisa
Start with the LanguageSwitcher, PhoneInput and NavBar components, finding the hardcoded strings listed in the issue table. Decide how the proposed optional labels prop and its typed keys should look, and how Intl.DisplayNames fits PhoneInput country names; the issue leaves both open. Done means exported *Labels types with TSDoc, a docs section with a translated example, and tests showing custom labels render.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
i18n: hardcoded English UI strings can't be translated
For a localization library, the components ship non-translatable English text:
| Component | Strings |
|---|---|
LanguageSwitcher |
Search..., Search languages, No results, Select language, Current language: … |
PhoneInput |
Select country, Search countries..., Search countries, country names (English only) |
NavBar |
Select language, Current language: …, Toggle menu, GitHub |
Proposal
Add an optional labels prop per component with typed keys and English defaults, e.g.:
<LanguageSwitcher
locales={locales}
labels={{
search: "Rechercher…",
noResults: "Aucun résultat",
listbox: "Choisir la langue",
current: (name) => `Langue actuelle : ${name}`,
}}
/>
For PhoneInput country names, consider Intl.DisplayNames with a displayLocale prop.
Acceptance
- Exported
*Labelstypes, TSDoc on each key - Docs page section showing a translated example
- Tests asserting custom labels render
- Linguagem predominante
- TypeScript
- Estrelas
- 39
- Forks
- 16
- Merge médio
- 2d 12h
- PRs com merge (30d)
- 10
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de babelize/babelize-elements
-
bug website
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
babelize/babelize-elements#46 ·
Mantenedores costumam responder em até 1 dia
-
bug language-switcher priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
babelize/babelize-elements#26 ·
Mantenedores costumam responder em até 1 dia
-
component enhancement help wanted
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
babelize/babelize-elements#47 ·
Mantenedores costumam responder em até 1 dia
-
bug component rtl-layout
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
babelize/babelize-elements#45 ·
Mantenedores costumam responder em até 1 dia
-
Website: revamp and improve the landing pageTalvez já em andamento @anjalinayak01 assumiu há 6 dias. Abertaenhancement help wanted priority: medium website
Dificuldade 4/5 Mais de uma semana Facilidade para iniciantes 30/100
babelize/babelize-elements#37 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de babelize/babelize-elements
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 83/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
ranxianglei/billion-context#3583 ·
Mantenedores costumam responder em até 1 dia
-
bug:new
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
callstackincubator/simlock#673 ·
Mantenedores costumam responder em até 1 dia
-
documentation v3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
anomalyco/opencode#56380 · 1 comentário ·
Mantenedores costumam responder em até 1 dia