Помогите скриптом/сервисом перевода текста - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.4375
BTC/USD67333.2839
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 01.04.2018, 12:35   #1
boomerok
Senior Member
 
Аватар для boomerok
 
Регистрация: 25.12.2012
Сообщений: 134
Бабло: $39500
По умолчанию Помогите скриптом/сервисом перевода текста

есть много текста, допустим на английском, его нужно перевести на, например, тайский, японский, испанский, лучше через гугл ну или яндекс можно. Руками нереально, сам не нашел ничего рабочего( может плохо искал...
__________________
Pharmcash & PharmcashUSA - лучший конверт и аппрув в фарме! Альтернативы просто нет!
boomerok вне форума  
Старый 01.04.2018, 13:11   #2
Vincenzo
Senior Member
 
Аватар для Vincenzo
 
Регистрация: 20.03.2014
Сообщений: 640
Бабло: $111369
Отправить сообщение для Vincenzo с помощью ICQ
По умолчанию

Я, когда дорами баловался, вот такое юзал, работало на ура

http://sbfactory.ru/cd/?p=1923
Vincenzo вне форума  
Старый 01.04.2018, 13:40   #3
Facker
Senior Member
 
Регистрация: 30.11.2012
Сообщений: 596
Бабло: $93300
По умолчанию

Зеброид переводит и гуглом и яндексом

Facker вне форума  
Старый 01.04.2018, 13:50   #4
boomerok
Senior Member
 
Аватар для boomerok
 
Регистрация: 25.12.2012
Сообщений: 134
Бабло: $39500
ТС -->
автор темы ТС По умолчанию

не хочется покупать только ради переводчика(
__________________
Pharmcash & PharmcashUSA - лучший конверт и аппрув в фарме! Альтернативы просто нет!

Последний раз редактировалось admin; 03.04.2018 в 14:46.
boomerok вне форума  
Старый 01.04.2018, 13:59   #5
Lord_Alfred
Хитрожопый
 
Аватар для Lord_Alfred
 
Регистрация: 15.07.2008
Сообщений: 594
Бабло: $93800
По умолчанию

Для зенки есть очень шустный шаблон от Orka13 на форуме зеннолаба, работает через гугл транслейт
__________________
Мой блог в Telegram: https://tglink.ru/Lord_Alfred
Тесты производительности VPS: https://tglink.ru/VPSBench - присылайте с рефкой
Lord_Alfred вне форума  
Старый 03.04.2018, 00:24   #6
boomerok
Senior Member
 
Аватар для boomerok
 
Регистрация: 25.12.2012
Сообщений: 134
Бабло: $39500
ТС -->
автор темы ТС По умолчанию

нашел скрипт у себя, переводил через яндекс в свое время, замечательно переводил) сча не пашет, так понимаю такая строка там уже не пашет -
https://translate.yandex.net/api/v1/...ru&reason=auto

может поможет поправить кто нить?)
__________________
Pharmcash & PharmcashUSA - лучший конверт и аппрув в фарме! Альтернативы просто нет!
boomerok вне форума  
Старый 03.04.2018, 05:59   #7
Skyworker
Senior Member
 
Регистрация: 25.12.2013
Сообщений: 6,549
Бабло: $785925
По умолчанию

Цитата:
Сообщение от boomerok Посмотреть сообщение
нашел скрипт у себя, переводил через яндекс в свое время, замечательно переводил) сча не пашет, так понимаю такая строка там уже не пашет -
https://translate.yandex.net/api/v1/...ru&reason=auto
может поможет поправить кто нить?)
Посмотри на скрин выше, сейчас нужны API ключи для авто переводчика Яндекса, либо Зенкой работать, как вы уже написали. Каждому свое.
__________________
Надежный и отзывчивый VPS хостинг для серьезных проектов
Проверенная годами пуш партнерка с ежедневными выплатами
Skyworker вне форума  
Старый 03.04.2018, 08:04   #8
boomerok
Senior Member
 
Аватар для boomerok
 
