Переводчик 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"));

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    3205    5    0    

11

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

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

60000 руб.

07.05.2019    35337    70    45    

30

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

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

57600 руб.

26.11.2024    2913    2    3    

5

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

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

36000 руб.

03.08.2020    19364    24    22    

20

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    4939    4    2    

5

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

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

14400 руб.

20.12.2024    1164    7    2    

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

ПЫЩЬ ПЫЩЬ ололо я водитель НЛО :)
7. cool.vlad4 2 02.08.11 10:10 Сейчас в теме
(4) ничего такого не было, там только украинский, здесь без гугль апи, для тех кто разбирается в вебе ,в принципе ничего особенного, ...для тех кто не очень - к концу года гугль обещает закрыть доступ к апи...
8. WKBAPKA 215 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 362 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 301 24.02.17 11:21 Сейчас в теме
Сейчас адресная строка для перевода выглядит так https://translate.google.ru/#auto/ru/input_text
(исходный язык - определить автоматически, результирующий - русский, далее через слеш - исходная строка)
Вопрос - как это внедрить в 1С? Через HTTPСоединение? Пробовал кто-нибудь, коллеги?
17. GusevNA 362 28.02.17 02:27 Сейчас в теме
(16) Раньше у Гугл переводчика было API: отправляешь GET-запрос, получаешь XML. Они это API прикрыли несколько лет назад, оставили только переводчик на HTML-странице.
Если использовать Гугл-переводчик в 1С, то, наверно, самое простое - ПолеHTMLДокумента. Отправляешь туда слово - ждешь перевод, забираешь перевод.
Можно, конечно, посмотреть, например, через Proxy, какие AJAX-запросы посылаются серверу и попробовать посылать аналогичные. Но мне лично кажется, что лучше поискать другой переводчик с API.
Имея API, эту обработку легко переделать под другой переводчик.
Оставьте свое сообщение