<広告>

API 自動化

翻訳サイトDeepLのAPIを使ってみる

翻訳する時は、どこのサイトを使ってますか?

私は、手っ取り早く翻訳したい時は「Google翻訳」を使ってます。

「念には念を」という時は、「Google翻訳」「DeepL」その他色々なサイトを使ってます。

ブログなども翻訳してみたいので、DeepLのAPIをPHPで使ってみます。

投稿者「みか」自己紹介

  • パソコンとデータベースが大好き
  • 自社でネットワーク・システム・機器管理、Webサイト構築
  • 自社向けのシステムをMicrosoft AccessやPHPで多数構築
  • Excelでの作業はVBAを使って効率化
  • ロックバンド「VARS」でベース担当
  • 「VARS」のWebサイト、ブログも構築
  • 「VARS」のライブを観に来てね!https://vasofatum.jp/live/

DeepL APIに無料アカウント登録と認証キーの取得

https://www.deepl.com/ja/pro

上記のURLにアクセスし、[DeepL API]をクリックします。

上記のURLにアクセスし、[DeepL API]をクリックします。

「DeepL API Free」の[無料で登録する]をクリックします。

「DeepL API Free」の[無料で登録する]をクリックします。

メールアドレスを入力し、[続行]をクリックします。

メールアドレスを入力し、[続行]をクリックします。

登録したいパスワードを入力し、[アカウントを作成]をクリックします。

登録したいパスワードを入力し、[アカウントを作成]をクリックします。

名前や住所を入力し、下へスクロールします。

名前や住所を入力し、下へスクロールします。

不正利用を防ぐためにクレジットカード入力が必要のようです。Pro版へ手動で設定しない限りは課金されることはないようですね。

クレジットカード情報を入力し、[続行]をクリックします。

クレジットカード情報を入力し、[続行]をクリックします。

利用規約の同意にチェックをし、最新情報等のメール配信にも一応チェックしておきました。[無料で登録する]をクリックします。

[無料で登録する]をクリックします。

[アカウントを管理する 認証キーを取得する]をクリックします。

[アカウントを管理する 認証キーを取得する]をクリックします。

[APIキー]タブをクリックします。

[APIキー]タブをクリックします。

[試してみる]をクリックします。

[試してみる]をクリックします。

APIキーのコピーボタンをクリックし、メモ帳などに貼り付けておきます。

APIキーのコピーボタンをクリックし、メモ帳などに貼り付けておきます。

これで、登録と認証キーの取得は終了です。

PHPでAPIを使って翻訳してみる

https://qiita.com/wokamoto/items/be2ce62d9475572a9963

上記のサイトのコードをそのまま使ってみました。

月に500,000文字までしか翻訳できないので、テストでは「私はみか」を翻訳してみます。

3行目の「$your_api_key」には、先ほど取得した認証キーを入力します。

<?php
$deepl_api_url = 'https://api-free.deepl.com/v2/translate';
$your_api_key = 'xxxxxxxxxxxxxxxxxxxxxxxx';
$source_text = "私はみか";

$header = [
    'Content-Type: application/x-www-form-urlencoded',
];
$content = [
    'auth_key'    => $your_api_key,
    'text'        => $source_text,
    'source_lang' => 'JA',
    'target_lang' => 'EN-US',
];

$params = [
    'http' => [
        'method'  => 'POST',
        'header'  => implode("\r\n", $header),
        'content' => http_build_query($content, '', '&'),
    ]
];

$request = file_get_contents(
    $deepl_api_url,
    false,
    stream_context_create($params)
);
$result = json_decode($request);

echo $result->translations[0]->text;

レンタルサーバーにアップロードしてアクセスしてみました。

「私はみか」→「I am an earwax」と翻訳されています。

逆に翻訳してみたら「私は耳垢です」だそうです。

「みか」は漢字にすべきだったかな?

まぁ、一応翻訳できた、ということで。

<広告>

-API, 自動化
-, , ,