Продажи шаблона Google-Translate (Гугл Переводчик), скорость: 20 млн ключей/час, с прокси, без API

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113

Внимание: Начиная с версии 2.00 шаблон переводит как обычные текстовые файлы, так и HTML-страницы с сохранением верстки. Это отрывает ему возможности полноценного перевода файлов дорвеев и прочих авто-генерированных сайтов.

Последние версии шаблон делались в ProjectMaker 5.17.1.0. Стоит ограничение по запуску минимум 5.10.0.0, но как поведет себя на старых версиях ZennoPoster (старше 5.17.1.0) – хз, в любом случае у вас есть возможность обновить ZennoPoster.
  • Закрытого типа (только выполнение).
  • Из внешних подключений добавлены ссылка из GAC (System.Web) и HtmlAgilityPack.dll для полноценной работы C#-кубиков.
  • Нет лимита по размеру передаваемого текста (поток шаблона сам разобьет на куски текстовку, если увидит что не помещается в 1 запрос)
  • Все нюансы работы шаба описаны на вкладках «Входные настройки». Обязательно хотя бы первую прочтите.
1. Эксперимент проводился при запуске с RAM-диска (хоть это и не обязательно), в режиме «#1.1 А)». Файлы были разбиты на мелкие части по ~5 мб, суммарный размер 800 мб (в кодировке “UTF-8 BOM”). Прокси не понадобились.
Нагрузка на CPU ~ 70% (запросы шлются без пауз, обработка сложного HTML-кода, пока не нашел как понизить), сеть ~ 20 Мегабит\секунду, RAM ~100 Мегабайт.
На выходе получили 1,4 Гб переведенных фраз (русский текст больше места занимает). Если обратно переводить, то будет в 2-3 раза медленнее, из-за того, что в формате UrlEncode русский текст тоже больше места занимает.
2. Постоянно спрашивают о скорости перевода статей. 25.05.2018 одному покупателю тестировал его пак:
1100 HTML-файлов, но там именно разметка уже самой статьи под импорт в движок сайта (с тегами, списками, но без футера, менюшек). Размер 20 мб суммарный, 11,1 млн. символов самой текстовки (без кода тегов, это ~10К символов на 1 статью). Направление перевода [ru-pl]. Тестировали именно в 1 поток. Время, затраченное на перевод: 5 часов. Понятно, что на 20-30 потоках времени уйдет минимум в 10 раз меньше.
Спрашивали тут меня как именно переводит через гугл шаблон, а то там исходя из методов (API\Браузер) могут применятся чуть разные алгоритмы обработки от самого сервиса translate.google. Так что 30.05.2018 провел эксперимент, ниже его результаты.

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

Например, вот в архиве три файла, и еще залил результаты на сервис сравнения для удобства (там 3 страницы):
1. Текст на перевод.txt
2. Результат перевода в браузере обычном.txt
3. Результат перевода шаблоном моим.txt

Как видите есть незначительные отличия, но они минимальны. Хотя пока тестировал мне получилось поймать ситуацию, когда всплыла грубая ошибка в моем результате: в оригинале пропущен пробел между словами («... qualité.Un») , и в итоге это место совсем не перевелось. Тогда как в браузере гугл понял, что это ошибка, добавил сам пробел, и нормально потом перевел. Но когда я пытался повторно этот косяк поймать, то шаблон уже нормально переводил все. Я подумал, может это гугл запалил постоянный парсинг с моего IP, и иногда выдает «некачественный» перевод, но даже после длительных нагрузок не смог повторить ошибку. Так что спишем это просто на «случаность» в алгоритмах перевода. Хотя потом попробовал шаблоном перевести отдельно этот абзац без номера строки, и таки поймал:

Il faut aussi que vous déclarer vos sentiments d’une position de force, pour lui communiquer que vous n’êtes pas désespéré, que vous êtes un homme de qualité.Un homme qui a beaucoup de choix avec les femmes, mais qui a choisi d’être avec elle parce que’’il vu un truc spécial en elle. Le problème qui se pose ici, est que vous ne pouvez pas communiquer ça à une fille sauf si vous avez vraiment trop le choix avec les femmes dans votre vie.
Он также требует, чтобы вы объявляете свои чувства в сильной позиции, чтобы сообщить, что вы не отчаянные, вы человек qualité.Un людей с большим выбором с женщинами, но выбрали быть с ней, потому что он видел в ней особый трюк. Проблема здесь в том, что вы не можете сообщить об этом девушке, если у вас действительно нет выбора с женщинами в вашей жизни.


Но объяснить почему гугл на запрос шаблона здесь не применил свой «дополнительный алгоритм по исправлениям ошибок» я не могу. Может из-за слишком маленького объёма переведённого текста в запросе (типа ему мало данных для анализа, и он не включает дополнительные режимы), хз…

Подобные эксперименты уже проводились покупателями шаблона ранее (в феврале наблюдались кардинальные улучшения в переводе гугла). Тогда мы замечали, что если гугл вносит какие-то новые алгоритмы, то в браузере они сразу видны, в вот в результатах перевода шаблона они где-то через месяц только появляются. То есть банально гугл не сразу обновляет все свои методы сервиса перевода, но со временем очередь до всех доходит, переживать не стоит.
Запускать шаблон теоретически лучше не больше чем в ~20-30 потоков, или так чтобы нагрузка на ваш CPU не превышала 80%. У меня практика показала, что даже если и добавить больше потоков, то скорость обработки не увеличится. Хотя все зависит от режимов работы и мощности железа. Колебание скорости реальной работы очень легко анализировать по графику нагрузки сети (у меня в районе 20 мбит\секунду идет передача). Если вы видите, что после прибавления потоков график уже не растет, значит не смысла ставить больше, ибо достигнут физический предел.
Вот для понимания скриншот «Диспетчера задач» на Wondows 10, где по графику видно что нагрузка сети стабилизировалась на уровне ~10 мбит и не растет:
«RAM-диск» - это технология, позволяющая использовать часть системной оперативной памяти как дополнительное дисковое устройство, то есть «сверхбыстрый» мини-диск.
Сделать такое можно программой «SoftPerfect RAM Disk 3.4.8 Free». Уже есть версия 4, но она платная, можете искать ломанную на варез-трекерах; 3.4.5 версия идет в комплекте с Total Commander PowerUser (тот черный командер, который на моих видео). Из гугла по ней: обзор1, обзор2, видео. Отдельно стоит заметить, что в случае перезагрузки ПК - данные с рамдиска стираются, если дополнительно не настроить резервное копирование на жесткий диск в софте.















Да, можете родной Zenno-кубик использовать, в ProjectMaker:
«Добавить действие > Данные > Обработка текста > Перевод > Сервис GoogleTranslateViaWebInterface.dll»

Если текста мало, то хватит его базового функционала. В противном случае можете самостоятельно обвешать кубиками обрезки текста на мелкие куски. Ну и позаимствуйте идеи для усовершенствования из скриншотов «Входных настроек» моего шаблона.
Здесь собраны именно поддерживаемые языки Google-Translate на момент создания темы (ноябрь 2017). Там есть немного отличия от двух-буквенного стандарта ISO 639-1. Шаблон поддерживает все из них.

#1.7 [IN_Param_sl] Язык оригинала: {Определить язык - auto|азербайджанский - az|албанский - sq|амхарский - am|английский - en|арабский - ar|армянский - hy|африкаанс - af|баскский - eu|белорусский - be|бенгальский - bn|бирманский - my|болгарский - bg|боснийский - bs|валлийский - cy|венгерский - hu|вьетнамский - vi|гавайский - haw|галисийский - gl|греческий - el|грузинский - ka|гуджарати - gu|датский - da|зулу - zu|иврит - iw|игбо - ig|идиш - yi|индонезийский - id|ирландский - ga|исландский - is|испанский - es|итальянский - it|йоруба - yo|казахский - kk|каннада - kn|каталанский - ca|киргизский - ky|китайский (традиционный) - zh-TW|китайский (упрощенный) - zh-CN|корейский - ko|корсиканский - co|креольский (Гаити) - ht|курманджи - ku|кхмерский - km|кхоса - xh|лаосский - lo|латинский - la|латышский - lv|литовский - lt|люксембургский - lb|македонский - mk|малагасийский - mg|малайский - ms|малаялам - ml|мальтийский - mt|маори - mi|маратхи - mr|монгольский - mn|немецкий - de|непальский - ne|нидерландский - nl|норвежский - no|панджаби - pa|персидский - fa|польский - pl|португальский - pt|пушту - ps|румынский - ro|русский - ru|самоанский - sm|себуанский - ceb|сербский - sr|сесото - st|сингальский - si|синдхи - sd|словацкий - sk|словенский - sl|сомалийский - so|суахили - sw|суданский - su|таджикский - tg|тайский - th|тамильский - ta|телугу - te|турецкий - tr|узбекский - uz|украинский - uk|урду - ur|филиппинский - tl|финский - fi|французский - fr|фризский - fy|хауса - ha|хинди - hi|хмонг - hmn|хорватский - hr|чева - ny|чешский - cs|шведский - sv|шона - sn|шотландский (гэльский) - gd|эсперанто - eo|эстонский - et|яванский - jw|японский - ja}

Или в столбец:

#1.7 [IN_Param_sl] Язык оригинала: {
Определить язык - auto
азербайджанский - az
албанский - sq
амхарский - am
английский - en
арабский - ar
армянский - hy
африкаанс - af
баскский - eu
белорусский - be
бенгальский - bn
бирманский - my
болгарский - bg
боснийский - bs
валлийский - cy
венгерский - hu
вьетнамский - vi
гавайский - haw
галисийский - gl
греческий - el
грузинский - ka
гуджарати - gu
датский - da
зулу - zu
иврит - iw
игбо - ig
идиш - yi
индонезийский - id
ирландский - ga
исландский - is
испанский - es
итальянский - it
йоруба - yo
казахский - kk
каннада - kn
каталанский - ca
киргизский - ky
китайский (традиционный) - zh-TW
китайский (упрощенный) - zh-CN
корейский - ko
корсиканский - co
креольский (Гаити) - ht
курманджи - ku
кхмерский - km
кхоса - xh
лаосский - lo
латинский - la
латышский - lv
литовский - lt
люксембургский - lb
македонский - mk
малагасийский - mg
малайский - ms
малаялам - ml
мальтийский - mt
маори - mi
маратхи - mr
монгольский - mn
немецкий - de
непальский - ne
нидерландский - nl
норвежский - no
панджаби - pa
персидский - fa
польский - pl
португальский - pt
пушту - ps
румынский - ro
русский - ru
самоанский - sm
себуанский - ceb
сербский - sr
сесото - st
сингальский - si
синдхи - sd
словацкий - sk
словенский - sl
сомалийский - so
суахили - sw
суданский - su
таджикский - tg
тайский - th
тамильский - ta
телугу - te
турецкий - tr
узбекский - uz
украинский - uk
урду - ur
филиппинский - tl
финский - fi
французский - fr
фризский - fy
хауса - ha
хинди - hi
хмонг - hmn
хорватский - hr
чева - ny
чешский - cs
шведский - sv
шона - sn
шотландский (гэльский) - gd
эсперанто - eo
эстонский - et
яванский - jw
японский - ja
}
Потому что он лучше всех понимает нелитературный язык (сленг). Сравнивал несколько лет назад на ключах своей тематики, и только гуглу удавалось нормально перевести смысл спорных фраз.
Свой первый шаблон-переводчик на зенке я сделал в июле 2015. Работал он на запросах, слал Get-методом те же запросы что и браузер (UrlEncode текста на перевод). Со временем я понял, что можно увеличить лимит передаваемых за 1 запрос данных, если засунуть все в тело Post-запроса. Так и сделал. Скорость подросла, прокси почти не требовались, гугл не обращал внимания на многопоточный парсинг. Но потом где-то через год лавочка прикрылась, и работать через Post гугл разрешил только обладателям платного API.

