mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-06 05:25:41 -05:00
65 lines
1.9 KiB
Markdown
65 lines
1.9 KiB
Markdown
# DankMaterialShell Translations
|
|
|
|
This directory contains translation files for DankMaterialShell extracted from all qsTr() calls in the QML codebase.
|
|
|
|
## Files
|
|
|
|
- **en.json** - Source language file with English strings and file references
|
|
- **template.json** - Empty template for creating new translations
|
|
- **extract_translations.py** - Script to regenerate translation files
|
|
|
|
## POEditor Format
|
|
|
|
The JSON files follow POEditor's import format:
|
|
|
|
```json
|
|
[
|
|
{
|
|
"term": "string to translate",
|
|
"context": "file:line",
|
|
"reference": "Modules/Settings/AboutTab.qml:45",
|
|
"comment": ""
|
|
}
|
|
]
|
|
```
|
|
|
|
### Field Descriptions
|
|
|
|
- **term**: The source string in English (from qsTr() calls)
|
|
- **context**: Primary location where the string appears (file:line)
|
|
- **reference**: All locations where this string is used (comma-separated)
|
|
- **comment**: Additional notes for translators (currently empty)
|
|
|
|
## How to Create a New Translation
|
|
|
|
1. Copy `template.json` to your language code (e.g., `es.json` for Spanish)
|
|
2. Fill in the `translation` field for each entry:
|
|
```json
|
|
{
|
|
"term": "Settings",
|
|
"translation": "Configuración",
|
|
"context": "Modals/Settings/SettingsModal.qml:147",
|
|
"reference": "Modals/Settings/SettingsModal.qml:147",
|
|
"comment": ""
|
|
}
|
|
```
|
|
3. Import to POEditor or use directly in your translation workflow
|
|
|
|
## Regenerating Translation Files
|
|
|
|
To update the translation files after code changes:
|
|
|
|
```bash
|
|
cd /home/brandon/.config/quickshell/DankMaterialShellGit/translations
|
|
./extract_translations.py
|
|
```
|
|
|
|
This will scan all QML files and regenerate `en.json` and `template.json`.
|
|
|
|
## Notes
|
|
|
|
- Strings are deduplicated - if the same string appears in multiple locations, references are merged
|
|
- File paths are relative to the project root
|
|
- Line numbers are preserved for accurate context
|
|
- Empty strings and comments are reserved for translator notes
|