Регистрация: 25.12.2012
Сообщений: 134
Бабло: $39500
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Skyworker Посмотреть сообщение
Посмотри на скрин выше, сейчас нужны API ключи для авто переводчика Яндекса, либо Зенкой работать, как вы уже написали. Каждому свое.
так с ними вроде проблем нет, как скрипт поправить?)
__________________
Pharmcash & PharmcashUSA - лучший конверт и аппрув в фарме! Альтернативы просто нет!
boomerok вне форума  
Старый 03.04.2018, 08:29   #9
Skyworker
Senior Member
 
Регистрация: 25.12.2013
Сообщений: 6,549
Бабло: $785925
По умолчанию

Цитата:
Сообщение от boomerok Посмотреть сообщение
Цитата:
Сообщение от Skyworker Посмотреть сообщение
Посмотри на скрин выше, сейчас нужны API ключи для авто переводчика Яндекса, либо Зенкой работать, как вы уже написали. Каждому свое.
так с ними вроде проблем нет, как скрипт поправить?)
Надо ковырять, но у меня сейчас нет на это времени. Найди спеца за 50-100$, чтобы подправил и дописал тебе как надо, может быть и под API надо какие-то правки вносить.
__________________
Надежный и отзывчивый VPS хостинг для серьезных проектов
Проверенная годами пуш партнерка с ежедневными выплатами
Skyworker вне форума  
Старый 03.04.2018, 14:36   #10
boomerok
Senior Member
 
Аватар для boomerok
 
Регистрация: 25.12.2012
Сообщений: 134
Бабло: $39500
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Skyworker Посмотреть сообщение
Надо ковырять, но у меня сейчас нет на это времени. Найди спеца за 50-100$, чтобы подправил и дописал тебе как надо, может быть и под API надо какие-то правки вносить.
PHP код:
<?php

$langs 
'sq,en,ar,hy,az,af,eu,be,bg,bs,cy,vi,hu,ht,gl,nl,el,ka,da,he,id,ga,it,is,es,kk,ca,ky,zh,ko,la,lv,lt,mg,ms,mt,mk,mn,de,no,fa,pl,pt,ro,ru,sr,sk,sl,sw,tg,th,tl,tt,tr,uz,uk,fi,fr,hr,cs,sv,et,ja';
$x 0;

$opt arguments($argv);
$proxyf = isset($opt['options']['proxy']) ? $opt['options']['proxy'] : false;
$in = isset($opt['options']['in']) ? $opt['options']['in'] : false;
$out = isset($opt['options']['out']) ? $opt['options']['out'] : false;
$oneline = isset($opt['options']['oneline']) ? $opt['options']['oneline'] : false;


if (
$proxyf !== false) {
    
$proxyList proxy_update();
} else {
    exit(
'Proxy file not exists'."\r\n");
}
if(
$in === false or strpos($langstrim($in)) === false or strlen($in) > 2) {
    exit(
'Type input language in parametr "in"!!!'."\r\n");
}
if(
$out !== false) {
    if(
strpos($out',') !== false) {
        
$out explode(',',trim($out));
    } else {
        
$out = array(trim($out));
    }
} else {
    exit(
'Type output language in parametr "out"!!!'."\r\n");
}

$proxy trim($proxyList[$x]);

do {
    
$token updateToken();
    if(!
$token) {
        echo 
'BAD PROXY'."\r\n";
        
$x++;
        if(isset(
$proxyList[$x])) {
            
$proxy trim($proxyList[$x]);
        } else {
            
$proxylist proxy_update();
            
$x 0;
            
$proxy trim($proxyList[$x]);
        }
    }
} while(!
$token);

$all php(dirname(__FILE__).'/in');

for(
$j 0$j count($all); $j++) {
    
$file file(trim($all[$j]));
    if (!
$oneline) {
        
$file goodFile($file);
    }
    
$count count($file);
    if(
strpos(trim($all[$j]), '/') !== false) {
        
$name substr(trim($all[$j]), strripos(trim($all[$j]), '/')+1);
    } else {
        
$name substr(trim($all[$j]), strripos(trim($all[$j]), '\\')+1);
    }

    for(
$k 0$k count($out); $k++) {
        if(
strpos($langs$out[$k]) !== false) {
            for(
$i 0$i $count$i++) {
                
//https://translate.yandex.net/api/v1/tr.json/translate?id=531dcc51.56f3bebd.e8999712-0-0&srv=tr-text&lang=en-ru&reason=auto
                
$post 'srv=tr-text&text='.trim($file[$i]).'&lang='.$in.'-'.$out[$k].'&reason=auto&options=4';
                
$aa getUrl('https://translate.yandex.net/api/v1/tr.json/translate?id='.$token,$post,$proxy);
                if(
strpos($aa'"code":200') !== false) {
                    
$aa json_decode($aatrue);
                    if(
is_array($aa['text'])) {
                        foreach(
$aa['text'] as $key => $value) {
                            
file_put_contents(dirname(__FILE__).'/out/'.$out[$k].'_'.$name$value."\r\n",FILE_APPEND);
                        }
                    } else {
                        
file_put_contents(dirname(__FILE__).'/out/'.$out[$k].'_'.$name$aa['text']."\r\n",FILE_APPEND);
                    }
                    echo 
'FILE: '.($j+1).' of '.count($all).' STRING: '.$i.' of '.$count."\r\n";
                } else {
                    echo 
'BAD PROXY'."\r\n";
                    
$x++;
                    
$i--;
                    if(isset(
$proxyList[$x])) {
                        
$proxy trim($proxyList[$x]);
                    } else {
                        
$proxylist proxy_update();
                        
$x 0;
                        
$proxy trim($proxyList[$x]);
                    }
                    do {
                        
$token updateToken();
                        if(!
$token) {
                            echo 
'BAD PROXY'."\r\n";
                            
$x++;
                            if(isset(
$proxyList[$x])) {
                                
$proxy trim($proxyList[$x]);
                            } else {
                                
$proxylist proxy_update();
                                
$x 0;
                                
$proxy trim($proxyList[$x]);
                            }
                        }
                    } while(!
$token);
                }
            }
        } else {
            echo 
'Not support language: '.$out[$k]."\r\n";
        }
    }
}








function 
updateToken() {
    global 
$proxy;
    
$aa getUrl('https://translate.yandex.ru/','',$proxy);
    if(
preg_match('%SID: \'(.*?)\',%'$aa$ret)) {
        return 
crypt_token($ret[1]);
    }
    return 
false;
}

function 
crypt_token($token) {
    
$bits explode('.'$token);
    for(
$i 0$i sizeof($bits); $i++) {
        
$bits[$i] = strrev($bits[$i]);
    }
    
$token implode('.'$bits).'-0-0';
    return 
$token;
}


function 
goodFile($file) {
    
$count count($file);
    
$temp '';
    
$out = array();
    for(
$i 0$i $count$i++) {
        if(
$temp === '') {
            if(
substr(trim($file[$i]), -1) === '.' or substr(trim($file[$i]), -1) === '!' or substr(trim($file[$i]), -1) === ';' or substr(trim($file[$i]), -1) === ':' or substr(trim($file[$i]), -1) === '?') {
                
$out[] = trim($file[$i]);
            } else {
                
$temp .= trim($file[$i]);
            }
        } else {
            if(
substr(trim($file[$i]), -1) === '.' or substr(trim($file[$i]), -1) === '!' or substr(trim($file[$i]), -1) === ';' or substr(trim($file[$i]), -1) === ':' or substr(trim($file[$i]), -1) === '?') {
                
$out[] = $temp.' '.trim($file[$i]);
                
$temp '';
            } else {
                
$temp .= trim($file[$i]);
            }
        }
    }
    return 
$out;
}


