2021.10.20 システム
DeepL翻訳のAPIを試してみました
こんにちは。
今回はDeepL翻訳のAPIを試してみましたので、簡単ですが導入方法についてご紹介したいと思います。
DeepL翻訳とは
DeepL翻訳
https://www.deepl.com/translator
2017年にサービス開始されたオンラインの翻訳サービスで、精度の高い翻訳を行ってくれます。
機械学習の技術を取り入れることで、自然な翻訳を実現しているようです。
私も海外QAサイトを調べる時や、英語で書かれたリファレンスの翻訳等
普段の業務で大いに活用させてもらっています。
APIの認証キーを準備する
APIを使用するためには認証キーが必要となります。
以下のページからユーザ登録を行い、認証キーを入手します。
(登録完了後のアカウント情報画面で「DeepL APIで使用する認証キー」が確認できます。)
https://www.deepl.com/ja/pro-api?cta=header-pro/
無料で使えるプラン(DeepL API Free)があるので、使用感等を簡単に試すことができます。
無料プランは1か月あたり500,000文字の制限はありますが、ちょっとした検証や個人で使用する分には十分ですね!
API呼び出しを試してみる
以下のリファレンスを参考にAPIの呼び出しを実装します。
https://www.deepl.com/ja/docs-api/translating-text/request/
シンプルな翻訳を行う場合は以下のパラメータをPOSTするだけなので、簡単ですね。
・auth_key:APIの認証キー
・text:翻訳したいテキスト
・target_lang:何語に翻訳するか(今回は日本語 → 英語に翻訳するので「EN」を指定します。)
サンプルコード(PHP)
$param = array( 'auth_key' => 'xxxx-xxxx-xxxx(認証キーをここに設定)', 'text' => 'WEBで課題を解決します。', 'target_lang' => 'EN' ); $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); $res = curl_exec($curl); curl_close($curl); var_dump(json_decode($res, true));
実行結果
今回はPHPからAPIの呼び出しを試してみました。
(翻訳結果を出力するだけの簡単なプログラムです。)
翻訳結果がJSON形式で返ってくるので、json_decodeで変換しています。
サンプルコードなのでエラーハンドリング等は考慮していませんが、期待通りの動作が確認できました。
APIを使うことで外部サービスと簡単に連携できます。
今回のAPIはサイトの多言語対応等に活用できそうですね。
ここまでお読みいただきありがとうございました。