Discovering supported languages (Advanced)

Use the Cloud Translation API to list the languages that are supported by the NMT model. For information on the supported language pairs for AutoML Translation, refer to Language support for custom models .

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.

List supported languages

REST

To get a list of all supported languages, make a GET request to the https://translation.googleapis.com/v3/projects/project-number-or-id/locations/location/supportedLanguages URL. The following shows an example of a GET 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:

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

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "languages": [
     "languageCode": "af",
      "supportSource": true,
      "supportTarget": true
    },
    {
      "languageCode": "am",
      "supportSource": true,
      "supportTarget": true
    },
    {
      "languageCode": "ar",
      "supportSource": true,
      "supportTarget": true
    },
    ....
    {
      "languageCode": "zu",
      "supportSource": true,
      "supportTarget": true
    }
   ]
}

The list is sorted alphabetically by language code. This query returns ISO-639 language codes for supported languages. Some language codes also include a country code, like zh-CN or zh-TW. For example:

{
      "languageCode": "zh-TW",
      "supportSource": true,
      "supportTarget": true
    },

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" 
 ) 
 // getSupportedLanguages gets a list of supported language codes. 
 func 
  
 getSupportedLanguages 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 ) 
  
 error 
  
 { 
  
 // projectID := "my-project-id" 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 client 
 , 
  
 err 
  
 := 
  
 translate 
 . 
  NewTranslationClient 
 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewTranslationClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 client 
 . 
  Close 
 
 () 
  
 req 
  
 := 
  
& translatepb 
 . 
 GetSupportedLanguagesRequest 
 { 
  
 Parent 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/global" 
 , 
  
 projectID 
 ), 
  
 } 
  
 resp 
 , 
  
 err 
  
 := 
  
 client 
 . 
 GetSupportedLanguages 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "GetSupportedLanguages: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 // List language codes of supported languages 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Supported languages:\n" 
 ) 
  
 for 
  
 _ 
 , 
  
 language 
  
 := 
  
 range 
  
 resp 
 . 
 GetLanguages 
 () 
  
 { 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Language code: %v\n" 
 , 
  
 language 
 . 
 GetLanguageCode 
 ()) 
  
 } 
  
 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. GetSupportedLanguagesRequest 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. LocationName 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. SupportedLanguage 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. SupportedLanguages 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. TranslationServiceClient 
 
 ; 
 import 
  
 java.io.IOException 
 ; 
 public 
  
 class 
 GetSupportedLanguages 
  
 { 
  
 public 
  
 static 
  
 void 
  
 getSupportedLanguages 
 () 
  
 throws 
  
 IOException 
  
 { 
  
 // TODO(developer): Replace these variables before running the sample. 
  
 String 
  
 projectId 
  
 = 
  
 "YOUR-PROJECT-ID" 
 ; 
  
 getSupportedLanguages 
 ( 
 projectId 
 ); 
  
 } 
  
 // Getting a list of supported language codes 
  
 public 
  
 static 
  
 void 
  
 getSupportedLanguages 
 ( 
 String 
  
 projectId 
 ) 
  
 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" 
 ); 
  
  GetSupportedLanguagesRequest 
 
  
 request 
  
 = 
  
  GetSupportedLanguagesRequest 
 
 . 
 newBuilder 
 (). 
 setParent 
 ( 
 parent 
 . 
  toString 
 
 ()). 
 build 
 (); 
  
  SupportedLanguages 
 
  
 response 
  
 = 
  
 client 
 . 
 getSupportedLanguages 
 ( 
 request 
 ); 
  
 // List language codes of supported languages 
  
 for 
  
 ( 
  SupportedLanguage 
 
  
 language 
  
 : 
  
 response 
 . 
  getLanguagesList 
 
 ()) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Language Code: %s\n" 
 , 
  
 language 
 . 
 getLanguageCode 
 ()); 
  
 } 
  
 } 
  
 } 
 } 
 

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'; 
 // Imports the Google Cloud Translation library 
 const 
  
 { 
 TranslationServiceClient 
 } 
  
 = 
  
 require 
 ( 
 ' @google-cloud/translate 
' 
 ); 
 // Instantiates a client 
 const 
  
 translationClient 
  
 = 
  
 new 
  
  TranslationServiceClient 
 
 (); 
 async 
  
 function 
  
 getSupportedLanguages 
 () 
  
 { 
  
 // Construct request 
  
 const 
  
 request 
  
 = 
  
 { 
  
 parent 
 : 
  
 `projects/ 
 ${ 
 projectId 
 } 
 /locations/ 
 ${ 
 location 
 } 
 ` 
 , 
  
 }; 
  
 // Get supported languages 
  
 const 
  
 [ 
 response 
 ] 
  
 = 
  
 await 
  
 translationClient 
 . 
 getSupportedLanguages 
 ( 
 request 
 ); 
  
 for 
  
 ( 
 const 
  
 language 
  
 of 
  
 response 
 . 
 languages 
 ) 
  
 { 
  
 // Supported language code, generally consisting of its ISO 639-1 identifier, for 
  
 // example, 'en', 'ja'. In certain cases, BCP-47 codes including language and 
  
 // region identifiers are returned (for example, 'zh-TW' and 'zh-CN') 
  
 console 
 . 
 log 
 ( 
 `Language - Language Code: 
 ${ 
  language 
 
 . 
 languageCode 
 } 
 ` 
 ); 
  
 // Human readable name of the language localized in the display language specified 
  
 // in the request. 
  
 console 
 . 
 log 
 ( 
 `Language - Display Name: 
 ${ 
  language 
 
 . 
 displayName 
 } 
 ` 
 ); 
  
 // Can be used as source language. 
  
 console 
 . 
 log 
 ( 
 `Language - Support Source: 
 ${ 
  language 
 
 . 
 supportSource 
 } 
 ` 
 ); 
  
 // Can be used as target language. 
  
 console 
 . 
 log 
 ( 
 `Language - Support Target: 
 ${ 
  language 
 
 . 
 supportTarget 
 } 
 ` 
 ); 
  
 } 
 } 
 getSupportedLanguages 
 (); 
 

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 
  
 get_supported_languages 
 ( 
 project_id 
 : 
 str 
 = 
 "YOUR_PROJECT_ID" 
 , 
 ) 
 - 
