[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」としている。