Kopieren Sie diese Aufforderung in unsere Entwickler-Konsole, um es selbst auszuprobieren!

Inhalt
BenutzerSchreiben Sie mir ein Google Apps-Skript, das den gesamten Text in einer Google Slides-Präsentation ins Koreanische übersetzt.

Beispielausgabe

Hier ist ein Google Apps-Skript, das den gesamten Text in einer Google Slides-Präsentation ins Koreanische übersetzt:

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);
          }
        }
      }
    }
  }
}

So funktioniert das Skript:

  1. Die Funktion translateSlidesToKorean() ruft die aktive Google Slides-Präsentation mit SlidesApp.getActivePresentation() ab.

  2. Es ruft alle Folien in der Präsentation mit der Methode getSlides() ab.

  3. Wir iterieren über jede Folie in der Präsentation.

  4. Für jede Folie rufen wir alle Seitenelemente (Formen, Textfelder, Tabellen usw.) mit der Methode getPageElements() ab.

  5. Wir iterieren über jedes Seitenelement auf der Folie.

  6. Wir überprüfen den Typ des Seitenelements mit getPageElementType():

    • Wenn das Seitenelement eine Form ist (SlidesApp.PageElementType.SHAPE), erhalten wir den Textinhalt der Form mit getText().asString(). Wir übersetzen dann den Text ins Koreanische mit LanguageApp.translate(text, '', 'ko'), wobei '' die Ausgangssprache (automatische Erkennung) und 'ko' die Zielsprache (Koreanisch) darstellt. Schließlich setzen wir den übersetzten Text mit setText() wieder in die Form ein.
    • Wenn das Seitenelement eine Tabelle ist (SlidesApp.PageElementType.TABLE), iterieren wir über jede Zelle in der Tabelle und übersetzen den Text in jeder Zelle ähnlich wie bei Formen.
  7. Das Skript verarbeitet weiterhin alle Seitenelemente auf jeder Folie, bis der gesamte Text in der Präsentation ins Koreanische übersetzt wurde.

Hinweis: Dieses Skript setzt voraus, dass Sie über die erforderlichen Berechtigungen zum Zugriff auf und zur Änderung der Google Slides-Präsentation verfügen. Stellen Sie sicher, dass Sie über die erforderlichen Zugriffsrechte verfügen, bevor Sie das Skript ausführen.

Beachten Sie auch, dass die Übersetzung mit der Google Translate API durchgeführt wird, sodass die Qualität der Übersetzung je nach Komplexität des Textes und den Fähigkeiten des Übersetzungsdienstes variieren kann.


API-Anfrage

Hinweis: Claude 3 Opus wird bald für die Bedrock API verfügbar sein.

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-opus-20240229",
  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)