Мәтінда Google Translate арқылы аудару
- gmyrzamuratov
- Алгоритм / 19 қараша 2018, 15:09
- 899
Бір кездері үлкен массивтегі мәтінді аудару керек болды.
Google Translate қызметін қолдандық. Егер керек болса php-мен жазылған код төменде:
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