Translating content

After having successfully trained your model, you can translate content by using the Cloud Translation - Advanced API translateText method. The Cloud Translation - Advanced API supports glossaries and Batch translation requests.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID: Your Google Cloud project ID.
  • LOCATION: The region where the custom model is located, such as us-central1.

HTTP method and URL:

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

Request JSON body:

 { "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."] } 

To send your request, choose one of these options:

curl

Save the request body in a file named request.json, and execute the following command:

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

Save the request body in a file named request.json, and execute the following command:

$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

You should receive a JSON response similar to the following:

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

Go

To learn how to install and use the client library for AutoML Translation, see AutoML Translation client libraries. For more information, see the AutoML Translation Go API reference documentation.

To authenticate to AutoML Translation, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

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

To learn how to install and use the client library for AutoML Translation, see AutoML Translation client libraries. For more information, see the AutoML Translation Java API reference documentation.

To authenticate to AutoML Translation, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

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

To learn how to install and use the client library for AutoML Translation, see AutoML Translation client libraries. For more information, see the AutoML Translation Node.js API reference documentation.

To authenticate to AutoML Translation, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

/**  * 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

To learn how to install and use the client library for AutoML Translation, see AutoML Translation client libraries. For more information, see the AutoML Translation Python API reference documentation.

To authenticate to AutoML Translation, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

 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 

Additional languages

C#: Please follow the C# setup instructions on the client libraries page and then visit the AutoML Translation reference documentation for .NET.

PHP: Please follow the PHP setup instructions on the client libraries page and then visit the AutoML Translation reference documentation for PHP.

Ruby: Please follow the Ruby setup instructions on the client libraries page and then visit the AutoML Translation reference documentation for Ruby.