Можливості
BF1LocalizationTool.GUI — WPF-редактор для створення й редагування локалізацій обох ігор. Читає й пише core.lvl напряму в пам’яті через власний UcfbReader/UcfbWriter — без сторонніх утиліт (QuickBMS, munge/unmunge). Автовизначення версії гри за шляхом до файлу та формату рядків (текстовий .txt чи бінарний Locl) — за фактичним вмістом чанка. Фільтри рядків за мовою, статусом перекладу й технічністю (Технічний / Перекладено / Без перекладу — взаємовиключні); валідатор збереження технічних маркерів (%s %d %i %f %c %u, {btn...}, [X], переноси рядка) з жорстким відхиленням російських літер, що потрапили в переклад; налаштовуваний поріг “задовгого” перекладу (за замовчуванням 1,3× оригіналу + запас), відкалібрований на реальних випадках обрізання тексту в грі; автовизначення технічних рядків, які не потребують перекладу (URL, числа, ідентифікатори, назви клавіш, чит-коди, copyright); автозбереження прогресу, файлове логування; експорт/імпорт CSV для пакетного перекладу через зовнішні сервіси. Темна/світла тема.
BF1LocalizationTool.Diagnostic (консольний, розповсюджується лише як вихідний код) вирішує головне обмеження BF1: текстовий канал .txt (Latin1) сам по собі не підтримує кирилицю. Інструмент ін’єктує нові кириличні гліфи (реальні Unicode-коди, без таблиці-мапера) напряму в шрифтовий атлас core.lvl, не обрізаючи жодного англійського гліфа. Растеризація й метричні моделі гліфів — окремим модулем BF1LocalizationTool.FontGenerator.
Формат файлів
Гра зберігає ресурси в ієрархічних .lvl-контейнерах (ucfb, Pandemic Studios). Рядки локалізації лежать у core.lvl → localization → [мова] в одному з двох форматів: текстовий .txt (0xHASH текст, Latin1, обидві гри — без підтримки кирилиці) або бінарний Locl (hash + текст, UTF-16LE, лише BF2 — повна підтримка кирилиці з коробки). Увесь текст BF1 підтверджено лежить рівно у двох файлах (Data\_LVL_PC\core.lvl і аддон Tat3\...\core.lvl), шрифти — лише в першому; аддон Tat3 не має власних шрифтів і використовує атлас базової гри.
Вимоги
Windows 10/11, Star Wars: Battlefront (Classic 2004) і/або Battlefront II у Steam. Готові збірки (win-x64/win-x86) не потребують встановленого .NET; варіант generic потребує .NET 10 Desktop Runtime. Генерація кириличного core.lvl через BF1LocalizationTool.Diagnostic (лише з коду) додатково потребує .NET 10 SDK.
Завантаження
Актуальні релізи (готовий .zip з GUI-редактором) доступні на GitHub Releases. Реліз містить лише GUI; BF1LocalizationTool.Diagnostic збирається з коду окремо.
Безпека та прозорість
Вихідний код усіх компонентів повністю відкритий, уся логіка перетворень .lvl-файлів прозора — це дозволяє верифікувати мод на Nexus Mods. Репозиторій не містить видобутих файлів гри та жодних .ttf-файлів шрифтів (вони публічні на Google Fonts, посилання — у розділі подяк).
Пов’язаний проєкт
Розроблено для Star Wars: Battlefront (Classic 2004) — Українська локалізація.
Подяки
- Спільнота Gametoast — документація форматів гри
- swbf-unmunge — початковий аналіз структури ucfb
- Sofia Sans Extra Condensed (Lettersoup — Botio Nikoltchev, Ani Petrova, SIL OFL) — шрифт для рендеру кириличних гліфів BF1
- Unbounded (Web3 Foundation / Studio Koto / NaN / Parity Technologies, SIL OFL) та Exo 2 (Natanael Gama, SIL OFL) — шрифти для рендеру кириличних гліфів BF2