Refactor: shared locale data module for all locale-aware components
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 40/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- react, tailwindcss, typescript
- Ambito
- frontend, internationalization
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- TypeScript
- Stelle
- 39
- Fork
- 16
- Merge medio
- 2g 5h
- PR unite (30g)
- 12
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di babelize/babelize-elements
-
bug website
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
babelize/babelize-elements#46 ·
I maintainer di solito rispondono entro 1 giorno
-
bug language-switcher priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
babelize/babelize-elements#26 ·
I maintainer di solito rispondono entro 1 giorno
-
component enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
babelize/babelize-elements#47 ·
I maintainer di solito rispondono entro 1 giorno
-
bug component rtl-layout
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
babelize/babelize-elements#45 ·
I maintainer di solito rispondono entro 1 giorno
-
Website: revamp and improve the landing pageForse già presa @anjalinayak01 l’ha presa 7 giorni fa. Apertaenhancement help wanted priority: medium website
Difficoltà 4/5 Più di una settimana Idoneità per principianti 30/100
babelize/babelize-elements#37 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di babelize/babelize-elements
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
auth: agent-bearer --manager-call is told to use the MCP instance argument on an ambiguous managerAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
Lyric and ApostrophesApertabug module: playback
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
chthollyphile/folia-major#739 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
agilepathway/label-checker#773 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno