Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Update через translate  [new]
НиколайСН
Member

Откуда:
Сообщений: 120
Салют! Давно не бывал тут, значит чему-то научился, но видимо не всему!))))
Вопрос!
Имеется таблица типа [key], [name] [name_us]
Необходимо через какой-нибудь web-сервис произвести перевод [name] в [name_us], тоесть с русского на английский!
Сталкивался кто-либо?
11 мар 15, 10:30    [17368246]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Glory
Member

Откуда:
Сообщений: 104760
НиколайСН
Необходимо через какой-нибудь web-сервис произвести перевод

А MSSQL тут причем ?
11 мар 15, 10:33    [17368268]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
НиколайСН
Member

Откуда:
Сообщений: 120
притом))
если можно курс валют вытащить и пихать в БД с сайта ЦБ посредством MSSQL, то почему бы по аналогии не переводить?
11 мар 15, 10:38    [17368299]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
НиколайСН
Member

Откуда:
Сообщений: 120
повесил на "автомат" и пусть пустые переводятся по ночам)))
11 мар 15, 10:40    [17368310]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Glory
Member

Откуда:
Сообщений: 104760
НиколайСН
если можно курс валют вытащить и пихать в БД с сайта ЦБ посредством MSSQL, то почему бы по аналогии не переводить?

И что вам мешает тогда сделать "по аналогии" ?
11 мар 15, 10:40    [17368312]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Я как всегда посоветую написать SSIS пакет
11 мар 15, 10:47    [17368364]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37052
a_voronin
Я как всегда посоветую написать SSIS пакет
Правильно. В любой непонятной ситуации пиши SSIS-пакет и используй in-memory.
11 мар 15, 10:50    [17368386]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
НиколайСН
Member

Откуда:
Сообщений: 120
а кто тогда посоветует к чему цепляться?
вот "курсы" это ЦБ, а "перевод"? кто что подскажет на эту тему? да и где вообще можно почитать на эту тему?
11 мар 15, 11:07    [17368506]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
invm
Member

Откуда: Москва
Сообщений: 9400
http://www.microsoft.com/translator/api.aspx
11 мар 15, 11:12    [17368522]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Glory
Member

Откуда:
Сообщений: 104760
НиколайСН
а кто тогда посоветует к чему цепляться?

Вот это вам и предстоит выяснить самому. Потому что MSSQL-ю все равно, куда вы там будете "цепляться"
11 мар 15, 11:13    [17368528]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31430
НиколайСН
а кто тогда посоветует к чему цепляться?
вот "курсы" это ЦБ, а "перевод"? кто что подскажет на эту тему? да и где вообще можно почитать на эту тему?
Точно не на форуме про MSSQL :-)

Может, поискать в яндексе "сервис автоматических переводов" или "API автоматических переводов"?
11 мар 15, 11:24    [17368615]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4950
НиколайСН,
А что мешает найти таблицу с переводом и посредством ее и update/insert переводить?
11 мар 15, 14:45    [17370285]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
если можно курс валют вытащить и пихать в БД с сайта ЦБ посредством MSSQL

Вы ошибаетесь, сиквел не имеет такого функционала, это выполняется сторонними утилитами.
11 мар 15, 14:49    [17370311]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
НиколайСН
Member

Откуда:
Сообщений: 120
Владислав Колосов,

ГУГЛ
https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=курсы валют ЦБ SQL&spell=1


2-я ссылка!
Там тонны тем по курсам валют
11 мар 15, 14:52    [17370330]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
НиколайСН
Member

Откуда:
Сообщений: 120
ЕвгенийВ,

Держать в Базе таблицу с тонной информации - не... не айс!!
Можете себе представить сколько она весть будет))) Да она же пол диска сожрёт)))
11 мар 15, 14:55    [17370343]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
НиколайСН
Member

Откуда:
Сообщений: 120
alexeyvg,

Спасибо, надо будет изучить данный вопрос!!!
11 мар 15, 15:01    [17370404]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
НиколайСН
Салют! Давно не бывал тут, значит чему-то научился, но видимо не всему!))))


не обязательно, мог ссылку забыть или компьютер накрылся
11 мар 15, 15:01    [17370405]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
НиколайСН, то же не сиквел загружает. Он не имеет конструктивно возможности загрузки по HTTP, FTP и т.д.
Загрузку при помощи сторонних API выполняют.
Если не понятно, то, используя сторонние API, можно и переводить, обращаясь к этому API из процедур сервера. Но это неправильно, сервер должен отвечать на запросы, а не создавать их. Напишите отдельное приложение, запускайте по расписанию. Иначе ваш сервер будет зависит от стороннего контекста.
Не, ну можно и микроскопом гвоздь забить, кто спорит.
11 мар 15, 15:03    [17370431]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4950
НиколайСН
ЕвгенийВ,

Держать в Базе таблицу с тонной информации - не... не айс!!
Можете себе представить сколько она весть будет))) Да она же пол диска сожрёт)))

Берем грубые оценки.
В разных источниках называют разное количество слов в русском языке, все меньше миллиона, так что берем 1 000 000.
Берем 10 байт на слово - 10 000 000 для русского, * 2 - столько же для ангельского = 20 000 000 байт = 19,073486328125 Мб.
Легко влезет в оперативную память самого задрипонного компа, не говоря о жестком диске.
11 мар 15, 15:27    [17370651]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
o-o
Guest
НиколайСН
Можете себе представить сколько она весть будет))) Да она же пол диска сожрёт)))

было бы чего представлять.
у меня лингво 10 языков, так все словари вместе взятые 20 Мб.
да и какой уж миллион слов, словарь на 200.000 слов -- это уже редкость,
у меня Мюллер и то на 180.000
11 мар 15, 16:05    [17370931]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Гавриленко Сергей Алексеевич
a_voronin
Я как всегда посоветую написать SSIS пакет
Правильно. В любой непонятной ситуации пиши SSIS-пакет и используй in-memory.


Мне ситуация вполне понятна.
11 мар 15, 16:22    [17371054]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
o-o
НиколайСН
Можете себе представить сколько она весть будет))) Да она же пол диска сожрёт)))

было бы чего представлять.
у меня лингво 10 языков, так все словари вместе взятые 20 Мб.
да и какой уж миллион слов, словарь на 200.000 слов -- это уже редкость,
у меня Мюллер и то на 180.000


В In-Memory поместиться.
11 мар 15, 16:23    [17371068]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Jovanny
Member

Откуда:
Сообщений: 1195
Использую Microsoft Translator.

Весь код присутствует в интернете, так что не надо ничего изобретать.

 [SqlFunction]
    public static SqlString Translate(SqlString text, SqlString from, SqlString to)
    {
        string result;

        var serviceRootUri = new Uri("https://api.datamarket.azure.com/Bing/MicrosoftTranslator/");

        // this is the Account Key I generated for this app 
        var accountKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

        // the TranslatorContainer gives us access to the Microsoft Translator services 
        TranslatorContainer tc = new TranslatorContainer(serviceRootUri);

        // Give the TranslatorContainer access to your subscription 
        tc.Credentials = new NetworkCredential(accountKey, accountKey);

        var translationQuery = tc.Translate(text.ToString(), to.ToString(), from.ToString());
        // Call the query and get the results as a List 
        var translationResults = translationQuery.Execute().ToList();

        // Verify there was a result 
        if (translationResults.Count() <= 0) {
            return SqlString.Null;
        }

        // In case there were multiple results, pick the first one 
        result = translationResults.First().Text; 

        return new SqlString(result);
    }

Код для класса TranslatorContainer здесь.

Создаёте SQL Server Project в VS, класс TranslatorContainer, функцию Translate, делаете Deploy в Вашу базу.
SELECT dbo.Translate(N'Облако', 'ru', 'en')

Вроде всё.
11 мар 15, 16:24    [17371074]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Jovanny
Member

Откуда:
Сообщений: 1195
А, и подписаться на Microsoft Translator.)
11 мар 15, 16:30    [17371123]     Ответить | Цитировать Сообщить модератору
 Re: Update через translate  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Jovanny
А, и подписаться на Microsoft Translator.)


а у гугла нету чего-то такого, чтобы переводило?
11 мар 15, 16:35    [17371172]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить