intlify / intlify/bundle-tools
@intlify/vite-plugin-vue-i18n locale translation files splitting
- Dominant language
- TypeScript
- Stars
- 270
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Description
### 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:
1. more complex way - first directory will define the locale and each directory is a subject path, so if `locales/en/group1/subject1.yaml` content is this:
```
foo: foo
bar:
baz: baz
```
the "generated" file for en locale will be:
```
group1:
subject1:
foo: foo
bar:
baz: baz
```
2. 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
- [X] Read the [Contributing Guidelines](https://github.com/intlify/bundle-tools/blob/main/.github/contributing.md).
- [X] Read the README
- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
Contributor guide
Assessment
This issue has not been assessed yet.