system
篠﨑 亮洋

2021.10.20システム開発 

システムエンジニア

篠﨑 亮洋

2021年8月1日「マリンロード」は「インソースマーケティングデザイン」へ社名を変更いたしました

DeepL翻訳のAPIを試してみました

こんにちは。

今回はDeepL翻訳のAPIを試してみましたので、簡単ですが導入方法についてご紹介したいと思います。

DeepL翻訳とは

DeepL翻訳
https://www.deepl.com/translator

2017年にサービス開始されたオンラインの翻訳サービスで、精度の高い翻訳を行ってくれます。
機械学習の技術を取り入れることで、自然な翻訳を実現しているようです。

deepl_1

私も海外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));

実行結果
deepl_2
今回はPHPからAPIの呼び出しを試してみました。
(翻訳結果を出力するだけの簡単なプログラムです。)

翻訳結果がJSON形式で返ってくるので、json_decodeで変換しています。
サンプルコードなのでエラーハンドリング等は考慮していませんが、期待通りの動作が確認できました。

APIを使うことで外部サービスと簡単に連携できます。
今回のAPIはサイトの多言語対応等に活用できそうですね。

ここまでお読みいただきありがとうございました。

WEBサイト診断 現役ウェブ解析士が教えるWebサイトの読み解き方 イメージ
システム開発サービスはこちら
ページTOPへ