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

Автопереводчик для Unity игр XUnity.AutoTranslator

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

https://github.com/bbepis/XUnity.AutoTranslator

вот типа:baby_tone2:  пример

Скачать видео
Скачать видео

 

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

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


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

Апну тему скринами из разных игр с использованием autotranslator:

Banner of the Maid (китайский →  русский): https://imgur.com/a/LNHYwsV

Banner of the Maid (китайский → английский): https://imgur.com/a/LDdyhHK

We the Revolution (английский → русский): https://i.imgur.com/D3hJUo1.png

NITE Team 4 (английский → русский):  https://i.imgur.com/K4KPip1.png

Tales of the Neon Sea (английский → русский):  https://imgur.com/a/y7oztQg

 

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


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

Чуть обновил тупые сборки в стиле кинул что-нибудь в игру, тупа жмякнул на всё и уже гамаешь.
https://disk.yandex.ru/d/PkI0TPJFlk3IZA

Изменено пользователем DragonZH
что забанили ссылку, теперь другая
  • Лайк (+1) 4

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


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

Пробовал Endpoint=Yandex и Endpoint=YandexTranslate, ни переводит ни фига…

На сколько знаю яндекс заблочили со стороны самого яндекса.

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


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

Может кто то помочь, возможно ли русифицировать эту игру Strategic Command WWII World at War. Посмотрел вроде бы не il2cpp попробовал оба описанных метода ReiPatcher и BepIn но почему то не сработало. ReiPatcher не создавал измененный ярлык игры.

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


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

Кто-то пытался перевести Caves of Qud?

 

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


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

Помогите перевести STORY OF SEASONS Pioneers of Olive Town. Пробовал но почему то не создает файл config.

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


Ссылка на сообщение
В 05.11.2022 в 01:49, Seg сказал:

Помогите перевести STORY OF SEASONS Pioneers of Olive Town. Пробовал но почему то не создает файл config.

игра на il2cpp.Спокойно захватывается MelonLoader.

также в игре TextMeshPro использовать шрифт arialuni_sdf_u2019

Также рядом с _AutoGeneratedTranslations создать текстовый файл и запихнуть

sr:"([0-9]+:[0-9]+) ([\S\s]+)"=$1 $2

Нужно чтобы у переводчика крыша не поехала от часов в игре.

 

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

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


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

игра на il2cpp.Спокойно захватывается MelonLoader.

также в игре TextMeshPro использовать шрифт arialuni_sdf_u2019

Также рядом с _AutoGeneratedTranslations создать тестовый файл и запихнуть

sr:"([0-9]+:[0-9]+) ([\S\s]+)"=$1 $2

Нужно чтобы у переводчика крыша не поехала от часов в игре.

 

там же автоматический перевод?

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


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

У кого бывает такое что переводчик перестает работать через некоторое время и надо перезапускать игру. Можно ли как то это починить или заставить работать без перезапуска?

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


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

У кого бывает такое что переводчик перестает работать через некоторое время и надо перезапускать игру. Можно ли как то это починить или заставить работать без перезапуска?

Чаше всего это происходит после определённого количество запросов переводчики. Причина когда в игре есть тикающий перевод часы или координаты которая она переводит каждую секунду. Это можно проверить в файле _AutoGeneratedTranslations там будет куча одинаковых строк перевода.

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


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

Чаше всего это происходит после определённого количество запросов переводчики. Причина когда в игре есть тикающий перевод часы или координаты которая она переводит каждую секунду. Это можно проверить в файле _AutoGeneratedTranslations там будет куча одинаковых строк перевода.

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

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

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


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

Тут пишут, что проблема в Rune5 и Re Legend

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


Ссылка на сообщение
В 06.11.2022 в 11:27, Memoric сказал:

игра на il2cpp.Спокойно захватывается MelonLoader.

также в игре TextMeshPro использовать шрифт arialuni_sdf_u2019

Также рядом с _AutoGeneratedTranslations создать текстовый файл и запихнуть

sr:"([0-9]+:[0-9]+) ([\S\s]+)"=$1 $2

Нужно чтобы у переводчика крыша не поехала от часов в игре.

Спасибо за разъяснения ! Всё получилось !

А как можно решить проблему когда  перевод в диалоговое окно не помещается ?

 

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

Ur5yj.png

 

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

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


Ссылка на сообщение
В 09.11.2022 в 17:42, Leprikon01 сказал:

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

Проблема в самой структуре игры и переводчик нужно настраивать чтобы этого не происходила.

Пример:

Яблока:1

Яблока:2

Яблока:3

И она так всё переводит по отдельности. Поэтому переводчик отключается. В рпг играх очень много перевода с переменными.

Для подобных игр нужно писать регулярные выражение чтобы разделять текст на “Яблока:” и цыфры .

И это делается вручную.

пример:

 

//Power load 148%

sr:"^([A-Za-z\s]+)[\s]([0-9]+[%])"=$1 $2

разделяет на “Power load” и “148%”

22 часа назад, elmin59 сказал:

Тут пишут, что проблема в Rune5 и Re Legend

в любой рпг игре.

  • Лайк (+1) 1

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


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

Доброго времени суток. У меня проблема: Переводчик переводит каждое предложение в абзаце с новой строки и из-за этого при большом тексте переводчик отказывается переводить( скорее всего из-за того, что он просто не помещается на экране). Как сделать, что бы предложения были в одном абзаце?

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


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

 

В 11.11.2022 в 14:35, Memoric сказал:

//Power load 148%

sr:"^([A-Za-z\s]+)[\s]([0-9]+[%])"=$1 $2

