Traduzione di testo (Basic)

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento descrive come utilizzare Cloud Translation - Basic (v2) per tradurre il testo.

Il testo di input può essere testo normale o HTML. Cloud Translation - Basic non traduce nessun tag HTML nell'input, ma solo testo visualizzato tra i tag. L'output conserva i tag HTML (non tradotti), con il testo tradotto tra i tag nella misura possibile a causa delle differenze tra le lingue di origine e di destinazione. L'ordine dei tag HTML nell'output può essere diverso dall'ordine nel testo di input a causa di modifiche dell'ordine delle parole nella traduzione.

Prima di iniziare

Per poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto abilitato per l'API Cloud Translation e devi avere una chiave privata con le credenziali appropriate. Per eseguire chiamate all'API, puoi anche installare librerie client per i linguaggi di programmazione più comuni. Per ulteriori informazioni, consulta la pagina Configurazione.

Traduzione di testo

Questa sezione illustra alcuni modi per richiedere traduzioni dall'endpoint https://translation.googleapis.com/language/translate/v2.

Traduzione di stringhe di input

REST

Per tradurre il testo, effettua una richiesta POST e fornisci un JSON nel corpo della richiesta che identifica la lingua di traduzione (target) e il testo da tradurre (q). Puoi fornire più segmenti di testo da tradurre includendo più campi q o un elenco di valori per il campo q. Non puoi superare i 128 segmenti di testo. Per specificare le lingue di destinazione, utilizza i codici ISO-639-1.

Di seguito è riportato un esempio di richiesta POST mediante curl o PowerShell. Nell'esempio viene utilizzato il token di accesso per un account di servizio configurato per il progetto utilizzando Google Cloud CLI. Per istruzioni sull'installazione di Google Cloud CLI, sulla configurazione di un progetto con un account di servizio e sull'ottenimento di un token di accesso, consulta la pagina Configurazione.

Metodo HTTP e URL:

POST https://translation.googleapis.com/language/translate/v2

Corpo JSON richiesta:

{
  "q": ["Hello world", "My name is Jeff"],
  "target": "de"
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "data": {
    "translations": [
      {
        "translatedText": "Hallo Welt",
        "detectedSourceLanguage": "en"
      },
      {
        "translatedText": "Mein Name ist Jeff",
        "detectedSourceLanguage": "en"
      }
    ]
  }
}

L'array translations contiene due campi translatedText con traduzioni fornite nella lingua richiesta target (de: tedesco). Le traduzioni vengono elencate nello stesso ordine dell'array di origine corrispondente nella richiesta.

Go

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella Guida rapida alla traduzione tramite librerie client. Per saperne di più, consulta la documentazione di riferimento per l'API Translation Go.

import (
	"context"
	"fmt"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

func translateText(targetLanguage, text string) (string, error) {
	// text := "The Go Gopher is cute"
	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return "", fmt.Errorf("language.Parse: %v", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return "", err
	}
	defer client.Close()

	resp, err := client.Translate(ctx, []string{text}, lang, nil)
	if err != nil {
		return "", fmt.Errorf("Translate: %v", err)
	}
	if len(resp) == 0 {
		return "", fmt.Errorf("Translate returned empty response to text: %s", text)
	}
	return resp[0].Text, nil
}

Node.js

Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella Guida rapida alla traduzione tramite librerie client. Per saperne di più, consulta la documentazione di riferimento per l'API Translation Node.js.

// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate').v2;

// Creates a client
const translate = new Translate();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const text = 'The text to translate, e.g. Hello, world!';
// const target = 'The target language, e.g. ru';

async function translateText() {
  // Translates the text into the target language. "text" can be a string for
  // translating a single piece of text, or an array of strings for translating
  // multiple texts.
  let [translations] = await translate.translate(text, target);
  translations = Array.isArray(translations) ? translations : [translations];
  console.log('Translations:');
  translations.forEach((translation, i) => {
    console.log(`${text[i]} => (${target}) ${translation}`);
  });
}

translateText();

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella Guida rapida alla traduzione tramite librerie client. Per saperne di più, consulta la documentazione di riferimento per l'API Translation Python.

def translate_text(target, text):
    """Translates text into the target language.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """
    import six
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    if isinstance(text, six.binary_type):
        text = text.decode("utf-8")

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(text, target_language=target)

    print(u"Text: {}".format(result["input"]))
    print(u"Translation: {}".format(result["translatedText"]))
    print(u"Detected source language: {}".format(result["detectedSourceLanguage"]))

Linguaggi aggiuntivi

C#: Segui le istruzioni per la configurazione di C# nella pagina delle librerie client e quindi consulta la documentazione di riferimento per la traduzione di .NET.

PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento per la traduzione di PHP.

Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento per la traduzione di Ruby.

Parametro modello

Quando effettui una richiesta di traduzione in Cloud Translation - Basic, il tuo testo viene tradotto usando il modello Google Neural Machine Translation (NMT). Non puoi utilizzare altri modelli. Per utilizzare i modelli AutoML per tradurre il testo, utilizza Cloud Translation - Advanced.

Provalo

Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni di Cloud Translation in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova Cloud Translation gratuitamente

Risorse aggiuntive