Detecting languages (Advanced)

This document describes how to use the Cloud Translation - Advanced to detect the language of a string.

Before you begin

Before you can start using the Cloud Translation API, you must have a project that has the Cloud Translation API enabled, and you must have the appropriate credentials. You can also install client libraries for common programming languages to help you make calls to the API. For more information, see the Setup page.

Limitation

Language detection does not support the language codes fr-CR and pt-BR.

Detecting the language of a text string

You can detect the language of a text string by sending an HTTP request using a URL of the following format:

 https://translation.googleapis.com/v3/projects/ PROJECT_NUMBER_OR_ID 
/locations/global:detectLanguage 

Detecting the language of a single string

REST

To detect the language of some text, make a POST request and provide the appropriate request body. The following shows an example of a POST request using curl and PowerShell. The example uses the access token for a service account set up for the project using the Google Cloud Google Cloud CLI . For instructions on installing the Google Cloud CLI, setting up a project with a service account, and obtaining an access token, see the Setup page.

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

  • PROJECT_NUMBER_OR_ID : the numeric or alphanumeric ID of your Google Cloud project

HTTP method and URL:

POST https://translation.googleapis.com/v3/projects/ PROJECT_NUMBER_OR_ID 
/locations/global:detectLanguage

Request JSON body:

{
   "content":"Доктор Ватсон, иди сюда!"
}

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "languages": [
    {
      "languageCode": "ru",
      "confidence": 1
    }
  ]
}
In the response, languageCode provides the language code of the language detected. confidence is a range from 0 to 1. 1 is 100% confident.

Go

Before trying this sample, follow the Go setup instructions in the Cloud Translation quickstart using client libraries . For more information, see the Cloud Translation Go API reference documentation .

To authenticate to Cloud 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" 
 ) 
 // detectLanguage detects the language of a text string. 
 func 
  
 detectLanguage 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 , 
  
 text 
  
 string 
 ) 
  
 error 
  
 { 
  
 // projectID := "my-project-id" 
  
 // text := "Hello, world!" 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 client 
 , 
  
 err 
  
 := 
  
 translate 
 . 
  NewTranslationClient 
 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewTranslationClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 client 
 . 
  Close 
 
 () 
  
 req 
  
 := 
  
& translatepb 
 . 
 DetectLanguageRequest 
 { 
  
 Parent 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/global" 
 , 
  
 projectID 
 ), 
  
 MimeType 
 : 
  
 "text/plain" 
 , 
  
 // Mime types: "text/plain", "text/html" 
  
 Source 
 : 
  
& translatepb 
 . 
 DetectLanguageRequest_Content 
 { 
  
 Content 
 : 
  
 text 
 , 
  
 }, 
  
 } 
  
 resp 
 , 
  
 err 
  
 := 
  
 client 
 . 
 DetectLanguage 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "DetectLanguage: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 // Display list of detected languages sorted by detection confidence. 
  
 // The most probable language is first. 
  
 for 
  
 _ 
 , 
  
 language 
  
 := 
  
 range 
  
 resp 
 . 
 GetLanguages 
 () 
  
 { 
  
 // The language detected. 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Language code: %v\n" 
 , 
  
 language 
 . 
 GetLanguageCode 
 ()) 
  
 // Confidence of detection result for this language. 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Confidence: %v\n" 
 , 
  
 language 
 . 
 GetConfidence 
 ()) 
  
 } 
  
 return 
  
 nil 
 } 
 

Java

