mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-06 05:25:41 -05:00
- Scrap janky NetworkService in favor of, dms' native NM integration socket - Scrap all gdbus usage in favor of native dbus bindings in dms (loginctl, freedesktop) It means that - some features won't work if running without dms wrapper. But the trade off is certainly worth it, in the long-run for efficiency improvements.
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:
[
{
"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
- Copy
template.jsonto your language code (e.g.,es.jsonfor Spanish) - Fill in the
translationfield for each entry:{ "term": "Settings", "translation": "Configuración", "context": "Modals/Settings/SettingsModal.qml:147", "reference": "Modals/Settings/SettingsModal.qml:147", "comment": "" } - Import to POEditor or use directly in your translation workflow
Regenerating Translation Files
To update the translation files after code changes:
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