Traduzione di testo (modalità Avanzata)

Cloud Translation - Advanced supporta la traduzione del testo utilizzando modelli personalizzati e la creazione di glossari per garantire che l'API Cloud Translation traduca correttamente la terminologia specifica del dominio di un cliente.

Per istruzioni su come installare Google Cloud CLI, configurare un progetto con un account di servizio e ottenere un token di accesso, consulta la pagina Configurazione. Se prevedi di utilizzare una o le funzionalità batch, devi inoltre creare un Cloud Storage bucket e concedere al tuo account di servizio l'accesso li annotino.

Per tradurre documenti formattati, ad esempio PDF, consulta la sezione Tradurre documenti.

Prima di iniziare

Per poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto con l'API Cloud Translation sia abilitata e devi disporre delle credenziali appropriate. Puoi anche installare librerie client per linguaggi di programmazione comuni per aiutarti a effettuare chiamate all'API. Per ulteriori informazioni, consulta la pagina Configurazione.

Confronto dei modelli

Quando richiedi una traduzione da Cloud Translation - Advanced, puoi specificare quale modello di traduzione utilizzare. Se non viene specificato alcun modello, viene utilizzato il modello nmt.

Modello ID modello Vestibilità ottimale Esempi
Modello di traduzione automatica neurale (NMT) general/nmt

Casi d'uso generici di testo, ad esempio contenuti comuni di siti web che non rientrano specifiche di un dominio, ad esempio. articoli.

Articoli di notizie, Social media, App di chat, Recensioni

Modello linguistico di grandi dimensioni (LLM) per la traduzione (anteprima) general/translation-llm

Modello alternativo offerto su Cloud Translation - Advanced in due modalità. Traduzione di testi per casi d'uso generici, come i messaggi di conversazione, che non richiedono personalizzazione. E la traduzione adattiva, che supporta la personalizzazione in tempo reale utilizzando un set di dati con esempi.

Articoli di notizie, Social media, App di chat, Recensioni

Modello di traduzione AutoML L'ID modello viene generato al termine dell'addestramento del modello. Testo specifico per il dominio. I clienti forniscono dati di addestramento specifici per i propri casi d'uso, per determinate combinazioni di lingue, al fine di personalizzare il modello NMT di Google per lo scopo del dominio. Notizie finanziarie, documenti tecnici, qualsiasi testo che utilizzi termini e gergale unico per quel campo.

Considerazione

Ogni modello supporta le proprie lingue impostate. Verifica che l'origine e la destinazione lingue supportate. Per ulteriori informazioni, vedi Lingue supportate.

Traduzione di testo

Per le traduzioni, l'input può essere testo normale o HTML. API Cloud Translation non traduce nessun tag HTML nell'input, ma solo il testo che appare tra i tag. L'output conserva i tag HTML (non tradotti), con il testo tradotto tra i tag, nella misura del possibile a causa delle differenze tra le lingue di origine e di destinazione.

Traduzione delle stringhe di input

REST

Per tradurre il testo, effettua una richiesta POST e fornisci JSON nel corpo della richiesta che identifica la lingua di origine (source_language_code), il valore lingua di destinazione (target_language_code) e il testo da tradurre (contents). Puoi fornire più stringhe di testo da tradurre includendo nel tuo file JSON (vedi esempio). Identifica le lingue di origine e di destinazione utilizzando i relativi codici ISO-639.

Di seguito è riportato un esempio di richiesta POST mediante curl o PowerShell. L'esempio utilizza 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: 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/v3/projects/PROJECT_NUMBER_OR_ID:translateText

Corpo JSON della richiesta:

{
  "sourceLanguageCode": "en",
  "targetLanguageCode": "ru",
  "contents": ["Dr. Watson, come here!", "Bring me some coffee!"]
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "translations": [
    {
      "translatedText": "Доктор Ватсон, иди сюда!",
    },
    {
      "translatedText": "Принеси мне кофе!",
    }
  ]
}