Before trying this sample, follow the Java setup instructions in the Cloud Translation quickstart using client libraries . For more information, see the Cloud Translation Java API reference documentation .

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

  import 
  
 com.google.cloud.translate.v3. DetectLanguageRequest 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. DetectLanguageResponse 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. DetectedLanguage 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. LocationName 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. TranslationServiceClient 
 
 ; 
 import 
  
 java.io.IOException 
 ; 
 public 
  
 class 
 DetectLanguage 
  
 { 
  
 public 
  
 static 
  
 void 
  
 detectLanguage 
 () 
  
 throws 
  
 IOException 
  
 { 
  
 // TODO(developer): Replace these variables before running the sample. 
  
 String 
  
 projectId 
  
 = 
  
 "YOUR-PROJECT-ID" 
 ; 
  
 String 
  
 text 
  
 = 
  
 "your-text" 
 ; 
  
 detectLanguage 
 ( 
 projectId 
 , 
  
 text 
 ); 
  
 } 
  
 // Detecting the language of a text string 
  
 public 
  
 static 
  
 void 
  
 detectLanguage 
 ( 
 String 
  
 projectId 
 , 
  
 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 
  
  DetectLanguageRequest 
 
  
 request 
  
 = 
  
  DetectLanguageRequest 
 
 . 
 newBuilder 
 () 
  
 . 
 setParent 
 ( 
 parent 
 . 
  toString 
 
 ()) 
  
 . 
 setMimeType 
 ( 
 "text/plain" 
 ) 
  
 . 
 setContent 
 ( 
 text 
 ) 
  
 . 
 build 
 (); 
  
  DetectLanguageResponse 
 
  
 response 
  
 = 
  
 client 
 . 
 detectLanguage 
 ( 
 request 
 ); 
  
 // Display list of detected languages sorted by detection confidence. 
  
 // The most probable language is first. 
  
 for 
  
 ( 
  DetectedLanguage 
 
  
 language 
  
 : 
  
 response 
 . 
  getLanguagesList 
 
 ()) 
  
 { 
  
 // The language detected 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Language code: %s\n" 
 , 
  
 language 
 . 
 getLanguageCode 
 ()); 
  
 // Confidence of detection result for this language 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Confidence: %s\n" 
 , 
  
 language 
 . 
 getConfidence 
 ()); 
  
 } 
  
 } 
  
 } 
 } 
 

Node.js

Before trying this sample, follow the Node.js setup instructions in the Cloud Translation quickstart using client libraries . For more information, see the Cloud Translation Node.js API reference documentation .

To authenticate to Cloud 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 = '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 
  
 detectLanguage 
 () 
  
 { 
  
 // Construct request 
  
 const 
  
 request 
  
 = 
  
 { 
  
 parent 
 : 
  
 `projects/ 
 ${ 
 projectId 
 } 
 /locations/ 
 ${ 
 location 
 } 
 ` 
 , 
  
 content 
 : 
  
 text 
 , 
  
 }; 
  
 // Run request 
  
 const 
  
 [ 
 response 
 ] 
  
 = 
  
 await 
  
 translationClient 
 . 
 detectLanguage 
 ( 
 request 
 ); 
  
 console 
 . 
 log 
 ( 
 'Detected Languages:' 
 ); 
  
 for 
  
 ( 
 const 
  
 language 
  
 of 
  
 response 
 . 
 languages 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 `Language Code: 
 ${ 
  language 
 
 . 
 languageCode 
 } 
 ` 
 ); 
  
 console 
 . 
 log 
 ( 
 `Confidence: 
 ${ 
  language 
 
 . 
 confidence 
 } 
 ` 
 ); 
  
 } 
 } 
 detectLanguage 
 (); 
 

Python

Before trying this sample, follow the Python setup instructions in the Cloud Translation quickstart using client libraries . For more information, see the Cloud Translation Python API reference documentation .

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

  from 
  
 google.cloud 
  
 import 
 translate 
 def 
  
 detect_language 
 ( 
 project_id 
 : 
 str 
 = 
 "YOUR_PROJECT_ID" 
 , 
 ) 
 - 
> translate 
 . 
 DetectLanguageResponse 
 : 
  
 """Detecting the language of a text string. 
 Args: 
 project_id: The GCP project ID. 
 Returns: 
 The detected language of the text. 
 """ 
 client 
 = 
 translate 
 . 
 TranslationServiceClient 
 () 
 location 
 = 
 "global" 
 parent 
 = 
 f 
 "projects/ 
 { 
 project_id 
 } 
 /locations/ 
 { 
 location 
 } 
 " 
 # Detail on supported types can be found here: 
 # https://cloud.google.com/translate/docs/supported-formats 
 response 
 = 
 client 
 . 
 detect_language 
 ( 
 content 
 = 
 "Hello, world!" 
 , 
 parent 
 = 
 parent 
 , 
 mime_type 
 = 
 "text/plain" 
 , 
 # mime types: text/plain, text/html 
 ) 
 # Display list of detected languages sorted by detection confidence. 
 # The most probable language is first. 
 for 
 language 
 in 
 response 
 . 
 languages 
 : 
 # The language detected 
 print 
 ( 
 f 
 "Language code: 
 { 
 language 
 . 
 language_code 
 } 
 " 
 ) 
 # Confidence of detection result for this language 
 print 
 ( 
 f 
 "Confidence: 
 { 
 language 
 . 
 confidence 
 } 
 " 
 ) 
 return 
 response 
 

Additional languages

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

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

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

Additional resources

  • For help on resolving common issues or errors, see the Troubleshooting page.
Design a Mobile Site
View Site in Mobile | Classic
Share by: