Ищу скрипт переводчика гугла

Тема в разделе "Мелочи", создана пользователем ZmeyS, 18 сен 2010.

  1. ZmeyS

    ZmeyS Постоялец

    Регистр.:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    11
    Нужен скрипт или программа для перевода файлов в формате txt, чтоб можно было указать папку с файлами, от туда брались бы файлы переводились с помощью Google Translate с возможностью выбора языка и сохранялись.
    Мож кто видел где такой.
     
  2. nixxx

    nixxx Постоялец

    Регистр.:
    25 ноя 2006
    Сообщения:
    84
    Симпатии:
    46
  3. Hilo

    Hilo

    Moderator
    Регистр.:
    31 мар 2008
    Сообщения:
    911
    Симпатии:
    568
    Чет я неувидел там функции добавления файла и перевода файлов. И даже папок.
    Вопрос и для меня все ещё актуален.
     
  4. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
  5. ZmeyS

    ZmeyS Постоялец

    Регистр.:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    11
    Там плагины под WP, а мне нужно чтоб файлы txt, брало из определенного места переводила и сохраняла к примеру в другую папку.
     
  6. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    PHP:
    function translate($str$from='en'$to='ru'){
        
    $fp fsockopen("www.google.com"80$errno$errstr30);
        if (!
    $fp) {
            
    trigger_error("$errstr ($errno) \n"E_USER_WARNING);
            return 
    "";
        } else {
            
    $text "text=".urlencode($str);
            
    $out "POST /translate_a/t?client=t&sl=".$from."&tl=".$to." HTTP/1.1\r\n";
            
    $out .= "Host: www.google.com\r\n";
            
    $out .= "User-Agent: Mozilla/5.0\r\n";
            
    $out .= "Accept-Encoding: deflate\r\n";
            
    $out .= "Content-length: ".strlen($text)."\r\n";
            
    $out .= "Connection: Close\r\n\r\n";
            
    $out .= $text;
            
    fputs($fp$out);
            
    $res "";
            while (!
    feof($fp)) {
                
    $res .=  fgets($fp1024);
            }
            
    fclose($fp);
        }
        
    $res explode("\r\n\r\n",$res);
        
    $res explode("\r\n",$res[1]);
        return 
    stripslashes(substr($res[1],1,-1));
    }
    Список файлов из директории сам достанешь?
     
  7. ZmeyS

    ZmeyS Постоялец

    Регистр.:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    11
    Спасибо конечно, за код но я пхп полный ноль, так что список достать не смогу, если не сложно можно полный код выложить:thenks:
     
  8. Hilo

    Hilo

    Moderator
    Регистр.:
    31 мар 2008
    Сообщения:
    911
    Симпатии:
    568
    Я чет тоже ничего непонял
    PHP:
    в return "enter.txt"я вставил enter.txt
    в $res 
    "count.txt"я вставил count.txt
    Текстовики я создал помести в ту же папку где и скрипт.
    Ничего не работает. Объясните автор скрипта что к чему. Спасибо.
     
  9. kent2177

    kent2177

    Регистр.:
    25 авг 2009
    Сообщения:
    153
    Симпатии:
    17
    У меня стояла задача переводить html странички ,я её реализовал так: закачивал на сайт странички и при помощи скрипта потом уже переводил и сохранял на комп(всё ради сохранения html кода).Перевод текста легко реализовать в XWeb Human Emulator
    PHP:
    <?php
    // The following code is required to properly run XWeb Human Emulator
    require("../Templates/xweb_human_emulator.php");

    //list.txt список файлов

     
    $qwery file('list.txt');
    $domen=""// http://site.ru

    $der count($qwery);
    for (
    $i 0$i $der$i++) {
    $page $domen.$qwery[$i];
    echo 
    $page."<br/>";
    $url ='http://translate.google.com/translate';
    $data = array('u' => $page,
    'hl' => 'ru','ie' => 'UTF-8','sl' => 'id','tl' => 'ru',
    'rurl' => 'translate.google.com','twu' => '1');
    $options = array('http' => array('method' => 'GET','header' => "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 4.0.20506) Content-Type: 'text/plain; charset=UTF-8\r\n\r\n"));
    $context stream_context_create($options);
    $url .= '?' http_build_query($data);
    $res file_get_contents($urlnull$context);

    preg_match('/"(\/translate_p.*?)"/',$res,$trp); 
    $url 'http://translate.google.com'.html_entity_decode($trp[1]);
    $res file_get_contents($urlnull$context);

    $z="\\".$qwery[$i]; 
    $z preg_replace('(\s)'""$z);

    file_put_contents("c:\\siteperev".$z$res);

    $e $der-$i;
    echo 
    "осталось".$e."<br/>";
    }
    echo 
    "конец";
    // Quit
    $app->quit();
    ?>
     
  10. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Вот, нашел на яваскрипте. Этот еще в сто раз проще:

    Код:
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
      window.google&&google.load("language", "1"); 
    
      function trans(from,to,fromlang,tolang) {
    
        var text = document.getElementById(from).value;
        window.google&&google.language.translate(text, fromlang, tolang,
            function(result) {
                if (result.translation) document.getElementById(to).value = result.translation;
                else alert("Error translating text");
            }
        );
    
        return !1;
      }
    </script>
    
    Переводит текстерии в html (в одной оригинал - в другой перевод), но легко переделать чтоб переводило innerHTML любого тега.

    Если с php не дружите, то яваскрипт вроде полегче будет для понимания..