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

Руководство: как сделать нейросетевой/машинный перевод на Gemini

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

Что-то попробовал запустить через vpn с шведским ip, но получил ошибку Gemini API location Error 400. Для Gemini API какой-то особенный vpn нужен? Просто с этим vpn, у меня, к примеру, веб чат Gemini работает…

P.S. Странно, попробовал другой vpn и перевод заработал. Такой вопрос, а можно как-то форматирование текста сохранять? К примеру тайминг субтитров.

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

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


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

Около месяца назад я делал машинный перевод Final Fantasy VII Rebirth, из доступных методов (гугл переводчик, deepl и тд) наиболее эффективным и качественным оказался перевод через Gemini (даже лучше чем через Deepseek).

Имеющиеся python скрипты я постарался перенести в более простой формат с визуальным интерфейсом

Скачать: https://disk.yandex.ru/d/HrmnQ4xg77N7fw

Видео-гайд: https://disk.yandex.ru/i/Zvr7HeLtRwRGaA

Важно:

  1. Для работы нужен IP не из России, если запустить с русским ip будет ошибка Gemini API location Error 400.
  2. Нужно иметь на руках txt файл(не json, не csv) с игровым текстом. Гайдов как достать текст из игровых движков очень много на этом форуме.
  3. Нужно иметь Gemini API ключ, он бесплатен, можно получить в своем гугл аккаунте (где именно лучше вгуглить)
  4. Вся “соль” машинного перевода, это верно составленный Промпт, в котором нужно указать все нюансы и пожелания для работы чат бота

Впоследствии (возможно) дополню программу новыми функциями, такими как парсер текста (отделить id от текста, распарсить json и тд), перевод не одного файла а сразу папки с файлами, более глубокая настройка чат бота (temperature, top_k/top_p, кол-во строк на один запрос и тд) и выбор других чат ботов (но они платные, так что не думаю что будет актуально), многопоточность

Программа отправляет по 150 строк текста из файла на перевод, на моем опыте оптимальное количество, чтобы строки не “потерялись” при переводе и не превысились бесплатные лимиты api

 

@SerGEAnt

Если данная тема не соотвествует философии форума, просьба удалить

Если данная тема не в нужном разделе, просьба перенести

Спасибо

без исходников такое себе

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


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

Что-то попробовал запустить через vpn с шведским ip, но получил ошибку Gemini API location Error 400. Для Gemini API какой-то особенный vpn нужен? Просто с этим vpn, у меня, к примеру, веб чат Gemini работает…

P.S. Странно, попробовал другой vpn и перевод заработал. Такой вопрос, а можно как-то форматирование текста сохранять? К примеру тайминг субтитров.

а как выглядят эти строчки? тайминги субтитров

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


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

а как выглядят эти строчки? тайминги субтитров

Аля:

1
00:00:00,000 --> 00:00:10,040
Текст на английском языке

2
00:00:18,867 --> 00:00:21,900
Текст на английском языке

 

  • +1 2

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


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

Аля:


1
00:00:00,000 --> 00:00:10,040
Текст на английском языке

2
00:00:18,867 --> 00:00:21,900
Текст на английском языке

 

Что-нибудь придумаю на этот счет! Самый верный вариант конечно отделить тайминги от текста и переводить только текст, а потом переведенный текст обратно вернуть под тайминги, я вот и планировал добавить в програму такой функционал, а-ля “парсер”

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


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

Что-нибудь придумаю на этот счет! Самый верный вариант конечно отделить тайминги от текста и переводить только текст, а потом переведенный текст обратно вернуть под тайминги, я вот и планировал добавить в програму такой функционал, а-ля “парсер”

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

Изменено пользователем bk2zero1
  • +1 1

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


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

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

Доброе утро, уже давно в прогах по сабам такое присутствует.

  • Хаха (+1) 1

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


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

Доброе утро, уже давно в прогах по сабам такое присутствует.

Все что я пробовал, из бесплатно доступного (нейросети),  работает криво, медленно и с постоянными ошибками/ограничениями прог… Тот же Gemini в Subtitle Edit просто сыпет ошибками после перевода n-ного кол-ва строк, а в проге автора темы такой проблемы нет.

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


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

Все что я пробовал, из бесплатно доступного (нейросети),  работает криво, медленно и с постоянными ошибками/ограничениями прог… Тот же Gemini в Subtitle Edit просто сыпет ошибками после перевода n-ного кол-ва строк, а в проге автора темы такой проблемы нет.

всё работает хорошо. только что протестировал, 300 строк где-то и ок

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


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

@Wiltonicol Отличная прога, практически без проблем прогнала двуязычный xliff файл,
 

20 часов назад, Wiltonicol сказал:

Программа отправляет по 150 строк текста из файла на перевод, на моем опыте оптимальное количество

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

  • +1 1

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


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