Но есть застарелые статьи в сети как обойти блокировку, используя генерирование «временных ключей» к API (параметр &tk=), которые гугл раздает при переводе в браузере (они вроде js-скриптами на странице генерируются). Вон зенка в своем родном кубике их тоже научилась генерировать. Есть скрипт для самостоятельной генерации «&tk=»: https://github.com/guyrotem/google-translate-server , но для меня это слишком сложно, и я просто вернулся к тому первому шаблону на Get-запросах, который все еще работал. Обвешал его всякими плюшками для удобства, и довел до идеала все возможности. Недавно взял один заказ по внедрению такого шаблона в комбайн заказчика в режиме «Шаблон в Шаблоне». Человеку все понравилось, попросил для друга сделать такое же, поэтому и родилась эта тема.
  • В своих шаблонах в качестве подшаблона.
  • В генерации текстовки дорвеев, сателлитов и т.д.

Видео. Оно в посте №26 описано. Правда оно тоже старело, так как снято еще 27.12.2017 на версии шаблона 2.03, но основные моменты работы в нем раскрыты, а актуальные возможности и настройки ищите в спойлере "Spoiler: #5. Скриншоты «Входные настройки» с кучей настроек:", там постоянно обновляю картинки под каждую новую версию.


Видео для версии 2.0:

Самое первое видео для версии 1.0:

Если у вас нет программы ZennoPoster для запуска данного шаблона, то можно легко (+10$ к цене) прикупить ZennoBox-версию (что такое ZennoBox), которая даст возможность запускать данный шаблон в 20 потоков, чего обычно хватает с головой. Только не забудьте указать при покупке что нужна именно ZennoBox-версия.

Цена: 130$.
Контакты: личка форума, Telegram: orka13 (ссылка кликабельная, добавляйтесь по ней, а то могут быть мошенники с подобными никами), Skype: orkanavtica

Гарантия
: возврат средств (манибек) за шаблон в течении 14 дней после его получения (за вычетом комиссии платежных систем). Здесь проблем нет, лояльно отношусь к такому требованию, даже если шаблон на 100% рабочий был, и дело чисто во вкусах покупателя.
Бесплатная Trial-версия: любому форумчанину со стаусом Client готов выдать шаблон наперед без оплаты (триалка на 14 дней). Даже под зенобокс (оплата комиссии сервиса за мой счет).
Лицензия: вечная, шаблон будет закрыт и прикреплен к вашему Email (ID) Zennolab. То есть можете запускать одновременно и на разных ПК, если у вас купленно несколько копий Zennoposter. Если же Zennoposter отсутствует вовсе, то выпишу лицензию под Zennobox, но оплата комиссии сервиса тогда за ваш счет (+10$).
Поддержка: стараюсь обновлять парсер после каждых изменений в сервисе (они где-то раз…два в год случаются). Но иногда это затягивается на длительные сроки. Если же нужны индивидуальные консультации по первому запуску шаблона или ZennoPoster, так как вы совсем дуб-дубом и ничего не понимаете, то и это возможно: схема «TeamViewer + Skype», ценник: 3$/10 минут. Если я вдруг пропаду, или кардинально сменю вид деятельности то понятно, что никто поддерживать шаблон вместо меня не будет. Открою тогда исходники и дальше уже сами разбирайтесь.
 
Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Если честно, я прифигел с этого шаблона по итогам тестов - 300K НЧ ключей за 15 минут при переводе с EN на RU. В один поток!
Ключи получились довольно качественные, мусора не более 5%
Хотелось чтобы автор добавил работу с большим HTML текстом с сохранением верстки.
 
Последнее редактирование:
  • Спасибо
Реакции: PPCSEO, Damirka и orka13

Эрнесто Че Гевара

Пользователь
Регистрация
16.11.2017
Сообщения
50
Благодарностей
10
Баллы
8

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с Эрнесто Че Гевара какие-либо сделки.

Работа проведена колоссальная. Шаблон обрабатывает очень быстро.
Для доров текст вышел вполне качественный.
 
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Если честно, я прифигел с этого шаблона по итогам тестов - 300K НЧ ключей за 15 минут при переводе с EN на RU. В один поток!
Ключи получились довольно качественные, мусора не более 5%
Хотелось чтобы автор добавил работу с большим HTML текстом с сохранением верстки.
Подобное уже делал под заказ. Но без проблем получается организовать работу только для страниц одного типа (сайты одного движка, структуры). Можно было бы просто выбрать в каких тегах делать перевод (<title>, <p>, <h1>…), и шаб бы дергал со страницы по кусочку и собирал обратно в той же HTML структуре. Можете сами сделать отдельный шаблон под такую задачу, а мой подключать только в качестве «Проект в проекте» сугубо для перевода. Именно с такой комбинацией двух шаблонов я и отдал заказ.
А вот если доноры разные, и верстка там с кучей мусора, служебного кода, непонятных скриптов\стилей внутри текстовых тегов, то тогда трудно сделать универсальный шаблон с предугаданным всех мелочей, будут ошибки. В итоге часть страниц соберет с «поплывшей версткой».

