この記事は GAS道場 Advent Calendar 2019 の19日目の記事です。 Google Apps Script(GAS)をこれから使おうという方向けのアドベントカレンダーになります。
今回は、GAS上からLanguageAppというGoogle翻訳が扱えるクラスを利用して、言語の翻訳をしてみたいと思います。
使ってみる
では早速使ってみたいと思います。
日本語→英語
まずは、日本語から英語に翻訳してみましょう。
function myFunction() { var word = 'りんご'; Logger.log(transrateFromJaToEn(word)) } function transrateFromJaToEn(word) { return LanguageApp.translate(word, 'ja', 'en'); }
これを実行すると・・・
[19-12-18 21:35:44:063 JST] Apple
のように、りんごをappleに翻訳することができました。
英語→日本語
次は逆の英語から日本語への翻訳です。
function myFunction() { word = 'pen' Logger.log(transrateFromEnToJa(word)) } function transrateFromEnToJa(word) { return LanguageApp.translate(word, 'en', 'ja'); }
これの実行結果は・・・
[19-12-18 21:35:44:068 JST] ペン
のように、日本語に翻訳されました。
おまけ
おまけですが、日本語と英語が混合しているものはどうなるでしょう?
function myFunction() { word = 'penりんごりんごpen' Logger.log(transrateFromJaToEn(word)) Logger.log(transrateFromEnToJa(word)) } function transrateFromJaToEn(word) { return LanguageApp.translate(word, 'ja', 'en'); } function transrateFromEnToJa(word) { return LanguageApp.translate(word, 'en', 'ja'); }
これを実行してみると・・・
[19-12-18 21:35:44:072 JST] pen apple apple pen [19-12-18 21:35:44:113 JST] ペンりんごりんごペン
pen apple apple penって感じで。ピコ太郎って2019年も終わるのにだいぶ古いですかね。
翻訳APIの作成
では、次に翻訳をするAPIを作成してみましょう。
function transrateFromJaToEn(word) { return LanguageApp.translate(word, 'ja', 'en'); } function transrateFromEnToJa(word) { return LanguageApp.translate(word, 'en', 'ja'); } function doGet(e) { var word = e.parameter.word; var result = transrateFromJaToEn(word); if (word == result) { result = transrateFromEnToJa(word); } return createaResponse(result); } function createaResponse(word) { var data = {result:word}; var payload = JSON.stringify(data) var output = ContentService.createTextOutput(); output.setMimeType(ContentService.MimeType.JSON); output.setContent(payload); return output; }
このようなスクリプトを書いて、ウェブアプリケーションとして公開します。APIの公開については、以下で書いておりますので御覧ください。
そして、これに対してリクエストを投げてみましょう。
URL?word=りんご
まずは、クエリパラメータに?word=りんごをつけてリクエストをしてみましょう。
しっかり林檎と返ってきました。しかもりんごではなく漢字!!
URL?word=apple
次に、?word=appleを投げてみましょう。
ちゃんと翻訳されて返ってきました。しかもリクエストしてきた言語によって日本語→英語か英語→日本語を自動で切り替えていますね!
さいごに
今回は、翻訳機能を使ってAPIを作成するところまでできました。 これで、別の言語で実装するときにGoogleの翻訳APIを叩かずにもGASで実装したAPIを叩くことで無料で翻訳することができますね!