Ejemplo n.º 1
0
function traducir($lineas, $origen, $destino)
{
    $traduccion = array();
    //Client ID of the application.
    $clientID = "TU ID DE CLIENTE";
    //Client Secret key of the application.
    $clientSecret = "TU ID DE APLICACION o SECRETO DE CLIENTE";
    //OAuth Url.
    $authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
    //Application Scope Url
    $scopeUrl = "http://api.microsofttranslator.com";
    //Application grant type
    $grantType = "client_credentials";
    //Create the AccessTokenAuthentication object.
    $authObj = new AccessTokenAuthentication();
    //Get the Access token.
    $accessToken = $authObj->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
    //Create the authorization Header string.
    $authHeader = "Authorization: Bearer " . $accessToken;
    //Set the Params.
    $fromLanguage = $origen;
    $toLanguage = $destino;
    $user = '******';
    $category = "general";
    $uri = null;
    $contentType = "text/html";
    $maxTranslation = 5;
    //Input text Array.
    $inputStrArr = array(utf8_encode(html_entity_decode(special_char($lineas[0]))), utf8_encode(html_entity_decode(special_char($lineas[1]))), utf8_encode(html_entity_decode(special_char($lineas[2]))), utf8_encode(html_entity_decode(special_char($lineas[3]))), utf8_encode(html_entity_decode(special_char($lineas[4]))));
    /*print_r($inputStrArr);
    		die;*/
    //HTTP GetTranslationsArray Method Url.
    $getTranslationUrl = "http://api.microsofttranslator.com/V2/Http.svc/GetTranslationsArray";
    //Create the Translator Object.
    $translatorObj = new HTTPTranslator();
    //Get the Request XML Format.
    $requestXml = $translatorObj->createReqXML($fromLanguage, $toLanguage, $category, $contentType, $user, $inputStrArr, $maxTranslation);
    //Call HTTP Curl Request.
    $curlResponse = $translatorObj->curlRequest($getTranslationUrl, $authHeader, $requestXml);
    // Interprets a string of XML into an object.
    $xmlObj = simplexml_load_string($curlResponse);
    $translationResponse = $xmlObj->GetTranslationsResponse;
    $y = 0;
    foreach ($translationResponse as $translationArr) {
        $translationMatchArr = $translationArr->Translations->TranslationMatch;
        echo $inputStrArr[$y] . " = ";
        foreach ($translationMatchArr as $translationMatch) {
            echo $translationMatch->TranslatedText . '<br>';
            $traduccion[] = $translationMatch->TranslatedText;
        }
        $y++;
    }
    return $traduccion;
}
Ejemplo n.º 2
0
function testTranslate()
{
    try {
        //Client ID of the application.
        $clientID = "0f442800-138b-4f8d-b1c6-706cea5924d5";
        //Client Secret key of the application.
        $clientSecret = "H+Lj+Wwbp+T+vRtve/+lcKSO+6a70nSPPwElnI7jgKE=";
        //OAuth Url.
        $authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
        //Application Scope Url
        $scopeUrl = "http://api.microsofttranslator.com";
        //Application grant type
        $grantType = "client_credentials";
        //Create the AccessTokenAuthentication object.
        $authObj = new AccessTokenAuthentication();
        //Get the Access token.
        $accessToken = $authObj->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
        //Create the authorization Header string.
        $authHeader = "Authorization: Bearer " . $accessToken;
        //Create the Translator Object.
        $translatorObj = new HTTPTranslator();
        //Input String.
        $inputStr = 'This is the sample string.';
        //HTTP Detect Method URL.
        $detectMethodUrl = "http://api.microsofttranslator.com/V2/Http.svc/Detect?text=" . urlencode($inputStr);
        //Call the curlRequest.
        $strResponse = $translatorObj->curlRequest($detectMethodUrl, $authHeader);
        //Interprets a string of XML into an object.
        $xmlObj = simplexml_load_string($strResponse);
        foreach ((array) $xmlObj[0] as $val) {
            $languageCode = $val;
        }
        /*
         * Get the language Names from languageCodes.
         */
        $locale = 'en';
        $getLanguageNamesurl = "http://api.microsofttranslator.com/V2/Http.svc/GetLanguageNames?locale={$locale}";
        //Create the Request XML format.
        $requestXml = $translatorObj->createReqXML($languageCode);
        //Call the curlRequest.
        $curlResponse = $translatorObj->curlRequest($getLanguageNamesurl, $authHeader, $requestXml);
        //Interprets a string of XML into an object.
        $xmlObj = simplexml_load_string($curlResponse);
        echo "<table border=2px>";
        echo "<tr>";
        echo "<td><b>LanguageCodes</b></td><td><b>Language Names</b></td>";
        echo "</tr>";
        foreach ($xmlObj->string as $language) {
            echo "<tr><td>" . $inputStr . "</td><td>" . $languageCode . "(" . $language . ")" . "</td></tr>";
        }
        echo "</table>";
    } catch (Exception $e) {
        echo "Exception: " . $e->getMessage() . PHP_EOL;
    }
}
Ejemplo n.º 3
0
 public function translateArray($sentences, $fields)
 {
     $accessToken = $this->getServiceToken();
     //Create the authorization Header string.
     $authHeader = "Authorization: Bearer " . $accessToken;
     try {
         //Create the Translator Object.
         $translatorObj = new HTTPTranslator();
         //Get the Request XML Format.
         $requestXml = $translatorObj->createReqXML($this->from, $this->to, $this->contentType, $sentences);
         //HTTP TranslateMenthod URL.
         $translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/TranslateArray";
         //Call HTTP Curl Request.
         $curlResponse = $translatorObj->curlRequest($translateUrl, $authHeader, $requestXml);
         //Interprets a string of XML into an object.
         $xmlObj = simplexml_load_string($curlResponse);
         if (is_object($xmlObj)) {
             $i = 0;
             $translated = array();
             foreach ($xmlObj->TranslateArrayResponse as $translatedArrObj) {
                 if (isset($translatedArrObj->Error)) {
                     $this->setError((string) $translatedArrObj->Error);
                     return false;
                 }
                 $translated[$i++] = (string) $translatedArrObj->TranslatedText;
             }
             if (!count($translated)) {
                 $this->setError(nl2br(strip_tags($curlResponse)));
                 return false;
             }
             return $translated;
         } else {
             //var_dump($xmlObj);
             $error = preg_replace('/[\\s\\S]+<body[^>]*>([\\s\\S]+)<\\/body>[\\s\\S]*/i', '$1', (string) $curlResponse);
             $this->setError($error);
             return false;
         }
     } catch (Exception $e) {
         $this->setError($e->getMessage());
         return false;
     }
 }
    $detectMethodUrlGerman = "http://api.microsofttranslator.com/V2/Http.svc/Translate?Text=" . urlencode($inputStr) . "&To=de";
    //Call the curlRequest.
    $strResponseGerman = $translatorObj->curlRequest($detectMethodUrlGerman, $authHeader);
    echo "German: " . $strResponseGerman . "<br>";
    //Interprets a string of XML into an object.
    $xmlObj = simplexml_load_string($strResponseKorean);
    foreach ((array) $xmlObj[0] as $val) {
        $languageCode = $val;
    }
    /*
     * Get the language Names from languageCodes.
     */
    $locale = 'en';
    $getLanguageNamesurl = "http://api.microsofttranslator.com/V2/Http.svc/GetLanguageNames?locale={$locale}";
    //Create the Request XML format.
    $requestXml = $translatorObj->createReqXML($languageCode);
    //Call the curlRequest.
    $curlResponse = $translatorObj->curlRequest($getLanguageNamesurl, $authHeader, $requestXml);
    //Interprets a string of XML into an object.
    $xmlObj = simplexml_load_string($curlResponse);
    // echo "<table border=2px>";
    // echo "<tr>";
    // echo "<td><b>Language</b></td><td><b>Translation</b></td>";
    // echo "</tr>";
    // foreach($xmlObj->string as $language){
    //     echo "<tr><td>".$inputStr."</td><td>". $languageCode."(".$language.")"."</td></tr>";
    // }
    // echo "</table>";
} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . PHP_EOL;
}