Traduzione di testo (di base)

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

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

Prima di iniziare

Prima di poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto in cui è attivata l'API Cloud Translation e devi disporre delle credenziali appropriate. Puoi installare anche librerie client per i linguaggi di programmazione più comuni chiamate all'API. Per ulteriori informazioni, consulta la pagina Configurazione.

Traduzione di testo

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

Traduzione delle stringhe di input

REST

Per tradurre il testo, invia una richiesta POST e fornisci un valore JSON nel corpo della richiesta che identifichi la lingua di destinazione (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. Specifica le lingue di destinazione utilizzando i relativi codici ISO-639.

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 per il progetto utilizzando Google Cloud CLI di Google Cloud. Per istruzioni sull'installazione di Google Cloud CLI: configurare un progetto con un account di servizio e ottenere un token di accesso. consulta la pagina Configurazione.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_NUMBER_OR_ID: l'ID numerico o alfanumerico del tuo progetto Google Cloud

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/language/translate/v2"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/language/translate/v2" | Select-Object -Expand Content

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 traslazioni specificato nel campo target richiesto lingua (de: tedesco). Le traduzioni sono elencate nello stesso ordine dell'array di origine corrispondente nella richiesta.

Go

Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di Cloud Translation con librerie client. Per ulteriori informazioni, consulta API Cloud Translation Go documentazione di riferimento.

Per autenticarti a Cloud Translation, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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: %w", 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: %w", err)
	}
	if len(resp) == 0 {
		return "", fmt.Errorf("Translate returned empty response to text: %s", text)
	}
	return resp[0].Text, nil
}

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Java.

Per autenticarti a Cloud Translation, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

// TODO(developer): Uncomment these lines.
// import com.google.cloud.translate.*;
// Translate translate = TranslateOptions.getDefaultInstance().getService();

Translation translation = translate.translate("¡Hola Mundo!");
System.out.printf("Translated Text:\n\t%s\n", translation.getTranslatedText());

Node.js

Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Node.js.

Per autenticarti a Cloud Translation, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

// 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 riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per ulteriori informazioni, consulta API Cloud Translation Python documentazione di riferimento.

Per autenticarti a Cloud Translation, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

def translate_text(target: str, text: str) -> dict:
    """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
    """
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    if isinstance(text, bytes):
        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("Text: {}".format(result["input"]))
    print("Translation: {}".format(result["translatedText"]))
    print("Detected source language: {}".format(result["detectedSourceLanguage"]))

    return result

Linguaggi aggiuntivi

C#: segui le istruzioni di configurazione per C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per .NET.

PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per PHP.

Ruby: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Cloud Translation per Ruby.

Parametro del modello

Quando effettui una richiesta di traduzione in Cloud Translation - Basic, il testo viene viene tradotto utilizzando il modello di traduzione automatica neurale (NMT) di Google. Non puoi utilizzare nessun altro modello. Per utilizzare i modelli AutoML per tradurre il testo, utilizza Cloud Translation - Advanced.

Provalo

Se non conosci 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