スキップしてメイン コンテンツに移動

GAS連携で多言語翻訳

GAS連携で多言語翻訳

GAS連携で自動翻訳を実装する

Google Apps Script(GAS)はスプレッドシートやドキュメントと連携し、業務を自動化する強力なツールです。今回紹介するのは、GASとGoogle 翻訳サービスを組み合わせて、テキスト翻訳を自動化する方法です。まずは、スプレッドシートの特定列に入力された日本語を検出し、LanguageApp.translate() を使って英語に変換します。これにより、マルチリンガルなデータベースを簡単に構築できます。

実装のポイントは、言語検出と翻訳の両方を同時に行うことです。LanguageApp.detectLanguage() で入力テキストの言語を判定し、translate() で目的言語へ変換します。以下のコードは、A列に原文、B列に翻訳結果を出力するサンプルです。

function autoTranslate() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getRange('A2:A').getValues();
  const results = data.map(row => {
    const text = row[0];
    if (!text) return [''];
    const src = LanguageApp.detectLanguage(text);
    const tgt = 'en';
    const translated = LanguageApp.translate(text, src, tgt);
    return [translated];
  });
  sheet.getRange(2, 2, results.length, 1).setValues(results);
}

このスクリプトを定期実行することで、スプレッドシートに入力された新しいデータを自動で翻訳し、マルチ言語対応のドキュメントを作成できます。

LanguageApp APIの使い方

LanguageApp は Google Apps Script の組み込みサービスで、テキスト翻訳や言語検出を簡単に行えます。API キーは不要で、スクリプトエディタから直接呼び出せるため、開発コストが低い点が魅力です。

主なメソッドは次の通りです。

  • LanguageApp.translate(text, sourceLanguage, targetLanguage):テキストを指定言語へ翻訳します。
  • LanguageApp.detectLanguage(text):テキストの言語を検出します。
  • LanguageApp.getLanguages():サポートされている言語コードのリストを取得します。

例えば、複数行のテキストを一括で翻訳したい場合は、translate() を配列に対してマップ処理することで高速化できます。以下は、複数行を一度に翻訳する例です。

function batchTranslate() {
  const texts = ['こんにちは', 'おはようございます', 'ありがとう'];
  const translated = texts.map(t => LanguageApp.translate(t, 'ja', 'en'));
  Logger.log(translated);
}

LanguageApp は Google Cloud Translation API の簡易版であり、無料枠内で十分に利用できます。大量データを扱う場合は、料金体系を確認しつつ、必要に応じて Cloud Translation API を直接呼び出すことも検討してください。

実践例とベストプラクティス

実際の業務で GAS 連携と LanguageApp を組み合わせるケースは多岐にわたります。以下に代表的なユースケースを紹介します。

  1. 多言語顧客対応:顧客からの問い合わせを自動で英語に翻訳し、サポートチームが迅速に対応できるようにする。
  2. 国際会議資料の作成:会議資料を日本語で作成し、GAS で自動翻訳して英語・スペイン語版を同時に生成。
  3. SNS投稿の多言語化:ブログ記事やSNS投稿を自動で翻訳し、複数国のフォロワーに配信。

ベストプラクティスとしては、以下の点に注意してください。

  • 翻訳対象のテキストは短く、文脈が明確なものに限定する。
  • 翻訳結果は必ず人間がレビューし、誤訳やニュアンスの違いを修正する。
  • API 呼び出し回数を抑えるため、キャッシュ機能を導入する。
  • エラーハンドリングを実装し、ネットワーク障害時に再試行できるようにする。

これらを実践することで、GAS 連携と LanguageApp を活用した自動翻訳システムが安定して稼働し、業務効率を大幅に向上させることができます。

この記事はAIによって作成されました。

コメント