Хотя если идея популярная, и шаблон будет активно продаваться то можно рассмотреть варианты:
а) добавить к этому шаблону базовые функции перевода HTML-страниц
б) сделать открытый отдельный универсальный шаблон именно по «пересборке» HTML-страницы. Может кто подскажет более оптимальные решения, можно и с использованием сторонних библиотек. А то моих знаний может не хватить.
UPD: а может лучше не изобретать велосипед, и научится выдергивать с гугл переводчика код переведённой страницы сразу?
UPD#2: Начиная с версии 2.00 в шаблоне реализован вариант "а) добавить к этому шаблону базовые функции перевода HTML-страниц".
 
Последнее редактирование:
  • Спасибо
Реакции: Astraport

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113
Спасибо за шаблон, пока что в работу его не встроил, но проверил тестовый "проект в проекте" и это именно то, что я искал :-)

Разработка однозначно стоит своих денег ;-)
 
  • Спасибо
Реакции: orka13

AgentRassilok

Известная личность
Регистрация
08.11.2016
Сообщения
1 272
Благодарностей
466
Баллы
83
Степан помогает всегда чем может, просто апну топик этого прекрасного человека )
 
  • Спасибо
Реакции: Astraport

Walter_White

Client
Регистрация
09.09.2016
Сообщения
149
Благодарностей
2
Баллы
18
направление языков только en-ru?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
направление языков только en-ru?
Нет, любое (все что есть в веб-версии гугла). Просто я для подсчета скорости именно на этих направлениях все тестировал. Вот открывок из "Содержимое файла-экспорта Входных настроек для понимания значений переменных". Если гугл вдруг добавит что-то новое, то я это легко внедрю в шаблоне в обновлениях.
{Определить язык - auto|азербайджанский - az|албанский - sq|амхарский - am|английский - en|арабский - ar|армянский - hy|африкаанс - af|баскский - eu|белорусский - be|бенгальский - bn|бирманский - my|болгарский - bg|боснийский - bs|валлийский - cy|венгерский - hu|вьетнамский - vi|гавайский - haw|галисийский - gl|греческий - el|грузинский - ka|гуджарати - gu|датский - da|зулу - zu|иврит - iw|игбо - ig|идиш - yi|индонезийский - id|ирландский - ga|исландский - is|испанский - es|итальянский - it|йоруба - yo|казахский - kk|каннада - kn|каталанский - ca|киргизский - ky|китайский (традиционный) - zh-TW|китайский (упрощенный) - zh-CN|корейский - ko|корсиканский - co|креольский (Гаити) - ht|курманджи - ku|кхмерский - km|кхоса - xh|лаосский - lo|латинский - la|латышский - lv|литовский - lt|люксембургский - lb|македонский - mk|малагасийский - mg|малайский - ms|малаялам - ml|мальтийский - mt|маори - mi|маратхи - mr|монгольский - mn|немецкий - de|непальский - ne|нидерландский - nl|норвежский - no|панджаби - pa|персидский - fa|польский - pl|португальский - pt|пушту - ps|румынский - ro|русский - ru|самоанский - sm|себуанский - ceb|сербский - sr|сесото - st|сингальский - si|синдхи - sd|словацкий - sk|словенский - sl|сомалийский - so|суахили - sw|суданский - su|таджикский - tg|тайский - th|тамильский - ta|телугу - te|турецкий - tr|узбекский - uz|украинский - uk|урду - ur|филиппинский - tl|финский - fi|французский - fr|фризский - fy|хауса - ha|хинди - hi|хмонг - hmn|хорватский - hr|чева - ny|чешский - cs|шведский - sv|шона - sn|шотландский (гэльский) - gd|эсперанто - eo|эстонский - et|яванский - jw|японский - ja|}
 

Walter_White

Client
Регистрация
09.09.2016
Сообщения
149
Благодарностей
2
Баллы
18
Нет, любое (все что есть в веб-версии гугла). Просто я для подсчета скорости именно на этих направлениях все тестировал. Вот открывок из "Содержимое файла-экспорта Входных настроек для понимания значений переменных". Если гугл вдруг добавит что-то новое, то я это легко внедрю в шаблоне в обновлениях.
подскажите, какое может быть применение полученных переведённых ключей?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
подскажите, какое может быть применение полученных переведённых ключей?
Из стартпоста:
  • В своих шаблонах в качестве подшаблона.
  • В генерации текстовки дорвеев, сателлитов и т.д.
 
  • Спасибо
Реакции: Walter_White

Walter_White

Client
Регистрация
09.09.2016
Сообщения
149
Благодарностей
2
Баллы
18
Из стартпоста:
  • В своих шаблонах в качестве подшаблона.
  • В генерации текстовки дорвеев, сателлитов и т.д.
а как текстовку из ключей делать? Просто сплошняком набор ключей как абзац, с добавлением точки чтобы выглядело как предложение?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Ну это я в примере ключи на видео переводил. Вставляете туда текстовку ( не обязательно каждое предложение с новой строки). И шаблон вернет переведенный текст в такой же структуре. Хотя в многопотоке строки между собой могут перемешатся на выходе, так что здесь либо 1 поток (скорость упадет, но она и так приличная, может и не заметите разницы на мелких обьемах).
Если же надо переводить какие-то свои файлы со статьями, то шаблон удобнее будет использовать в режиме "Проект в проекте": создать свой родительский шаблон, который будет читать файл статьи, передавать его содержимое в мой под-шаблон, ждать пока тот вернет переведенный текст, а потом сохранять результат куда надо. В ближайшие пару дней постараюсь выкатить такой открытый шаблон, и добавить в нем еще пару фишек, которые уже просили покупатели (перевод HTML кода страниц с сохранением структуры\верстки, спиннер {|||||} и т.д.). Ети два шаба будут работать в паре.

