Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: API перевода между языками.
Форумы портала PHP.SU » » HTTP и PHP » API перевода между языками.

Страниц (1): [1]
 

1. culver - 02 Июля, 2015 - 22:39:30 - перейти к сообщению
Здравствуйте. Мне нужно организовать перевод почтовых адресов на разные языки. Подскажите, пожалуйста, бесплатные API сервисы для перевода. Моё внимание привлёк Яндекс, но они требуют указания на сайте о переводе с помощью Яндекса, а мне на странице не нужно организовывать перевод. Перевод мне нужен для отображения данных, введённых пользователями для иностранцев. Сайт будет иметь несколько языков отображения, и на всех адреса должны быть корректно отображены.
2. Ts.Saltan - 03 Июля, 2015 - 14:29:34 - перейти к сообщению
У себя в закромах нашёл функцию для гугл.переводчика

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. function googleTranslate($text, $from='ru', $to='en'){
  4.         $url = 'http://translate.google.ru/translate_a/t?client=x&text='.urlencode($text).'&sl='.$from.'&tl='.$to;
  5.  
  6.         $ch = curl_init();
  7.         curl_setopt_array($ch, array(
  8.                 CURLOPT_URL=>$url,
  9.                 CURLOPT_HTTPHEADER=>array(
  10.                         'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729)',
  11.                         'Accept-Language: ru,en-us;q=0.7,en;q=0.3'
  12.                 ),
  13.                 CURLOPT_RETURNTRANSFER=>true
  14.         ));
  15.                
  16.         $get = curl_exec($ch);
  17.         if($get !== false and $data = json_decode($get,true) and isset($data['sentences'])){
  18.                 foreach($data['sentences'] as $dat){
  19.                         $return[] = $dat['trans'];
  20.                 }
  21.                 return implode(' ',$return);
  22.         }
  23.  
  24.         //debug
  25.         var_dump($get);
  26.         echo 'Curl error: '.curl_error($ch).PHP_EOL;   
  27.         echo 'JSON error: '.json_last_error();
  28.        
  29.         return false;
  30. }
  31.  
  32. echo googleTranslate('Привет, как дела?');


Многие ip блочит, требует капчу, но некоторым отдаёт ответ без проблем

 

Powered by ExBB FM 1.0 RC1