С помощью запросов к Google переводчику (Google Cloud Translation) можно автоматически переводить текст непосредственно при парсинге любого контента.
Запросы к сервису Google переводчика производятся с помощью макроса шаблона вывода PHP_SCRIPT. Данный макрос позволяет отправлять POST запросы к любым URL с любыми отправляемые данными.
Сначала нужно получить Api key для Google переводчика (Google Cloud Translation)
Исходя из документации, для автоматического перевода текста нужно отправить обычный POST запрос.
Текст для перевода вставляется в параметр q. Направление перевода (с какого языка и на какой перевести, например: en ru) указывается в параметрах source и target. По параметру format я описания не нашел, но полагаю, что значение может быть text или html.
Api key для Google переводчика (Google Cloud Translation) вставляется в URL запроса в параметр key
1 | https://translation.googleapis.com/language/translate/v2?key=API_KEY |
Итак, чтобы автоматически отправлять POST запросы к переводчику Google и переводить текст нужно в шаблон вывода добавить такую конструкцию
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <PHP_SCRIPT=https://translation.googleapis.com/language/translate/v2?key=API_KEY[UTF-8]> <HEADERS></HEADERS> <REPLACE> {skip}"translatedText": "| "{skip}| \r\n|{br2} \u003c|< \u003e|> \"|"</REPLACE> { "q": "[FIRST_REPLACE("|\")]Текст для перевода[/FIRST_REPLACE]", "source": "en", "target": "ru", "format": "text" } </PHP_SCRIPT> |
Где вместо API_KEY вставляете свой ключ Api Google переводчика.
Вместо Текст для перевода вставляете макрос границы парсинга, которая извлекает из HTML WEB страницы нужный текст.
Дополнительно
Если нужно переводить длинный текст (более 1000 символов) его можно разбить на части с помощью макроса шаблона вывода [SLICE_STRING].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | [SLICE_STRING] {ADDTOSTART}<PHP_SCRIPT=https://translation.googleapis.com/language/translate/v2?key=ВАШ API КЛЮЧ[UTF-8]> <HEADERS></HEADERS> <REPLACE> {skip}"translatedText": "| "{skip}| \r\n|{br2} \u003c|< \u003e|> \"|"</REPLACE> { "q": "{/ADDTOSTART} {ADDTOEND}", "source": "en", "target": "ru", "format": "text" } </PHP_SCRIPT>{/ADDTOEND} {COUNT}1000{/COUNT} {METHOD}Word{/METHOD} [FIRST_REPLACE("|\")] ТЕКСТ ДЛЯ ПЕРЕВОДА [/FIRST_REPLACE][/SLICE_STRING] |
У меня в тексте для перевода, есть картинки и переводчик залезает в код и переводит их тоже, соотвественно картинки скачать не получается. Как быть в таком случае?
Данный способ больше не работает. Как быть?