gifts2017

AddIn для перевода текста при помощи сервиса google с исходным кодом на C#.

Опубликовал Владимир Владимиров (DropDown) в раздел Программирование - Внешние компоненты

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

AddIn для перевода текста при помощи сервиса google

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

Делал для разового перевода, может кому еще пригодится.

Пример работы:

//Инициализация библиотеки
AttachAddIn("AddIn.Dictionary");

Add = СоздатьОбъект("AddIn.Dictionary");
Add.TranslateWordsValueList("Текст перевода","ru","uk");

///
/// Функция выполняет перевод текста и возвращает текст разделенный запятым
/// для загрузки в СписокЗначений
///
///Предложение для перевода
///Исходный язык пример "ru"
///Язык перевода "uk"
/// Текст перевода
TranslateWords(string words, string fromLang, string toLang )

Возвращаемое значение
Позиция в списке
//    4 - перевод Текст:перекласти
//    5 - исходный текст Текст:Перевести
//    6 - латиница перевод Текст:pereklasty
//    7 - латиница исходный Текст:Perevesti
Далее то что  предлагет по каждому слову Google сам не разбирался не нужно было

Пример;
    рез = СоздатьОбъект("СписокЗначений");
    рез.ИзСтрокиСРазделителями(Add.TranslateWords(СокрЛП(стрПеревести),"ru","uk"));
    Для Цкл=1 По рез.РазмерСписка() Цикл
        Сообщить(""+рез.ПолучитьЗначение(ЦКЛ));
    КонецЦикла;



///
/// Функция выполняет перевод текста и возвращает СписокЗначений
///
///Предложение для перевода
///Исходный язык пример "ru"
///Язык перевода "uk"
///
TranslateWordsValueList(string words, string fromLang, string toLang)

Возвращаемое значение
1 - Перевод
Далее то что  предлагет по каждому слову Google сам не разбирался не нужно было

Пример
    рез = Add.TranslateWordsValueList(СокрЛП(стрПеревести),"ru","uk");
    Для Цкл=1 По рез.РазмерСписка() Цикл
        Сообщить(""+рез.ПолучитьЗначение(ЦКЛ));
    КонецЦикла;

Скачать файлы

Наименование Файл Версия Размер
AddIn.Dictionary 20
.rar 30,64Kb
23.01.12
20
.rar 30,64Kb Скачать
Исходные коды проекта на C# 12
.rar 193,94Kb
23.01.12
12
.rar 193,94Kb Скачать
Пример обработки для использования 10
.rar 2,69Kb
23.01.12
10
.rar 2,69Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Доржи Балбаров (Angeros) 24.01.12 04:26
Поидее подобную фичу можно сделать и без внешних компонент. На 8ке точно.
2. Владимир Владимиров (DropDown) 24.01.12 22:41
Вопрос не в самой фиче был (то есть переводе) а вопрос был сделать нормальный AddIn на C# во всех статьях что я встречал везде все куски да и то не всегда рабочие.
По переводу кстати не уверен что с кодировкой ответа все бы получилось, я использую имитацию браузера и ajax запрос на перевод. Rad Studio XE компоненты Indy по крайней мере попортило ответ от сервера.
3. Ivan Migov (navi) 10.02.12 13:01
Фразы и словосоцетания тоже переводит? Сейчас заставляют называть товар по украински, т.е базу всю надо будет перевести, подойдет ли для этих целей ваша обработка?
4. qweasd qweasdzc (serega3333) 10.02.12 13:04
5. Виталий Ермоленко (vitaliy.ermolenko) 23.02.12 18:46
(2) DropDown,
так вот же вроде не плохой пример компоненты на c#: Написание внешних компонент для 1С на VB.NET и C#
6. assa Петренко (assa) 14.10.14 20:57
У меня не подключается компонента. Ошибка при создании объекта из компоненты <Неизвестная компонента> (отсутствует интерфейс IInitDone). Рег файл, запускал, потом удалял все, созданное этим файлом и пробовал через regasm.exe. Результат не изменился. Скомпилировал проект, получил длл-ки в каталог BIN. Опять рег файл - не полегчало, опять удалил все созданное им и пробовал через regasm. Результат 0. Система W7, 1с версии 7.70.027.
Поможете с решением?
Спасибо.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа