Универсальный переводчик с Гугла яндекса и микрософта

  • XJIOP
  • 27 января 2015 в 00:34
  • СисАдмин 
  • -= SYSOP =-
    • Рейтинг: 3
    • Комментариев: 398
    • Загрузили: 1.34 ТБ
    • Скачали: 483.43 ГБ
    function universal_translate($word, $from = 'en', $to = 'ru', $translate = 'google') {

    switch($translate) {
    case 'google':
    $url = "http://translate.google.com/translate_a/t";
    $data = array("client" => "p", "text" => $word, "hl" => $from, "sl" => $from, "tl" => $to, "ie" => 'UTF-8', "oe" => 'UTF-8');
    $method = 'POST';
    break;

    case 'yandex':
    $key = ''; # https://tech.yandex.ru/keys/
    $url = 'https://translate.yandex.net/api/v1.5/tr.json/translate';
    $data = array('key' => $key, 'text' => $word, 'lang' => $from.'-'.$to, 'format' => 'plain', 'options' => 1);
    $method = 'POST';
    break;

    case 'microsoft':
    $key = ''; # https://datamarket.azure.com/dataset/bing/microsofttranslator
    $url = 'https://api.datamarket.azure.com/Bing/MicrosoftTranslator/v1/Translate';
    $data = array('Text' => "'".urlencode($word)."'", 'From' => "'".$from."'", 'To' => "'".$to."'");
    $url = $url.'?'.http_build_query($data);
    $opts = array(CURLOPT_USERPWD => $key.':'.$key);
    $method = 'GET';
    break;
    }

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);

    if($method == 'POST') {
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    }

    if($opts)
    curl_setopt_array($ch, $opts);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);
    curl_close($ch);

    switch($translate) {
    case 'google':
    $parse = json_decode($output, true);
    $result = $parse['sentences'][0]['trans'];
    break;
    case 'yandex':
    $parse = json_decode($output, true);
    $result = $parse["text"][0];
    break;
    case 'microsoft':
    $parse = explode('<d:Text m:type="Edm.String">', $output);
    $parse = explode('</d:Text>', $parse[1]);
    $result = $parse[0];
    break;
    }

    return $result;
    }
    Получить бесплатно ключи:
    Яндекс | Микрософт

    Вызов переводчика
    echo universal_translate('hello', 'en', 'ru', 'google');

    --------------------

    for (;;) { echo rand(0,1); }
    Файлы обмена предоставлены пользователями трекера, администрация не несет ответственность за их содержание. Большая просьба не заливать файлы, защищенными авторскими правами, а так же файлы с нелегальным содержанием.
    Рейтинг торрент трекеров