L'array translations contiene due campi translatedText con traslazioni specificato nel campo targetLanguageCode richiesto lingua (ru: russo). Le traduzioni vengono elencate nello stesso ordine delle nell'array di origine corrispondente nella richiesta.

Go

Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida di Cloud Translation che utilizza le librerie client. Per ulteriori informazioni, consulta API Cloud Translation Go documentazione di riferimento.

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

// Imports the Google Cloud Translation library
import (
	"context"
	"fmt"
	"io"

	translate "cloud.google.com/go/translate/apiv3"
	"cloud.google.com/go/translate/apiv3/translatepb"
)


func translateText(w io.Writer, projectID string, sourceLang string, targetLang string, text string) error {
	// projectID := "my-project-id"
	// sourceLang := "en-US"
	// targetLang := "fr"
	// text := "Text you wish to translate"

	// Instantiates a client
	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	// Construct request
	req := &translatepb.TranslateTextRequest{
		Parent:             fmt.Sprintf("projects/%s/locations/global", projectID),
		SourceLanguageCode: sourceLang,
		TargetLanguageCode: targetLang,
		MimeType:           "text/plain", // Mime types: "text/plain", "text/html"
		Contents:           []string{text},
	}

	resp, err := client.TranslateText(ctx, req)
	if err != nil {
		return fmt.Errorf("TranslateText: %w", err)
	}

	// Display the translation for each input text provided
	for _, translation := range resp.GetTranslations() {
		fmt.Fprintf(w, "Translated text: %v\n", translation.GetTranslatedText())
	}

	return nil
}

Java

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Cloud Translation con 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.

// Imports the Google Cloud Translation library.
import com.google.cloud.translate.v3.LocationName;
import com.google.cloud.translate.v3.TranslateTextRequest;
import com.google.cloud.translate.v3.TranslateTextResponse;
import com.google.cloud.translate.v3.Translation;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;


public class TranslateText {

  // Set and pass variables to overloaded translateText() method for translation.
  public static void translateText() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    // Supported Languages: https://cloud.google.com/translate/docs/languages
    String targetLanguage = "your-target-language";
    String text = "your-text";
    translateText(projectId, targetLanguage, text);
  }

  // Translate text to target language.
  public static void translateText(String projectId, String targetLanguage, String text)
      throws IOException {

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      LocationName parent = LocationName.of(projectId, "global");

      // Supported Mime Types: https://cloud.google.com/translate/docs/supported-formats
      TranslateTextRequest request =
          TranslateTextRequest.newBuilder()
              .setParent(parent.toString())
              .setMimeType("text/plain")
              .setTargetLanguageCode(targetLanguage)
              .addContents(text)
              .build();

      TranslateTextResponse response = client.translateText(request);

      // Display the translation for each input text provided
      for (Translation translation : response.getTranslationsList()) {
        System.out.printf("Translated text: %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 ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const text = 'text to translate';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function translateText() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    contents: [text],
    mimeType: 'text/plain', // mime types: text/plain, text/html
    sourceLanguageCode: 'en',
    targetLanguageCode: 'sr-Latn',
  };

  // Run request
  const [response] = await translationClient.translateText(request);

  for (const translation of response.translations) {
    console.log(`Translation: ${translation.translatedText}`);
  }
}

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 saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Python.

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

# Imports the Google Cloud Translation library
from google.cloud import translate


# Initialize Translation client
def translate_text(
    text: str = "YOUR_TEXT_TO_TRANSLATE", project_id: str = "YOUR_PROJECT_ID"
) -> translate.TranslationServiceClient:
    """Translating Text."""

    client = translate.TranslationServiceClient()

    location = "global"

    parent = f"projects/{project_id}/locations/{location}"

    # Translate text from English to French
    # Detail on supported types can be found here:
    # https://cloud.google.com/translate/docs/supported-formats
    response = client.translate_text(
        request={
            "parent": parent,
            "contents": [text],
            "mime_type": "text/plain",  # mime types: text/plain, text/html
            "source_language_code": "en-US",
            "target_language_code": "fr",
        }
    )

    # Display the translation for each input text provided
    for translation in response.translations:
        print(f"Translated text: {translation.translated_text}")

    return response

Linguaggi aggiuntivi

C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita 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.

Traduzione di testo utilizzando un modello specifico

REST

Puoi specificare quale modello utilizzare per la traduzione utilizzando il metodo model parametro di query.

L'esempio seguente traduce il testo utilizzando un modello personalizzato con ID modello pari a 1395675701985363739. Puoi ottenere l'ID di un modello personalizzato dall'elenco di modelli nella console Google Cloud o dalla risposta dell'API quando addestri il modello. Per utilizzare l'LLM di traduzione, specifica general/translation-llm come l'ID modello.

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

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • LOCATION: la regione in cui si trova il modello personalizzato, ad esempio us-central1.

Metodo HTTP e URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText

Corpo JSON della richiesta:

{
  "model": "projects/PROJECT_ID/locations/LOCATION/models/1395675701985363739",
  "sourceLanguageCode": "en",
  "targetLanguageCode": "ru",
  "contents": ["Dr. Watson, please discard your trash. You've shared unsolicited email with me.
  Let's talk about spam and importance ranking in a confidential mode."]
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

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

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

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_ID" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "translation": {
    "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора.
    Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о
    спаме и важности рейтинга в конфиденциальном режиме.",
    "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/1395675701985363739"
  }
}

Go

Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di Cloud Translation con librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Translation Go.

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

import (
	"context"
	"fmt"
	"io"

	translate "cloud.google.com/go/translate/apiv3"
	"cloud.google.com/go/translate/apiv3/translatepb"
)

// translateTextWithModel translates input text and returns translated text.
func translateTextWithModel(w io.Writer, projectID string, location string, sourceLang string, targetLang string, text string, modelID string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// sourceLang := "en"
	// targetLang := "fr"
	// text := "Hello, world!"
	// modelID := "your-model-id"

	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	req := &translatepb.TranslateTextRequest{
		Parent:             fmt.Sprintf("projects/%s/locations/%s", projectID, location),
		SourceLanguageCode: sourceLang,
		TargetLanguageCode: targetLang,
		MimeType:           "text/plain", // Mime types: "text/plain", "text/html"
		Contents:           []string{text},
		Model:              fmt.Sprintf("projects/%s/locations/%s/models/%s", projectID, location, modelID),
	}

	resp, err := client.TranslateText(ctx, req)
	if err != nil {
		return fmt.Errorf("TranslateText: %w", err)
	}

	// Display the translation for each input text provided
	for _, translation := range resp.GetTranslations() {
		fmt.Fprintf(w, "Translated text: %v\n", translation.GetTranslatedText())
	}

	return nil
}

Java

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Cloud Translation con 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.

import com.google.cloud.translate.v3.LocationName;
import com.google.cloud.translate.v3.TranslateTextRequest;
import com.google.cloud.translate.v3.TranslateTextResponse;
import com.google.cloud.translate.v3.Translation;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;

public class TranslateTextWithModel {

  public static void translateTextWithModel() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    // Supported Languages: https://cloud.google.com/translate/docs/languages
    String sourceLanguage = "your-source-language";
    String targetLanguage = "your-target-language";
    String text = "your-text";
    String modelId = "YOUR-MODEL-ID";
    translateTextWithModel(projectId, sourceLanguage, targetLanguage, text, modelId);
  }

  // Translating Text with Model
  public static void translateTextWithModel(
      String projectId, String sourceLanguage, String targetLanguage, String text, String modelId)
      throws IOException {

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      String location = "us-central1";
      LocationName parent = LocationName.of(projectId, location);
      String modelPath =
          String.format("projects/%s/locations/%s/models/%s", projectId, location, modelId);

      // Supported Mime Types: https://cloud.google.com/translate/docs/supported-formats
      TranslateTextRequest request =
          TranslateTextRequest.newBuilder()
              .setParent(parent.toString())
              .setMimeType("text/plain")
              .setSourceLanguageCode(sourceLanguage)
              .setTargetLanguageCode(targetLanguage)
              .addContents(text)
              .setModel(modelPath)
              .build();

      TranslateTextResponse response = client.translateText(request);

      // Display the translation for each input text provided
      for (Translation translation : response.getTranslationsList()) {
        System.out.printf("Translated text: %s\n", translation.getTranslatedText());
      }
    }
  }
}

