Однажды возникла задача перевода описания товаров, имеющихся в базе 1С.
Большинство предлагаемых решений используют Google Cloud Translation API.
Но среди прочего нашел вот эту разработку //infostart.ru/public/898897/ (большое спасибо автору публикации за идею).
Имея на балансе 0 стартмани, пришлось изобрести свой велосипед ))
Как четко подметил коллега, мобильная версия (https://translate.google.com/m) не требует регистрации и является абсолютно бесплатной.
На момент написания публикации, для решения своих задач я не столкнулся с какими либо ограничениями со стороны Google Translate ни по количество символов, ни по количеству отправляемых запросов. Возможно не достигли пределов.
Конечно, после Google Translate нужно перечитывать и корректировать текст. Тем не менее, использование переводчика позволяет значительно сократить работу пользователя.
Я не стал оформлять публикацию в виде универсальной обработки, но предлагаю текст процедуры, которую можно брать за основу и использовать для дальнейшей разработки. Буду рад, если кому-то пригодится.
Также нет претензий на какую-либо универсальность (процедура писалось исключительно для себя).
Собственно процедура выглядит следующим образом:
Процедура ВыполнитьПеревод()
СтрокаДляПеревода = "Это строка, которую нужно перевести";
СтрокаДляПеревода = КодироватьСтроку(СтрокаДляПеревода, СпособКодированияСтроки.КодировкаURL);
SSL = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("translate.google.com",,,,,,SSL);
ЗапросHTTP = Новый HTTPЗапрос( "/m?sl=ru&tl=uk&hl=ru&q=" + СтрокаДляПеревода);
ОтветHTTP = Соединение.ВызватьHTTPМетод("GET", ЗапросHTTP);
СтрокаОтвета = ОтветHTTP.ПолучитьТелоКакСтроку();
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(СтрокаОтвета);
Построитель = Новый ПостроительDOM;
ДокHTML = Построитель.Прочитать(ЧтениеHTML);
ЭлементыДокHTML = ДокHTML.ПолучитьЭлементыПоИмени("div");
СтрокаПеревода = ЭлементыДокHTML.Элемент(9).ТекстовоеСодержимое;
Сообщить(СтрокаПеревода);
КонецПроцедуры