Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

UnityText — работа с текстом бинарных файлов 

wL3OS70.png

Версия: 2.1.6841.19286

Скачать

T7QLOnr.png     zx29Naf.png

О программе

 

Утилита предназначена для редактирования текста в бинарных файлах. В первую очередь это так называемые «MonoBehaviour» файлы игр, разработанных на Unity.

Изначально утилита создавалась для внутреннего использования для помощи в переводе Unity-игр, в виду чего в ней не закладывался большой потенциал, что привело к ряду ограничений и упрощений. Но за 3 года существования она вышла за изначальные рамки, и несмотря на то, что в ней много чего изменилось за это время, мне продолжают регулярно поступать вопросы. Поэтому было принято решение выпустить «мажорное» обновление и создать тему на форуме, в которой описать, что и как работает.

О версии 2

 
  • Полностью переписанный код
  • Добавлены/расширены настройки
  • Редактирования диапазонов символов, реализовано через интерфейс
  • Новый фильтр с новыми опциями
  • Предустановки для настроек и фильтров
  • Экспорт в CSV в новом формате, с расширенными настройками
  • Возможность работы с любыми файлами (не только из Unity, имеющими выравнивание данных в 4 байта и текст в кодировке UTF-8)

О работе

 

Некоторые пользователи UnityText не до конца, а может и совсем, не понимают принцип ее работы. Утилита не работает с каким-то определенным форматом данных, она просто сканирует файл в поисках текста по определенным условиям. Именно это позволяет UnityText работать с любым файлом. Важно понимать, успех результата будет зависеть от корректности настроек утилиты, но даже это не всегда может гарантировать 100% верный результат. Еще более важно, несмотря на то, что утилита изменит весь текст, который она найдет в файле, это может вызвать проблемы в работе игры/программы. Проблема кроется в структуре бинарного файла, а именно в том содержит ли она в себе размеры (общий или отдельных блоков), ссылки на данные (смещения). Однако все выше написанное относится к тем, кто соберется использовать UnityText для не Unity-игр.

О диапазонах символов

 

Именно диапазоны символов отвечают, в первую очередь, за то, будет ли принята найденная строка утилитой. Раньше они задавались исключительно через cfg файл, что для кого-то было затруднительно.

Важно, при первом запуске не забудьте отредактировать настройки диапазона по умолчанию.

Предваряя вопрос «Почему не использовать все символы?», отвечу, что это сделано чтобы избежать лишних «срабатываний». Даже если отсеять все непечатные символы (из групп control, format, surrogate), то останется тысячи, которые могут помешать корректному определению «правильной» строки. К тому же, таким образом вы всегда можете отсеять ненужные языки (например, использующие иероглифы).

Для задания диапазонов символов нужно нажать кнопку «C» на панели кнопок. Все доступные (описанные в файле ucd.xml) символы Unicode собраны в «Наборах символов/Character Set», они разбиты на блоки. Для удобства символы разных категорий (типов) окрашены в разные цвета. По умолчанию это зеленый для букв, оранжевый для цифр, фиолетовый для знаков пунктуации, синий для специальных знаков (математических, технических, денежных и т.п.), красный для разделителей и серый для остальных. Цвета можно изменить, см. раздел «О другом». Добавлять/удалять символы из диапазона можно с помощью мышки (по одному, диапазоном, строками или целыми блоками) или из панели «Выбрать диапазон/Select Range». На панели необходимо задать начальный символ диапазона или его код Unicode (десятичный или шестнадцатеричный) и конечный символ, затем нажать кнопку «+» или «-». Помимо этого, можно выбрать сразу все буквы алфавитов (прописанных в cfg). Для этого нужно нажать кнопку «С», выбрать алфавит из списка, а затем нажать кнопку «+» или «-».

Панель «Обновление данных/Update Data» позволяет обновить информацию о символах с сайта unicode.org и алфавитах с сайта unicode-table.com. Вы можете выбрать какая информация будет обновлена: о блоках Unicode (флажок «Данные блоков/Block Data»), о символах (флажок «Данные символов/Char Data»), о категориях/группах символов (флажок «Категории/Categories»), о алфавитах (флажок «Алфавиты/Alphabets»). Флажок «Блок управляющих символов/С0 Control Block» добавляет отдельный блок управляющих символов (U+00 — U+1F), который в Unicode включен в блок «Basic Latin».

Также вы можете изменить шрифт отображения символов, это полезно если шрифт по умолчанию не содержит необходимых вам символов. Вы можете выбрать один из установленных в системе шрифтов из списка Fonts или загрузить свой нажав кнопку «…».

Диапазоны символов можно сохранить в предустановках (Presets) вместе с настройками.

В версии 2.1 появилась несколько новых возможностей. Во-первых, возможность скрывать блоки в которых ничего не выбрано (кнопка «☑»). Во-вторых,  возможность выделять в блоке только буквы (кнопка «Б/L») или только печатные символы (кнопка «П/P»). Данные фильтры применяются только при выделении целого блока, т.е. при клике по флажкам. В-третьих, добавлен пошаговый поиск в по названиям блоков, просто начните набирать с клавиатуры названия блока, при этом фокус должен быть на «Наборах символов/Character Set». Ну и последняя добавленная функция — это «Пошаговое сканирование/Step-by-step Scan» (кнопка «С/S»). При данном сканировании учитываются все печатные символы (с 10%-ным допуском непечатных) и, если символы не выбраны в «Наборах символов/Character Set», будет предложено их добавить в диапазон.

Также в версии 2.1 появилась настройка «Печатные символы вместо диапазонов/Printable Instead of Ranges», которая позволяет отказаться от настройки «Диапазонов символов/Character Ranges». Это не панацея, так как может привести к ошибочным результатам, но иногда может пригодиться.

О настройках

