LINUX.ORG.RU
ФорумTalks

Инструменты переводчика игр

 ,


0

1

Поищите за меня на ZoG, плиз. Хочу перевести произвольную игру а разбираться в унити/унрыле не хочу. И ставить движки не хочу. Мне нужно чтобы натравил тулзу на папку с игрой - получил жсон с ключами, только пиши значения на новом языке, потом ей этот файл скормить - и она в игру вошьёт.

Вы все знаете, что у меня получится. Я аспирантку филфака во всех позах любил

Давно не видел такого подходящего сочетания содержимого поста и ника его написавшего.

einhander ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

Нее, чукча сам что-то пытался сделать, а не только оленей пасти и в бубен бить.

einhander ★★★★★
()

У тебя не получится. Перевод игры — это не просто замена одних текстов другими.

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

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

В третьих, универсального метода нет. Хорошо если разработчик заранее предусмотрел локализацию, и все ресурсы для этого уже присутствуют. Но так поступают далеко не все и не всегда.

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

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Всё правильно раскидал.

Я локализировал игру, где язык определялся магическим числом. Далее язык проверялся буквально так: if language==2… Мне предлагалось тупо вписать перевод в исходники под оригиналом, чтобы разрабы дописали обвязку.

Контекст был более-менее понятен, так что я справился без вопросов к заказчику, но так бывает далеко не всегда. Ограничения на длину не было, что тоже бывает не всегда. Случается, что тебе непременно надо уместиться, скажем, в 20 пикселей по горизонтали. Нужно выбрасывать информацию, а для этого нужно знать контекст. Изредка этот самый контекст приходится модифицировать, чтобы пользователь сориентировался.

Есть еще gettext (вроде бы, так, но я с этим инструментом не работал, так что могу ошибиться). Эта штука просто достает и отдает перевод строки. Скажем, «Create profile» - «Создать профиль». Проблема в том, что это может быть еще и заголовок окна, открытого пользователем: «Создание профиля», и заголовок модального окна: «Создайте профиль». Нужно обеспечивать уникальность исходных строк, для чего иногда приходится уродовать дефолтную локаль C.

Но локализацию не только с помощью gettext реализуют. Там, где я сейчас работаю, всем строкам присваивается уникальный хеш. Очевидно, что используется нечто другое. Возможно, самописное.

И да, локализатору приходится определять роль каждой исходной строки, чтобы не было кнопки «Загрузите» и заголовка «Загрузить». Можно сориентироваться по Title Case / Sentence case и употреблению артиклей, но лишь примерно. В итоге грамотный заказчик предоставляет скриншоты, документацию, описания отдельных задач, описания строк, возможность предварительного просмотра, обеспечивает проверку и тестирование. Это в коммерческой локализации. А в любительской ты сам ищешь контекст, сам ломаешь голову, сам смотришь, как что отобразилось.

Vidrele ★★★
()
Ответ на: комментарий от Jameson

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

czan
()

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

Так что руки в зубы и идёшь в сообщество мододелов конкретной игры и там выясняешь как выковырять и вковырять обратно ресурсы.

Для каких-то конкретных движков наверняка есть автоматизация, но и та будет гарантированно работать не всегда, разве что движок чисто визуальный конструктор игр не дающий возможности что-то сделать по своему.

Короче миссия невыполнима.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от Jameson

Звучит как фильтры для выбора игры, ну.

DumLemming ★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)