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 По рез.РазмерСписка() Цикл
Сообщить(«»+рез.ПолучитьЗначение(ЦКЛ));
КонецЦикла;
Поидее подобную фичу можно сделать и без внешних компонент. На 8ке точно.
Вопрос не в самой фиче был (то есть переводе) а вопрос был сделать нормальный AddIn на C# во всех статьях что я встречал везде все куски да и то не всегда рабочие.
По переводу кстати не уверен что с кодировкой ответа все бы получилось, я использую имитацию браузера и ajax запрос на перевод. Rad Studio XE компоненты Indy по крайней мере попортило ответ от сервера.
Фразы и словосоцетания тоже переводит? Сейчас заставляют называть товар по украински, т.е базу всю надо будет перевести, подойдет ли для этих целей ваша обработка?
хорошая тема +
(2)
Написание внешних компонент для 1С на VB.NET и C#
так вот же вроде не плохой пример компоненты на c#:
У меня не подключается компонента. Ошибка при создании объекта из компоненты <Неизвестная компонента> (отсутствует интерфейс IInitDone). Рег файл, запускал, потом удалял все, созданное этим файлом и пробовал через regasm.exe. Результат не изменился. Скомпилировал проект, получил длл-ки в каталог BIN. Опять рег файл — не полегчало, опять удалил все созданное им и пробовал через regasm. Результат 0. Система W7, 1с версии 7.70.027.
Поможете с решением?
Спасибо.