Google 번역 api를 통해 텍스트 번역 작업 중입니다. 영어 데이터가 데이터베이스에서 다른 언어 (예 : 일본어와 같은 언어)로 변환되어야하며 데이터베이스에 다른 언어 출력도 저장해야합니다. 지금 나는 다른 언어로 출력을 얻으려면 API를 번역 구글로 모든 문자열을 보냈습니다. 하지만 그것은 매우 오랜 시간이 걸리며 여러 요청 제한으로 인해 전체 데이터를 변환 할 수 없습니다.google translator API를 사용하여 PHP 배열 값 변환
제 질문은 Google 번역기 API를 사용하여 한 번의 요청으로 전체 배열을 번역 할 수 있습니까?
는 지금은 코드 아래 사용하고 있습니다 :
for($mn=0;$mn<count($languageFieldData);$mn++)
{
$field = $languageFieldData[$mn]['field'];
$newVal = $leadQuery[0][$field];
if(!empty($newVal))
{
//$leadQuery['ko'][0][$field] = Translate($newVal,'ko');
$leadQuery['ja'][0][$field] = Translate($newVal,'ja');
//$leadQuery['zh-CN'][0][$field] = Translate($newVal,'zh-CN');
}
$newVal = "";
}
function curl($url,$params = array(),$is_coockie_set = false)
{
if(!$is_coockie_set)
{
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
$ch = curl_init ($url);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
}
$str = '';
$str_arr= array();
foreach($params as $key => $value)
{
$str_arr[] = urlencode($key)."=".urlencode($value);
}
if(!empty($str_arr))
$str = '?'.implode('&',$str_arr);
$Url = $url.$str;
$ch = curl_init ($Url);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
return $output;
}
function Translate($word,$conversion)
{
$word = urlencode($word);
$url = 'http://translate.google.com/translate_a/t?client=t&text='.$word.'&hl=en&sl=en&tl='.$conversion.'&ie=UTF-8&oe=UTF-8&multires=1&otf=1&ssel=3&tsel=3&sc=1';
$name_en = curl($url);
$name_en = explode('"',$name_en);
return $name_en[1];
}