Files
AWatch-rus/docs/wiki/Russian-WebUI-Patch-and-Localization.md
T

35 lines
2.0 KiB
Markdown

# 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.