Такое просто обходится включением функции TemplateAllNumberAway
В базе автоматически получится подстановка цифр //Power load {{A}}%
Гораздо сложнее с текстом бывает, когда текст вообще блоком идёт и не разделяется, в свою очередь в файлах это всё разделено, и этот текст как попало может меняться, несколько тысяч комбинаций, вот там нужны регулярки.
Как-то делал разделение блока текста на части, от начала строки до оператора цвета, до следующего оператора и до конца строки и так далее, с учётом что операторов цвета может быть очень много. То есть получилось практически как разделение блока на предложения, каждая часть блока, текст и подсвеченный текст стали переводиться отдельно.

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



sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)$"=$1$2$3
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11$12$13
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19$20$21
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19$20$21$22$23
sr:"^([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>[А-ё\x01-\xFF]*?\n+)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)(\n+|\n*\<color.*?\</color\>\n*)([А-ё\x01-\xFF]*?)$"=$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19$20$21$22$23$24$25

 

 

36 минут назад, 3DBoy сказал:

Доброго времени суток. У меня проблема: Переводчик переводит каждое предложение в абзаце с новой строки и из-за этого при большом тексте переводчик отказывается переводить( скорее всего из-за того, что он просто не помещается на экране). Как сделать, что бы предложения были в одном абзаце?

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • @Андрей Дюк Что же вы так дословно переводите? P.S. Хотя, может, и к лучшему.
    • Да никаких обид. Я ж написал, что вот по этому вот: крайне тяжело уловить контекст. Кроме того, что переносы строк некоторые прозевал (\n). Это надо теперь проходить самому и ровнять. Но, кстати, Фаргусовский перевод не совсем точен, хотя озвучка вполне профессиональная.
      Например, когда даже в приведенном ролике МакКой говорит “а под конец дежурства меня рассмешил этот псих, который в одних трусах танцевал на улице со старушкой”, в тексте конкретно написано: “учитывая, что самое серьезное событие за всю ночь...было шизоидной бабкой, выплясывающей шимми… в нижнем белье во Втором Секторе.” (“the most action I'd seen all night...was a schizoid grandmother doing the shimmy...in her underwear in the Second Sector.”).
    • Попробуй не менять исходный файл, а загрузить вторым.  Я создал файл .pak с новой локализацией и сохранил исходный путь папок до локализации. Новый файл: pakchunk0-WindowsClient1.pak внутри папки \NameGame\Content\Localization\Game\ru в папке ru лежит ru.locres В папке Game есть файл Game.locmeta в нем необходимо добавить поддержку русского языка (если игра не поддерживала ранее). После всех этих манипуляций тебе нужно просто запакованный pakchunk0-WindowsClient1.pak (может по-другому в твоей игре называться) закидываешь к основным файлам в папке Paks

      Рекомендую пользоваться: https://github.com/matyalatte/LocRes-Builder  Пиши, если будут вопросы 
    • Ещё скажи - справедливо  . Это и удивило, что довольно здравый подход, в деле, где крутятся деньги, редкость.     Всё правильно. В Стиме есть правила, как для раннего доступа, так и для игр, доступ к которым за дополнительную плату открывают за несколько дней до релиза (расширенные издания). Открытие раннего доступа не считается релизом, поэтому, по правилам Стим, можно без страха играть сколько угодно до полноценного релиза игры, дальше включаются правила обычного релиза - 14 дней и не более 2 часов для права на возврат. Теперь, расширенные издания с доступом к играм на несколько дней раньше основного релиза приравняли, собственно, к полноценному релизу, а раньше на этот маленький срок действовало правило игр с ранним доступом.
    • С другой стороны, какие-то игры могли и не появиться. Тот же Дэд целс в раннем доступе хорошо раскрутился. Скорее всего путних игр из раннего доступа значительно меньше, чем достойных внимания. Но, всё же, пусть лучше ранний доступ выдаст одну достойную игру из десяти, чем вообще ни одной хорошей без раннего доступа. 
    • Немного поиграл и скажу честно — над переводом еще работать и работать. Перевод очень бессвязный и слабо передаёт смысл сказанного (будто текст писала нейросеть или гугл переводчик). Я даже для сравнения накатил русскую озвучку от Фаргуса чтобы сравнить переводы, и даже их, далеко не идеальный перевод, передаёт смысл лучше… Записал для примера начальную катсцену (озвучка + субтитры) Вообщем вот. Автора обидеть не хочу, честно.
       
    • Поздравляю с окончанием. Работа проделана непростая и действительно нужная. Спасибо, что взялись за это дело. Будем играть и тестить. 
    • Дружище, спасибо тебе огромное. Я уже несколько лет жду нормальный перевод этого квеста, и вот, наконец — дождался! Принципиально не хотел проходить с озвучкой от Фаргуса, хоть там и родные голоса, но там актёров дубляжа заставили озвучить перевод по ПРОМТу после середины игры…
      Буду пробовать твою бетку. Жаль конечно что не подойдёт для классической версии, уж больно Enhanced Edition выглядит всрато с её шрифтами, но я так долго ждал что уже и на это готов.
    • Ага. Я закончил. Пока бета, по мере прохождения буду выявлять неточности, и ошибки но перевод завершен. Более подробно тут:
      https://dzen.ru/a/Zil5vU7up0tTtpcR
    • Да, есть такое. Затягивают иногда, немного. Я тоже. Мелким издателям, у которых только одна игра, перестал доверять.
  • Изменения статусов

  • Лучшие авторы


Zone of Games © 2003–2024 | Реклама на сайте.

×