Skip to content

Releases: LittleBitUA/SWERY-Localization-Tool

v1.0.19 — DP2: active file keeps its color tint

Choose a tag to compare

@LittleBitUA LittleBitUA released this 02 Jun 21:00

🔧 Виправлення

DP2 — active state у sidebar не «з'їдає» колір

У 1.0.18 коли ти клацав на повністю перекладений (зелений) або зредагований (помаранчевий) файл, він ставав синім (default accent). Тепер active state малює тільки text-strong + row-active фон, а іконка, прогрес-бар і лічильник зберігають свій колір:

  • Default → синій бар
  • «Перекладено» / 100% complete → зелена іконка + бар + лічильник
  • «Зредаговано» → помаранчева ручка + бар + лічильник

Edited перекриває done, як і раніше.

v1.0.18 — DP2: ПКМ по файлу «Перекладено» / «Зредаговано»

Choose a tag to compare

@LittleBitUA LittleBitUA released this 02 Jun 20:50

✨ Нові фічі

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

Choose a tag to compare

@LittleBitUA LittleBitUA released this 02 Jun 17:04

🔧 Виправлення

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: «🔎 Знайти неперекладений рядок»

Choose a tag to compare

@LittleBitUA LittleBitUA released this 02 Jun 16:59

✨ Нова фіча

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: ПКМ по файлу → «Позначити перекладеним»

Choose a tag to compare

@LittleBitUA LittleBitUA released this 02 Jun 15:50

✨ Нова фіча

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: «Зібрати білд для релізу»

Choose a tag to compare

@LittleBitUA LittleBitUA released this 01 Jun 14:51

✨ Нова фіча

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

Choose a tag to compare

@LittleBitUA LittleBitUA released this 29 May 13:06

🔧 Виправлення

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

Choose a tag to compare

@LittleBitUA LittleBitUA released this 28 May 19:56

✨ Що нового

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

Choose a tag to compare

@LittleBitUA LittleBitUA released this 24 May 12:32

🔧 Виправлення

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

Choose a tag to compare

@LittleBitUA LittleBitUA released this 23 May 17:37

⚠️ 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.dat vs Done/msgXXXXen-NNN.dat
  • Якщо Done має приблизно той самий розмір, що Original (різниця 0–100 байт), скоріш за все переклад втрачено.

Як відновити втрачені переклади

  1. У грі переклади досі є у <game>\TheMISSING_Data\resources.assets (бо ти раніше робив Pack).
  2. Запусти Витягти з гри на головному екрані MISSING — це перезапише Original/ та Done/ свіжими копіями з гри. Усі переклади що були у грі — повернуться у Done/.
  3. Якщо 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, ПКМ-меню