将此提示复制到我们的开发者控制台中亲自尝试!

内容
用户请为我编写一个 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 Translate API 执行的,因此翻译质量可能会根据文本的复杂性和翻译服务的能力而有所不同。


API 请求

import anthropic

client = anthropic.Anthropic(
  # defaults to os.environ.get("ANTHROPIC_API_KEY")
  api_key="my_api_key",
)
message = client.messages.create(
  model="claude-3-5-sonnet-20241022",
  max_tokens=2000,
  temperature=0,
  messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Write me a Google apps script that will translate all text in a Google Slides presentation to Korean."
        }
      ]
    }
  ]
)
print(message.content)