@intlify/vite-plugin-vue-i18n locale translation files splitting
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 32/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- typescript, vite
- Ambito
- build-system, localization
Direzione di ricerca
Inizia esaminando l’entry point di @intlify/vite-plugin-vue-i18n e la documentazione attuale della README sul caricamento delle locale. Riproduci il comportamento segnalato con le strutture di directory en e fr dell’issue, quindi determina quale comportamento di suddivisione e unione sia previsto; il lavoro è completato quando più file per locale vengono combinati correttamente oppure viene documentata l’alternativa supportata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Clear and concise description of the problem
- for some projects custom block code is not the right way
- if we want place locale files in separate directory, we need to use "global" access, so everything is in one file per locale,
example (these files can really grow in size and be really unclear):
locales/en.yaml
locales/fr.yaml
- if we split locale translation files into multiple files, import all locales at once is not working, because its not correctly merged
Suggested solution
- add possibility to split each locale to multiple files, so our structure can look like this:
locales/en/group1/subject1.yaml
locales/en/group1/subject2.yaml
locales/en/group2/subject3.yaml
locales/fr/group1/subject1.yaml
locales/fr/group1/subject2.yaml
locales/fr/group2/subject3.yaml
There are to possibilities how to achieve this:
- more complex way - first directory will define the locale and each directory is a subject path, so if
locales/en/group1/subject1.yamlcontent is this:
foo: foo
bar:
baz: baz
the "generated" file for en locale will be:
group1:
subject1:
foo: foo
bar:
baz: baz
- more simple way - just merge the content, use root subject as locale - we will need to define whole subject in each file, the plugin will just merge everything in one
locales/en/group1/subject1.yaml
en:
group1:
subject1:
foo: foo
bar:
baz: baz
locales/fr/group1/subject1.yaml
fr:
group1:
subject1:
foo: foo
bar:
baz: baz
Alternative
If there is any existing way how to achieve similar code spliting right now without need to implement it, please add it to documentation, because now there is nothing about it.
Additional context
I tried several ways how to structure the dirs, files and content of yaml/json files and nothing was correctly merged, always only one file worked and other were ignored.
Validations
- Read the Contributing Guidelines.
- Read the README
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Lingua principale
- TypeScript
- Stelle
- 270
- Fork
- 46
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
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 intlify/bundle-tools
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
intlify/bundle-tools#612 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
intlify/bundle-tools#611 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
intlify/bundle-tools#600 · 5 commenti ·
-
Locale files are never invalidated on Vite 8 — dev server serves stale translations until restartAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
intlify/bundle-tools#599 · 1 commento · 1 reazione ·
-
Messages containing @ character are silently dropped in production build with JIT compilationAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
intlify/bundle-tools#533 ·
Tutte le issue di intlify/bundle-tools
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
supabase/agent-skills#611 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
polka-codes/test#345 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
GoogleChromeLabs/project-sesame#217 ·
I maintainer di solito rispondono entro 12 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
solana-foundation/solana-com#2202 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100