mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-01 19:18:28 -04:00
8188ced955
* Add option to ignore app-requested notification timeout Notifications may include an expireTimeout hint that currently takes precedence over the configured Low/Normal/Critical durations, so popups can disappear earlier (or later) than expected with no interaction involved. Add notificationIgnoreAppTimeout (default off, matching the notification spec) to let users force their own durations regardless of what the app requests. * Update settings search index for new timeout override toggle
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