Refactor: shared locale data module for all locale-aware components
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 40/100
- Type d'issue
- Refactorisation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- react, tailwindcss, typescript
- Domaine
- frontend, internationalization
Piste de recherche
Start by comparing the locale tables in src/registry/components/language-switcher.tsx and src/registry/components/navbar.tsx to see where their coverage and lookup rules differ. Then check src/registry/registry.ts to see how a new registry entry is declared. The work is done when the new src/registry/components/locale-data.ts exports the helpers, both components use it instead of their own tables, and the locale-data unit tests and existing component tests pass.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Refactor: shared locale data module
LanguageSwitcher and NavBar each carry their own copy of locale display data:
language-switcher.tsx—LANG_TO_FLAG,LANG_NAMES,RTL_LOCALES(~90 languages)navbar.tsx—LOCALE_MAP(~35 languages, label + flag only, no RTL)
The two have drifted (different coverage, different lookup rules), and every new locale-aware component (pill switcher, locale picker, RTL wrapper) will need the same data.
Proposal
- Add
src/registry/components/locale-data.tsexportinggetLocaleLabel(code, mode),getLocaleFlag(code),isRtlLocale(code)and aresolveLocale(locale: Locale)helper that applieslabel/flag/rtloverrides. - Fall back to
Intl.DisplayNamesfor languages not in the built-in table instead of returning the raw code. - Register it in
src/registry/registry.ts(e.g.locale-data) so shadcn installs pull it in as aregistryDependency. - Migrate
LanguageSwitcherandNavBarto it; delete the duplicate tables.
Acceptance
- No locale table left inside individual components
- Unit tests for
locale-data.ts(overrides, region subtags, unknown codes, RTL) - Existing component tests still pass
See ARCHITECTURE.md.
- Langage dominant
- TypeScript
- Étoiles
- 39
- Forks
- 16
- Merge moyen
- 2 j 12 h
- PR mergées (30 j)
- 10
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de babelize/babelize-elements
-
bug website
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
babelize/babelize-elements#46 ·
Les mainteneurs répondent en général sous 1 jour
-
bug language-switcher priority: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
babelize/babelize-elements#26 ·
Les mainteneurs répondent en général sous 1 jour
-
component enhancement help wanted
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
babelize/babelize-elements#47 ·
Les mainteneurs répondent en général sous 1 jour
-
bug component rtl-layout
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
babelize/babelize-elements#45 ·
Les mainteneurs répondent en général sous 1 jour
-
Website: revamp and improve the landing pagePeut-être pris @anjalinayak01 l’a pris il y a 4 jours. Ouverteenhancement help wanted priority: medium website
Difficulté 4/5 Plus d'une semaine Accessibilité débutants 30/100
babelize/babelize-elements#37 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de babelize/babelize-elements
Issues similaires
-
useFragment does not require `variables` when the fragment's variables type has required fieldsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
apollographql/apollo-client#13493 ·
Les mainteneurs répondent en général sous 1 jour
-
Custom hosts written as trailing-dot FQDNs (`host.local.`) aren't detected as local backendsPeut-être pris @roboomp l’a pris aujourd’hui. Ouvertebug prio:p2 providers triaged
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
can1357/oh-my-pi#15798 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
code-yeongyu/oh-my-openagent#10172 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
PDFCraftTool/pdfcraft#189 ·
-
Add the Yahoo chart API duplicate last-day row (yfinance#573) to incidents.md (about 1 hour)Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertedata docs good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
pacocartones/market-data-sanity-checker#160 ·
Les mainteneurs répondent en général sous 1 jour