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

Roman Bondar

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

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

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

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

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

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

Sergodjan

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

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

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

Roman Bondar

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

kagorec

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

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