Google Apps Script(GAS)で翻訳する方法!英訳や和訳の実装(translateメソッド)

2021年1月3日

Google Apps Script(GAS)で外国語の文章を日本語に翻訳する方法を解説します。

英語を日本語に訳す和訳に加え、反対に日本語を英語に変換する英訳、さらにはスペイン語を英語といった外国語の翻訳ができます。

Google Apps Scriptは翻訳機能も

Google Apps Script(GAS)には、ある言語を別の言語に変換する機能が用意されています。

GASの翻訳機能はもちろん日本語も対応していて、英語のドキュメントを日本語に訳したり、日本語の文章を英訳することもできます。

こうした翻訳機能はグーグルがGoogle翻訳APIとして提供しています。

しかし、一定の翻訳文字数までは無料で利用できますが、上限を超えると利用料がかかってしまいます。

それに対してGASの翻訳機能はそうした上限による費用がかからず、無料で利用可能です。

※ただし、利用し過ぎると実行してもエラーになることもあります。

GASで翻訳するtranslateメソッド

Google Apps Script(GAS)で言語を翻訳する機能を備えているのはtranslateメソッドです。

LanguageApp.translate(str, source, target)

1つ目の引数は翻訳したい文章、2つ目の引数で元文章の言語、3つ目の引数で翻訳したい言語を指定します。

例えば、「This is a pen.」といった英文を日本語に和訳したい場合は以下のようにコードを書きます。

LanguageApp.translate('This is a pen.’, 'en’, 'ja’)

なお、2つ目の引数は「"」という形で省略すると、文章から自動的に言語を判別してくれます。

translateメソッドが翻訳可能な言語

Google Apps Script(GAS)のLanguageApp.translateメソッドで翻訳することができる言語は、GoogleのTranslation APIと同じ言語がサポートされています。

主に以下のような言語がサポート対象となっていて翻訳可能です。

  1. 英語(en)
  2. 日本語(ja)
  3. フランス語(fr)
  4. スペイン語
  5. ドイツ語(de)
  6. イタリア語(it)
  7. 中国語(zh)
  8. 韓国語(ko)
  9. アラビア語(ar)

※LanguageAppの翻訳対象の言語は「言語サポート(Cloud Translation)」より

括弧内に記載している2文字のアルファベットがsource,targetで指定するものです。

100以上の言語がtranslateメソッドで翻訳することができます。

Google Apps Script翻訳のサンプルコード

Google Apps Script(GAS)のLanguageAppのtranslateメソッドで英語の文章を日本語に翻訳するサンプルコードを紹介します。

GAS公式ページの英文を日本語に翻訳を行ってみます。

function translateENtoJP() {
  //Google Apps Scriptの公式ページの英文を翻訳する
  let text = "Google Apps Script is a scripting language based on JavaScript that lets you customize and extend products such as Docs, Sheets, Slides, and Forms. There's nothing to install—we give you a code editor right in your browser, and your scripts run on Google's servers.";
  //translate関数で英語→日本語に和訳
  let transText = LanguageApp.translate(text, '', 'ja');
  //翻訳した日本語の文章をログ表示する
  console.log(transText);
}
Google Apps Script(GAS)でLanguageApp.translateメソッドで翻訳する方法を解説

実行ログに英文を翻訳した日本語文が出力されています。

日本語を英語に英訳するGASサンプルコード

先程のコードとは反対に日本語の文章を英語に翻訳するGoogle Apps Scriptのサンプルコードも紹介します。

function translateJPtoEN() {
  //簡単な日本語の文章を翻訳する
  let text = "トンネルを抜けると、そこは雪国だった。";
  //translate関数で日本語→英語に英訳
  let transText = LanguageApp.translate(text, '', 'en');
  //翻訳した英文をログ表示する
  console.log(transText);
}
日本語を英語に翻訳するGoogle Apps Script(GAS)のサンプルコード

サンプルコードでは、2つ目の引数を「"」の形で省略して、翻訳する文章を自動識別する形としています。

DeepLのAPIを使った高精度な翻訳も

これまで紹介したGoogle Apps Script(GAS)のLanguage.translateメソッドによる翻訳は便利です。

しかし、翻訳結果に不自然に感じることがあります。

もっと高精度な翻訳をしたい場合、DeepLをAPIで使った方法がおすすめです。

DeepLのAPIは無料枠があるため、一定文字数以内なら費用がかからずに高精度な翻訳ができます。

GASでDeepLのAPIを使って翻訳する方法は以下の記事で解説しています。

translateメソッドよりも自然な英訳・和訳したい場合にDeepLのAPIを活用しましょう。

まとめ・終わりに

今回、Google Apps Script(GAS)で翻訳する方法を紹介しました。

LanguageAppクラスのtranslateメソッドを使い、特定言語の文章を別の言語に翻訳できます。

サポートされている言語は豊富で英語や中国語、フランス語といった主要な言語から、ローカルな言語まで対応しています。

ぜひ、翻訳の自動化が必要なケースではGASで実装してみましょう。