UPD:
Если же у вас проблема с незнанием откуда получить текстовку под перевод, то вот схема дорвейщиков:
1. Берем ключи в интересуюущей тематике (парсим подсказки \ Wordstat \ Adwords \ выборки из баз (Рекомендую только Bukvarix).
2. Парсим по ним ссылки страниц из Топо10…Топ100 выдачи. Оптимально Bing подходит, так как он не наказывает за массовый парсинг жестко. Парсер под него я может до нового года выкатаю, уже почти готово все.
3. Парсим текстовку с полученных ссылок. Парсер тоже выставлю, пока есть только сырой вариант, он не умеет тело статьи определять, вот обсуждение вопроса.
4. Готово.
 
Последнее редактирование:
  • Спасибо
Реакции: Astraport

adept

Client
Регистрация
05.10.2015
Сообщения
44
Благодарностей
11
Баллы
8
Извините что туплю, только начал осваивать зенку. Данный шаблон может по дефолту переводит тисячи файлов txt с текстом больше чем 5000 символов или его нужно дорабатывать?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Ну смотрите, лимита на размер 1 файла как и количества файлов в каталоге нет. Я просто указывал, что если файл весит больше 10 мб (~10 млн. символов), то такой супер-скорости, которая заявлена в теме не добиться, так как в многопотоке зенка больше времени затратит на его обработку. Поэтому я рекомендовал порезать на мелкие файлы.
По умолчанию шаблон просто переводит строки в одну кучу (основное предназначение: «перевод ключей»), и на многопотоке даже может чуть нарушатся последовательность строк.

Если же вам надо перевести свои 1000 файлов с любым размером\названием с сохранением структуры строк в каждом файле, то для такой задачи я на днях выкачу дополнительный шаблон открытый, в котором будет такая функция, и каждый владелец ProjectMaker сможет подстроить ее под себя.

UPD: Вместо отдельного шаблона я просто добавил функции обработки отдельных файлов.
 
Последнее редактирование:
  • Спасибо
Реакции: Astraport

adept

Client
Регистрация
05.10.2015
Сообщения
44
Благодарностей
11
Баллы
8
Ну смотрите, лимита на размер 1 файла как и количества файлов в каталоге нет. Я просто указывал, что если файл весит больше 10 мб (~10 млн. символов), то такой супер-скорости, которая заявлена в теме не добиться, так как в многопотоке зенка больше времени затратит на его обработку. Поэтому я рекомендовал порезать на мелкие файлы.
По умолчанию шаблон просто переводит строки в одну кучу (основное предназначение: «перевод ключей»), и на многопотоке даже может чуть нарушатся последовательность строк.

Если же вам надо перевести свои 1000 файлов с любым размером\названием с сохранением структуры строк в каждом файле, то для такой задачи я на днях выкачу дополнительный шаблон открытый, в котором будет такая функция, и каждый владелец ProjectMaker сможет подстроить ее под себя.
Да вы правильно поняли меня как раз интересует чтобы я мог перевести свои тхт файлы с текстовкой и сохранением структуры на нужные языки. Этот шаб про который вы говорите будет бонусом к данному или отдельная продажа?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Бонусом, бесплатно. он будет как-бы родительским открытым шаблоном-мостом, который будет отвечать за чтение\запись в файлы. А покупной шаблон будет только принимать>переводить>отдавать тот текст, что в него передаст родительский шаб.
Была идея просто добавить этот базовый функционал в тот покупной шаблон, но из пожеланий покупателей стало понятно что универсального решения не сделать, у каждого свои пожелания, так что лучше пусть у каждого будет возможность подправить схему самостоятельно.
 
  • Спасибо
Реакции: Astraport

backoff

Client
Регистрация
20.04.2015
Сообщения
6 042
Благодарностей
6 476
Баллы
113
А как шаб переводит тексты? Нормальные полноценные тексты. На сколько они читабельны.
а то ключи и яндекс переводчик на апи нормально и быстро переводит
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Читаемость та же, что и в обычном переводе в translate.google.com через браузер. Там качество растет с годами, нейронку вон подключили и автообучение.
Днем выложу новую версию шаблона, с переводом отдельных файлов (статей). Также добавлены «хотелки» покупателей, типа Spintax, перевод файлов с HTML-версткой. Пока внедряю его в один крупный комбайн заказчика, не успеваю по срокам, извиняюсь перед теми, кому обещал быстрее эту обнову выкатить.
 
  • Спасибо
Реакции: teodocomo

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
На основе хотелок клиентов и плотных тестов шаблон был сильно усовершенствован. Встречайте версию 2.00. Я отказался от прошлой идеи с бонусным шаблоном-дополнением, и внедрил все пожелания в основной шаблон. Главная причина: появились покупатели на Zennobox, и им трудно без ProjectMaker комбинировать несколько шаблонов.
Видео:

Добавлено новое:
- Добавлены 2 новых режима работы шаблона ([IN_Mode] )
1) Обычный (берет строки из файла «\Input\Keys.txt» или «\Input\part\*»)
2) С сохранением структуры обрабатывает отдельные файлы (из списка «\Input\Files_Path.txt»)
2.1) Создание списка файлов (для предыдущего режима) на основе поиска в каталоге}
Режим «2)» отлично подходит для перевода отдельных статей или HTML-страниц. Ведь здесь каждый отдельный файл обрабатывается отдельным потоком шаблона. А если файл большой, то шаблон по очереди в несколько веб-запросов будет его переводить по частям, а потом собирать обратно последовательно, сохраняя при этом структуру. В многопотоке сразу с несколькими файлами идет работа. Переведенный файл записывается целиком уже после окончания перевода. Не забываем, что кодировка входящих файлов должна быть «UTF-8 (BOM)»!!
- Добавлена опция «[IN_HTML_Parsing_On] Включить обработку текста как HTML-страницы». Подробнее ее работа описана в скриншоте вкладки настроек «8. HTML_Parsing». Включайте ее если переводите *.HTML-файлы полноценных страниц. Или даже обычные *.TXT файлы, в которых встречаются HTML-теги, и их код надо оставлять «как есть», а переводить только текстовое содержимое. Там алгоритм основан на основе разбора DOM-дерева данных на C# + HtmlAgilityPack библиотеки + костылей моего говно-кода :-).
- Добавил определение языка (если выбран [IN_Param_sl] = "Определить язык - auto"), оно выводит в лог-файл и в маску сохранения файла с какого в какой язык перевод производился. А в режиме «Шаблон в шаблоне» еще и в переменной отдельной (sl_auto_Language) будет возвращаться сам код языка в формате «ISO 639-1» (двухбуквенное сокращение). Это удобно для покупателей, который в своих шаблонах комбайнах нуждаются не просто в переводе, а в точном определении основного языка контента с помощью translate.google.
- Добавлена поддержка Zenno-Spintax. При включении этой опции в тексте перед переводом конструкция {слово 1|слово 2|слово 3} преваращет в рандомный елемент, например, «слово 2». Но будьте внимательны с составлением конструкций. Подробнее о спинтаксе в ZennoLab-Wiki: https://zennolab.com/wiki/ru:actions:text:extended-spintax