Скрытый текст

Для отображения дерева настроек нужно нажать кнопку «O» на панели кнопок. Все настройки для удобства разбиты на группы. Помимо их значений, можно указать будет ли сохраняться настройка в предустановках. Через контекстное меню можно установить значения всех настроек по умолчанию, а также пометить их все для сохранения.

  • Настройки поиска (Search Options)
    Лучше не завышать эти настройки, чтобы потом не выяснять почему утилита «зависла», выставляйте их с умом и в меру потребностей.
    • Глубина поиска (Search Depth)
      Указывает количество обрабатываемых подкаталогов при поиске файлов для сканирования, т.е. на сколько уровней «вглубь» опустится поиск
    • Максимальный размер файла (Max File Size)
      Файлы, размер (в байтах) которых превышает данное значение не будут обрабатываться утилитой, однако они появятся в списке результатов с пометкой «#FileSizeLimit#». Опция добавлена, чтобы большие файлы не тормозили общий процесс, вы всегда (если это требуется) можете просканировать их отдельно.
  • Настройки сканирования (Scan Options)
    • Big Endian
      Устанавливает порядок байтов от младшего к старшему, стоит обратить внимание при сканировании консольных ресурсов.
    • Длина подстроки (Substring Length)
      В UnityText предполагаемая строка текста проходит проверку не полностью (символ за символом), а по определенному алгоритму. Строка разбивается на подстроки указанной длины, и каждая подстрока проверяется все менее тщательно. Т.е. у первой подстроки проверяется каждый символ, у второй — каждый второй, у третьей — каждый третий и т.д. до достижения значения «Частоты», заданное опцией, описанной ниже.
    • Частота (Frequency)
      Значение частоты проверки подстрок алгоритма, описанного выше, после которого частота перестает изменяться. Т.е. при значении равном 4 для третей подстроки будет проверяться каждый третий символ, для четвертой — каждый четвертый, для пятой — также каждый четвертый, как и для всех последующих подстрок.
    • Минимальная размер строки (Min String Size)
      Строки, размер (в байтах, не путать с длинной в символах) которых меньше данного, не будет учитываться утилитой. Важно отметить, что строка не просто будет пропущена, а утилита будет дальше обрабатывать ее данные как бинарные. Также стоит быть аккуратным, указывая значение равное 1, т.к. это может привести к ошибочным результатам сканирования.
    • Максимальный размер строки (Max String Size)
      Значение размера (в байтах, не путать с длинной в символах), указывающее максимально допустимый размер строки, все превышающие, как и в случае с «Минимальной длиной», не будут учитываться. За все время мне попался только один файл, который содержал в себе «выдающуюся» строку, содержавший какой-то JSON-текст, ее размер был равен почти 450 000 байт. Но это скорее исключение, поэтому рекомендуется выставлять небольшие значения, это может значительно ускорить сканирование.
    • Печатные символы вместо диапазонов (Printable Instead of Ranges)
      Данная настройка упраздняет «Диапазоны символов». При ее включении строка может содержать в себе любые печатные символы. Стоит отметить, что это может привести к некорректным результатам.
    • Пропускать без букв (Skip Without Letter)
      Строка с длиной не превышающей длину подстроки (Substring Length), и которая не содержит букв, не будет учитываться при сканировании.
    • Упрощенная проверка (Simple Check)
      Будет проверено только начало строки (первая подстрока)
    • Динамический фильтр (Runtime Filter)
      Фильтр будет применен во время сканирования, таким образом, отфильтрованные строки не попадут в итоговые результаты.
  • Настройки экспорта в Csv (Csv Export Options)
    • Внешние бинарные данные (External Bin Data)
      Новый формат хранения данных, бинарная часть из csv файла помещается в отдельный файл, что делает csv «чище» и значительно уменьшает его размер
    • Esс-последовательности (Esc-Sequences)
      Происходит замена некоторых символов на escape-последовательностями (сочетание косой черты и символа) при экспорте, обратная замена при импорте csv
      \n  — новая строка
      \r  — возврат каретки
      \t  — горизонтальная табуляция
      \\  — обратная косая черта
    • Столбец с индексом (Index Column)
      Добавляет в файл csv столбец с порядковым номером строки, может быть полезен для возвращения исходной сортировки, которая важно при импорте csv
    • В несколько столбцов (Multicolumn Mode)
      Строки между которыми нет данных, экспортируются в несколько столбцов. Это полезно для файлов, которые содержат в себе несколько локализаций. Однако при этом не учитываются пустые строки.
      • Предполагать наличие длины (Assume Array Length)
        Опция, расширяющая работу предыдущей. При ее включении утилита анализирует данные, предполагая, что перед строками указывается их количество, отдельно для каждого массива (группы) строк. Данная опция учитывает пустые строки.
    • Максимальная длина строки в ячейке (Max String Length in Cell)
      Текст, длина которого превышает указанное значение, разбивается на подстроки, которые размещаются в отдельных ячейках. Опция, в первую очередь, призвана избавить от ограничения на длину текста в ячейках электронных таблиц
      • Разбивать по разделителям (Split by whitespace)
        Опция, расширяющая работу предыдущей. Текст, по возможности, разбивается по переносам строки, табуляции, разделителям и знаком пунктуации.

О фильтрах

Скрытый текст

Для включения фильтра нужно нажать кнопку «Ф/F» на панели кнопок. Важно понимать, что фильтр применяется только когда кнопка нажата, т.е. когда панель «Фильтр» («Filter») видна. В новой версии UnityText фильтры не применяются во время сканирования, они применяются к уже найденному тексту, что позволяет менять их без повторного сканирования данных. Также добавилась возможность временно отключить тот или иной шаблон фильтра, сняв флажок возле него. Все отфильтрованные строки вычеркиваются из списка результатов (отображаются зачеркнутым шрифтом).

