このプロンプトを開発者コンソールにコピーして、自分で試してみてください!

コンテンツ
ユーザーGoogle スライドのプレゼンテーション内のすべてのテキストを韓国語に翻訳するGoogle Appsスクリプトを書いてください。

出力例

Google スライドのプレゼンテーション内のすべてのテキストを韓国語に翻訳するGoogle Appsスクリプトは次のとおりです。

function translateSlidesToKorean() {
  var presentation = SlidesApp.getActivePresentation();
  var slides = presentation.getSlides();

  for (var i = 0; i < slides.length; i++) {
    var slide = slides[i];
    var pageElements = slide.getPageElements();

    for (var j = 0; j < pageElements.length; j++) {
      var pageElement = pageElements[j];

      if (pageElement.getPageElementType() === SlidesApp.PageElementType.SHAPE) {
        var shape = pageElement.asShape();
        if (shape.getText() !== null) {
          var text = shape.getText().asString();
          var translatedText = LanguageApp.translate(text, '', 'ko');
          shape.getText().setText(translatedText);
        }
      } else if (pageElement.getPageElementType() === SlidesApp.PageElementType.TABLE) {
        var table = pageElement.asTable();
        var numRows = table.getNumRows();
        var numColumns = table.getNumColumns();

        for (var row = 0; row < numRows; row++) {
          for (var col = 0; col < numColumns; col++) {
            var tableCell = table.getCell(row, col);
            var text = tableCell.getText().asString();
            var translatedText = LanguageApp.translate(text, '', 'ko');
            tableCell.getText().setText(translatedText);
          }
        }
      }
    }
  }
}

このスクリプトの動作は次のとおりです。

  1. translateSlidesToKorean() 関数は、SlidesApp.getActivePresentation() を使用してアクティブなGoogle スライドのプレゼンテーションを取得します。

  2. getSlides() メソッドを使用して、プレゼンテーション内のすべてのスライドを取得します。

  3. プレゼンテーション内の各スライドを反復処理します。

  4. 各スライドについて、getPageElements() メソッドを使用してすべてのページ要素(図形、テキストボックス、表など)を取得します。

  5. スライド上の各ページ要素を反復処理します。

  6. getPageElementType() を使用してページ要素のタイプを確認します。

    • ページ要素が図形(SlidesApp.PageElementType.SHAPE)の場合、getText().asString() を使用して図形のテキストコンテンツを取得します。次に、LanguageApp.translate(text, '', 'ko') を使用してテキストを韓国語に翻訳します。ここで、'' はソース言語(自動検出)を表し、'ko' はターゲット言語(韓国語)を表します。最後に、setText() を使用して翻訳されたテキストを図形に戻して設定します。
    • ページ要素が表(SlidesApp.PageElementType.TABLE)の場合、表内の各セルを反復処理し、図形の処理方法と同様に各セル内のテキストを翻訳します。
  7. スクリプトは、プレゼンテーション内のすべてのテキストが韓国語に翻訳されるまで、各スライドのすべてのページ要素の処理を続けます。

注: このスクリプトは、Google スライドのプレゼンテーションにアクセスして変更するために必要な権限があることを前提としています。スクリプトを実行する前に、必要なアクセス権があることを確認してください。

また、翻訳はGoogle 翻訳APIを使用して実行されるため、翻訳の品質はテキストの複雑さと翻訳サービスの機能によって異なる場合があることに注意してください。


APIリクエスト

注: Claude 3 Opusは、まもなくBedrock APIで利用できるようになります。

import anthropic

client = anthropic.Anthropic(
  # デフォルトでos.environ.get("ANTHROPIC_API_KEY")を使用
  api_key="my_api_key",
)
message = client.messages.create(
  model="claude-3-opus-20240229",
  max_tokens=2000,
  temperature=0,
  messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Google スライドのプレゼンテーション内のすべてのテキストを韓国語に翻訳するGoogle Appsスクリプトを書いてください。"
        }
      ]
    }
  ]
)
print(message.content)