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; }
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; } }
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; }