Все основные команды фильтра доступны через контекстное меню. Через него можно добавить, отредактировать или удалить паттерн, а также полностью очистить фильтр. Кроме того, там же доступен пункт для обновления фильтра. По умолчанию обновление происходит при смене фокуса с панели фильтра. Новый паттерн фильтра можно добавить также, как и в старой версии, отредактировав «New Pattern», однако для того чтобы ввести многострочный текст придется воспользоваться контекстным меню. При редактировании фильтра через контекстное меню отобразится многострочное поле для ввода текста. Подтвердить или отменить действие можно с помощью кнопок или клавиатуры, соответственно Ctrl+Enter и Esс.

Список доступных настроек для фильтра расширился. Теперь в него входят следующие настройки:

  • Учитывать регистр (Case Sensitive)
  • Строка целиком (Whole String Only)

  • Использовать регулярные выражения (UseRegularExpressions)
    Подробнее о том какие регулярные выражения используются можно узнать здесь

  • Соседние строки (NeigborString)
    Если указанный шаблон фильтра соответствует строке и значение этой настройки не равно 0, то фильтруется строка, положение которой отличается на значение указанное в опции

    • Включая строку шаблона (IncludePatternItem)
      Будет отфильтрована и сама строка, которая соответствует шаблону 
    • Включая промежуточные строки (IncludeIn-BetweenItems)
      Все строки между текущей (удовлетворяющей шаблону) и соседней ей (отстоящую на указанную позицию) будут отфильтрованы

  • Маска файла (File Mask)
    Фильтр будет применяться только к файлам, имена которых удовлетворяют фильтру. Фильтр применяется только к именам файлов, не к именам каталогов

Для фильтров предусмотрено сохранение в предустановках подобно диапазонам символов.

Помимо основного фильтра в новой версии появилась возможность ручной фильтрации, имеющей приоритет над основной. Указать значение ручного (применять или нет) фильтра или сбросить его можно через контекстное меню на нужной строке.

Об обновлениях

 

В программе предусмотрена автоматическая проверка обновлений, но для ее работы нужно наличие SSL библиотек (libeay32.dll и ssleay32.dll). Они уже могут быть установлены (зарегистрированы) в вашей системе, например, другими программами. Узнать об этом можно просто открыв окно «About» (кнопа «?»). Если в открывшемся окне, есть флажок «Check for Update» значит библиотеки найдены. В случае их отсутствия и желания использовать функции обновления, вы можете скачать библиотеки самостоятельно, например, отсюда или из другого источника. Нужна версия для Win32. Если вы скачивали библиотеки отдельными файлами, то дальше вы можете их зарегистрировать в системе (для последующего использования другими утилитами) или просто скопировать в папку с UnityText.

Помимо проверки обновления, в UnityText есть возможность обновления данных по символам Unicode (с официального сайта), а также информации об алфавитах (с ресурса unicode-table.com). В отличии от первого, второму также нужно наличие SSL библиотек.

О прочем

 
  • Как работать с другими (не «Unity») файлами?
    Как я писал возможность такая в новой версии предусмотрена, но так как она не тестировалась, я ее решил скрыть. Если кому-то в ней заинтересован, то напишите мне в ЛС.
    Начиная с версии 2.1 «Расширенные настройки/Expert mode» доступны всем. Экспериментируйте на здоровье =)
  • Где русский?
    Это, как мне кажется, самый странный вопрос, который мне приходится слышать… от переводчиков =) Доступен начиная с версии 2.1. Скачать можно здесь.
  • А вы знали, что?..
    • В поле ввода пути можно использовать Enter для подтверждения
    • Там же можно указывать расширенные маски файлов с использованием символов подстановки
    • Там же можно указывать через «;» несколько масок файлов
    • В результатах сканирования можно сворачивать узлы файлов (двойной клик или стрелка влево на имени файла)
    • В предустановках всегда есть возможность загрузить последнюю не сохраненную, очистив поле ввода и нажав Enter
    • Там же, при заполненном поле, нажатие Enter позволит сохранить/загрузить предустановку
    • С помощью файла cfg, вы можете менять внешний вид программы, например, можно изменить размер/цвет шрифта/компонента
    • Для изменения максимального количества хранимых предустановок для путей, необходимо в файле cfg отредактировать значение атрибута «Tag» для узла «Components\btnPresetPathAdd»
    • Для изменения цвета категории символа необходимо в файле cfg добавить или отредактировать атрибут «Color» для узла «UCD\Category» (работает и для дочерних узлов), значение цвета задается в шестнадцатеричном формате BGR
    • Для обновления данных алфавитов можно указать язык (поддерживаемый unicode-table.com), для этого в файле cfg нужно добавить атрибут «Locale» для узла «UCD\Alphabets» со значением кода ISO 639-1 (двухбуквенное обозначение)
    • Для увеличения размера списка последних путей, необходимо в файле cfg отредактировать значение атрибута «Tag» для узла «Components\cbbPath»
    • Можно обмениваться предустановками через буфер обмена с помощью комбинации клавиш Ctrl+Shift+C/Ctrl+Shift+V, находясь внутри поля предустановок. При экспорте в буфер помещается xml, который можно передать другому пользователю.
  • Что еще может быть полезным для локализации игр на Unity?

История версий

Скрытый текст

 

Изменено пользователем StiGMaT
новая версия, редактирование информации
  • Спасибо (+1) 1
  • +1 2

Поделиться сообщением


Ссылка на сообщение

