[PHP] Deeplの無料APIを呼び出してAPI翻訳させる方法
Deeplの無料APIを呼び出してAPI翻訳させる方法は以下の通り
事前にAPIキーを取得しておくこと。APIキーは、最後に:fxがついている。登録完了後のアカウント情報画面で「DeepL APIで使用する認証キー」が確認できる。
使い方としては
$str = "Hello"; $translated = func_translateDeepL($str); echo $translated;
func_translateDeepL関数
function func_translateDeepL($str){
$authKey = "xxxxxxxxxxxxx:fx"; //APIコードを貼り付け
$target_lang = "JA";
$formality = "less"; //丁寧さ:日本語サポート外
$param = array(
'auth_key' => $authKey,
'text' => $str,
'target_lang' => $target_lang
);
$curl = curl_init("https://api-free.deepl.com/v2/translate");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($param));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($curl);
curl_close($curl);
$res = json_decode($json,true);
return $res["translations"][0]["text"];
}
$resの中にDeeplから帰ってきたJSONの中身が配列として格納されているが、必要な翻訳後の文章は$res[“translations”][0][“text”]にあるので、それだけreturnしている。
今回は無料APIなので、APIの呼び出し先は「https://api-free.deepl.com/v2/translate」としている。