Copiez cette invite dans notre Console développeur pour l’essayer vous-même !

Contenu
UtilisateurÉcrivez-moi un script Google apps qui traduira tout le texte d’une présentation Google Slides en coréen.

Exemple de sortie

Voici un script Google Apps qui traduit tout le texte d’une présentation Google Slides en coréen :

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

Voici comment fonctionne le script :

  1. La fonction translateSlidesToKorean() récupère la présentation Google Slides active en utilisant SlidesApp.getActivePresentation().

  2. Elle obtient toutes les diapositives de la présentation en utilisant la méthode getSlides().

  3. Nous parcourons chaque diapositive de la présentation.

  4. Pour chaque diapositive, nous récupérons tous les éléments de page (formes, zones de texte, tableaux, etc.) en utilisant la méthode getPageElements().

  5. Nous parcourons chaque élément de page sur la diapositive.

  6. Nous vérifions le type de l’élément de page en utilisant getPageElementType() :

    • Si l’élément de page est une forme (SlidesApp.PageElementType.SHAPE), nous obtenons le contenu textuel de la forme en utilisant getText().asString(). Nous traduisons ensuite le texte en coréen en utilisant LanguageApp.translate(text, '', 'ko'), où '' représente la langue source (détection automatique) et 'ko' représente la langue cible (coréen). Enfin, nous définissons le texte traduit dans la forme en utilisant setText().
    • Si l’élément de page est un tableau (SlidesApp.PageElementType.TABLE), nous parcourons chaque cellule du tableau et traduisons le texte dans chaque cellule de manière similaire à la gestion des formes.
  7. Le script continue de traiter tous les éléments de page sur chaque diapositive jusqu’à ce que tout le texte de la présentation ait été traduit en coréen.

Remarque : Ce script suppose que vous disposez des autorisations nécessaires pour accéder et modifier la présentation Google Slides. Assurez-vous d’avoir les droits d’accès requis avant d’exécuter le script.

De plus, gardez à l’esprit que la traduction est effectuée à l’aide de l’API Google Translate, donc la qualité de la traduction peut varier en fonction de la complexité du texte et des capacités du service de traduction.


Requête 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)