Считать нужно не в количестве строк, а в токенах или хотя бы в символах. При превышении строку последнюю убирать.
Делал такое в мультипотоках, когда модели ещё г были с 5к.
Примитивно 1 русский символ = 1 токену, 1 английское слово = 1 токену.
Можно лимиты параметром сделать.

Какие лимиты токенов у этой модели без оплаты на вход и выход?

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


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

@Trevor_

Добавил возможность изменять кол-во строк на один запрос! (upd вспомнил, что решил сделать верхний лимит 500, в следующей версии уберу это ограничение)

@bk2zero1

Добавил возможность построкового перевода, с исключением из запроса к боту строк начинающихся на любой символ, “костыльное” решение, но возможно чем-то будет полезно для перевода субтитров. Более правильное решение для перевода субтитров (в формате который ты показал) позднее добавлю

*обновил ссылку в первом посте
----
09.03.2025 

Добавил новый функционал:
а) Построковый перевод, с возможностью исключать из запроса к боту строки, которые начинаются на определенный символ. Эти строки просто скопируются в итоговый файл без перевода и отправки боту. Также можно исключить из запроса все строки которые начинаются на любую цифру, для этого в поле нужно написать d*.
В конфиг файле есть новый пункт “sleep”, который ограничивает запросы к боту в режиме построкового перевода, по умолчанию 2 (2 секунды между каждым запросом к боту).
б) В обычном режиме перевода добавлена возможность регулировать кол-во строк на запрос к боту (по умолчанию 150)

Изменено пользователем Wiltonicol
  • Лайк (+1) 1
  • +1 1

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


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

@Wiltonicol из пожеланий, сделать галочку: сохранять в папку с исходным файлом.

  • +1 1

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


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

11.03.2025
Существенное обновление (0.3):
а) Полностью переработан код отправки и сохранения текста.
б) Построковый режим убран, можно просто указать 1 строку в соответствующем поле.
в) Из запроса можно исключить строки которые начинаются на определенный символ. Можно указать несколько символов через запятую. Если написать “digits”, то из запроса к боту исключатся все строки с цифрой вначале (к примеру тайминги субтитров).
г) Добавлены настройки чат-бота, выбор модели, пауза между запросами и другие параметры.

4 часа назад, Trevor_ сказал:

@Wiltonicol из пожеланий, сделать галочку: сохранять в папку с исходным файлом.

Тобеж с заменой? Или просто в туже папку, но “название файла_ru”

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • пусть хоть испанский добавят как надо и можно будет перевести
    • я тоже это проделал)) в самом приложении не так уж много о номинантах, того почему их выбрали там точно нет, т.е того что я искал, мне не важно, так ради интереса потыкал)
    • Я упрямо стараюсь победить С#,юнити, блендер, фотошоп, comfyUI, ink. Я хотел сделать небольшую первую игру в стиле попрыгал, по каким-то странным обьектам, дошел до финиша — молодец. В итоге там появилась диалоговая система, в двух вариантах, одна где игрок не участвует в диалогах, а просто наблюдает со стороны когда пробегает мимо, вторая когда игрок непосредственно участвует в диалоге, с выборами которые ведут к разному прохождению квестов, и открывают дополнительные возможности. Появился инвентарь, с описанием предметов, возможностью расставить в нем предметы как удобно игроку, использовать предметы, выкидывать,(в мир, на землю, на стул, на стол, а не просто в никуда), и комбинировать предметы в новые. Возможность использовать окружение, сесть за пушку(ну которые в средние века были), и с помощью выстрела из нее убить противника, или разнести дверь склада, чтобы забрать, то что там находится, или например прокатиться на вагонетке в шахте. Поведение НПС, например, если игрок встал на пути, то НПС остановиться, сначала попросит вежливо отойти, если игрок отошел, то НПС продолжит путь, а если не отойдет, то уже попросит не очень вежливо. Если игра “попрыгал дошел до финиша” не требовала систему сохранений, то этой она просто необходима. В итоге я сделал определенное количество слотов, со вренемем игры и скриншотом превью, чтобы проще было ориентироваться где был сейв. Текстуры текста, в двух вариантах, на русском и английском. Озвучка, пока только английская, хотя я борюсь за русскую и пытаюсь натренировать Лору для этого.   В общем много всего разного, и когда я с нуля пытался этому научиться и сделать, это просто был ад. Каждый день работы над проектом проходил, как боевое крещение, и забирал все мое время и силы. А сколько раз я всё переделывал...что код, что анимации...У меня не получалось ничего, не то что с первого раза, даже с двадцатого.  Если я сейчас начну описывать каждую проблему с которой я столкнулся, мне кажется можно будет книгу писать. Сейчас уже получше идет, когда я позавчера добавлял режим стелса, и переписывал часть кода, я даже ничего не сломал.
    • Стриминги и торренты, по разному и примерно поровну. Говорят, на стримингах звук не очень, без запросов. А на торрентах всегда есть выбор. Так что не принципиально. Я не аудиофил. Мне просто, чтобы звук стал детализированнее, басов  добавить, чтобы слышать больше и без необходимости использования наушников.   Ну, смотря какой телик, есть ТВ и с хорошим звуком. У меня бюджетка с двумя динамиками по 10 ВТ — громкости хватает с запасом, а вот фоновые звуки в кадре слышно неважно и басов считай нет, плоскова-то. 
    • Да, так заработало, спасибо.
    • Большое обновление русификатора под актуальную версию:
      - перевод сделан заново через Gemini 2.5 Pro с множеством ручных правок.
    • Испанскую озвучку они сделали, потому что сами испанцы, обещали добавить ее и текстовый перевод на испанский, а также починить карту в эти выходные, если все пойдет нормально(https://steamcommunity.com/app/2173460/discussions/0/786567613838851255/ ). Перевода на русский у них в планах не было, к сожалению. Вот что писали: Early Access 0.1 (Liam Campaign, English & Spanish) -> Full Release 1.0 (Laurel Campaign, rest of planned languages: French, German, Italian and Portuguese) .
    • Мой друг заказал у меня порт русификатора для Steam-версии игры из до стимовской версии, но тоже выходившую на ПК.

      В интернете я нашёл, что распаковать/запаковать архивы .bcx можно через скрипт для QUICKBMS: https://aluigi.altervista.org/bms/heart_of_crown.bms

      Однако, при распаковке почему-то coverage 99%, а при запаковке он не может найти 4 байта.
      Однако, тот человек, который про это рассказал на малоизвестном форуме, смог таким образом сделать свой мод на ретекстур.
      Надеюсь на вашу помощь. Файлы прилагаю (файл с расширением .bcx — из Steam-версии, папка — файлы перевода): https://disk.yandex.ru/d/JzgIpWOZ5LU1lQ

       
    • Несколько раз предлагал кому-нибудь просвятить нас, пещерных людей о том, кто все эти люди (из списка из новости в частности) и на пальцах простыми словами объяснить нам, что именно они сделали легендарного. Все эти соревнования и денежные призы нам ни о чём не говорят, т.к. нет знания даже базовых подноготных, а также почему какое-то соревнование — это круто, и кто там сильный, а кто нет. Простое гугление так-то даёт недостаточно данных для того, что сходу начать понимать тонкости направления. Неа, после твоего утверждения о том, что в киберспорт играют миллионы я упоминул о том, что в казуалки играют сотни миллионов. То есть числа тут не показательны. Мы как бы про игровые механики говорили, а не про монетизацию. Разве нет? В гачах тоже бывают сложные игровые системы именно как непосредственно игр, о том и речь. То есть не в одном киберспорте могут быть механики сложнее среднего уровня по исполнению для разрабов. Так-то в играх любого рода и жанра вполне могут сосуществовать сложные глубокие механики и опционально казуальный геймплей. Это отнюдь не взаимоисключающие понятия в плане игрового дизайна. Ты указал “десять лет назад”. В РФ киберспорт появился в нулевых (если верить первой попавшейся инфе из гугла по крайней мере). Кибердисциплины в полноценном виде были уже в десяностых и конце девяностых. “Истоки” целой пачки первых кибердисциплин мы пропустили, определённо. Не понимаю, о чём тут спорить-то. В каких-то играх да — застали, но тут уж сложно кичиться, т.к. те застали не только мы одни. То есть главное достижение, которое было новаторским — это призание киберспорта — спортом раньше многих прочих. Поправь меня, если я что-то упускаю из виду.
    • Публично заявлений не нашёл, но даже если и будет, то узнаем лишь по факту, ибо даже если и в разработке, то NDA.
  • Изменения статусов

    • Netulogina  »  SerGEAnt

      Здравствуйте.
      Назрел такой вопрос. Существует ли архив/резервная копия переводов которые хранятся на данном сайте?
      · 5 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Добавились версии для Linux и MAC OS
       
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Прошу обновить файл в архиве на https://disk.yandex.ru/d/suqA593ocxIJTQ
      или https://boosty.to/jimmihopkins/posts/d1df8532-9ac5-4a23-a87c-df2610efaf26
      Финальный релиз.
      Значительные изменения
      · 0 ответов
    • ElikaStudio

      https://www.youtube.com/watch?v=Nqcr83D8xhw
      https://www.youtube.com/watch?v=yRh3i7FKwOQ
      https://vk.com/video-48153754_456239346
      https://vk.com/video-48153754_456239345?list=ln-xnLZUtIyCEc6eshGvW
      https://ibb.co/p6BtMqWQ
      Перед тем, как ступить на борт корабля капитана Синей Бороды, нужно скачать озвучку!

      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!

      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе [club76249462|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


      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_52801766
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #waylandteam #русскаяозвучка
      · 0 ответов
    • Максименко Вадим  »  jk232431

      Как перевести субтитры в winx club the game,а то у меня не получается выходит ошибка?
      · 0 ответов
  • Лучшие авторы


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

×