Мәтінда Google Translate арқылы аудару

Бір кездері үлкен массивтегі мәтінді аудару керек болды.
Google Translate қызметін қолдандық. Егер керек болса php-мен жазылған код төменде:
<code><?php
$tr_results = requestTranslation(‘kk’, ‘ru’, ‘Мен мектепке барамын’);    
$tr_text    = getSentencesFromJSON($tr_results);
echo «Мәтіннің орыс тіліндегі аудармасы:».$tr_text;  

function requestTranslation($source, $target, $text)    {        
// Google translate URL        
$url = «https://translate.google.com/translate_a/single?client=at&dt=t&dt=ld&dt=qca&dt=rm&dt=bd&dj=1&hl=es-ES&ie=UTF-8&oe=UTF-8&inputm=2&otf=2&iid=1dd3b944-fa62-4b55-b330-74909a99969e»;        
$fields = array(            ‘sl’ => urlencode($source),            ‘tl’ => urlencode($target),            ‘q’ => urlencode($text)        );        if((strlen($fields[‘q’])/2)>=5000){        
echo «Maximum number of characters exceeded: 5000»;            
throw new \Exception(«Maximum number of characters exceeded: 5000»);        
}                
// URL-ify the data for the POST        
$fields_string = «»;        
foreach ($fields as $key => $value) {            
$fields_string .= $key . ‘=’ . $value . ‘&’;        
}        
rtrim($fields_string, ‘&’);        
// Open connection        
$ch = curl_init();       
// Set the url, number of POST vars, POST data        
curl_setopt($ch, CURLOPT_URL, $url);        
curl_setopt($ch, CURLOPT_POST, count($fields));        
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        
curl_setopt($ch, CURLOPT_ENCODING, ‘UTF-8’);        
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);        
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);        
curl_setopt($ch, CURLOPT_USERAGENT, ‘AndroidTranslate/5.3.0.RC02.130475354-53000263 5.1 phone TRANSLATE_OPM5_TEST_1’);        
// Execute post        
$result = curl_exec($ch);        
// Close connection        
curl_close($ch);        
return $result;    
}
function getSentencesFromJSON($json)    {        
$sentencesArray = json_decode($json, true);        
$sentences = «»;        
foreach ($sentencesArray[«sentences»] as $s) {            
$sentences .= isset($s[«trans»]) ? $s[«trans»] : »;        
}        
return $sentences;    
}    
?></code>

  • 0
0 пікір
Тек тіркелген қолданушылар ғана пікір қалдыра алады.