2.0 KiB
2.0 KiB
Russian WebUI Patch and Localization
2.3 Russian WebUI patch
aw-server/aw-ru-patch.js продолжает быть runtime patch'ем поверх ActivityWatch WebUI, но после cc9e4a0 логика стала более явной: текстовые переводы и навигационные исправления сведены в отдельную функцию applyTextAndNavigationPatches(root).
applyTextAndNavigationPatches
Функция выполняет общий набор patch'ей для переданного DOM root:
- обход текстовых узлов через
walk(root); - перевод атрибутов через
translateAttributes(root); - исправление DLP navigation links;
- повторное применение при route change в SPA.
Это снижает риск, что часть UI останется на английском после client-side перехода без полной перезагрузки страницы.
Исправление DLP links
DLP navigation получила защиту от битых ссылок:
- исправляются ссылки вида
/activity/dlpи другие broken DLP activity refs; - DLP item помечается
data-aw-ru-dlp-item="1", чтобы patch не дублировал элемент; - patch различает label
DLPвнутри activity tabs и реальные broken links.
Улучшения локализации
Патч теперь повторно применяет текстовые и навигационные изменения:
- на первичной загрузке
document.body; - после смены route key;
- после восстановления settings host/host groups state.
Это особенно важно для WebUI страниц, где ActivityWatch перерисовывает DOM без reload: activity views, category builder, settings и DLP navigation.