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

Discussion in 'Продажа и покупка шаблонов ZennoPoster/ZennoDroid' started by orka13, Nov 26, 2017.

  1. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    [​IMG]
    Внимание: Начиная с версии 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 мбит и не растет:
    [​IMG]
    «RAM-диск» - это технология, позволяющая использовать часть системной оперативной памяти как дополнительное дисковое устройство, то есть «сверхбыстрый» мини-диск.
    Сделать такое можно программой «SoftPerfect RAM Disk 3.4.8 Free». Уже есть версия 4, но она платная, можете искать ломанную на варез-трекерах; 3.4.5 версия идет в комплекте с Total Commander PowerUser (тот черный командер, который на моих видео). Из гугла по ней: обзор1, обзор2, видео. Отдельно стоит заметить, что в случае перезагрузки ПК - данные с рамдиска стираются, если дополнительно не настроить резервное копирование на жесткий диск в софте.
    [​IMG]
    [​IMG]
    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

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

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

    #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-запросах, который все еще работал. Обвешал его всякими плюшками для удобства, и довел до идеала все возможности. Недавно взял один заказ по внедрению такого шаблона в комбайн заказчика в режиме «Шаблон в Шаблоне». Человеку все понравилось, попросил для друга сделать такое же, поэтому и родилась эта тема.
    • В своих шаблонах в качестве подшаблона.
    • В генерации текстовки дорвеев, сателлитов и т.д.

    Кто покупает шаблоны ZennoPoster, тот в курсе стандартных условий, которых придерживается большинство продавцов. Но все же продублирую для новичков:
    Шаблон закрытого типа, а значит будет только запускаться в ZennoPoster или ZennoBox, но не в ProjectMaker. Привязка идет на одну почту-лицензию зенки без возможности пере-привязки. То есть вы можете и на нескольких ZennoPoster запускать на разных ПК одновременно шаблон. Но только при условии, что все они куплены на один и тот же профиль (почту-лицензию) в кабинете userarea.zennolab.com.
    Если у вас нет ZennoPoster, то придется выписывать шаблон для ZennoBox, и тут мне нужна стандартная доплата +10$ для погашения комиссии сервиса по формированию ZennoBox-версии.



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



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


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

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

    Продажи возможны вручную через ЛС/Skype/Telegram. Очень желательно проводить оплату через WebMoney. Так как через другие платежные системы (ЯндексДеньги или QIWI) я добавляю +5% к ценнику.
    Статус картинка с последней информацией, ценой и контактами моими (если картинки нет, то попробуйте в другом браузере открыть без блокировки рекламы):
    [​IMG]
     
    Last edited: Jun 8, 2018
  2. Astraport

    Astraport Client

    Joined:
    May 1, 2015
    Messages:
    2,676
    Likes Received:
    1,766
    Если честно, я прифигел с этого шаблона по итогам тестов - 300K НЧ ключей за 15 минут при переводе с EN на RU. В один поток!
    Ключи получились довольно качественные, мусора не более 5%
    Хотелось чтобы автор добавил работу с большим HTML текстом с сохранением верстки.
     
    Last edited: Nov 27, 2017
    Damirka and orka13 like this.
  3. Эрнесто Че Гевара

    Эрнесто Че Гевара Пользователь

    Joined:
    Nov 16, 2017
    Messages:
    50
    Likes Received:
    10
    Работа проведена колоссальная. Шаблон обрабатывает очень быстро.
    Для доров текст вышел вполне качественный.
     
    orka13 likes this.
  4. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Подобное уже делал под заказ. Но без проблем получается организовать работу только для страниц одного типа (сайты одного движка, структуры). Можно было бы просто выбрать в каких тегах делать перевод (<title>, <p>, <h1>…), и шаб бы дергал со страницы по кусочку и собирал обратно в той же HTML структуре. Можете сами сделать отдельный шаблон под такую задачу, а мой подключать только в качестве «Проект в проекте» сугубо для перевода. Именно с такой комбинацией двух шаблонов я и отдал заказ.
    А вот если доноры разные, и верстка там с кучей мусора, служебного кода, непонятных скриптов\стилей внутри текстовых тегов, то тогда трудно сделать универсальный шаблон с предугаданным всех мелочей, будут ошибки. В итоге часть страниц соберет с «поплывшей версткой».

    Хотя если идея популярная, и шаблон будет активно продаваться то можно рассмотреть варианты:
    а) добавить к этому шаблону базовые функции перевода HTML-страниц
    б) сделать открытый отдельный универсальный шаблон именно по «пересборке» HTML-страницы. Может кто подскажет более оптимальные решения, можно и с использованием сторонних библиотек. А то моих знаний может не хватить.
    UPD: а может лучше не изобретать велосипед, и научится выдергивать с гугл переводчика код переведённой страницы сразу?
    UPD#2: Начиная с версии 2.00 в шаблоне реализован вариант "а) добавить к этому шаблону базовые функции перевода HTML-страниц".
     
    Last edited: Feb 26, 2018
    Astraport likes this.
  5. Lord_Alfred

    Lord_Alfred Client

    Joined:
    Oct 9, 2015
    Messages:
    2,740
    Likes Received:
    2,292
    Спасибо за шаблон, пока что в работу его не встроил, но проверил тестовый "проект в проекте" и это именно то, что я искал :-)

    Разработка однозначно стоит своих денег ;-)
     
    orka13 likes this.
  6. AgentRassilok

    AgentRassilok Известная личность

    Joined:
    Nov 8, 2016
    Messages:
    1,237
    Likes Received:
    436
    Степан помогает всегда чем может, просто апну топик этого прекрасного человека )
     
    Astraport likes this.
  7. Walter_White

    Walter_White Client

    Joined:
    Sep 9, 2016
    Messages:
    100
    Likes Received:
    1
    направление языков только en-ru?
     
  8. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Нет, любое (все что есть в веб-версии гугла). Просто я для подсчета скорости именно на этих направлениях все тестировал. Вот открывок из "Содержимое файла-экспорта Входных настроек для понимания значений переменных". Если гугл вдруг добавит что-то новое, то я это легко внедрю в шаблоне в обновлениях.
     
  9. Walter_White

    Walter_White Client

    Joined:
    Sep 9, 2016
    Messages:
    100
    Likes Received:
    1
    подскажите, какое может быть применение полученных переведённых ключей?
     
  10. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Из стартпоста:
    • В своих шаблонах в качестве подшаблона.
    • В генерации текстовки дорвеев, сателлитов и т.д.
     
    Walter_White likes this.
  11. Walter_White

    Walter_White Client

    Joined:
    Sep 9, 2016
    Messages:
    100
    Likes Received:
    1
    а как текстовку из ключей делать? Просто сплошняком набор ключей как абзац, с добавлением точки чтобы выглядело как предложение?
     
  12. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Ну это я в примере ключи на видео переводил. Вставляете туда текстовку ( не обязательно каждое предложение с новой строки). И шаблон вернет переведенный текст в такой же структуре. Хотя в многопотоке строки между собой могут перемешатся на выходе, так что здесь либо 1 поток (скорость упадет, но она и так приличная, может и не заметите разницы на мелких обьемах).
    Если же надо переводить какие-то свои файлы со статьями, то шаблон удобнее будет использовать в режиме "Проект в проекте": создать свой родительский шаблон, который будет читать файл статьи, передавать его содержимое в мой под-шаблон, ждать пока тот вернет переведенный текст, а потом сохранять результат куда надо. В ближайшие пару дней постараюсь выкатить такой открытый шаблон, и добавить в нем еще пару фишек, которые уже просили покупатели (перевод HTML кода страниц с сохранением структуры\верстки, спиннер {|||||} и т.д.). Ети два шаба будут работать в паре.

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

    adept Client

    Joined:
    Oct 5, 2015
    Messages:
    22
    Likes Received:
    0
    Извините что туплю, только начал осваивать зенку. Данный шаблон может по дефолту переводит тисячи файлов txt с текстом больше чем 5000 символов или его нужно дорабатывать?
     
  14. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Ну смотрите, лимита на размер 1 файла как и количества файлов в каталоге нет. Я просто указывал, что если файл весит больше 10 мб (~10 млн. символов), то такой супер-скорости, которая заявлена в теме не добиться, так как в многопотоке зенка больше времени затратит на его обработку. Поэтому я рекомендовал порезать на мелкие файлы.
    По умолчанию шаблон просто переводит строки в одну кучу (основное предназначение: «перевод ключей»), и на многопотоке даже может чуть нарушатся последовательность строк.

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

    UPD: Вместо отдельного шаблона я просто добавил функции обработки отдельных файлов.
     
    Last edited: Feb 26, 2018
    Astraport likes this.
  15. adept

    adept Client

    Joined:
    Oct 5, 2015
    Messages:
    22
    Likes Received:
    0
    Да вы правильно поняли меня как раз интересует чтобы я мог перевести свои тхт файлы с текстовкой и сохранением структуры на нужные языки. Этот шаб про который вы говорите будет бонусом к данному или отдельная продажа?
     
  16. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Бонусом, бесплатно. он будет как-бы родительским открытым шаблоном-мостом, который будет отвечать за чтение\запись в файлы. А покупной шаблон будет только принимать>переводить>отдавать тот текст, что в него передаст родительский шаб.
    Была идея просто добавить этот базовый функционал в тот покупной шаблон, но из пожеланий покупателей стало понятно что универсального решения не сделать, у каждого свои пожелания, так что лучше пусть у каждого будет возможность подправить схему самостоятельно.
     
    Astraport likes this.
  17. backoff

    backoff Client

    Joined:
    Apr 20, 2015
    Messages:
    2,575
    Likes Received:
    2,017
    А как шаб переводит тексты? Нормальные полноценные тексты. На сколько они читабельны.
    а то ключи и яндекс переводчик на апи нормально и быстро переводит
     
  18. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Читаемость та же, что и в обычном переводе в translate.google.com через браузер. Там качество растет с годами, нейронку вон подключили и автообучение.
    Днем выложу новую версию шаблона, с переводом отдельных файлов (статей). Также добавлены «хотелки» покупателей, типа Spintax, перевод файлов с HTML-версткой. Пока внедряю его в один крупный комбайн заказчика, не успеваю по срокам, извиняюсь перед теми, кому обещал быстрее эту обнову выкатить.
     
    teodocomo likes this.
  19. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    На основе хотелок клиентов и плотных тестов шаблон был сильно усовершенствован. Встречайте версию 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

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

    В связи с разрастанием проекта цена поднялась до 25$ \ 1500 рублей. А если новые покупатели опять заставят меня внедрять интересные вкусняшки в работу шаблона, то в будущем опять планку ценны подниму с выходом обновления :-).
    Все, кто не успел прикупить шаблон, но участвовал со мной в переписке по вопросам работы продукта могут до конца недели забрать его по старой цене. Старые покупатели получают все обновления бесплатно независимо от ценовой политики (просто перекачайте новую версию по той ссылке, которую получили после оплаты).
     
    Last edited: Dec 25, 2017
    Lord_Alfred likes this.
  20. nikvikdid

    nikvikdid Client

    Joined:
    Jul 12, 2015
    Messages:
    35
    Likes Received:
    5
    Специально наблюдал за вашим топиком. Ждал обновления, а вы не предупреждая, подняли цену (. Знал бы об этом, купил бы давно.
    За видео спасибо. Только оно бесполезно. Смотреть не возможно. Вы с такой скоростью кликаете, переключаетесь между окнами и программами, что не успеваешь понять смысл ваших действий.
     
  21. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Ок, тогда чтобы люди не обижались и за локти не кусались сделаю продолжение старых цен до полуночи по МСК абсолютно всем желающим.
    Блин, а я еще пишу покупателям «просмотрите хотя бы первые минуты видео, а если нет времени, то увеличьте скорость просмотра в ютуб». Надо заменить «увеличьте» на «уменьшите» :-). Извиняюсь, ночью записывал, иногда сам терялся какое окно надо открывать, постоянно в план подглядывал, может перепишу после следующих обновлений.
     
    nikvikdid and Danny like this.
  22. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Забыл указать новым покупателям, что в версии шаблона >=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.
    Если с этими файлами шаблон не запускается без ошибок (обычно пишет «Произошла ошибка компиляции проекта »), значит чего-то не хватает, и надо разбираться. Если не получается самому, то стучитесь, помогу найти проблему.
     
    Last edited: Dec 26, 2017
  23. borroza

    borroza Client

    Joined:
    Dec 3, 2011
    Messages:
    39
    Likes Received:
    6
    Хотел оставить отзыв.
    Отличный и порядочный исполнитель.
    Вникает очень скурпулезно в тему, удобство, продуманность шаблонов (в то числе и по гугл переводчику) на высоте.
    Сотрудничал с ТС несколько раз - и буду далее.
     
    AgentRassilok and orka13 like this.
  24. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    В этот раз скрупулезность не спасла, и версия 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-дубликата, поскольку с него берутся строки с удалением и потом трудно будет узнать, как он выглядел.
     
  25. ibelieve

    ibelieve Client

    Joined:
    Dec 24, 2012
    Messages:
    242
    Likes Received:
    94
    Вчера взял переводчик. Покупкой доволен, шаблон своих денег более чем стоит! Переводит шустро!

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

    Как то так. :-)
     
    orka13 likes this.
  26. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    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» и т.д. Они вовсе необязательны, и играют вспомогательную роль пустых заготовок под разные режимы работы шаблона. Это на случай если вам вдруг понадобится что-то свое в них заливать.

    Вчерашние обновления уже приблизили продукт к стабильной версии.
    Вот краткая инструкция для самой популярной задачи шаблона: «Обработка отдельных файлов с сохранением структуры». А то есть жалоба от покупателя-новичка, что изобилие лишних настроек пугает и не дает нормально прикинуть что к чему. Предыдущее видео немного устарело, так как в нем настройки еще не пронумерованы. Скриншоты новых настроек в стартпосте я уже обновил. Мини инструкция:
    Видео:


    [​IMG]
    UPD: на днях создал в телеграм закрытый чат для обсуждения апдейтов\хотелок для покупателей переводчика. Кого забыл добавить – стучитесь за пригласительной ссылкой с тех контактов, по которым совершали покупку.
     
    Last edited: Dec 28, 2017
    nikvikdid likes this.
  27. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Новая версия:
    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", после этого вас автоматически перебросит к группе языков, которые начинаются с этой буквы.
     
    nikvikdid, ORIY and Astraport like this.
  28. iskrakovrov

    iskrakovrov Client

    Joined:
    Mar 28, 2015
    Messages:
    352
    Likes Received:
    56
    Купил. Все отлично.
    Рекомендую отличный продукт.
    С Новым годом!
     
  29. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    Крупное увеличение ценника для новых покупателей и очередное обновление. Напомню, что старые покупатели получают все обновления бесплатно, а стоимость продукта для новых покупателей будет расти с выходом новых версий.

    Для обновления владельцам 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]» измените его стандартное значение:
    Code (text):
    1. {-Variable.OUT_FileNameWithoutExtension-}_[{-Variable.IN_Param_sl-}{-Variable.sl_auto_2-}-{-Variable.IN_Param_tl-}]_{-TimeNow.TimeNow-}{-Variable.OUT_FileExtension-}
    на (было "file name.html", станет "имя файла.html"):
    Code (text):
    1. {-Variable.OUT_FileNameWithoutExtensionTranslated-}{-Variable.OUT_FileExtension-}
    или если нужны приставки с временем, то на (было "file name.html", станет "имя файла 2018-01-27 13-37-36--772.html"):
    Code (text):
    1. {-Variable.OUT_FileNameWithoutExtensionTranslated-} {-TimeNow.TimeNow-}{-Variable.OUT_FileExtension-}
    или если нужны приставки с временем UnixTime, то на (было "file name.html", станет "имя файла 1517053122.3309.html"):
    Code (text):
    1. {-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]».
    [*] Мелкие исправления в описании элементов на вкладках настроек.
    [*] Мелкие маловажные правки по оптимизации шаблона.
     
    Last edited: Jan 27, 2018
  30. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,125
    Likes Received:
    997
    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 хватит просто перезапустить программу.
    Внимание: «Входные параметры» могут при этом «сбросится».
     
    Last edited: Jan 27, 2018

Пользователи просматривающие тему (Пользователей: 0, Гостей: 0)