Rilevamento delle lingue supportate (base)

Questo documento descrive come utilizzare l'API Cloud Translation (v2) per elencare le lingue supportate.

Prima di iniziare

Prima di poter iniziare a utilizzare l'API Cloud Translation, devi avere un progetto con l'API Cloud Translation abilitata e devi disporre di una chiave privata con le credenziali appropriate. Puoi anche installare librerie client per i linguaggi di programmazione più comuni per eseguire chiamate all'API. Per ulteriori informazioni, consulta la pagina Configurazione.

Invio di una richiesta di lingue supportate

Puoi conoscere i lingue supportati di questa API inviando una richiesta HTTP utilizzando un URL con il formato seguente:

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

Recupero di un elenco di lingue supportate

RISPOSTA & RIGA CMD

Per ottenere un elenco di tutte le lingue supportate, invia una richiesta GET all'endpoint https://translation.googleapis.com/language/translate/v2/languages. Di seguito è riportato un esempio di richiesta GET mediante curl ed PowerShell. L'esempio utilizza il token di accesso per un account di servizio configurato per il progetto utilizzando l'interfaccia a riga di comando di Google Cloud. Per istruzioni sull'installazione dell'interfaccia a riga di comando gcloud, sulla configurazione di un progetto con un account di servizio e sull'ottenimento di un token di accesso, consulta la pagina della configurazione.

URL e metodo HTTP:

GET https://translation.googleapis.com/language/translate/v2/languages

Per inviare la richiesta, scegli una delle seguenti opzioni:

ricci

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://translation.googleapis.com/language/translate/v2/languages "

PowerShell

Esegui questo comando:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/language/translate/v2/languages " | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "languages": [
    {
      "language": "en"
    },
    {
      "language": "fr"
    },
    {
      "language": "zh-CN"
    }
  ]
}

Questa query restituisce i codici lingua ISO-639-1 per le lingue supportate. Alcuni codici lingua includono anche un codice paese, come zh-CN o zh-TW. L'elenco è disposto in ordine alfabetico in base al codice lingua. L'esempio precedente è stato abbreviato a causa dei vincoli di spazio.

Go

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

func listSupportedLanguages(w io.Writer, targetLanguage string) error {
	// targetLanguage := "th"
	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return fmt.Errorf("language.Parse: %v", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("translate.NewClient: %v", err)
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return fmt.Errorf("SupportedLanguages: %v", err)
	}

	for _, lang := range langs {
		fmt.Fprintf(w, "%q: %s\n", lang.Tag, lang.Name)
	}

	return nil
}

Java

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

List<Language> languages = translate.listSupportedLanguages();

for (Language language : languages) {
  System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
}

Node.js

// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate').v2;

// Creates a client
const translate = new Translate();

async function listLanguages() {
  // Lists available translation language with their names in English (the default).
  const [languages] = await translate.getLanguages();

  console.log('Languages:');
  languages.forEach(language => console.log(language));
}

listLanguages();

Python

def list_languages():
    """Lists all available languages."""
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    results = translate_client.get_languages()

    for language in results:
        print(u"{name} ({language})".format(**language))

Altre lingue

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

PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, quindi consulta la documentazione di riferimento per la traduzione di PHP.

Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento per la traduzione di Ruby.

Elenco delle lingue supportate nella lingua di destinazione

RISPOSTA &AMP; RIGA CMD

Ecco un altro esempio che restituisce l'elenco delle lingue supportate. I nomi delle lingue restituite sono scritti in una lingua di destinazione specificata. L'elenco restituito è in ordine alfabetico in base alla lingua di destinazione.

Per elencare le lingue supportate in una lingua di destinazione, effettua una richiesta POST e specifica JSON che identifichi la lingua di destinazione nel corpo della richiesta. Di seguito è riportato un esempio di richiesta POST mediante curl o PowerShell.

URL e metodo HTTP:

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

Corpo JSON della richiesta:

{
    "target": "zh-TW"
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

ricci

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

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

PowerShell

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

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

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

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "data": {
    "languages": [
      {
        "language": "zh-CN",
        "name": "中文(簡體)"
      },
      {
        "language": "fr",
        "name": "法文"
      },
      {
        "language": "en",
        "name": "英文"
      }
    ]
  }
}

In questo caso, la query restituisce gli stessi codici lingua sopra riportati, insieme alle stringhe name che danno i nomi delle lingue scritte nella lingua di destinazione, zh-TW. L'esempio precedente è stato abbreviato a causa dei vincoli di spazio.

Go

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

func listSupportedLanguages(w io.Writer, targetLanguage string) error {
	// targetLanguage := "th"
	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return fmt.Errorf("language.Parse: %v", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("translate.NewClient: %v", err)
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return fmt.Errorf("SupportedLanguages: %v", err)
	}

	for _, lang := range langs {
		fmt.Fprintf(w, "%q: %s\n", lang.Tag, lang.Name)
	}

	return nil
}

Java

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

List<Language> languages =
    translate.listSupportedLanguages(Translate.LanguageListOption.targetLanguage("es"));

for (Language language : languages) {
  System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
}

Node.js

// 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 line before running the sample.
 */
// const target = 'The target language for language names, e.g. ru';

async function listLanguagesWithTarget() {
  // Lists available translation language with their names in a target language
  const [languages] = await translate.getLanguages(target);

  console.log('Languages:');
  languages.forEach(language => console.log(language));
}

listLanguagesWithTarget();

Python

def list_languages_with_target(target):
    """Lists all available languages and localizes them to 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()

    results = translate_client.get_languages(target_language=target)

    for language in results:
        print(u"{name} ({language})".format(**language))

Altre lingue

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

PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, quindi consulta la documentazione di riferimento per la traduzione di PHP.

Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento per la traduzione di Ruby.

Risorse aggiuntive