i18n: hardcoded English UI strings can't be translated

Fermée
#30 3 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@iNerdStack y travaille déjà.

Depuis le 19/10/2026.

  • #81 par @iNerdStack — ouverte

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
40/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
react, tailwindcss, typescript

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement good first issue

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 *Labels types, TSDoc on each key
  • Docs page section showing a translated example
  • Tests asserting custom labels render
Langage dominant
TypeScript
Étoiles
39
Forks
16
Merge moyen
18 h 14 min
PR mergées (30 j)
35

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de babelize/babelize-elements

Toutes les issues de babelize/babelize-elements

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.