LanguageApp
1. 概要
LanguageApp は、Google Apps Script(GAS)に標準で組み込まれている言語処理サービスであり、翻訳や言語検出などを行うためのクラスです。
主なメソッドには以下が含まれます:
LanguageApp.translate(text, sourceLang, targetLang):翻訳
LanguageApp.detectLanguage(text):言語検出
これらは Google Cloud Translation API を明示的に設定しなくても使用可能で、Apps Script 環境に統合された形で動作します。
table:table
項目 内容
サービス種別 Apps Script 内蔵サービス
課金 無料(クォータ制限あり)
上限 5,000〜20,000回/日(アカウント種別による)
APIキー設定 不要
有料化リスク 今後の統合・仕様変更で発生する可能性あり
推奨用途 軽量・自動化スクリプトでの翻訳処理
具体例 translateJa() 関数(安全な単方向翻訳)
2. 料金と制限
2025年10月時点では、LanguageApp 自体の利用に追加料金は不要です
Google の公式ドキュメントにおいては、以下のような「Translate calls」クォータが提示されています:
table:table
アカウント種別 翻訳呼び出し上限(1日あたり)
個人(@gmail.com) 約 5,000 回/日
Google Workspace(組織アカウント) 約 20,000 回/日
この範囲内であれば 無料で翻訳を実行可能です
上限を超えると "Service invoked too many times" というエラーが発生し、課金やAPIキー設定は求められません
3. 無料枠
LanguageApp は「Apps Script の内蔵サービス(Built-in Service)」として扱われるため、ユーザーが直接 Cloud Translation API を契約・設定していなくても利用可能です。
内部的に Google の翻訳エンジンを使っていると推測されますが、Cloud Translation API の有料課金とは別管理です。
したがって、標準的なスクリプト利用では課金されない一方、クォータ超過時や仕様変更の懸念は残ります。
4. 注意
1 回の翻訳リクエストで処理できる文字数上限は公式に明記されていません。数千文字程度までは安定して動作するという例が多く報告されています。
連続的に大量翻訳を行うとクォータに到達しやすいため、一定の遅延(Utilities.sleep() など)を入れると安定します。
将来的に LanguageApp が Cloud Translation API に統合され、課金体系が変更される可能性があります。その場合は Cloud Console 側での設定確認が必要です。
5. 利用例
code:sample.js
function translateJa(text) {
if (!text) return '';
try {
return LanguageApp.translate(text, 'en', 'ja');
} catch (e) {
return text; // 失敗時は原文のまま
}
}
運用上の想定
個人利用やスプレッドシート内での自動翻訳など、日常的な軽量利用を想定している
大量翻訳や商用利用の場合は、Cloud Translation API の利用+課金設定を検討するのが望ましい
特徴
入力が空なら空文字を返す
失敗時(翻訳エラー・クォータ超過など)には原文を返す
LanguageApp.translate() を 1 回だけ呼び出す