Разбить текста на части для google translate

Roman Bondar

Client
Регистрация
10.09.2015
Сообщения
60
Благодарностей
25
Баллы
18
Коллеги.
Подскажите пожалуйста как обуздать этот капризный google translate.
Использую api google translate.
Небольшой текст переводится без проблем.
Если запустить в перевод большой текст то кубик выдает ошибку.
Я пробывал руками делить этот текст на части, кусочки переводит нормально, а целый-большой выдает ошибку.
Я так понял это связанно с какими то квотами для запроса в гугл переводчике. (если кто знает как увеличить эти квоты, раскажите плиз)

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

Проблема в том что текст может быть и 70 и 100 строчек + html теги. Если переводить по одной строке то на это будет ухдить слишком много времени и ресурса.
Как брать по 30 строк из списка, я так не разобрался.

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

Вазможно у кого то есть более элегантное решение, буду очень признателен.

За ранее большое спасибо.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 218
Благодарностей
9 429
Баллы
113
@Roman Bondar В веб-переводчике Гугла лимит на 5.000 символов.
В api тоже есть лимит скорее всего какой то.

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

Если нужно брать по 30 строк, то просто с помощью кубика "Операции над списком" выделяете подсписок по диапазону 0-30, но тут скорее всего важен также подсчет общего кол-ва символов.
 
Последнее редактирование:
  • Спасибо
Реакции: Roman Bondar

Roman Bondar

Client
Регистрация
10.09.2015
Сообщения
60
Благодарностей
25
Баллы
18
Если нужно брать по 30 строк, то просто с помощью кубика "Операции над списком" выделяете подсписок по диапазону 0-30, но тут скорее всего важен также подсчет общего кол-ва символов.
Спасибо, так и сделал.
1667559838254.png
 
  • Спасибо
Реакции: Sergodjan

kagorec

Client
Регистрация
24.08.2013
Сообщения
1 038
Благодарностей
560
Баллы
113
Регулярным выражением, по точкам\вопросикам\воскл. знакам поделить на части
C#:
(\. |\? |\! ).{3000,4500}
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)