Заранее извиняюсь если есть косяки в тексте или форматировании, редактор на новой версии форума “тихий ужас” =(

А также большая просьба к тем кто владеет грамотным английским, буду благодарен за перевод (можно без воды, как у меня) текста.

Поделиться сообщением


Ссылка на сообщение

Воу! Что-то не воткнула меня новая версия, но нужно присесть на неё срочно для теста, а куда пропала золотая кнопка повторного сканирования, т.е. где не нужно опять выбирать путь к папке? Мульти для них сможешь добавить https://yadi.sk/d/l3tyb3nS3SkMYD?

Поделиться сообщением


Ссылка на сообщение

@makc_ar если ты о той, что была раньше a фильтрах, то теперь в ней нет необходимости, т.к.  фильтры обновляются при смене фокуса, т.е. если ты переключишься на что-то другое. Ну или их можно обновить из контекстного меню (ПКМ >Update). Если же тебе по каким-то причинам нужно пересканировать данные, то можешь просто нажать Enter в поле ввода пути к файлам.

Ну и по поводу “не воткнула”, надо чтобы ей начали пользоваться, чтобы сделать более “дружелюбной”, т.к. то, что понятно мне как разработчику, может быть совсем не понятно обычным пользователям. Именно поэтому и создал эту тему.

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение
2 часа назад, makc_ar сказал:

Мульти для них сможешь добавить https://yadi.sk/d/l3tyb3nS3SkMYD?

Вроде как должно работать, но в итоге не совсем корректный результат получается, позже гляну почему.

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение
6 часов назад, makc_ar сказал:

Мульти для них сможешь добавить https://yadi.sk/d/l3tyb3nS3SkMYD?

Собственно, глянул все еще раз, внимательнее первого, все работает как и должно, если добавить арабские символы в набор (Char ranges). Но тут есть такой нюанс, что при использовании экспорта в несколько столбцов (Multicolumn Mode) нельзя отфильтровать часть массива строк, только целиком (т.е. когда все элементы будут отфильтрованы). Если рассматривать конкретно твой случай, то названия языков (English и Arabic) так и будут маячить между строк, что собственно видно на скриншоте.

Вообще странные эти ребята-разработчики, зачем перед каждой строкой текста хранить название языка, да еще и в строке :fool:

Ну и главное, а зачем тебе (или не тебе?) арабский выдергивать вместе с английским? =)

Изменено пользователем StiGMaT

Поделиться сообщением


Ссылка на сообщение

@makc_ar эммм… и? Как будто в UnityText нельзя сделать тоже самое. Или другой софт выдернул с арабским в отдельной колонке? Разве ты не про это писал, когда спрашивал про “мульти”?

Поделиться сообщением


Ссылка на сообщение

@dawningteamvn это не MonoBehaviour файлы из архивов Unity, они больше похожи на файлы из твоих “favorite games”, которые ты мне высылал в ЛС :D

Конечно можно попробовать воспользоваться UnityText, для того чтобы вытащить текст, но мне сложно сказать насколько корректно она это сделает, потому что, как я тебе уже писал, я “очень плох” в китайском =)

Поделиться сообщением


Ссылка на сообщение
4 часа назад, StiGMaT сказал:

@dawningteamvn это не MonoBehaviour файлы из архивов Unity, они больше похожи на файлы из твоих “favorite games”, которые ты мне высылал в ЛС :D

Конечно можно попробовать воспользоваться UnityText, для того чтобы вытащить текст, но мне сложно сказать насколько корректно она это сделает, потому что, как я тебе уже писал, я “очень плох” в китайском =)

Hi StiGMaT, this is not from my favorite game :D Its an Unity game & I export its from bundle files. The CAB file contains txt files that me upload for you. So sad because I love chinese games :( Thank you for reply me :D 

Поделиться сообщением


Ссылка на сообщение

Во время сканирования нельзя пользоваться прогой?  Хотел свернуть, но что-то не получилось, я ещё хотел поменять имя в бинарной разметки шрифта, но название пропадает на редактирование строки. А можно сделать так, как это у обычных строк с текстом, т.е. выделение всей строки осталось?

Поделиться сообщением


Ссылка на сообщение
17 минут назад, makc_ar сказал:

Хотел свернуть, но что-то не получилось

Да это я перестарался слегка, исправлю в грядущем обновлении.

18 минут назад, makc_ar сказал:

я ещё хотел поменять имя в бинарной разметки шрифта, но название пропадает на редактирование строки. А можно сделать так, как это у обычных строк с текстом, т.е. выделение всей строки осталось?

Ты сейчас про UnityText? Про редактирование текста в самой утилите? Там все должно выделяться “как у обычных строк” при редактировании. В общем, я не понял тебя, поясни =)

Поделиться сообщением


Ссылка на сообщение

Вот название 890544dcce84.jpg

А на редаче такое сразу идёт 1c7ef342dcee.jpg

Вот разметки https://mega.nz/#!lkBzgKYD!jxCRA4LjVWOmBKErg96lQc_X3aOF-u9pS0k1RsdmRz4, а тип у них 1.1.2 для UnityFont? 

 

@StiGMaT 

И ещё можно поменять цвет на слово, это которое поисковик нашёл, а то всё сливается.

Поделиться сообщением


Ссылка на сообщение
11 часов назад, makc_ar сказал:

Вот название 890544dcce84.jpg

А на редаче такое сразу идёт 1c7ef342dcee.jpg

На лицо явно проблема с настройками диапазонов символов! Разве название должно включать “символы для рисования рамок” (или что это там за символы)? К тому же, походу кроме них даже “пустой символ” (u+0000) включен в диапазон. Закрадывается ощущение что кто-то просто выбрал “все, что можно”, а я писал в шапке почему так делать не рекомендуется. При правильных настройках (например с теми же настройками по-умолчанию, идущими с утилитой, которые включают в себя только основную и дополнительную латиницу) результат будет вполне корректным:

UT2_04.png

11 часов назад, makc_ar сказал:

тип у них 1.1.2 для UnityFont? 

