Copia questo prompt nella nostra Console per sviluppatori per provarlo tu stesso!

Contenuto
UtenteScrivimi uno script di Google Apps che tradurrà tutto il testo in una presentazione di Google Slides in coreano.

Esempio di Output

Ecco uno script di Google Apps che traduce tutto il testo in una presentazione di Google Slides in coreano:

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

Ecco come funziona lo script:

  1. La funzione translateSlidesToKorean() recupera la presentazione attiva di Google Slides utilizzando SlidesApp.getActivePresentation().

  2. Ottiene tutte le diapositive della presentazione utilizzando il metodo getSlides().

  3. Iteriamo su ogni diapositiva della presentazione.

  4. Per ogni diapositiva, recuperiamo tutti gli elementi della pagina (forme, caselle di testo, tabelle, ecc.) utilizzando il metodo getPageElements().

  5. Iteriamo su ogni elemento della pagina nella diapositiva.

  6. Controlliamo il tipo di elemento della pagina utilizzando getPageElementType():

    • Se l’elemento della pagina è una forma (SlidesApp.PageElementType.SHAPE), otteniamo il contenuto del testo della forma utilizzando getText().asString(). Quindi traduciamo il testo in coreano utilizzando LanguageApp.translate(text, '', 'ko'), dove '' rappresenta la lingua di origine (rilevamento automatico) e 'ko' rappresenta la lingua di destinazione (coreano). Infine, impostiamo il testo tradotto di nuovo nella forma utilizzando setText().
    • Se l’elemento della pagina è una tabella (SlidesApp.PageElementType.TABLE), iteriamo su ogni cella della tabella e traduciamo il testo all’interno di ogni cella in modo simile a come gestiamo le forme.
  7. Lo script continua a elaborare tutti gli elementi della pagina su ogni diapositiva fino a quando tutto il testo nella presentazione non è stato tradotto in coreano.

Nota: Questo script presuppone che tu abbia le autorizzazioni necessarie per accedere e modificare la presentazione di Google Slides. Assicurati di avere i diritti di accesso richiesti prima di eseguire lo script.

Inoltre, tieni presente che la traduzione viene eseguita utilizzando l’API di Google Translate, quindi la qualità della traduzione può variare a seconda della complessità del testo e delle capacità del servizio di traduzione.


Richiesta API

Nota: Claude 3 Opus sarà presto disponibile nell’API Bedrock.

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)