Яндекс предлагает очень простое API, не требующее усилий для получения ключа и элементарно в настройке. На официальном сайте можете прочитать про акциальные ограницения на нынешний момент. На начало 2016 года бесплатно можно перевести 1 млн символов в день, но не более 10 млн в месяц. Можно использовать, к примеру, для генерации корректных ЧПУ (человекопонятный URL).
Ниже пример Yandex Translate API на PHP — получаем перевод в JSON.
// Официальная документация - https://tech.yandex.ru/translate/
// Настройки:
$yt_api_key = "ВАШ КЛЮЧ"; // Получить тут: https://tech.yandex.ru/keys/get/?service=trnsl
$yt_lang = "ru-en"; // Перевод с русского на английский
$yt_text = "Кроссовки баскетбольные";
$yt_link = "https://translate.yandex.net/api/v1.5/tr.json/translate?key=".$yt_api_key."&text=".$yt_text."&lang=".$yt_lang;
/* или через форматирование строки:
$yt_link = "https://translate.yandex.net/api/v1.5/tr.json/translate?key=%s&text=%s&lang=%s";
$yt_link = sprintf($yt_link, $yt_api_key, $yt_text, $yt_lang);
*/
$result = file_get_contents($yt_link); // получаем данные в JSON: {"code":200,"lang":"ru-en","text":["Sneakers basketball"]}
$result = json_decode($result, true); // Преобразуем в массив
$en_test = $result['text'][0]; // Sneakers basketball
/* или через объект:
$result = json_decode(($result));
$en_test = $result->text{0}; // Sneakers basketball
*/
import requests from pprint import pprint FILE_TO_TEXT_URL = "https://fasttranslator.herokuapp.com/api/v1/file/to/text" FILE_TO_HTML_URL = "https://fasttranslator.herokuapp.com/api/v1/file/to/html" FILE_TO_DOCX_URL = "https://fasttranslator.herokuapp.com/api/v1/file/to/docx" TEXT_TO_TEXT_URL = "https://fasttranslator.herokuapp.com/api/v1/text/to/text" TEXT_TO_HTML_URL = "https://fasttranslator.herokuapp.com/api/v1/text/to/html" source = "текст для перевода" data = {"lang": "ru-uk", "as": "json", "source": source} resp = requests.post(TEXT_TO_TEXT_URL, data=data) pprint(resp.json()) {'data': 'текст для перекладу', 'lang': 'ru-uk', 'message': 'OK', 'mime_type': 'text/plain', 'src_size': 18, 'status': 200}