> translate 
 . 
 SupportedLanguages 
 : 
  
 """Getting a list of supported language codes. 
 Args: 
 project_id: The GCP project ID. 
 Returns: 
 A list of supported language codes. 
 """ 
 client 
 = 
  translate 
 
 . 
  TranslationServiceClient 
 
 () 
 parent 
 = 
 f 
 "projects/ 
 { 
 project_id 
 } 
 " 
 # Supported language codes: https://cloud.google.com/translate/docs/languages 
 response 
 = 
  client 
 
 . 
  get_supported_languages 
 
 ( 
 parent 
 = 
 parent 
 ) 
 # List language codes of supported languages. 
 print 
 ( 
 "Supported Languages:" 
 ) 
 for 
 language 
 in 
 response 
 . 
 languages 
 : 
 print 
 ( 
 f 
 "Language Code: 
 { 
 language 
 . 
 language_code 
 } 
 " 
 ) 
 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.

List supported languages with target language name

REST

Here is another example that returns the list of supported languages with the returned language names written in the specified target language. The returned list is sorted alphabetically according to the target language.

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:

GET https://translation.googleapis.com/v3/projects/ PROJECT_NUMBER_OR_ID 
/locations/global/supportedLanguages?display_language_code=sq

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "languages": [{
      "languageCode": "af",
      "displayName": "Afrikanisht",
      "supportSource": true,
      "supportTarget": true
    },
    {
      "languageCode": "am",
      "displayName": "Amarikisht",
      "supportSource": true,
      "supportTarget": true
    },
    {
      "languageCode": "en",
      "displayName": "Anglisht",
      "supportSource": true,
      "supportTarget": true
    },
    ...{
      "languageCode": "zu",
      "displayName": "Zulu",
      "supportSource": true,
      "supportTarget": true
    }

	]
}

