Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ВАЖНО. | IMPORTANT. #50

Open
NyashniyVladya opened this issue Feb 4, 2022 · 29 comments
Open

ВАЖНО. | IMPORTANT. #50

NyashniyVladya opened this issue Feb 4, 2022 · 29 comments
Labels
README Important information that needs attention

Comments

@NyashniyVladya
Copy link
Owner

Ohayo, minasan!

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

По всем возможным способам получения перевода есть два исхода:

  1. Перевод плохого качества.
    • Либо переводится по словам, либо намеренно портится гуглом. Не знаю.
  2. Ошибка "Too Many Requests".
    • Гугл прямо говорит, что определил автоматизацию.
      • Если раньше помогало ожидание, то сейчас - нет. Скорее всего, улучшили алгоритмы определения.
        В принципе, это логично. Если с одного IP идёт более 500 запросов за 10 минут, стоит предположить, что это не человек.

Подобное не только с "Гуглом". Сегодня я написал парсер DeepL. Там ситуация та же.
Он распознаёт автоматичность запросов, даже с частотой 1 запрос в 5 секунд, что уже крайне медленно.
Насколько я понял, сейчас это вообще у всех переводчиков, за исключением, может быть, уж совсем ноунейм проектов.

В связи с этим, я вижу 5 вариантов дальнейших действий:

  1. Оставляем версию с низким качеством.
    • Версия 2.9.5.
    • Какой-никакой а перевод.
  2. Оставляем версию, где вылетает "Too Many Requests" каждые 5 минут.
    • Версия 2.9.6.
    • Смена IP, VPN и пр. помогает, но это такое себе решение.
  3. Проект замораживается на неопределённый срок, пока я не придумаю (что не факт) какое либо решение.
  4. Я переделываю переводчик-парсер в переводчик на официальном API.
    • Вы регистрируетесь на сервисе перевода (в том же "Гугле", к примеру), получаете личный токен и вставляете в переводчик.
    • Из плюсов подобного метода:
      • Многие сервисы предоставляют бесплатные токены перевода для личных нужд, так что, базовый тариф, возможно, выйдет без затрат.
      • Пропадёт необходимость в задержке между запросами и скорость резко возрастёт.
        • Небольшие подтормаживания всё равно будут, запрос всё таки занимает время, но в разы меньше, чем сейчас.
      • Я смогу ввести больше сервисов, т.к. вся работа сведётся к обработке ответов с удобного API, а не парсингу, как сейчас.
    • Из минусов:
      • Придётся потратить время и, возможно, финансовые средства, на получение этого самого токена перевода.
  5. Что-то, что я не увидел сам и что вы мне посоветуете.

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

ffdsfsdf
P.S.: Подписывайтесь на Патреон и закидывайте дэллары. Что я его зря создавал, что ли...

FAQ:

  • Но переводчик <вставить название> нормально работает.
    • Да, если Вы отправляете вручную 10-20 запросов. Но в этом проекте речь идёт о сотнях последовательных запросов. И, как я писал ранее, таймаут уже не помогает.
  • Но раньше то работало.
    • Угу. Но пару дней назад "Гугл" окончательно "прикрыл лавочку".
Read in English. As many people have already noticed, Google has started blocking automated translation methods.

There are two outcomes for all possible ways to get a translation:

  1. The translation is of poor quality.
    • Either the translation is word-for-word, or it is intentionally corrupted by Google. idk.
  2. Too Many Requests" error.
    • Google explicitly says that it has detected automation.
      • If waiting helped before, it doesn't now. Most likely, they improved detection algorithms.
        In generally, it makes sense. If it's more than 500 requests from the same IP in 10 minutes, it's worth assuming that it's not live human.

It's not just with Google. Today I wrote a parser for DeepL. The situation there is the same.
It recognizes automatic queries, even with a frequency of 1 query per 5 seconds, which itself is extremely slow.
As far as I understand, this is the situation with all translation services now, except maybe for some very low-end projects.

To summarize, I see 5 options for further action:

  1. We keep the low-quality version.
    • Version 2.9.5.
    • The translation is very bad, but at least it's there.
  2. We kepp the version where the translator crashes with the "Too Many Requests" error every 5 minutes.
    • Version 2.9.6.
    • Changing IP, VPN, etc. helps, but it's not a solution.
  3. The project is suspended indefinitely until I find (which is not certain) a solution.
  4. I'm converting the translator-parser into a translator on the official API.
    • You sign up for a translation service (Google, for example), get a personal token, and insert it into the translator.
    • From the pros of this method:
      • Many services provide free transfer tokens for personal use, so the basic plan might be free.
      • There will be no need for time delays between requests and the speed will increase dramatically.
        • There will still be some lags, because the request, after all, takes time, but many times less than now.
      • I will be able to introduce support for more translation services because all the work will come down to processing responses from a usable API, rather than parsing as it is now.
    • From the negative sides of this method:
      • You will have to spend time and possibly money to get a translation token.
  5. Something I didn't think of on my own and that you would advise me on.

There you go. I myself have no idea what to do, so I'm throwing the question out there for discussion.

ffdsfsdf
P.S.: Subscribe to my Patreon account and support me with a coin or two.

FAQ:

  • But the translator works fine.
    • Yes, if you manually send 10-20 queries. But in this project we are talking about hundreds of consecutive requests. And, as I wrote earlier, timeout doesn't help anymore.
  • But it worked before.
    • Yep. But a couple of days ago, Google finally blocked all options.
@NyashniyVladya NyashniyVladya pinned this issue Feb 4, 2022
@nokoeboru
Copy link

В принципе получить хорошо переводящий, работающий без лагов автоматический переводчик за баксоны звучит лучше, чем бесплатный(F2P) но не работающий

@Alex250819
Copy link

Alex250819 commented Feb 4, 2022

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

@Alex1078
Copy link

Alex1078 commented Feb 4, 2022

В версии 2.9.6. в _translator3000_google\translator.py возврат к: HOSTNAME = "clients5.google.com" и path="/translate_a/t". вполне адекватный перевод получается на выходе, но с привязкой к московскому времени (ночи) и "requestsFrequency"максимум до 150. через (VPN) возвращает белиберду. translate.googleapis.com тормозит сильно, а вкупе с /translate_a/single вообще не работает.

@Lucario7
Copy link

Lucario7 commented Feb 5, 2022

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

Похоже, по крайней мере, версия 2.9.5 все еще работает, но где мне найти версию 2.9.5?

@BAXONnt
Copy link

BAXONnt commented Feb 5, 2022

а инструкцию можно заранее как то получить, как личный токен гугла оформить?

@DA6KLI9HT
Copy link

DA6KLI9HT commented Feb 5, 2022

Извиняюсь, стали новеллы переводиться странно еще в январе: бывает что перевод резко прекращался и был ориг текст, помогал иногда перезаход ( бывало по несколько раз ) , затем примерно с 3 февраля уже несколько новелл ренпи начали лагать (где-то через 30 секунд после начала чтения) v2.9.6 дико лагают ( при этом прескан выключен очевидно ) . Надеюсь есть решение, и всего наилучшего автору ( неплохое колличество новелл прошел с этим переводчиком ) :)

@Popziz
Copy link

Popziz commented Feb 5, 2022

Unfortunately, the best solution would be a Google cloud subscription or Deelp Pro (but it is expensive)! Even if 2.9.5 is word for word, it is still understandable. And the VPN solution is to be forgotten!

@Mizev
Copy link

Mizev commented Feb 5, 2022

Ohayo, minasan!

Читать на русском языке.
Read in English.

Что если воспользоваться оффлайн переводчиком?

Схема такая:

  1. Translator 3000 выгружает все фразы в файл типа EnExport.txt
  2. В файле EnExport.txt все фразы начинаются с новой строки.
  3. Дальше этот файл уже сам пользователь переводит и копирует с новым именем RuImport.txt
  4. Строки EnExport.txt точно совпадают с RuImport.txt
  5. Translator 3000 складывает файл translations.json на основе EnExport.txt и RuImport.txt

Добавь две функции в свой модуль: 1. Выгрузить фразы в EnExport.txt и 2. Загрузить EnExport.txt и RuImport.txt, а уж чем пользователь переведет их - это его дело. Главное не порушить соотношение строк.

@DA6KLI9HT
Copy link

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

Похоже, по крайней мере, версия 2.9.5 все еще работает, но где мне найти версию 2.9.5?

У меня версия 2.9.5 не скачивается, пишет не удается получить доступ к сайту, даже с vpn

@nokoeboru
Copy link

nokoeboru commented Feb 5, 2022

2 9 5-2 9 3-2 9 6.zipтут 295 293 и 296

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

Похоже, по крайней мере, версия 2.9.5 все еще работает, но где мне найти версию 2.9.5?

У меня версия 2.9.5 не скачивается, пишет не удается получить доступ к сайту, даже с vpn

@DarkFox69
Copy link

DarkFox69 commented Feb 5, 2022

С такой настройкой в 2.9.6 "requestsFrequency": null , затестил вроде норм переводит, сделал prescan и бегло просмотрел файл куда сохраняется перевод, вроде все фразы переводит. Правда медленно примерно от 1 до 3 строк в 1-2 секунды.

@nokoeboru
Copy link

nokoeboru commented Feb 5, 2022

С такой настройкой в 2.9.6 "requestsFrequency": null , затестил вроде норм переводит, сделал prescan и бегло просмотрел файл куда сохраняется перевод, вроде все фразы переводит. Правда медленно примерно от 1 до 3 строк в 1-2 секунды.

У меня прескан не работает вообще, возможно потому-что 80 процентов фраз и контента в файлах json и их не смотрит?(MonsterGirlDream)

@DarkFox69
Copy link

С такой настройкой в 2.9.6 "requestsFrequency": null , затестил вроде норм переводит, сделал prescan и бегло просмотрел файл куда сохраняется перевод, вроде все фразы переводит. Правда медленно примерно от 1 до 3 строк в 1-2 секунды.

У меня прескан не работает вообще, возможно потому-что 80 процентов фраз и контента в файлах json и их не смотрит?(MonsterGirlDream)

Я перед тем как тестить сделал копию файлов в папке vladya's projects database и сохранил их в отдельной папке на всякий случай, потом удалил содержимое этой папки, закинул переводчик в игру с такими настройками
_translator3000_setting.zip
зашел в игру подождал пока развиснит и выбрал начать, потом в менюшке переводчика нажал на prescan и у меня зависла игра, через ДЗ убил процесс игры и запустил заново, также начал нажал на начать в менюшке игры выбрал prescan и он начал переводить.

@DarkFox69
Copy link

2.9.6 хватило на 4.6к строк после чего он снова перестал переводить

@NyashniyVladya
Copy link
Owner Author

Обновил переводчик до версии 2.10.0, в которой оставил два варианта на выбор пользователя:

  1. Сервер Google (client5).
    • То что было в 2.9.5.
  2. Сервер Google GTX.
    • То что было в 2.9.6.
  • Выбирать можно, как в графическом интерфейсе, так и вручную прописать в настроечном файле.
    • Подробнее на странице релизов в соответствующем пункте.

Решение временное, но многие просили вернуть 2.9.5, поэтому пока так. Дальше будем думать...



а инструкцию можно заранее как то получить, как личный токен гугла оформить?

Если всё таки решу перетащить переводчик на этот метод, инструкцию, разумеется, напишу (или предоставлю ссылку на чью либо).



Что если воспользоваться оффлайн переводчиком?

Посмотрю какие существуют и на их качество. Ибо если они на уровне "client5", то зачем оно тогда вообще нужно?.. Проще его и оставить.

  1. Дальше этот файл уже сам пользователь переводит и копирует с новым именем RuImport.txt

Этот пункт мне уже не нравится... Слишком много взаимодействий перекладывается на юзера. Буду смотреть, в общем, что там имеется.



Как вариант, интегрировать автономный переводчик на нейросетях, под названием "Argos Translate" , а также LibreTranslate API

Посмотрю. Спасибо.

  • Не имеет ограничений на количество запросов (в разумных пределах)

Ну... Смотря о каких пределах речь. Некоторые новеллы по 50000+ строк переводят.

@NyashniyVladya NyashniyVladya added the README Important information that needs attention label Feb 6, 2022
@NyashniyVladya
Copy link
Owner Author

The translator has been updated to version 2.10.0, which contains two options for the user to choose from:

  1. Server: Google (client5).
    • This is what was in 2.9.5.
  2. Server: Google GTX.
    • This is what was in 2.9.6.
  • The selection can be made either in the graphical interface or manually in a configuration file.
    • Read more on the releases page under the appropriate item.

The solution is temporary, but a lot of people have asked for 2.9.5 back, so I have done this update. I will think about the issue further...

@Feans
Copy link

Feans commented Feb 6, 2022

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

  1. Идея, выгрузки диалогов в txt для самостоятельного перевода мне кажется вполне рабочей. Если бросить этот txt в окно яндекс браузера или гугл хрома, они нормально переводят весь этот txt, я так у же который год перевожу книги. Ну а далее сохраняем переведенный txt и пусть translator его подцепит, распарсит и внесет перевод в базу. Вот и всё. Я бы сам всё это сделал, но не владею знаниями программиста. Плюсы такого подхода - пользователь сам может выбрать онлайн сервис для перевода и переводчик уже не будет зависеть от постоянных изменений и капризов в работе сервисов, что значительно снизит затраты времени и сил на его разработку. Фактически его можно будет использовать неопределенно долгое время, даже если вы прекратите им заниматься. А не как сейчас, ведь онлайн сервисы всегда боролись и будут бороться с автоматическими запросами, постоянно внося новую защиту. Это бесконечная работа, и игра в одни в ворота, стоит вам остановиться и всё перестанет работать. Просто подумайте об этом в перспективе.
  2. Браузеры не жалуясь ни на что переводят любые объемы текстовых файлов с их встроенной функцией переводчика. Вполне качественно. Нельзя ли маскировать translator3000 под их работу?
  3. Есть такой бесплатный переводчик Qtranslate, использующий онлайн сервисы - он продолжает работать с ними. Возможно следует изучить его работу.
  4. Яндекс вами не рассматривался? А ведь его качество выше гугла. По крайней мере могу подтвердить это в направлении Eng<->RU.

@Senyu
Copy link

Senyu commented Feb 7, 2022

First, it's good to see you again NyashniyVladya, how long has it been? I believe nine months, since I commented here, for the last time.

Oh? 2.9.5, 2.9.6... 2.10.0 I believe I missed some of the updates... I still have versions 2.4.13 to 2.9.3.
Yes I noticed that the quality has dropped... but there is no problem with "too many requests". I also believe that changing IP, VPN, etc. It won't help.

It's good to see that you finally created a Patreon/boosty, if you intend to make this project part of your income/support, I recommend that you disclose more about the project, I remember that I commented a long time ago in a post on f95zone, people who didn't knew about Translator3000 got to know and came here.

Try creating a new topic there in "Programming, Development & Art --> Dev Tools"
You know it is a site like many other pirated content, but many developers use it as a free advertising site for their games made with the "engine" of Illusion Soft so that their pantreon pages generate money $$$.

And I think you should earn for your work with Translator3000, you could even adopt the method that Dreamsavior adopted in its patreon with Translator++, XUnity.AutoTranslator/BepInEx...etc.

KKKK did you meet Waifu Academy in 2018? It's been a while since I played this game because the developer had left it paused and didn't even remember it anymore.

And I've never sent you private messages because I don't think you'd like it.
But really your project made me (and other people) enjoy a much better immersion in the wonderful stories of games made in the Renpy engine, it helped a lot.

I really hope you earn something with your project, but if you don't publicize it or the people you already know don't talk about Translator3000, it won't attract people who can and are interested in investing money so that the project stays alive and you deserve to win something for your work.

I'm going to download the new version now and another day I'll see how the new version is, time to sleep.

@MrAbsolutely
Copy link

Автопереводчики далеки от идеала, но они могут хотя бы смысл предложения передать. Сейчас вообще ничего понять нельзя. Обычный набор слов. Есть 2 сервера: один переводит криво, при использовании второго игра виснет через каждые 1-2 секунды.
Были предложение добавить возможность использовать свои API ключи. Идея хорошая, только вот была бы инструкция, как их получить (Они платные вроде).
Так же есть автопереводчик для игр на Unity, там используется Гуугл переводчик, и перевод в этих играх лучше.

@MoFan13
Copy link

MoFan13 commented Feb 20, 2022