1.2 со смещением 13

11 часов назад, makc_ar сказал:

поменять цвет на слово

Не понял, цвет подсветки строки с найденным текстом что ли? Сейчас на нее переключается фокус и она затемняется (при активной панели результатов подсвечивается), фактически для длинных списков это почти всегда последняя видимая строка (т.к. в отличии от первой версии я отключил здесь центрирование по выделенному).

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: DragonZH
      Программа для работы с архивами Unity.

      Если вы уже читали всю информацию.
      Так как информация добавляется, вы можете сравнить изменения текста и узнать, что было добавлено. (WinMerge 2.14 сравнение текста).
      https://web.archive.org/web/20250408171028/https://forum.zoneofgames.ru/topic/36240-unityex/
       
      Скачать UnityEX yandex
      Скачать UnityEX dropbox
      Сборник bat файлов для консольного режима
      UnityEX_Soft для дополнительной конвертации файлов и получения текстовых дампов xml, папка подключается из настроек UnityEX
      Несколько шаблонов xml для проектов на cpp2il

      Покупка ключа платных версий UnityEX:
       
      Блог Boosty
      https://boosty.to/dragonzh

      В комментариях по желанию и возможности укажите “За UnityEX”.
      Платная версии UnityEX
      Ultimate версия, поддержка юнити до 2020-6000 и возможно выше последней текущей, обработка звуков, видео, спрайтов, обработка текстовых дампов.
      Оплата происходит на реквизиты отсюда или аналогичные из программы. После оплаты нужно связаться со мной @DragonZH по оплате вышлю ключ (Или по связаться почте dragonzh@yandex.ru).
      Ключ нужно вести в обычной версии программы там где кнопка ? вверху справа.
      Применить и появятся ссылки на Ultimate версию, которую нужно будет скачать.
      Для активации нужен интернет.
      В версии Ultimate после номера версии везде будет добавлено слово Ultimate.
      Передача ключа другим людям не допускается, иначе ключ будет заблокирован!
      Также возможна блокировка ключа при использовании глобального VPN или прокси! Браузерным VPN или VPN роутера можно пользоваться.
    • Автор: SerGEAnt

      Специалисты считают, что виной всему перенасыщение рынка, начавшееся в период пандемии. Увольнения продолжатся в течение всего 2024 года.
      Сайт Video Games Layoffs подсчитал, что за январь в компаниях, связанных с игровой индустрией, было уволено уже 5700 человек. Это больше половины от числа уволенных в 2023 году (10,5 тысяч).

      Лидеры по числу сокращений:
      Microsoft — 1900 человек Unity — 1800 человек Riot Games — 530 человек Twitch — 500 человек PlayTika — 350 человек Специалисты считают, что виной всему перенасыщение рынка, начавшееся в период пандемии. Увольнения продолжатся в течение всего 2024 года.

  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • Whirlight: No Time To Trip Метки: Приключение, Казуальная игра, Point & Click, 90-е, Юмор Платформы: PC Разработчик: imaginarylab Издатель: imaginarylab, Vsoo Games Серия: imaginarylab Дата выхода: 14 мая 2026 года Отзывы Steam: 22 отзывов, 86% положительных
    • @erll_2nd смастерил нейросетевой русификатор для квеста Whirlight: No Time To Trip. @erll_2nd смастерил нейросетевой русификатор для квеста Whirlight: No Time To Trip.
    • Winter_Mute опубликовал собственный ручной русификатор текста для новеллы The Shell Part I: Inferno. Winter_Mute опубликовал собственный ручной русификатор текста для новеллы The Shell Part I: Inferno.
    •   надо поднабрать обороты и подкинуть @piton4 новых идей Project_Rabbit 
    • с алисой что-то не совсем политическое… дихлофос мне она тоже отказалась рисовать) я хз что не так с дихлофосом, но местным Усатым Жучилам очень повезло 
    • @Jimmi Hopkins выпустил русификатор текста, текстур и анимации для бесплатной адвенчуры Urban Witch Story. @Jimmi Hopkins выпустил русификатор текста, текстур и анимации для бесплатной адвенчуры Urban Witch Story.
    • А тем временем тема за 11k сообщений перевалила. 
    • История русской локализации Tales of Rebirth (PS2)
      Глава 9. Создание лок-кита для переводчиков и редакторов (часть 1)
      https://temple-tales.ru/games/tor/russian_localization.html Наконец-то я подобрался к описанию одного из самых важных аспектов в истории наших локализаций - создания лок-китов. В первую очередь стоит более понятнее объяснить, что же это такое. Лок-кит (от англ. localization kit — «набор локализации») — это специально подготовленный разработчиками набор игровых данных в удобном для взаимодействия виде, которые подлежат локализации на другой язык. В основном эта разработка бывает в виде отдельного программного обеспечения (Memsource), но встречаются и иные проекты на облачной платформе (SmartCAT). В отдельных случаях они могут быть даже в виде таблиц Google. Если говорить простым языком, то это программа для переводчиков, в которой они могут свободно переводить весь игровой текст, учитывая контекст диалогов и различные комментарии от разработчиков, а также видеть любую другую информацию. Если вы попытаетесь поискать какие-нибудь официальные лок-киты в сети, то, скорее всего, ничего не найдёте. Потому что любой лок-кит — это индивидуальная разработка, предназначенная только для внутреннего использования, и к распространению она запрещена. Тем не менее, можно найти несколько скриншотов и хотя бы примерно представить, как выглядят лок-киты у разработчиков: 1) https://thehouseofthedev.com/materials/itogi-konkursa-pomoshch-v-lokalizatsii-ot-allcorrect-games 2) http://web.archive.org/web/20260123000547/https://thehouseofthedev.com/materials/itogi-konkursa-pomoshch-v-lokalizatsii-ot-allcorrect-games Я тоже захотел сделать что-то подобное для переводчиков и редакторов в своей команде, потому что опыт работы над первым проектом Tales of Symphonia дал чёткое понимание того, что было сделано не так и что именно следует поменять. Поэтому, начиная с Tales of Graces f, я старался делать аналог лок-китов практически для каждого нашего проекта, но объём выполняемых работ был так велик, что в какой-то момент я решил просить помощи и пытался привлечь к их созданию кого-то ещё. Чтобы качество проектов не падало, а создание лок-китов не затягивалось, я сделал себе установку — над лок-китами должны работать только те, кто не будет переводить, редактировать, рисовать, программировать и тестировать. Потому что если привлечь человека, выполняющего любую из этих работ, то гарантировано будет снижаться производительность проекта в целом. Вот к такому разделению задач мы и пришли. Считаю, что это идеальная организация работы — каждый занимается своим делом и никто никому не мешает. Я бесконечно признателен тем, кто в этой затее с лок-китами пошёл мне на встречу. Ведь именно благодаря этим людям удалось значительно ускорить работу над рядом проектов: @Иван Тырлов (Tactics Ogre Reborn)
      @Анатолий Перун (Star Ocean First Departure)
      @Викентий Селюцкий (Tales of the Abyss)
      @Юрик Машкин (Tales of Destiny PS1)
      @Екатерина Αгафонова (Tales of Destiny 2)
      @Алиса Суюшева (Tales of Legendia) Сложно подумать, в какой ситуации сейчас была бы наша команда, если бы не их помощь. Многие из них осилили создание лок-кита до самого конца, а кто-то всё ещё находится в процессе работы. Но, как бы то ни было, важно понять, что 1 человек создаёт только 1 лок-кит. Тем не менее, мне самому, как руководителю, тоже приходится заниматься лок-китами для всех остальных игр, с которыми помощи нет. Таким образом я полностью и под ключ осилил создание лок-китов по следующим нашим проектам: Tales of Graces f (PS3)
      Tales of Eternia (PSP)
      Tales of Rebirth (PSP)
      Valkyrie Profile Lenneth (PSP) Другая часть проектов у меня всё ещё в процессе, а некоторые из них близятся к завершению: Star Ocean 2 (PSP)
      Star Ocean 2 R (PC)
      Tales of Phantasia (PS1)
      Tales of Symphonia 2 (PS3)
      Tales of Destiny DC (PS2)
      Tales of Xillia 2 (PS3) Так что же такого важного таят в себе эти лок-киты, что я уделяю им так много внимания? Об этом я хочу рассказать подробно, описав каждое преимущество, так как все они облегчают работу не только с текстом, но и со всем проектом в целом: а) Хронологический порядок строк
      Это, пожалуй, самое главное преимущество, необходимое для полного понимания контекста в процессе перевода. Потому что в неотсортированном виде строки диалогов могут относиться к отдельным локациям. 1 файл — 1 локация. И весь текст, который на протяжении игры отображается в этой локации, будет сгруппирован в одном файле с привязкой к ней. Ещё реже бывают случаи, когда строки располагаются в хаотичном порядке. Стоит ли говорить о том, насколько неудобно переводчику ориентироваться во всём этом? Если человек знаком с сюжетом, персонажами, а ещё лучше, если проходил игру полностью и всё помнит, то это поможет ориентироваться в таком беспорядке. Но как быть тем, кто не знаком с сюжетом и не проходил игру? Именно в таких моментах и будет играть ключевую роль хронологический порядок строк. Это расположение строк сюжетных диалогов, разговоров с НИПами, различных уведомлений и многого другого в том порядке, в котором оно происходит от начала игры и до самого конца, вплоть до титров. б) Имена и пол персонажей
      Второе не менее важное преимущество — корректная идентификация персонажей и их пола. Создатель лок-кита проставляет все соответствующие имена в отдельной колонке, напротив строк с диалогами. Так сложилось, что в изначальных дампах текстов далеко не всегда есть информация об именах, а уж тем более о том, какого пола персонаж говорит конкретную фразу. И её наличие помогает избежать лишних проверок и запусков игры. Кроме того, это ещё сильнее позволяет углубляться в понимание контекста, так как в диалогах всегда важно понимать, кто и что сказал — у всех персонажей разный стиль речи и характер, а это играет очень важную роль в процессе перевода текста. в) Тип строки
      Практически в любой большой игре, помимо сюжетных диалогов и разговоров с НИПами, есть множество других строк с текстом. Это могут быть строки, относящиеся к квестам, дополнительным катсценам, различным уведомлениям, руководствам, хроникам, различным заголовкам и многое другое. Каждый тип строк требует разного подхода в процессе перевода. Например, в уведомлениях или руководствах недопустимо обращаться к игроку на "ты" (за исключением редких случаев). В лок-китах каждый тип строк выделяется визуально или прописывается в отдельной колонке, что тоже очень сильно помогает с определением текста и тем, как с ним работать. г) Местоположение
      Ещё одно значительное преимущество — это знание локации или отдельного места, к которому относится каждая строка. Это очень важная информация, потому что она тоже помогает углубляться в понимание контекста. Переводчику важно знать, где сейчас находятся персонажи: в каком городе, на каком этаже гостиницы или в какой области на карте мира. Данные метки также помогают быстро найти эти строки в самой игре, если требуется оперативно проверить какой-то момент. А ещё знание местоположения персонажей может очень сильно повлиять на сам процесс перевода текста, потому что бывают различные уникальные ситуации, когда кто-то из персонажей на одной из локации ведёт себя как-то иначе в соответствии с задумкой сценариста. д) Главы, планеты, миры и временные линии
      В каждой игре есть свои особенности в плане разделения текста — она может быть разделена по главам или каким-то другим образом. В некоторых играх персонажи путешествуют во времени, а где-то разработчики задумали повествование от лица разных персонажей. Все эти особенности по большей части тяжело как-то отмечать, но в лок-китах это легко решается отдельной колонкой, в которой прописывается, к какой части игры относится каждая строка. Всё это тоже очень важно для переводчика, потому что знание главы может помочь с корректным выражением поведения персонажа в нужном участке времени. Потому что не редки ситуации, когда один из персонажей с какого-то момента начинает вести себя совсем иначе, и это отражается в его речи. Ещё это помогает проверять текст в игре, потому что переводчик, редактор или тестеры будут знать, в каком моменте эта строка появляется. Например, если по сюжету повествование переключается на другого члена отряда и отдельная глава посвящена ему, а при взаимодействии с окружающими НИПами диалоги меняются только в рамках этой главы, то знание этого поможет тщательнее проверять диалоги в игре. К сожалению, когда человек работает с исходным текстом, то все эти моменты отследить очень тяжело, а значит, повышается вероятность совершения ошибок. е) Графическое выделение
      Удобство лок-китов ещё заключается в удобном графическом интерфейсе. Различные выделения всех сегментов очень сильно облегчают ориентацию среди разного типа информации в процессе локализации. Представьте себе ситуацию: сейчас вам нужно перевести только сюжетные диалоги ближайших катсцен, а в первоначальном, неотсортированном виде, в текстовом редакторе эти диалоги визуально сливаются с диалогами НИПов, диалогами из квестов и диалогами из дополнительных сценок. В случае работы с лок-китом переводчику не нужно пытаться как-то распознавать и искать сюжетные диалоги нужных катсцен, потому что они уже отмечены отдельным цветом или иным образом. ж) Другие языки
      Временами в процессе работы могут возникать ситуации, когда нужно оперативно проверить текст требуемой строки на другом языке. Лок-кит позволяет держать рядом несколько колонок на разных языках и постоянно обращаться к любой из них, чтобы проверить нужную информацию. Допустим, у вас под рукой японская, английская, испанская, немецкая и русская колонки с текстом. Если английские локализаторы в чём-то ошиблись, то проверить упущение можно по оригиналу на японском языке. А если возникает спорная ситуации с каким-либо именем или термином, то локализация на другом языке может помочь какой-нибудь полезной идеей, что расценивается как удобная и выгодная находка. Кроме того, если английская локализация отличается своеобразной вольностью, то японский оригинал помогает легче сориентироваться в том, а что же именно разработчики имели ввиду и какая была изначальная задумка, исказившаяся в процессе локализации на другой язык. Ещё стоит отметить такие фонетически подсказки в японском тексте как фуригана. Это даёт дополнительную пищу для размышления в процессе перевода текста. з) Озвучка
      Диалоги большей части современных игр в жанре японских РПГ практически всегда озвучиваются, что в принципе особо не доставляет каких-либо проблем в процессе перевода текста. Но как быть, если в игре озвучена далеко не вся часть диалогов? Есть очень много игр, где озвучены не все сюжетные кастцены. Одним из таких примеров является Tales of Eternia. В игре озвучены все сценки, а вот сюжетные диалоги — примерно на 1/3. В этом случае метки в лок-ките весьма к месту — в отдельной колонке указано, какие строки озвучены. Это очень важно, потому что интонация и сама манера голоса сэйю может сильно помочь в процессе перевода. Также не редки ситуации, когда текст и озвучка могут отличаться. Всё это хорошо помогает сориентироваться переводчику или редактору для точности перевода, чтобы текст не выбивался за пределы озвучки. и) Различные особенности
      Сам процесс перевода текста может иметь различные ограничения или другие особенности. Но как быть, если в отсортированном виде текст не содержит никаких данных по этому поводу? В этом и заключается очередное преимущество лок-китов, потому что здесь можно разместить сколько угодно дополнительных колонок, в которых создатель лок-кита прописывает всю необходимую информацию. Если строка требует особого подхода, например ввод пароля, то этот текст, скорее всего, будет иметь ограничение по количеству символов. Ещё бывают ситуации, когда в определённых строках текст выводится другим шрифтом, и этот шрифт в ресурсах игры имеет только верхний регистр — это тоже необходимо учитывать во время перевода. Количество уникальных ситуаций не счесть, потому что всё упирается в индивидуальные особенности игры. Иными словами, это просто отдельные заметки от разработчиков или создателя лок-кита, которые должны помогать лучше вникнуть в особенность отдельных строк текста. к) Технические метки
      Если у вас на руках текст в неотсортированном виде и без каких-либо дополнительных меток, то, скорее всего, вы не сможете нужным образом структурировать различные строки. В таком случае нас спасает очередное преимущество лок-китов — повторюсь, здесь можно сделать сколько угодно дополнительных колонок, прописывать в них различные данные и сортировать по ним весь текст так, как вам удобно. Например, если в игре кто-то из персонажей говорит на другом языке, который как-то особенно оформлен в тексте, а переводчику нужно просмотреть все подобные строки отдельно, то в лок-ките все они легко сортируются нажатием пары кнопок, а затем мгновенно возвращаются на место, потому что каждая строка имеет уникальный идентификатор (ID), с помощью которого всегда можно вернуть первоначальный порядок строк. л) Глоссарий
      Один из последних и не менее важных плюсов, который стоит упомянуть — наличие глоссария. Многие команды переводчиков сначала прорабатывают именно этот аспект. Постоянный доступ к сформированному списку различных имён, терминов и названий в лок-ките облегчает процесс работы и помогает не нарушать единообразие терминологии. За счёт постоянно доступа обеспечивается связность текста и единый стиль. На этом, пожалуй, стоит остановиться. Можно долго описывать преимущества лок-китов, ведь всё зависит от разработчиков: чем эффективнее разработка этой уникальной среды, тем быстрее и качественнее будет финальный результат локализации. Я мог бы ещё упомянуть такие дополнительные фичи, как отображение портретов персонажей с разными эмоциями или окно предварительного просмотра того, как будет выглядеть текст в самой игре с учётом подобранного шрифта, но это более глубокие нюансы, которые встречаются ещё реже. Думаю, вы всё больше и больше начинаете понимать, насколько это ценный труд. Всё это, разумеется, очень удобно, и может даже возникать ощущение, что в таком случае практически каждый элемент игры будет под рукой. Но насколько сильно лок-кит ускоряет сам процесс перевода по сравнению с работой в обычном текстовом редакторе? По моим ощущениям — в пределах от 15 до 40%, в зависимости от сноровки переводчика и редактора. Неплохо, не правда ли? Попытаюсь описать все основные моменты, из которых эти цифры получаются и складываются, что в свою очередь продолжает постоянно и стабильно экономить нам время: а) Уменьшение частых поисков информации и лишних действий
      Нет необходимости часто запускать игру или открывать видеопрохождение, чтобы найти нужный момент и проверить что-либо в зависимости от поставленной задачи. Кроме того, все поиски следующих катсцен или любого другого элемента сведены к минимуму. Потому что все строки расположены в хронологическом порядке и искать ничего не требуется. б) Исключение проблемы полов, имён персонажей и склонений
      Практически пропадает вероятность ошибиться с именами персонажей, их полом и привязки к строкам. Потому что в документе, в отдельной колонке, напротив строк с диалогами проставлены все имена. Зачастую при работе в обычном текстовом редакторе в исходном тексте могут отсутствовать метки имён персонажей или НИПов. Бывают случаи, когда рядом с сюжетными строками есть дополнительные строки с именами, но в строках, относящихся к НИПам, они отсутствуют. Это приводит к тому, что переводчик может неверно указать склонения различных слов, как того требует пол персонажа. Возможны и другие ошибки, связанные с неверной идентификацией персонажа, что ведёт за собой деформацию его характера, изначально задуманного разработчиками. в) Облегчение тяжёлой навигации и слабых ориентиров
      Навигация по всему лок-киту становится в разы легче благодаря множеству разных меток, отличающихся как цветом и жирностью букв, так и различными выделениями фонов. Работа в текстовом редакторе неудобна тем, что восприятие текста усложняется — он будто сливается в единое полотно, и нужно постоянно всматриваться и напрягать зрение, чтобы различать отдельные части и разбивать их в уме на сегменты. г) Быстрый просмотр текста строки на другой языке
      Отсутствует необходимость искать текст строки на другом языке, потому что напротив каждой строки есть колонка на другом языке. В нашем случае это японский и английский. Если у нас не будет лок-кита, то каждый раз придётся открывать дополнительный документ на другом языке и искать нужную строку. д) Полезные комментарии от создателя лок-кита
      Во время создания лок-кита его составитель в своей колонке может отмечать различные уникальные ситуации, чтобы потом переводчик или редактор обратили на это внимание. Например, в каком-то диалоговом окне область для текста фиксированная, и нужно уложиться в определённое количество символов. Чтобы избежать проверки этого места, можно заранее прописать необходимое число символов, и переводчик адаптирует свой перевод. Кроме того, некоторые строки активируются особым образом — для их запуска нужно что-то сделать. Знание этой информации также может повлиять на перевод текста. Ещё бывают ситуации, когда по тексту неизвестно, что именно произошло или к какому объекту подошли персонажи, а комментарий с описанием поможет переводчику сориентироваться, что в очередной раз сведёт проверки во время тестирования к минимуму. е) Возможность писать любое количество заметок
      Эта удобная функция есть только в лок-ките. Столбцов с заметками можно создавать сколько угодно. В то время как при работе в текстовом редакторе такой возможности нет, а заметки приходится хранить в отдельном файле. Кроме того, сам лок-кит обеспечивает возможность быстрого создания сборок с учётом хронологического порядка строк. Это достаточно удобно, потому что как только переводчик осилил новую главу, то можно вставить новый текст в игровые ресурсы и проверить его непосредственно в игре. Соответственно, это удобно и для распространения демонстрационных сборок, когда прогресс нужно обновлять в соответствии с выполненным количеством процентов, либо по главам. Стоит ли говорить о том, что работа с текстом без хронологического порядка строк практически исключает возможность создания сборок по главам? Надеюсь, я смог описать все стороны лок-китов так, чтобы вы смогли точно понять, на что они влияют сильнее всего и какой из этого можно извлечь результат. В довершение к данной главе хочу показать вам, как выглядит один из наших лок-китов к игре Tales of Eternia (PSP), над созданием которого работал я сам. Посмотреть его можно на изображении, приведённом ниже. Оформлялся он в виде электронной таблицы в Microsoft Excel. Если вам интересно «пощупать» его в самом приложении, то можете скачать документ по ссылке ниже. А уже в следующей главе на примере лок-кита по игре Tales of Rebirth (PS2) я наглядно покажу, что мне пришлось сделать, чтобы создать такой документ. Я попытаюсь оформить всё в виде инструкции для тех, кто отважится помочь нам в этом не лёгком деле с другими проектами. Скачать #1
      https://temple-tales.ru/games/tor/data_design/files/Tales_of_Eternia_localization_kit_v1.0_by_Evil_Finalist.xlsx Скачать #2 (зеркало)
      https://disk.yandex.ru/i/j3kzCR14Ad-zYA
    • О, а это прекрасная новость. Ждем-с
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
    • ElikaStudio

      Долгожданный релиз полного сезона состоялся!
      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
  • Лучшие авторы


×