Иногда гугл подменяет обычные пробельные символы на границах строк
Код:
Пробел &#032;
на
Код:
Неразрывный пробел &#160;
Сделал замену последних на обычный пробел.
Подправил авто-замену в переведенном тексте некоторых нестандартных символов («\x3d» заменил на «=»). Там у Гугла своя специфика преобразования спецсимволов, обычная конвертация не помогает, приходится вручную дополнять маску для авто-замены, отлавливая нестандартные спецсимволы на практике.
Убрал очистку символов «{}» из переведенного текста. Раньше приходилось очищать их по тех-причинам.
Обновил информацию во вкладках настроек шаблона, в стартпосте темы и переписал видео.

В связи с разрастанием проекта цена поднялась до 25$ \ 1500 рублей. А если новые покупатели опять заставят меня внедрять интересные вкусняшки в работу шаблона, то в будущем опять планку ценны подниму с выходом обновления :-).
Все, кто не успел прикупить шаблон, но участвовал со мной в переписке по вопросам работы продукта могут до конца недели забрать его по старой цене. Старые покупатели получают все обновления бесплатно независимо от ценовой политики (просто перекачайте новую версию по той ссылке, которую получили после оплаты).
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred

nikvikdid

Client
Регистрация
12.07.2015
Сообщения
48
Благодарностей
10
Баллы
8
Специально наблюдал за вашим топиком. Ждал обновления, а вы не предупреждая, подняли цену (. Знал бы об этом, купил бы давно.
За видео спасибо. Только оно бесполезно. Смотреть не возможно. Вы с такой скоростью кликаете, переключаетесь между окнами и программами, что не успеваешь понять смысл ваших действий.
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Специально наблюдал за вашим топиком. Ждал обновления, а вы не предупреждая, подняли цену (. Знал бы об этом, купил бы давно...
Ок, тогда чтобы люди не обижались и за локти не кусались сделаю продолжение старых цен до полуночи по МСК абсолютно всем желающим.
...За видео спасибо. Только оно бесполезно. Смотреть не возможно. Вы с такой скоростью кликаете, переключаетесь между окнами и программами, что не успеваешь понять смысл ваших действий.
Блин, а я еще пишу покупателям «просмотрите хотя бы первые минуты видео, а если нет времени, то увеличьте скорость просмотра в ютуб». Надо заменить «увеличьте» на «уменьшите» :-). Извиняюсь, ночью записывал, иногда сам терялся какое окно надо открывать, постоянно в план подглядывал, может перепишу после следующих обновлений.
 
  • Спасибо
Реакции: nikvikdid и Danny

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Забыл указать новым покупателям, что в версии шаблона >=2.00 присутствует Html Agility Pack (.NET парсер HTML).
Поэтому для работы шаблона надо закинуть содержимое папки "ExternalAssemblies" (добавил ее в архив с шаблоном, перекачайте) в аналогическую папку ZennoPoster, пример у меня:
c:\Program Files (x86)\ZennoLab\RU\ZennoPoster Pro\5.12.3.0\Progs\ExternalAssemblies\
Ети файлы я тестировал на своем «Windows 10». Они взяты из файла «htmlagilitypack.1.6.8.nupkg\lib\Net45\» (под .NET Framework 4.5). Все актуальные версии файлов можно посмотреть на сайте разработчиков: https://www.nuget.org/packages/HtmlAgilityPack/ . Они там правда распаковываются через их консольную утилиту, или архиватор, или Total Commander.
Если с этими файлами шаблон не запускается без ошибок (обычно пишет «Произошла ошибка компиляции проекта »), значит чего-то не хватает, и надо разбираться. Если не получается самому, то стучитесь, помогу найти проблему.
 
Последнее редактирование:

borroza

Client
Регистрация
03.12.2011
Сообщения
93
Благодарностей
24
Баллы
8
Хотел оставить отзыв.
Отличный и порядочный исполнитель.
Вникает очень скурпулезно в тему, удобство, продуманность шаблонов (в то числе и по гугл переводчику) на высоте.
Сотрудничал с ТС несколько раз - и буду далее.
 
  • Спасибо
Реакции: AgentRassilok и orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
В этот раз скрупулезность не спасла, и версия 2.00 получилась относительной сыроватой и с багами. Сужу по первых отзывах в личку. Тех, кому страшно быть первопроходцем прошу подождать день-два на более стабильную версию. Не переживайте, я не остановлюсь пока все не доведу до идеала.
Тем временем благодаря тестам @ibelieve получились такие обновления (перекачайте файл чтобы найти там новые версии):

25.12.2017
G_Google_Translate_by_orka13_V_2.02
Добавил для файла Files_Path.txt создание Backup-дубликата, поскольку с него берутся строки с удалением и потом трудно будет узнать, как он выглядел.
Добавил больше выводов в лог при ошибках чтения\записи файлов.
При возникновении неизвестной ошибки добавил запись в файл ее кода "\Temp_data\Error_Важный_Шаг-[дата].txt". При решении проблем файл скидывайте мне, чтобы я понял на каких блоках хромает работа шаблона.
Подправил информацию во вкладках настроек.

25.12.2017
G_Google_Translate_by_orka13_V_2.01
Исправил ошибки формирования относительного пути для поиска файлов (Вкладка №7). Шаблон не стартовал если там не абсолютный путь указывался.
Исправил неправильное формирование названия файлов. В отключенном режиме HTML оно могло их вовсе не сохранять.
Добавил для файла Files_Path.txt создание Backup-дубликата, поскольку с него берутся строки с удалением и потом трудно будет узнать, как он выглядел.
 

ibelieve

Client
Регистрация
24.12.2012
Сообщения
250
Благодарностей
96
Баллы
28
Вчера взял переводчик. Покупкой доволен, шаблон своих денег более чем стоит! Переводит шустро!

Для теста взял 100 текстовых файлов (статьи). В каждом файле от 14267 до 16767 символов (с пробелами). Суммарное количество символов: 1558760.
В один поток перевод занял 8 мин. 34 сек. В 10 потоков те же самые файлы были переведены за 2 мин. 22 сек. Направление перевода: rus --> eng.

Как то так. :-)
 
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
27.12.2017
G_Google_Translate_by_orka13_V_2.04
  1. Маловажные правки: поправил неправильную нумерацию в меню ВП на вкладке #7.
