MOD TRANSLATOR ブラウザ版用API作成ガイド

2024/06/30

MOD TRANSLATORロゴ

はじめに

当サイトで公開中のMOD TRANSLATORは、Minecraft JAVA Edition ver 1.13 以降対応のForege用Modを翻訳する、PC用ツールです。
この記事では、ブラウザ版MOD TRANSLATORを利用するために必要となる、翻訳APIの作成方法を説明します。

ブラウザ体験版はこちらから、利用可能です。

操作方法については、こちらの説明をご覧ください。

α版制限事項

当アプリは記事アップデート現在、試験運用中のアルファ版です。
動作が不安定である可能性と、当記事の説明がアップデートに追い付いていない場合があることを、あらかじめお詫びします。 具体的な機能制限につきましては、こちらの説明をご覧ください。
なお、アルファ版制限事項として記載されている内容については鋭意開発中としか答えようがないため、問い合わせには返答しません。 ご了承ください。

翻訳APIの概要

当アプリはGoogle翻訳の機能をWEBアプリ上から呼び出し、Minecraft用Modファイルを翻訳するアプリです。
その【Google翻訳の機能をWEBアプリ上から利用】するために必要となるのが、翻訳APIとなります。

翻訳APIを無料で利用するには、GoogleAppsScriptという、Googleアカウントを持っていれば誰でも無料で使用可能なアプリ開発及び開発したアプリの実行環境を利用する必要があります。
また、このAppsScriptから利用可能な翻訳機能は、仕様上一日一ユーザー5000回までと定められており、それ以上の翻訳を行おうとする場合、エラーとなります。1

そのため、アプリを利用する全ユーザーで同じAPIを使い回すのは回数制限上困難です。
利用ユーザーそれぞれにGoogleアカウントおよびアカウント内で翻訳APIを持っていただきそのAPIを呼び出すことで、それぞれのユーザーが一日5000回まで自由に翻訳できる状態となるわけです。2

翻訳APIの安全な運用について

Googleアカウントは無料で作成可能であり、GoogleAppsScriptは完全無料のため、別途料金がかかることはありません。
開発用や商用クラウドサービスでよくある、利用量が一定回数を超えたら請求が発生ということはない点、ご安心ください。3

AppsScriptの翻訳API機能は仕様上、APIを利用するユーザーのGoogleドライブ上にデータを置く必要があるようです。
そのため、翻訳APIは自動的にGoogleドライブにアクセスする権限を持っています。
このページ内容で作成するAPIの内容は、それを悪用してどうこうという機能を持つ翻訳APIではありません。

ですが、ご不安な場合はGoogleドライブに大事なデータがあるGoogleアカウントでAPIを作成せず、別途翻訳API専用のGoogleアカウントを作成し、そちらを利用されることを推奨します。

作成したAPIは仕様の都合上、APIのアドレスを知っていれば誰でも利用可能なものにはなります。
利用されたところで、APIは仕様に沿って何かを翻訳するだけなので、利用回数を勝手に持っていかれる以外大した害があるわけではありませんが、APIのアドレスは大切に扱われることをお勧めします。

なお当サイトおよび当アプリでは、ユーザー様のGoogleアカウント情報や翻訳APIのアドレスは一切登録・保管・保持しません。
あくまでも、ユーザー様のAPIアドレスを、ユーザー様のブラウザ内にロードした当WEBサイトのページデータで利用して、ユーザー様のブラウザがユーザー様のアカウント内にあるAPIにアクセスするだけです。

翻訳API作成手順

まず、翻訳APIを作成するGoogleアカウントをご用意ください。
Googleアカウントの作成方法につきましては、こちらでは案内しませんので、各自ご用意ください。

また、作成作業中はGoogleアカウント内のWebアプリにアクセスし、アプリケーション用プログラムのコードのコピペなども行います。
PCでの作業と、ブラウザごとGoogleアカウントにアクセスできるGoogleChromeの利用をお勧めします。

AppsScriptへのアクセス

まずは、用意してあるGoogleアカウントに、Webブラウザでログインします。
Google検索などにアクセスし、右上のログインボタンからログインします。

Google検索のログインボタン

もしブラウザで既にログイン中でログイン中のGoogleアカウントが翻訳APIを作成するアカウントではない場合は、ログアウトしてから翻訳API作成用のアカウントでログインします。

ログインしたら、右上アカウントアイコンの隣にあるアプリボタンから、ドライブをクリックします。

アプリボタンからドライブを開く

Googleドライブの画面左上、ドライブのロゴの下にある新規ボタンをクリックしてメニューを開きます。

ドライブの新規ボタンをクリック

開いたメニューからその他にカーソルを合わせ、更に開いた一覧から【Google Apps Script】をクリックします。

その他の中にあるGoogle Apps Scriptをクリック

ブラウザでGoogleAppsScriptの画面が新しいタブで開くので、そちらに移動します。

AppsScriptで翻訳APIを公開する

新規作成時の警告について

GoogleAppsScriptの画面では、新規作成時の警告が表示されていると思います。

スクリプト新規作成時の警告

警告にある通り、新規作成したGoogleドライブに他のGoogleユーザーに編集できる権限が与えられていると、AppsScriptも編集できてしまいます。
特に既存のGoogleアカウントを利用される場合は、他ユーザーと共有しているフォルダを指定してAppsScriptを作成しようとしていないかは確認してください。

タイトルの編集

AppsScriptの横には【無題のプロジェクト】と表示されているはずですが、これがいま編集しているAppsScriptのタイトルとなります。

タイトルの編集

Googleドライブ上でも、AppsScript用データとしてこのタイトルで保存されることとなります。
タイトルをクリックするとダイアログが表示され、タイトルが編集できます。
後々ドライブを見返したときに何のデータか思い出せるよう、わかりやすいタイトルに編集するとよいでしょう。

プログラムコードの書き換え

画面中央の一番広いエリアに、下記のような記述があると思います。

function myFunction() {
  
}

コード編集エリア部分

このコード編集エリアにプログラムを記述することで、AppsScriptのプログラムを作成することができます。
ここでは当アプリの仕様に沿って翻訳のリクエスト内容を受け取り、翻訳を実行して翻訳結果を返すプログラムを記述します。

まず、コード編集エリアの内容を全て削除します。

コード編集エリアの内容を全部削除

下記の翻訳用プログラムコードをコピーして、空になったコード編集エリアに貼り付けましょう。

function doGet(e) {
  let txt = e.parameter;
  let trnTxt = LanguageApp.translate(txt.text, txt.source, txt.target);
  return ContentService.createTextOutput(trnTxt);
}

コード編集エリアに、翻訳APIとしての動作を貼り付ける

これで、外部から翻訳のリクエストを受けたときの動作が定義されました。

翻訳API用のWebアプリとして公開する

右上のエリアにあるデプロイボタンをクリックし、開いたメニューから【新しいデプロイ】をクリックします。

デプロイボタン内の新しいデプロイをクリック

すると、下記のようなダイアログが表示されます。

新しいデプロイのダイアログ

種類の選択の横にある、歯車アイコンをクリックして、デプロイタイプ一覧を表示します。
さんざん翻訳APIと呼んでいますが、ここではウェブアプリをクリックします。

種類の選択横の歯車アイコンから、ウェブアプリをクリック

ウェブアプリを選択すると、これまで【デプロイタイプを選択してください】と表示されていた部分が変わります。

デプロイタイプ選択後の表示

表示された内容から、アクセスできるユーザーの部分を【全員】に変更します。

アクセスできるユーザーを全員に変更

デプロイボタンをクリックして、処理が終わるのを待ちます。

デプロイの処理待ち

完了後、ダイアログの内容が下記のように変わります。

デプロイIDの表示

この画面に表示されるデプロイIDが、翻訳APIとしてのIDとなります。
このあとすぐ利用するため、コピーしてテキストファイルなどに貼り付けて控えておきましょう!
この画面のデプロイIDを表示している行の下にある、コピーという部分をクリックすると、クリップボードにデプロイIDが設定されます。
テキストファイルなどで貼り付けを行えば、デプロイIDを控えることができます。

なお、デプロイIDを再確認する場合やアクセスできるユーザー内容を確認する時は、画面右上のデプロイボタンで開くメニューから【デプロイを管理】をクリックして確認することができます。

翻訳APIを設定するModTranslatorショートカットやブックマークの作成

作成手順はこれで最後です!

デプロイIDをModTranslatorに渡してModTranslatorを起動することで、ModTranslatorを通してこの記事で作成した翻訳APIを利用することができます。
そのため、ModTranslatorのアドレスにデプロイIDを所定の書式に沿って付け加えてアクセスする必要があります。
毎度アドレスに書式通りデプロイIDを付け加えるのはあまりに非効率ですので、ご利用環境のデスクトップにショートカットを作成するか、ご利用のブラウザに新しくお気に入りを追加するべきです。

デプロイIDを付け加えたModTranslatorのアドレスは、下記のようになります。
XXXは、デプロイIDに置き換えてください。

https://minamo-laboratory.com/mod_translator/?api=XXX

例えば、Windows10環境でデスクトップにショートカットを作成すると、以下のようになります。

デスクトップで右クリックし、開いたメニューで新規作成、ショートカットを選択します。

ショートカットの作成

開いたダイアログの中央、【項目の場所を入力して下さい】と書いてある部分のテキストボックスに、先ほどのデプロイIDを利用したアドレスを貼り付けます。

ショートカットの作成画面に、デプロイIDを利用したアドレスを追加

次の画面で任意のわかりやすい名前を付け、完了ボタンを押します。

ショートカットの作成画面で名前を

デスクトップにできたショートカットから、ModTranslatorにアクセスできるようになりました。

ショートカットからModTranslatorが開ける

最後に

以上でWEBブラウザ版MOD TRANSLATOR用翻訳APIの作成方法説明を終わります。
不明な点や、アルファ版制限事項として告知している内容以外での不具合は、このページ下部のコメント欄から報告していただけると助かります。
なお、有用な情報に絞って共有する観点から、修正済みの不具合報告や制限事項として告知済み内容についてのコメント・ヘルプを読めばわかる質問等は、製作者の判断で削除いたします。 コメントされる方は、ご理解いただいたうえでコメントを行ってください。


  1. あまり厳密な管理ではないようです。
    動作検証していた感触としては、5000回オーバーしたくらいから【高確率でエラーとなる】という感じでした。
    リンク先にある通り、仕様では翻訳を開始してから24時間後にリクエスト回数のリセットがかかるようです。
    実体験として日本時間で22時利用開始、翌1時ごろに5000回オーバーした状態でその日の23時ごろに翻訳を開始したところ、エラーなく数十回の翻訳を行えました。あくまでも参考程度に。
  2. 体験版ページは、サンプルとして用意した共用のAPIを利用しています。
    運が悪いと体験できない(翻訳がエラーだらけになる)のは、共用APIが回数制限を超えてしまったからです。
  3. 別記の通り、利用回数が一定値を超過した場合に起きるのは、請求の発生ではなくAPIのエラーです。

Profile picture

著者:みなも 駆け出しエンジニアが、マイクラなどゲームのこと・プログラムなどの技術のことなどをゆるっと発信していきます。