Можете ли вы добавить API-интерфейс перевода? Насколько я знаю, у Baidu Translate API есть 2 миллиона бесплатных переводов в месяц, что, я думаю, достаточно для личного использования. Более сложной задачей является регистрация учетной записи, которая требует регистрации мобильного телефона за границей в четырех линейках продуктов Baidu Public Cloud, Baidu Kanchan, Xiaodu Speaker и Apollo. Вы можете загрузить приложение динамика Xiaodu, чтобы зарегистрироваться. После регистрации можно использовать другие продукты Baidu. (Номер мобильного телефона стран ЕС в настоящее время не поддерживает регистрацию учетной записи Baidu, я очень сожалею о доставленных вам неудобствах)
Перевод Baidu: https://fanyi-api.baidu.com/

@DollPlain
Copy link

Продолжаем сидеть на версии 2.9.5, все новые версии лагающее и постоянно "выключающее" игру дер**о

@NyashniyVladya
Copy link
Owner Author

все новые версии лагающее и постоянно "выключающее" игру дер**о

Огромное спасибо за добрые слова. Именно такие отзывы и мотивируют меня работать дальше и усерднее, улучшая продукт.
(Нет).

@DollPlain
Copy link

Просто предыдущие версии работали отлично, выше 2.9.5 началась петрушка.
Я придерживаюсь принципа - лучше сделай хорошо и перепроверь, даже если уйдёт больше времени, чем быстро но некачественно. Какой смысл в частых обновлениях если они не работают? Отсюда и негативные отзывы. Люди готовы ждать, если это приведёт к результатам.

@NyashniyVladya
Copy link
Owner Author

Просто предыдущие версии работали отлично, выше 2.9.5 началась петрушка.

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

Я придерживаюсь принципа - лучше сделай хорошо и перепроверь, даже если уйдёт больше времени, чем быстро но некачественно.

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

Немного ретроспективы:
2.9.3 работала на client5, она начала падать у людей. Я проверил - гугл изменил структуру ответа, я сделал адаптацию (2.9.5). Потом обнаружилось, что гугл не просто изменил структуру - так же упало и качество перевода. Узнав это - я написал 2.9.6 на логике google gtx, которая возвращает корректный перевод, но оказалось что там хорошая защита от автоматики, поэтому в следующей версии (2.10.0) я вшил принудительную задержку между запросами в gtx и добавил выбор между client5 и gtx.

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

Отсюда и негативные отзывы.

Здорово и вечно, правильно и ясно... (с)

Делаешь опенсорс проект, ничего не прося взамен, поддерживаешь его, а в ответ "твоя херня не работает. что за г. ты сделал".
Люблю наше комьюнити... <3

@Alex250819
Copy link

Alex250819 commented Feb 23, 2022

Я не специалист но можно ли сделать так чтобы программа пока не улучшится построчный перевод сначала просканировала весь текст потом переводила большими кусками в файл перевода с задержкой в 5 секунд как в том же translator++ Как по мне лучше подождатьодин раз 20-30 мин пока переведет в более менее понятный текст Да и спасибо вам за работу рано или поздно я верю у вас выйдет идеально

@MnogoVodki
Copy link

@NyashniyVladya, спасибо за работу

@DollPlain
Copy link

Люблю наше комьюнити... <3

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

@BAXONnt
Copy link

BAXONnt commented Feb 25, 2022

Спасибо огромное за программу. Не одну игру смог поиграть, используя ваш переводчик.
Я думаю, что гугл постепенно дозакрутит гайки по автоматическим запросам и пытаться обойти их ограничения бесперспективно. Единственный вариант - это получение личного токена. Нужно думать в этом направлении. Хотелось бы только по максимому упрощённую инструкцию потом, как получить (купить) личный токен.

И ещё, как вариант, возможно ли сделать так, чтобы можно было натравить программу на игру - она все тексты в файл сначала без перевода сканировала, а потом, при желании, уже на этот файл переводчик натравить, вплоть до 1 запроса в минуту, если так нужно. Помнится 2.9.3, когда поломалась, примерно так и работала - файл на выходе получался только с английским текстом, а вместо русского - пустые кавычки. Вот такой примерно файл потом чтобы обработать можно было автоматическим переводчиком, пусть и ОЧЕНЬ медленно.

@Feans
Copy link

Feans commented May 10, 2022

И ещё, как вариант, возможно ли сделать так, чтобы можно было натравить программу на игру - она все тексты в файл сначала без перевода сканировала, а потом, при желании, уже на этот файл переводчик натравить, вплоть до 1 запроса в минуту, если так нужно.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
README Important information that needs attention
Projects
None yet
Development

No branches or pull requests