function 
getUrl($url$post '',$proxy=''$cooka='',$header = array('Expect: '), $opt ''$he 0,$fol 1) {
    
$curl curl_init();
    if(
$opt !== '') {
        
curl_setopt($curlCURLOPT_CUSTOMREQUEST$opt);
    }
    
curl_setopt($curlCURLOPT_URL$url);
    
curl_setopt($curlCURLOPT_SSL_VERIFYPEERfalse);
    
curl_setopt($curlCURLOPT_SSL_VERIFYHOSTfalse);
    
curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($curlCURLOPT_HEADER$he);
    
curl_setopt($curlCURLOPT_AUTOREFERER1);
    
curl_setopt($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0');
    
curl_setopt($curlCURLOPT_HTTPHEADER$header);
    if(
$post !=  ''){
        @
curl_setopt($curlCURLOPT_POSTFIELDS$post);
    }
    if(
$proxy != ''){
        
curl_setopt($curlCURLOPT_PROXYtrim($proxy));
        
curl_setopt($curlCURLOPT_HTTPPROXYTUNNEL0);
    }
    
curl_setopt($curlCURLOPT_COOKIE$cooka);
    
curl_setopt($curlCURLOPT_FOLLOWLOCATION$fol);
    
curl_setopt($curlCURLOPT_TIMEOUT10);
    
$response = @curl_exec($curl);
    if (
false === $response) {
        return 
false;
    }
    
curl_close($curl);
    return 
$response;
}


function 
proxy_update() {
    global 
$proxyf;
    if(
strpos($proxyf'.txt') !== false and strpos($proxyf'http') === false) {
        if(
file_exists(dirname(__FILE__).'/'.trim($proxyf))) {
            
$proxylist file(dirname(__FILE__).'/'.trim($proxyf));
            return 
$proxylist;
        } else {
            exit(
'file with proxy not exists!');
        }
    } elseif(
strpos($proxyf'http://') !== false or strpos($proxyf'https://') !== false) {
        
$proxylist getUrl($proxyf);
        if(
$proxylist and strpos($proxylist'404 Not Found') === false) {
            
$proxylist explode("\n"$proxylist);
            
$proxylist array_map('trim'$proxylist);
            return 
$proxylist;
        } else {
            return 
false;
        }
    } else {
        
'Put link or name of file ("http://site.com/proxy.html" or "proxy.txt")';
    }
    return 
false;
}


function 
arguments($args) {
    
$ret = array(
        
'options'   => array(),
        
'flags'     => array(),
    );


    while ((
$arg array_shift($args)) != NULL) {
        
// Is it a option? (prefixed with --)
        
if ( substr($arg02) === '--' ) {
            
$option substr($arg2);

            
// is it the syntax '--option=argument'?
            
if (strpos($option,'=') !== FALSE) {
                list(
$key$value) = explode('='$option2);
                
$ret['options'][$key] = $value;
            } else {
                
$ret['options'][$option] = true;
            }
            
            continue;
        }
        
$buf false;

        
// Is it a flag or a serial of flags? (prefixed with -)
        
if ( substr$arg0) === '-' ) {
            for (
$i 1; isset($arg[$i]) ; $i++) {
                if (
is_numeric($arg[$i]) && $buf) {
                    
$ret['flags'][$buf] = $arg[$i];
                } else {
                    
$buf $arg[$i];
                    
$ret['flags'][$arg[$i]] = true;
                }
            }

            continue;
        }

        continue;
    }
    return 
$ret;
}


function 
php($files) {
    
$files1 scandir($files);
    
$scan = array();
    
$scand = array();
    for(
$i 0$i count($files1); $i++) {
        if(
trim($files1[$i]) != '.' and trim($files1[$i]) != '..') {
            if(
is_dir$files.'/'.$files1[$i])){
                
$scan array_merge((php($files.'/'.$files1[$i])), $scan);
            } else {
                
// if(substr($files1[$i], -4) == '.php'){
                    
$scan[] = $files.'/'.$files1[$i];
                
//}
            
}
        }
    }
    return 
$scan;
}
выложу тут, может добрые люди поправят, да и прогодится кому нить)
не думаю, что тут на 50-100 баксов делов)
__________________
Pharmcash & PharmcashUSA - лучший конверт и аппрув в фарме! Альтернативы просто нет!
boomerok вне форума