Releases: LittleBitUA/SWERY-Localization-Tool
Release list
v1.0.19 — DP2: active file keeps its color tint
🔧 Виправлення
DP2 — active state у sidebar не «з'їдає» колір
У 1.0.18 коли ти клацав на повністю перекладений (зелений) або зредагований (помаранчевий) файл, він ставав синім (default accent). Тепер active state малює тільки text-strong + row-active фон, а іконка, прогрес-бар і лічильник зберігають свій колір:
- Default → синій бар
- «Перекладено» / 100% complete → зелена іконка + бар + лічильник
- «Зредаговано» → помаранчева ручка + бар + лічильник
Edited перекриває done, як і раніше.
v1.0.18 — DP2: ПКМ по файлу «Перекладено» / «Зредаговано»
✨ Нові фічі
DP2 — ПКМ по файлу у sidebar
Правий клік на файл тепер дає 2 нові дії:
- ✓ «Перекладено» — масово ставить
markedTranslated=trueна всі рядки файлу (як bulk-mark у HBR). Файл переходить у зелений (іконка-чек, прогрес-бар зелений). - ✎ «Зредаговано» — file-level прапор. Файл фарбується помаранчевим (іконка-перо, прогрес-бар і лічильник теж помаранчеві). Перекриває зелений, якщо обидва увімкнено.
Кожен пункт можна зняти повторним кліком (показує «Зняти позначку»).
DP2 — corpus-stats враховує markedTranslated
Огляд готовності і home-progress тепер бачать рядки, які ти ручно позначив через ПКМ. Раніше після bulk-mark file ставав зеленим у sidebar, але загальний % не змінювався.
DP2 — ПКМ-меню FileList clamped
Меню на нижніх файлах більше не вилазить за viewport — позиція автоматично підтягується вгору.
v1.0.17 — HBR home progress matches header
🔧 Виправлення
HBR home progress зрівнявся з header
Home показував 96% (4558/4751), а header у редакторі — 99.98% (4750/4751). Розходження ~4% / 192 рядки — це manual ПКМ-марки «Позначити перекладеним», які home worker не бачив.
Тепер home worker:
- Читає
.hbr-status.jsonіз Done-теки. - Збирає всі
<fname>::<_TextId>::<variantIdx>зmarkedTranslated=true. - Додає їх до translated count, якщо парсер сам не вважає рядок перекладеним.
Той самий підхід, що для MISSING у v1.0.11. Home і header у редакторі тепер показують одне число.
v1.0.16 — HBR: «🔎 Знайти неперекладений рядок»
✨ Нова фіча
HBR — пошук неперекладеного рядка
Коли header показує 99.9% (типу 4750/4751), знайти той 1 рядок серед 60+ файлів — біль. Нова дія сканує всі файли по черзі, парсить і відкриває перший рядок, де:
- парсер не вважає його перекладеним
- це не system-row (порожній тег / прочерк)
- немає manual
markedTranslatedу status.json
Toast показує ім'я файлу + textId, редактор стрибає прямо на цей рядок.
Як викликати:
- 🛠 Інструменти → «🔎 Знайти неперекладений рядок»
- Ctrl+K → «find untranslated» / «99.9%»
v1.0.15 — HBR: ПКМ по файлу → «Позначити перекладеним»
✨ Нова фіча
HBR — bulk-mark усього файлу через ПКМ
Правий клік по файлу у sidebar тепер додатково дає:
- ✓ Позначити увесь файл перекладеним (зеленим)
- ✗ Зняти позначку з усього файлу
Дія читає Done-JSON файлу, парсить рядки, і одним рухом ставить markedTranslated=true у sidecar status-файлі для кожного (textId, variantIdx). Прогрес у sidebar (% та колір рамки) оновлюється миттєво.
Корисно для файлів, які повністю перекладені латиницею (UI-метки, числа, спецсимволи) або де переклад дослівно повторює оригінал — щоб % рахувався як 100%, а не залишався жовтим.
Існуючі пункти меню — Restore from bak / Restore original / Open folder — лишилися як були.
v1.0.14 — MISSING: «Зібрати білд для релізу»
✨ Нова фіча
MISSING — «📦 Зібрати білд для релізу»
Однією кнопкою (меню 🛠 Інструменти або через Ctrl+K) збирає всі модифіковані ігрові файли (текст, текстури, шрифти, DLL, sharedassets, box-sizes) у:
Documents/SWERY-Localization-Tool/MISSING/Release/
із збереженою структурою TheMISSING_Data/.... Готову теку можна одразу копіювати у гру.
Як це працює: скрипт рекурсивно сканує TheMISSING_Data/ й знаходить усі .bak (різних типів — .bak, .tex.bak, .resS.bak, .uitxt.bak, .dll.bak). Для кожного backup'а копіює живий counterpart до Release-теки. Якщо .bak нема — файл не модифікувався і не потрапить у білд.
Бонусом: автоматичний README.txt з версією тулзи, датою збірки, повним списком файлів і інструкцією встановлення (3 кроки).
Після збирання — модалка пропонує відкрити теку у Провіднику одним кліком.
v1.0.13 — DP2 home: translated as primary, approved as secondary
🔧 Виправлення
DP2 — головна тепер показує перекладено як основну метрику
У v1.0.12 на головній показувалося тільки approved (затверджені рядки), що збивало з пантелику: 494/18 436 · 3%, коли реальна робота перекладу — 10 877/18 436 · 59%.
Тепер:
- ПРОГРЕС = перекладено / усього · % (10 877 / 18 436 · 59%) — основна метрика, відповідає очікуванню «скільки роботи зроблено».
- Дрібним нижче: затверджено: N · X% — окрема лінія, якщо хоч одна approve-позначка є.
Так бачиш одночасно і «що переклав», і «що готове до пакування».
v1.0.12 — DP2 editing readiness + ctxmenu fix
✨ Що нового
DP2 — «Готовність редагування» у загальному прогресі
Прогрес на головному екрані тепер показує кількість рядків, які ти явно затвердив через ПКМ → Затвердити (status="approved"). Це показує що готово до пакування у гру, а не просто перекладено.
- Worker читає
.dp-status.jsonпоряд із JSON-текою. - Якщо approved=0 (новий проєкт), fallback на translatedEntries — щоб ти не бачив 0%.
DP2 — ПКМ-меню на нижніх рядках
Раніше ПКМ внизу таблиці обрізав менюшку, частина пунктів («Trim», «Copy original», «Bookmark») не вміщалися. Тепер позиція clamped до viewport — повний список завжди видно.
DP2 — кнопка «Тека JSON» прибрана
Виглядала legacy після того як preps-wizard'и стали повноцінним shapeом. Менше шуму у хедері.
Що було у попередніх версіях (теж входить у цей EXE)
- v1.0.11 — Home progress MISSING збігається з «Огляд готовності» (без HAS_CYR, читає status.json)
- v1.0.10 — 🔥 CRITICAL fix:
saveFile()більше не стирає попередні переклади - v1.0.9 — масштабне GUI-оновлення (Ctrl+K, Tools/File меню, sidebar 2.0, tag highlight, cheatsheet, TM, glossary)
v1.0.11 — Home progress matches Overview
🔧 Виправлення
MISSING — Home progress тепер збігається з «Огляд готовності»
Раніше прогрес на головному екрані рахувався по іншому, ніж у редакторі:
- Home worker вимагав кирилицю у перекладі → рядки типу
\"OK\" → \"OK\", цифри і т.ін. не зараховувались. - Home worker не читав
Meta/status.json→ manual ПКМ-mark «Позначити перекладеним» (для\":)\",\"...\",\"?\") не враховувався.
Тепер home worker:
- Прибрав HAS_CYR-перевірку (як у Overview)
- Читає status.json і трактує
markedTranslatedяк перекладене - Обчислює
msgEnum(через lengthTable + msgBase у header) для матчингу ключів зі status.json
Результат: head і Огляд готовності показують одне число (наприклад 100% / 100%, а не 92% / 100%).
Підказка
Якщо в тебе ще запам'ятався старий неправильний %, натисни «Оновити» у Огляді готовності — оновиться кеш.
Що ще було у 1.0.10 (для зручності, тут же в EXE)
- 🔥 Критичне виправлення:
saveFile()будував зorigMsg + editsзамістьdoneMsg + edits— тобто стирав попередні переклади у файлі. Виправлено у 1.0.10. - ПКМ по файлу у sidebar (MISSING): «Позначити увесь файл перекладеним» / «Зняти позначку» / «Відкрити»
TR → L0 (EN)у header, прибрано JP/CN/KR слоти[__Interface__]секція combined.txt — whitelist на YES/NO
Що було у 1.0.9 (у цьому EXE також)
- Командна палітра (Ctrl+K), Tools/File меню, sidebar 2.0, tag highlight, cheatsheet (?), collapsible Monaco
- HBR: Translation Memory, Glossary, drag-resizable sidebar, migration diff (UI)
- 80+ нових i18n-ключів (UA + EN) для нового UI
v1.0.10 — CRITICAL data-loss fix
⚠️ CRITICAL FIX — Update immediately
Що було поламано у v1.0.9 (MISSING)
Зберегти файл у редакторі The Missing стирав усі попередні переклади і лишав тільки рядки, що зараз у буфері edits (тобто щойно правлені). Будь-який файл, який ти відкривав і зберіг (вручну або автозбереженням через 20 с), повертався до повного англійського тексту з 1-3 щойно змінених рядків.
Причина: saveFile() будував файл з origMsg + edits замість doneMsg + edits (MissingEditor.tsx:778).
Як перевірити, чи постраждав
У Documents\SWERY-Localization-Tool\MISSING\Text\ порівняй розміри файлів:
Original/msgXXXXen-NNN.datvsDone/msgXXXXen-NNN.dat- Якщо
Doneмає приблизно той самий розмір, щоOriginal(різниця 0–100 байт), скоріш за все переклад втрачено.
Як відновити втрачені переклади
- У грі переклади досі є у
<game>\TheMISSING_Data\resources.assets(бо ти раніше робив Pack). - Запусти Витягти з гри на головному екрані MISSING — це перезапише
Original/таDone/свіжими копіями з гри. Усі переклади що були у грі — повернуться уDone/. - Якщо
Original/має.bakфайли — переконайся, щоDone/файли більші заOriginal/, тоді все добре.
ℹ️ У моєму локальному дамзі бекап ламаних файлів збережено як
*.broken-recovery— якщо подивитися старий стан, він там.
Інші зміни
- ПКМ по файлу у sidebar (MISSING): «Позначити увесь файл перекладеним» / «Зняти позначку» / «Відкрити»
- Прибрано
L1 (JP) / L2 (CN?) / L3 (KR?)слоти з header dropdown — лишився тількиTR → L0 (EN) [__Interface__]секція у combined.txt тепер вмикає тільки YES/NO (whitelist)
Налаштування i18n
- 80+ нових ключів у
src/lib/i18n.ts(UK + EN) для нового UI v1.0.9 - LangToggle UA↔EN тепер перемикає увесь header, command palette, sidebar 2.0, cheatsheet, ПКМ-меню