feat: language picker with flags, paging and follow mode, translation run in the floating window
CI / frontend (push) Failing after 27s
CI / backend (push) Failing after 49s

Language picker with search and SVG flags, real pagination with locate, one global machine translation run shown next to uploads.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Sonnet 5.5 committed 2026-10-25 19:24:20 +03:00
1 parent 5f6bd4508e
commit 7fa88e4025
82 files changed
+978 -187

No files matched your search

+11
View File
@@ -213,11 +213,22 @@ translate russian strings:
`PGames: <игра> (<исходный> → <язык>)`: контекст из описания игры, глоссарий
из вкладки «Глоссарий», пожелания пользователя. Проект находится по имени и
обновляется перед каждым запуском;
* запуск живёт в провайдере выше страниц (`translator/runner.tsx`): перевод идёт,
пока вкладка открыта, даже если уйти из редактора; его карточка с прогрессом и
кнопкой «Остановить» стоит в том же плавающем окне, что и загрузки. Одновременно
работает только один перевод (на все игры и языки), пока он идёт, кнопки
отдельных строк недоступны; закрытие вкладки браузер подтверждает;
* автоперевод идёт по списку так, как его видит пользователь: текущая
вкладка («Реплики» или «Имена и меню»), фильтр по файлу и поиск, сверху вниз.
Берутся строки «не переведено» (и «устарело» по желанию) страницами по 40;
страница уходит одним заданием, готовое сразу сохраняется, появляется в
открытых строках и обновляет прогресс в шапке;
* список разбит на страницы (20/40/100/200 строк, номера страниц, переход по
номеру); сервер в `GET …/entries` по параметру `locate=<ключ>` возвращает
`located`, позицию строки в том же отфильтрованном списке. По нему режим
«Следить за переводом» (включён по умолчанию, выключается кнопкой над списком,
флажком в панели или ручным листанием) открывает страницу, на которой модель
работает сейчас, и подсвечивает строки текущей пачки;
* у каждой строки есть кнопка «Перевести» (пока переводчик подключён): она
переводит одну строку с тем же контекстом и глоссарием и помечает её
«Машинный». Редактор ищет переводчик сам, только если он уже работал в этом