In this case, the query returns the same language codes as above, along with name strings that give the names of the languages written in the target language. In this example, the language is Albanian (sq).

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" 
 ) 
 // getSupportedLanguagesForTarget gets a list of supported language codes with target language names. 
 func 
  
 getSupportedLanguagesForTarget 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 , 
  
 languageCode 
  
 string 
 ) 
  
 error 
  
 { 
  
 // projectID := "my-project-id" 
  
 // languageCode := "is" 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 client 
 , 
  
 err 
  
 := 
  
 translate 
 . 
  NewTranslationClient 
 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewTranslationClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 client 
 . 
  Close 
 
 () 
  
 req 
  
 := 
  
& translatepb 
 . 
 GetSupportedLanguagesRequest 
 { 
  
 Parent 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/global" 
 , 
  
 projectID 
 ), 
  
 DisplayLanguageCode 
 : 
  
 languageCode 
 , 
  
 } 
  
 resp 
 , 
  
 err 
  
 := 
  
 client 
 . 
 GetSupportedLanguages 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "GetSupportedLanguages: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 // List language codes of supported languages 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Supported languages:\n" 
 ) 
  
 for 
  
 _ 
 , 
  
 language 
  
 := 
  
 range 
  
 resp 
 . 
 GetLanguages 
 () 
  
 { 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Language code: %v\n" 
 , 
  
 language 
 . 
 GetLanguageCode 
 ()) 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Display name: %v\n" 
 , 
  
 language 
 . 
 GetDisplayName 
 ()) 
  
 } 
  
 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. GetSupportedLanguagesRequest 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. LocationName 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. SupportedLanguage 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. SupportedLanguages 
 
 ; 
 import 
  
 com.google.cloud.translate.v3. TranslationServiceClient 
 
 ; 
 import 
  
 java.io.IOException 
 ; 
 public 
  
 class 
 GetSupportedLanguagesForTarget 
  
 { 
  
 public 
  
 static 
  
 void 
  
 getSupportedLanguagesForTarget 
 () 
  
 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 
  
 languageCode 
  
 = 
  
 "your-language-code" 
 ; 
  
 getSupportedLanguagesForTarget 
 ( 
 projectId 
 , 
  
 languageCode 
 ); 
  
 } 
  
 // Listing supported languages with target language name 
  
 public 
  
 static 
  
 void 
  
 getSupportedLanguagesForTarget 
 ( 
 String 
  
 projectId 
 , 
  
 String 
  
 languageCode 
 ) 
  
 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" 
 ); 
  
  GetSupportedLanguagesRequest 
 
  
 request 
  
 = 
  
  GetSupportedLanguagesRequest 
 
 . 
 newBuilder 
 () 
  
 . 
 setParent 
 ( 
 parent 
 . 
  toString 
 
 ()) 
  
 . 
  setDisplayLanguageCode 
 
 ( 
 languageCode 
 ) 
  
 . 
 build 
 (); 
  
  SupportedLanguages 
 
  
 response 
  
 = 
  
 client 
 . 
 getSupportedLanguages 
 ( 
 request 
 ); 
  
 // List language codes of supported languages 
  
 for 
  
 ( 
  SupportedLanguage 
 
  
 language 
  
 : 
  
 response 
 . 
  getLanguagesList 
 
 ()) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Language Code: %s\n" 
 , 
  
 language 
 . 
 getLanguageCode 
 ()); 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Display Name: %s\n" 
 , 
  
 language 
 . 
 getDisplayName 
 ()); 
  
 } 
  
 } 
  
 } 
 } 
 

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'; 
 // Imports the Google Cloud Translation library 
 const 
  
 { 
 TranslationServiceClient 
 } 
  
 = 
  
 require 
 ( 
 ' @google-cloud/translate 
' 
 ); 
 // Instantiates a client 
 const 
  
 translationClient 
  
 = 
  
 new 
  
  TranslationServiceClient 
 
 (); 
 async 
  
 function 
  
 getSupportedLanguages 
 () 
  
 { 
  
 // Construct request 
  
 const 
  
 request 
  
 = 
  
 { 
  
 parent 
 : 
  
 `projects/ 
 ${ 
 projectId 
 } 
 /locations/ 
 ${ 
 location 
 } 
 ` 
 , 
  
 displayLanguageCode 
 : 
  
 'en' 
 , 
  
 }; 
  
 // Get supported languages 
  
 const 
  
 [ 
 response 
 ] 
  
 = 
  
 await 
  
 translationClient 
 . 
 getSupportedLanguages 
 ( 
 request 
 ); 
  
 for 
  
 ( 
 const 
  
 language 
  
 of 
  
 response 
 . 
 languages 
 ) 
  
 { 
  
 // Supported language code, generally consisting of its ISO 639-1 identifier, for 
  
 // example, 'en', 'ja'. In certain cases, BCP-47 codes including language and 
  
 // region identifiers are returned (for example, 'zh-TW' and 'zh-CN') 
  
 console 
 . 
 log 
 ( 
 `Language - Language Code: 
 ${ 
  language 
 
 . 
 languageCode 
 } 
 ` 
 ); 
  
 // Human readable name of the language localized in the display language specified 
  
 // in the request. 
  
 console 
 . 
 log 
 ( 
 `Language - Display Name: 
 ${ 
  language 
 
 . 
 displayName 
 } 
 ` 
 ); 
  
 // Can be used as source language. 
  
 console 
 . 
 log 
 ( 
 `Language - Support Source: 
 ${ 
  language 
 
 . 
 supportSource 
 } 
 ` 
 ); 
  
 // Can be used as target language. 
  
 console 
 . 
 log 
 ( 
 `Language - Support Target: 
 ${ 
  language 
 
 . 
 supportTarget 
 } 
 ` 
 ); 
  
 } 
 } 
 getSupportedLanguages 
 (); 
 

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 
  
 get_supported_languages_with_target 
 ( 
 project_id 
 : 
 str 
 = 
 "YOUR_PROJECT_ID" 
 , 
 ) 
 - 
> translate 
 . 
 SupportedLanguages 
 : 
  
 """Listing supported languages with target language name. 
 Args: 
 project_id: Your Google Cloud project ID. 
 Returns: 
 Supported languages. 
 """ 
 client 
 = 
  translate 
 
 . 
  TranslationServiceClient 
 
 () 
 location 
 = 
 "global" 
 parent 
 = 
 f 
 "projects/ 
 { 
 project_id 
 } 
 /locations/ 
 { 
 location 
 } 
 " 
 # Supported language codes: https://cloud.google.com/translate/docs/languages 
 response 
 = 
  client 
 
 . 
  get_supported_languages 
 
 ( 
 display_language_code 
 = 
 "is" 
 , 
 parent 
 = 
 parent 
 # target language code 
 ) 
 # List language codes of supported languages 
 for 
 language 
 in 
 response 
 . 
 languages 
 : 
 print 
 ( 
 f 
 "Language Code: 
 { 
 language 
 . 
 language_code 
 } 
 " 
 ) 
 print 
 ( 
 f 
 "Display Name: 
 { 
 language 
 . 
 display_name 
 } 
 " 
 ) 
 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.
Create a Mobile Website
View Site in Mobile | Classic
Share by: