Редактор локализаций для UE4
Когда мы занялись локализацией нашей игры, то поняли что встроенный в движок редактор нам не подходит. На тот момент он даже в мультилайн не умел (баг?). Возможно, он удобен для больших дядь, которые умеют во всякие Localization Service Provider (чего?). Но для нас проще отправить Exel’евский файлик и быть уверенными, что любой переводчик сможет с ним работать. В итоге получилось это:
Для чего эта штука нужна и что она умеет? Во-первых, переводы можно править прямо в ней. Есть поиск и сортировка по нужным столбцам, удобно работает копипаста. Но, самое главное: эта штука умеет экспортировать переводы в табличку Excel (импорт ессно тоже есть). Получается такой результат:
Инструкция
- Для начала нужно в Unreal Engine подготовить все для локализации: ссылка на статью об этом. Затем выполнить Gather и Compile для всех локализаций.
- Дальше в утилите нужно открыть файл *.manifest из папки [YOUR_project]\Content\Localization\Game. Все локализации (*.archive) подтянутся автоматически.
- Можно работать. Для того чтобы изменения применились к строке нужно жать [Ctrl] + [Enter].
- Сохраняем все опять в *.manifest, а все *.archive cохранятся автоматически.
- После запускаем Unreal Engine и делаем Gather + Compile. И все 😊
Теперь о том как делать импорт и экспорт:
- Не забываем в начале и в конце делать Gather + Compile в UE4.
- Открываем *.manifest
- Выполняем File -> Export… и выбираем в какой файл сохранить. Утилита не требует Excel, все происходит через библиотеку EPPlus 4.5.
- Таблица разделена на 2 части: верхние строки редактируемые (номер и ID ессно трогать нельзя), а все что лежит после красной строки
--== ! DO NOT translate THE TEXT BELOW ! == service DATA ==--
трогать вообще нельзя. - Непереведенные ячейки будут красными, так их легко найти переводчику, особенно если это вторая или третья итерация перевода.
- После экспорта, я советую отсортировать все строки (из редактируемой части ессно) по ID. У нас так хоть какая-то логика сохраняется в текстах и переводчику проще понять что к чему относится.
- Отправляем на перевод и ждем…
- После того, как придет результат, не забываем отсортировать строки обратно по номеру (#).
- В программе выбираем File -> Import… и, если все было сделано правильно, то загрузится перевод. Можно включить «глаз» (Hide Translated) и пощелкать по различным локейлам, чтобы проверить переведены ли все строки.
- Далее жмем File -> Save As… и выбираем ваш *.manifest. Все.
Исходный код и программа
Утилита написана на C#, требует. Net 4.0 и пару пакетов из NuGet (они подтянутся автоматически). Исходники можно забрать отсюда:
Периодически я делаю релизы. Просто скачиваем, распаковываем и пользуемся:
Программа тестировалась только на нашей игре. Поэтому 100% гарантии работоспособности дать не могу. Если будут ошибки, замечания или предложения — пишите. Если прога форматнет ваш диск, украдет все ваши сбережения или убьет кота, то я ни при чем 😊
Надеюсь, утилита будет полезна не только нам, пользуйтесь на здоровье! Всем бобра!