27.12.2017
G_Google_Translate_by_orka13_V_2.03
  1. Подправил алгоритм взятия оптимального количества текста на перевод ([IN_Auto_Size]). А то шаблон выходил по ошибке в редких ситуациях, когда в текстовке встречался бредо-текст на несколько тысяч символов без единого пробельного знака (включая переносы строк).
  2. Подправил общую логику режимов работы, а то «Проект в проекте» плохо срабатывал.
  3. Во вкладках «Входные Параметры» я добавил к каждому пункту его #номер. Это поможет в будущем написать в текстовом виде коротенькие инструкции для новичков что и где кликать. Ну и при обращении в ТП можно будет четко сформулировать что и как настраивалось. Хотя более опытные клиенты в проблемных ситуациях догадываются просто скидывать экспорт файла настроек ВП.
  4. Из-за цифровой нумерации всех пунктов пришлось «режимы» из первой вкладки перевести с цифровой в алфавитную нумерацию (А, Б, В), а то получается путаница.
  5. Поправил баги сохранения файлов: если слишком длинный путь (в ОС Windows рекомендовано <260 символов на «путь+имя» и 248 на «путь»), то шаблон выведет предупреждение в лог и запишет путь к непереведенному файлу; если указана несуществующая папка вывода (пункт #7.4), то теперь шаблон ее создаст, а не закончит поток с ошибкой.
  6. Добавил на вкладке ВП о логах (#3) информацию о всех дополнительных лог файлах, которые пишутся в случае ошибки.
  7. Подправил остальную маловажную информацию ВП, изменил параметр «#7.11 [IN_Files_Search_Dir] ….» с «{-Project.Directory-}Input\Articles\» на «{-Project.Directory-}Input\Articles\».
  8. Добавил в архив с шаблоном папку «\Input\» с пустыми файлами «\Articles\» «Proxy.txt», «Files_Path.txt», «Keys.txt» и т.д. Они вовсе необязательны, и играют вспомогательную роль пустых заготовок под разные режимы работы шаблона. Это на случай если вам вдруг понадобится что-то свое в них заливать.

Вчерашние обновления уже приблизили продукт к стабильной версии.
Вот краткая инструкция для самой популярной задачи шаблона: «Обработка отдельных файлов с сохранением структуры». А то есть жалоба от покупателя-новичка, что изобилие лишних настроек пугает и не дает нормально прикинуть что к чему. Предыдущее видео немного устарело, так как в нем настройки еще не пронумерованы. Скриншоты новых настроек в стартпосте я уже обновил. Мини инструкция:
Создаем список файлов под перевод:
1. Запускаем Входные Параметры (В.П.), дальше описываю #номер пункта, и что «надо прописать»:
2. #1.1 => «В)…»
3. #7.10 => тут указываем папку, в которой будет проводится поиск файлов под перевод.
4. По желанию настраиваем доп. параметры #7.11 и #7.13.
4. Жмем кнопку «ОК».
5. Запускаем шаблон в 1 попытку. Ждем пару секунд, пока он составит список файлов на основе поиска. Файл будет доступен по адресу «\Input\Files_Path.txt». Его можно вручную подправить перед шагом перевода.
Перевод:
6. Опять запускаем В.П.
7. #1.1 => «Б)…»
8. #1.8 => обязательно указываем язык в какой надо переводить.
9. По желанию настраиваем доп. параметры в #1.3, #1.4, #1.7.
10. По желанию настраиваем доп. параметры сохранения результата в #7.3, #7.4, #7.7, #7.8.
11. Жмем кнопку «ОК».
12. Запускаем шаблон в несколько потоков (обычно все упирается в мощности процессора и накопителя, оптимально было бы нагрузить хоть один из них под 90%).
13. Ждем пока шаблон «кушает» (берет с удалением) все строки из файла «\Input\Files_Path.txt». В финале в лог выведется оповещение что строки кончились, ждем пару секунд пока количество активных потоков не упадет до нуля.
14. Готово! Смотрим результат. По умолчанию переведенные файлы хранятся в той же папке где и оригинал (#7.3).
Видео:


UPD: на днях создал в телеграм закрытый чат для обсуждения апдейтов\хотелок для покупателей переводчика. Кого забыл добавить – стучитесь за пригласительной ссылкой с тех контактов, по которым совершали покупку.
 
Последнее редактирование:
  • Спасибо
Реакции: nikvikdid

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Новая версия:
30.12.2007
G_Google_Translate_by_orka13_V_2.05.xmlz
  1. Исправлен баг с ошибкой сохранения списка в «\Input\Files_Path.txt», если отсутствовала сама папка «\Input\».
  2. Переделан алгоритм разбития текста на части если обрабатывается крупный файл и надо слать в несколько запросов его текстовку. Раньше с помощью регулярных выражений шаблон старался разбить текст по границам предложений (точка, после которой идет пробел), либо на границе строк (перенос на новую строку). Но в редких случаях, если зона границы разбивки (+- ~500 символов) попадалась на нереальное длинные предложения, или тупой набор букв в несколько тысяч символов, то шаблон зависал на таком блоке. Теперь алгоритм пробует найти в зоне границы разбивки конец предложения или строки, если не находит, то ищет ближайшую запятую с пробелом, если не находит, то ищет просто пробел, если и того не находит, то режет где попало.
Лайфхак при выборе языка в длинном выпадающем меню #1.7 и 1.8: переключитесь в русскую раскладку клавиатуры и нажмите первую букву нужного языка (например "р" для "русский - ru", после этого вас автоматически перебросит к группе языков, которые начинаются с этой буквы.
 

iskrakovrov

Client
Регистрация
28.03.2015
Сообщения
532
Благодарностей
171
Баллы
43

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с iskrakovrov какие-либо сделки.

Купил. Все отлично.
Рекомендую отличный продукт.
С Новым годом!
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Крупное увеличение ценника для новых покупателей и очередное обновление. Напомню, что старые покупатели получают все обновления бесплатно, а стоимость продукта для новых покупателей будет расти с выходом новых версий.

Для обновления владельцам ZennoPoster надо перекачать архив (по той ссылке, которую они получали после покупки) и извлечь оттуда файл «G_Google_Translate_by_orka13_V_2.06.xmlz» в свою папку с шаблоном. Владельцам ZennoBox хватит просто перезапустить программу.
История изменений:
Zennoposter шаблон Google-Translate (Гугл Переводчик) от orka13 2.06 (26.01.2018 )
Новые фичи:
[+] Реализована хотелка пользователей №1 «Сделать перевод имен файлов при сохранении». Для этого во вкладке «входящих настроек» в пункте «#7.7 [IN_File_Mask]» измените его стандартное значение:
Код:
{-Variable.OUT_FileNameWithoutExtension-}_[{-Variable.IN_Param_sl-}{-Variable.sl_auto_2-}-{-Variable.IN_Param_tl-}]_{-TimeNow.TimeNow-}{-Variable.OUT_FileExtension-}
на (было "file name.html", станет "имя файла.html"):
Код:
{-Variable.OUT_FileNameWithoutExtensionTranslated-}{-Variable.OUT_FileExtension-}
или если нужны приставки с временем, то на (было "file name.html", станет "имя файла 2018-01-27 13-37-36--772.html"):
Код:
{-Variable.OUT_FileNameWithoutExtensionTranslated-} {-TimeNow.TimeNow-}{-Variable.OUT_FileExtension-}
или если нужны приставки с временем UnixTime, то на (было "file name.html", станет "имя файла 1517053122.3309.html"):
Код:
{-Variable.OUT_FileNameWithoutExtensionTranslated-} {-TimeNow.UnixTime-}{-Variable.OUT_FileExtension-}

[+] Реализована хотелка пользователей №2 «Добавить при переводе HTML-страниц обработку ALT-ов картинок». Теперь шаблон переводит значение ALT-атрибутов всех элементов. Обычно они в картинках используются, но реже и в других элементах HTML-разметки (пример с htmlbook.ru).
Такой же перевод добавлен и к TITLE-атрибутам. Обычно они в ссылках используются (<а …>), но реже и в других элементах HTML-разметки (пример с htmlbook.ru).
Исправленные баги:
[*] Исправлен баг с сохранением сложных HTML файлов (изредка шаблон просто игнорировал процесс записи). Спасибо пользователям за примеры проблемных файлов.
[*] Исправлен баг с игнорированием маски сохранения файлов в пункте «#7.7 [IN_File_Mask]».
[*] Мелкие исправления в описании элементов на вкладках настроек.
[*] Мелкие маловажные правки по оптимизации шаблона.
 
Последнее редактирование:

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Zennoposter шаблон Google-Translate (Гугл Переводчик) от orka13 2.07 (28.01.2018 )
Исправленные баги:
[*] В версии 2.06 был глюк. Проявлялся только в ситуациях при соблюдении обеих условий:
1) Перевод HTML-верстки (включенная опция «#1.4 [IN_HTML_Parsing_On]»)
2) Использование «перевода названия файла» (#7.7: FileNameWithoutExtensionTranslated).
В итоге может поехать верстка файла. Все из-за того, что для экономии трафика я решил не слать отдельным запросом перевод названия файла, а впихнуть его в тело запроса с текстом HTML-страницы. Потом планировалось его аккуратно вырезать из тела, но алгоритм дал сбой, и название файла в итоге вставлялось в начало HTML-текста, нарушая порядок верстки.
[*] Подправлены описания на вкладке входных параметров (#7.3 - #7.6). А то были жалобы что нелогично там описание сделано.

Для обновления владельцам ZennoPoster надо перекачать архив (по той ссылке, которую они получали после покупки) и извлечь оттуда файл «G_Google_Translate_by_orka13_V_2.07.xmlz» в свою папку с шаблоном. Владельцам ZennoBox хватит просто перезапустить программу.
Внимание: «Входные параметры» могут при этом «сбросится».
 
Последнее редактирование:

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