feat: update structure of i18n
This commit is contained in:
parent
a48320862c
commit
0f075e9f7f
12 changed files with 139 additions and 28 deletions
34
README.md
34
README.md
|
@ -1,15 +1,13 @@
|
|||
### Merged i18n
|
||||
|
||||
|
||||
# Centralized Translation Repository
|
||||
|
||||
This repository manages all multilingual translations for the project in a single JSON file: `languages.json`. The centralized structure ensures consistency and simplifies updates by consolidating all languages in one place.
|
||||
|
||||
This repository manages all multilingual translations for the project in a single JSON file: `translations.generated.json`. The centralized structure ensures consistency and simplifies updates by consolidating all languages in one place.
|
||||
|
||||
### **Translation Format**
|
||||
|
||||
The `languages.json` file organizes translations in a nested structure:
|
||||
- **Keys** represent the unique identifiers for each translatable string.
|
||||
The `translations.generated.json` file organizes translations in a nested structure:
|
||||
- **Keys** represent the unique identifiers for each translatable string, generated automatically from the file structure.
|
||||
- **Sub-keys** represent the supported language codes (e.g., `en`, `de`, `fr`).
|
||||
- **Values** are the localized translations for each language.
|
||||
|
||||
|
@ -29,8 +27,18 @@ The `languages.json` file organizes translations in a nested structure:
|
|||
}
|
||||
```
|
||||
|
||||
### **Using the Project**
|
||||
|
||||
All languages are accepted.
|
||||
#### Prerequisites
|
||||
- Ensure you have [Node.js](https://nodejs.org) installed.
|
||||
|
||||
#### Generating the Translations Index
|
||||
1. **Add or modify translation files**: Place JSON translation files in the appropriate directory structure under the `merged` folder.
|
||||
2. **Run the generator**:
|
||||
```bash
|
||||
node generator.js
|
||||
```
|
||||
This will produce the `translations.generated.json` file in the root directory, containing all the translations consolidated into a single JSON object.
|
||||
|
||||
### **Contributing**
|
||||
|
||||
|
@ -38,19 +46,11 @@ We welcome contributions to improve or expand translations. Please follow these
|
|||
|
||||
1. **Fork the repository.**
|
||||
2. **Create a new branch** for your changes.
|
||||
3. **Update the `languages.json` file**:
|
||||
- Add new keys or languages where applicable.
|
||||
- Ensure consistency in the JSON structure.
|
||||
3. **Update or add translation files**:
|
||||
- Place your JSON files in the appropriate folder structure under `merged`.
|
||||
- Run the `generator.js` script to regenerate the `translations.generated.json` file.
|
||||
4. **Submit a pull request** with a clear description of your changes.
|
||||
|
||||
|
||||
### **Advantages of a Centralized File**
|
||||
|
||||
- **Simplicity**: All translations are stored in one place, making it easy to access and update.
|
||||
- **Consistency**: Reduces duplication and ensures all keys are synchronized across languages.
|
||||
- **Scalability**: Adding new keys or languages requires minimal effort.
|
||||
|
||||
|
||||
### **Contact**
|
||||
|
||||
If you have questions or suggestions, feel free to open an issue in the repository.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue