Автоматичний переклад на сторінці сайту

Блог програміста

Автоматичний переклад на сторінці сайту

Багато хто чекав на такий сервіс від Яндекса, але їхній варіант API для перекладу текстів поки не готовий. Я знайшов цілком собі робочий варіант від Microsoft – Microsoft Translator AJAX API. Радість від знахідки швидко закінчилася, коли я почав вивчати, як його підключати.

Справа в тому, що в інструкції пропонують отримати Access Token, а для цього треба зареєструватися на Azure Marketplace (Azure це хмарний сервіс від Microsoft), потім зареєструвати свою програму в розділі розробників Azure. Я був переповнений рішучості і все це зробив, навіть хотів написати скрипт, який отримує Access Token на основі отриманих даних, але не тут-то було. Я подивився на код що вони чомусь виклали у вигляді малюнку та дійшов висновку що цей самий Access Token та не потрібен зовсім. Напевно я просто не уважно читав, там все англійською :)

Виявилося, що для запиту на переклад за допомогою Ajax потрібний лише appID, якого я не зміг знайти в Azure. Отже, результат. Інструкція з підключенняBing Translator API до вашого сайту:

1. Отримати Live ID якщо у вас ще немає

3. Скласти скрипт для перекладу за допомогою Application ID, який буде виданий вашому додатку.

Загалом послідовність дій практично така сама, як була у Google. Наведу приклад js-функції, що здійснює переклад.

function MS_Translate( src_selector, dst_selector ) < window.mycallback = function( response ) < $( dst_selector ).val( response ); > var text = encodeURI( $( src_selector ).val() ); var appId = ""; var url = "http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=" + appId+ "&to=en&text=" + text; var s = document.createElement("script"); s.src=url; $("head").get(0).appendChild(s); > Функція приймає як параметри селектори вихідного тексту та кінцевого. В мене це елементи. Далі реєструється функція зворотного виклику, яка надасть отримане значення потрібному елементу. Потім створюється елемент

Коментарі