将此提示复制到我们的开发者 Console 中,自己尝试一下!

内容
用户请为我编写一个 Google Apps 脚本,将 Google Slides 演示文稿中的所有文本翻译成韩语。

示例输出

以下是一个将 Google Slides 演示文稿中的所有文本翻译成韩语的 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 Slides 演示文稿。

  2. 它使用 getSlides() 方法获取演示文稿中的所有幻灯片。

  3. 我们遍历演示文稿中的每张幻灯片。

  4. 对于每张幻灯片,我们使用 getPageElements() 方法检索所有页面元素(形状、文本框、表格等)。

  5. 我们遍历幻灯片上的每个页面元素。

  6. 我们使用 getPageElementType() 检查页面元素的类型:

    • 如果页面元素是形状(SlidesApp.PageElementType.SHAPE),我们使用 getText().asString() 获取形状的文本内容。然后,我们使用 LanguageApp.translate(text, '', 'ko') 将文本翻译成韩语,其中 '' 表示源语言(自动检测),'ko' 表示目标语言(韩语)。最后,我们使用 setText() 将翻译后的文本设置回形状。
    • 如果页面元素是表格(SlidesApp.PageElementType.TABLE),我们遍历表格中的每个单元格,并以类似于处理形状的方式翻译每个单元格中的文本。
  7. 脚本继续处理每张幻灯片上的所有页面元素,直到演示文稿中的所有文本都被翻译成韩语。

注意: 此脚本假设您有访问和修改 Google Slides 演示文稿的必要权限。在运行脚本之前,请确保您拥有所需的访问权限。

另外,请记住,翻译是使用 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 Apps 脚本,将 Google Slides 演示文稿中的所有文本翻译成韩语。"
        }
      ]
    }
  ]
)
print(message.content)