Переводчик Google для 1С 8.1

01.08.11

Интеграция - WEB-интеграция

Перевод слов и фраз на другие языки Google Переводчиком (GoogleTranslate API). Без ВК. Сейчас работает без ключа API.

 

Код:

 

Функция ПреобразоватьСтрокуОтветаПереводчика (Строка, Ошибка=Ложь, КодОшибки=0, СтрокаОшибки = "") Экспорт
    ТекСтрока     = Строка;
    ТекСтрока     = СтрЗаменить (ТекСтрока, "{""responseData"": {","");
    ТекСтрока     = Лев (ТекСтрока, СтрДлина (ТекСтрока)-1);
    ТекСтроки     = СтрЗаменить (ТекСтрока, ",", Символы.ПС);
    ТекПеревод     = СтрПолучитьСтроку (ТекСтроки, 1);
    ТекПеревод     = СтрЗаменить (ТекПеревод, """translatedText"":""", "");
    ТекПеревод     = Лев (ТекПеревод, СтрДлина (ТекПеревод)-2);
    Возврат ТекПеревод;
КонецФункции

Функция ТекстДляУРЛ (Текст) Экспорт
    хВСХ             = Новый COMОбъект ("MSScriptControl.ScriptControl");
    хВСХ.language     = "javascript";
    Результат         = хВСХ.Eval("escape('"+Текст+"')");
    Возврат Результат;
КонецФункции

Функция ПеревестиТекст (ИсходныйТекст, ЯзыкИсходный, ЯзыкПеревода, Ошибка = Ложь, КодОшибки = 0, ТекстОшибки = "") Экспорт
    Если Не ЗначениеЗаполнено (ИсходныйТекст) Тогда
        Возврат "";
    КонецЕсли;
    Результат = "";
    УРЛСайта = "ajax.googleapis.com";

//    УРЛ = "https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=<%СЛОВО%>&langpair=<%ЯЗЫКИСТОЧНИК%>|<%ЯЗЫКПЕРЕВОДА%>";
    УРЛ = "/ajax/services/language/translate?v=1.0&q=<%СЛОВО%>&langpair=<%ЯЗЫКИСТОЧНИК%>|<%ЯЗЫКПЕРЕВОДА%>";
    ТекИсходныйТекст = ТекстДляУРЛ (ИсходныйТекст);
    УРЛ = СтрЗаменить (УРЛ, "<%СЛОВО%>", ТекИсходныйТекст);
    УРЛ = СтрЗаменить (УРЛ, "<%ЯЗЫКИСТОЧНИК%>", ЯзыкИсходный);
    УРЛ = СтрЗаменить (УРЛ, "<%ЯЗЫКПЕРЕВОДА%>", ЯзыкПеревода);

    Коннект              = Новый HTTPСоединение(УРЛСайта);
    ЧтениеТекста         = Новый ТекстовыйДокумент;

    СтруктураПараметров = Новый Структура;

    ИмяВременногоФайла=ПолучитьИмяВременногоФайла("txt");
    ФлагОшибкиВеб = Ложь;
    КоличествоПопыток = 3;
    СчПопыток = 1;
    Пока Истина Цикл
        Попытка
            Коннект.Получить(УРЛ,ИмяВременногоФайла);
            Прервать;
        Исключение
            Если СчПопыток >= КоличествоПопыток Тогда
                ФлагОшибкиВеб = Истина;
                Прервать;
            Иначе
                СчПопыток = СчПопыток + 1;
            КонецЕсли;
        КонецПопытки;
    КонецЦикла;

    Если Не ФлагОшибкиВеб Тогда
        ЧтениеТекста.Прочитать(ИмяВременногоФайла, КодировкаТекста.UTF8);
        СтрокаОтвета = ЧтениеТекста.ПолучитьТекст();
        ТекстПеревод = ПреобразоватьСтрокуОтветаПереводчика (СтрокаОтвета);
        Результат = ТекстПеревод;
    Иначе
        Ошибка             = Истина;
        КодОшибки         = 1;
        ТекстОшибки     = "Время ожидания ответа истекло";
    КонецЕсли;
    Возврат Результат;
КонецФункции

// вызов

 Сообщить (ПеревестиТекст ("слово", "ru", "en"));

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24353    37    24    

28

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    6320    28    4    

30

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    23064    69    52    

43

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2801    7    8    

8

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

5283 руб.

28.04.2016    101202    120    219    

368
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. cool.vlad4 2 01.08.11 13:39 Сейчас в теме
если вы публикуетесь, как мне кажется, лучше не писать на коленке (просто сотрите эту фразу) и оформите хорошо и будет вам счастье и будут вам плюсы ;) ....
2. alexk-is 6550 01.08.11 16:59 Сейчас в теме
4. WKBAPKA 216 01.08.11 23:52 Сейчас в теме
вот сдеся было уже
http://infostart.ru/public/83563/

ПЫЩЬ ПЫЩЬ ололо я водитель НЛО :)
7. cool.vlad4 2 02.08.11 10:10 Сейчас в теме
(4) ничего такого не было, там только украинский, здесь без гугль апи, для тех кто разбирается в вебе ,в принципе ничего особенного, ...для тех кто не очень - к концу года гугль обещает закрыть доступ к апи...
8. WKBAPKA 216 02.08.11 10:20 Сейчас в теме
2(7): не совсем понятно, что значит без гугль апи? а кто тогда переводит?
9. cool.vlad4 2 02.08.11 10:28 Сейчас в теме
(8) ошибочка, без ключа API....а как сделать совсем без апи, да просто запрос посылать вида http://translate.google.ru/translate_a/t?client=x&text={TEXT}&sl={LANG_FROM}&tl={LANG_TO}
10. GusevNA 364 02.08.11 18:04 Сейчас в теме
cool.vlad4 пишет:

(4) ничего такого не было, там только украинский, здесь без гугль апи, для тех кто разбирается в вебе ,в принципе ничего особенного, ...для тех кто не очень - к концу года гугль обещает закрыть доступ к апи...


Судя по новостям ( http://www.linux.org.ru/forum/talks/6347223 ) , Translate API будет платным. А может, они еще что придумают. Поживем - увидим. Если что - потом перепишу :D
11. cool.vlad4 2 02.08.11 18:06 Сейчас в теме
(10)да я тоже слышал, что будет платным...тогда придется использовать запрос, который я привел в 9
14. ms200999 02.11.11 15:46 Сейчас в теме
(10)Кому он платный нужен?
5. Serj1C 484 02.08.11 07:46 Сейчас в теме
проверил, код рабочий, буду первым плюсом
6. Lara.Builova 02.08.11 08:08 Сейчас в теме
Есть прекрасный онлайн переводчик, очень удобный: лежит тут
Прикрепленные файлы:
12. mzelensky 53 02.11.11 15:03 Сейчас в теме
А можно таким образом переводить не "слово", а текст целиком ??? Т.к. разбивать предложение на слова и переводить каждое по отдельности неправильно...
13. mzelensky 53 02.11.11 15:04 Сейчас в теме
+ переводит через раз...
15. makas 44 23.04.13 14:23 Сейчас в теме
Я не знаю зачем такая штука необходима, но плюсую за идею :)
16. METAL 307 24.02.17 11:21 Сейчас в теме
Сейчас адресная строка для перевода выглядит так https://translate.google.ru/#auto/ru/input_text
(исходный язык - определить автоматически, результирующий - русский, далее через слеш - исходная строка)
Вопрос - как это внедрить в 1С? Через HTTPСоединение? Пробовал кто-нибудь, коллеги?
17. GusevNA 364 28.02.17 02:27 Сейчас в теме
(16) Раньше у Гугл переводчика было API: отправляешь GET-запрос, получаешь XML. Они это API прикрыли несколько лет назад, оставили только переводчик на HTML-странице.
Если использовать Гугл-переводчик в 1С, то, наверно, самое простое - ПолеHTMLДокумента. Отправляешь туда слово - ждешь перевод, забираешь перевод.
Можно, конечно, посмотреть, например, через Proxy, какие AJAX-запросы посылаются серверу и попробовать посылать аналогичные. Но мне лично кажется, что лучше поискать другой переводчик с API.
Имея API, эту обработку легко переделать под другой переводчик.
Для отправки сообщения требуется регистрация/авторизация