PHP调用谷歌翻译
- 启用 Cloud Translation API。
https://cloud.google.com/translate/docs/setup?hl=zh-cn
- 创建秘钥
https://console.cloud.google.com/apis/credentials?project=redcaptask
秘钥限制,默认 无,不要添加限制,否则调用翻译会报没有权限
3.翻译
翻译文档:https://cloud.google.com/php/docs/reference/cloud-translate/latest
protected $key = 'AIza*********************fW3uVm0kuCbLM0g';
/**
* Notes:单个翻译
* Interface:translate
* Author: 。。。
* CreatTime: 2023/8/16 14:46
* @param string $content 要翻译的内容
* @param string $to_lang 目标语言
* @return \think\response\Json
* @throws \Google\Cloud\Core\Exception\GoogleException
* @throws \Google\Cloud\Core\Exception\ServiceException
*/
public function translate($content = '',$to_lang = 'zh'){
//en,fr
if (empty($content)){
return $content;
}
if (!in_array($to_lang,$this->lang_arr())){
return json(['code'=>0,'msg'=>'翻译目标语言不对']);
}
$translate = new TranslateClient([
'key' => $this->key,
]);
// Translate text from english to french.
$result = $translate->translate($content, [
'target' => $to_lang
]);
return json([
'code'=> 1,
'msg' => '翻译成功',
'data' => [
'input' => $result['input'], //原语言
'text' => $result['text'] //翻译后语言
]
]
);
}
public function lang_arr(){
//支持翻译的所有语言
$str = "af,ak,am,ar,as,ay,az,be,bg,bho,bm,bn,bs,ca,ceb,ckb,co,cs,cy,da,de,doi,dv,ee,el,en,eo,es,et,eu,fa,fi,fr,fy,ga,gd,gl,gn,gom,gu,ha,haw,he,hi,hmn,hr,ht,hu,hy,id,ig,ilo,is,it,iw,ja,jv,jw,ka,kk,km,kn,ko,kri,ku,ky,la,lb,lg,ln,lo,lt,lus,lv,mai,mg,mi,mk,ml,mn,mni-Mtei,mr,ms,mt,my,ne,nl,no,nso,ny,om,or,pa,pl,ps,pt,qu,ro,ru,rw,sa,sd,si,sk,sl,sm,sn,so,sq,sr,st,su,sv,sw,ta,te,tg,th,ti,tk,tl,tr,ts,tt,ug,uk,ur,uz,vi,xh,yi,yo,zh,zh-CN,zh-TW,zu";
$arr = explode(',',$str);
return $arr;
}