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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です