Я выполнил ежедневный пакетный процесс, который вставлял французские (или другие языки) данные в мою базу данных после их перевода на английский язык с помощью Google Translation API. Когда я использую его в локальной среде, нет проблем. Однако, когда этот процесс выполняется в производстве, он останавливается до конца. У вас есть представление о проблеме? Есть ли параметр, который нужно изменить в моей учетной записи API перевода Google?
Например, сегодня утром процесс останавливается на строке 54:
мой файл :
53 Се код промоушен файт гагнер 12%
категорические мешочки. C’est pour vous!, 12% скидка
Newchic, скидка 12%
Newchic, Newchic, newchic, 1534118399, код, HOMEBAG12,http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXX=54 Новая редакция кодекса; 15% от стоимости номера
статьи о животных животных. Ne Ratez Pas Cette
offre!, 15% скидка Newchic, 15% скидка
Newchic, Newchic, newchic, 1534291199, код, PETDOG15,http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXX=55 декораций и развлечений на 10% дешевле
статьи из материальных источников. Offre Valable
промо-код Profitez-en!, 10% скидка Newchic, 10% скидка
réduction
Newchic, Newchic, newchic, 1534636799, код, MOM2018,http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXXXXX=
Моя программа:
$apiKey = 'XXXXXXXXXXXXXXXXXXXX';
while($tab=fgetcsv($file,2048,',')){
.....
$result=$this->language_curl($apiKey,$text);
$exclude_list=array("en","und","","erreur");
if (!in_array($result, $exclude_list)){
$translate_title=$this->translate_curl($apiKey,$title,$result);
$translate_content=$this->translate_curl($apiKey,$content,$result);
$content=$translate_content;
$title=$translate_title;
}
....
insert database
....
end while
…
function language_curl($apiKey,$text){
$url = 'https://www.googleapis.com/language/translate/v2/detect?key=' . $apiKey . '&q=' . rawurlencode($text);
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
$responseDecoded = json_decode($response, true);
$responseCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
curl_close($handle);
if($responseCode != 200) {
$return = "erreur";
}
else {
$return = $responseDecoded['data']['detections'][0][0]['language'];
}
return $return;
}
function translate_curl($apiKey,$text,$result){
$url = 'https://www.googleapis.com/language/translate/v2?key=' . $apiKey . '&q=' . rawurlencode($text) . '&source=' . $result . '&target=en';
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
$responseDecoded = json_decode($response, true);
curl_close($handle);
return $responseDecoded['data']['translations'][0]['translatedText'];
}
Задача ещё не решена.
Других решений пока нет …