Node.js

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

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

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const modelId = 'YOUR_MODEL_ID';
// const text = 'text to translate';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();
async function translateTextWithModel() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    contents: [text],
    mimeType: 'text/plain', // mime types: text/plain, text/html
    sourceLanguageCode: 'en',
    targetLanguageCode: 'ja',
    model: `projects/${projectId}/locations/${location}/models/${modelId}`,
  };

  // Run request
  const [response] = await translationClient.translateText(request);

  for (const translation of response.translations) {
    console.log(`Translated Content: ${translation.translatedText}`);
  }
}

translateTextWithModel();

Python

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

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


from google.cloud import translate


def translate_text_with_model(
    text: str = "YOUR_TEXT_TO_TRANSLATE",
    project_id: str = "YOUR_PROJECT_ID",
    model_id: str = "YOUR_MODEL_ID",
) -> translate.TranslationServiceClient:
    """Translates a given text using Translation custom model."""

    client = translate.TranslationServiceClient()

    location = "us-central1"
    parent = f"projects/{project_id}/locations/{location}"
    model_path = f"{parent}/models/{model_id}"

    # Supported language codes: https://cloud.google.com/translate/docs/languages
    response = client.translate_text(
        request={
            "contents": [text],
            "target_language_code": "ja",
            "model": model_path,
            "source_language_code": "en",
            "parent": parent,
            "mime_type": "text/plain",  # mime types: text/plain, text/html
        }
    )
    # Display the translation for each input text provided
    for translation in response.translations:
        print(f"Translated text: {translation.translated_text}")

    return response

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 di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Cloud Translation per PHP.

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

Traslitterazione

La traslitterazione è un'impostazione di configurazione nel metodo translateText. Quando attivi la trascrizione, traduci il testo romanizzato (in caratteri latini) direttamente in una lingua di destinazione. Ad esempio, puoi tradurre il testo giapponese romanizzato direttamente in inglese, spagnolo o cinese. Le traduzioni risultanti sono nel sistema di scrittura della lingua di destinazione.

Nelle richieste di traslitterazione, includi solo il testo romanizzato. Se combini testo romanizzato con testo non romanizzato, Cloud Translation non può garantire traduzioni coerenti e corrette.

Considerazioni

La trascrizione differisce dalle traduzioni di testo standard nei seguenti modi:

  • La trascrizione supporta un numero limitato di lingue. Per ulteriori informazioni, consulta la colonna Traslitterazione nella sezione Supportato lingue.
  • Il tipo MIME deve essere text/plain. HTML non è supportato.
  • La traslitterazione è supportata solo dal modello standard predefinito. I modelli personalizzati non sono supportati.
  • La trascrizione ha una quota di contenuti predefinita inferiore. Per ulteriori informazioni, consulta Quote e limiti.

REST

Imposta il campo transliteration_config nella translateText .

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.
  • LOCATION: regione in cui vuoi eseguire questa operazione. Ad esempio, us-central1.
  • SOURCE_LANGUAGE: (facoltativo) il codice lingua dell'input testo. Se noto, imposta uno dei codici lingua elencati in Supporto delle lingue.
  • TARGET_LANGUAGE: la lingua di destinazione in cui tradurre il testo inserito. Imposta uno dei codici lingua elencati nella sezione Supporto lingua.
  • SOURCE_TEXT: testo romanizzato nella lingua di origine da tradurre.

Metodo HTTP e URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText

Corpo JSON della richiesta:

{
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_code": "TARGET_LANGUAGE",
  "contents": "SOURCE_TEXT",
  "mime_type": "text/plain",
  "transliteration_config": { "enable_transliteration": true}
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "translations": [
    {
      "translatedText": "TRANSLATED_TEXT",
    }
  ]
}

Risorse aggiuntive