Descubrir los lenguajes compatibles

Este documento describe cómo usar la API de Cloud Translation para hacer una lista de los idiomas compatibles.

Enviar una solicitud de idiomas compatibles

Puedes descubrir los idiomas compatibles de esta API mediante el envío de una solicitud HTTP con una URL del siguiente formato:

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

Obtener una lista de los idiomas compatibles

Protocolo

Para obtener una lista de todos los idiomas compatibles, realiza una solicitud de GET al extremo https://translation.googleapis.com/language/translate/v2/languages. A continuación, se muestra un ejemplo de una solicitud GET que usa curl. En el ejemplo, se usa el token de acceso de una cuenta de servicio configurada para el proyecto con el SDK de Cloud de Google Cloud Platform. Para obtener instrucciones sobre cómo instalar el SDK de Cloud, configurar un proyecto con una cuenta de servicio y obtener un token de acceso, consulta la Guía de inicio rápido.

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

Si la solicitud es exitosa, el servidor muestra un código de estado HTTP 200 OK y la respuesta en formato JSON:

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

Esta consulta muestra los códigos de idioma iso-639-1 para los idiomas compatibles. Algunos códigos de idioma también incluyen un código de país, como zh-CN o zh-TW. La lista está ordenada alfabéticamente por código de idioma.

C#

Antes de probar esta muestra, sigue las instrucciones de configuración para C# que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de C# para la API de Translation.

using Google.Cloud.Translation.V2;
using System;
using System.Collections.Generic;

public partial class TranslateSample
{
    public IList<Language> ListLanguageCodes()
    {
        TranslationClient client = TranslationClient.Create();
        IList<Language> response = client.ListLanguages();
        foreach (var language in response)
        {
            Console.WriteLine(language.Code);
        }
        return response;
    }
}

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go para la API de Translation.

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

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return err
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return err
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return err
	}

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

	return nil
}

Java

Antes de probar esta muestra, sigue las instrucciones de configuración para Java que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java para la API de Translation.

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

Antes de probar esta muestra, sigue las instrucciones de configuración para Node.js que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js para la API de Translation.

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

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

// 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));

PHP

Antes de probar esta muestra, sigue las instrucciones de configuración para PHP que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PHP para la API de Translation.

use Google\Cloud\Translate\TranslateClient;

$translate = new TranslateClient();
foreach ($translate->languages() as $code) {
    print("$code\n");
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python para la API de Translation.

"""Lists all available languages."""
translate_client = translate.Client()

results = translate_client.get_languages()

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

Ruby

Antes de probar esta muestra, sigue las instrucciones de configuración para Ruby que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Ruby para la API de Translation.

# project_id = "Your Google Cloud project ID"

require "google/cloud/translate"

translate = Google::Cloud::Translate.new project: project_id
languages = translate.languages

puts "Supported language codes:"
languages.each do |language|
  puts language.code
end

Mostrar una lista de los idiomas compatibles en el idioma objetivo

Protocolo

Aquí hay otro ejemplo que muestra la lista de idiomas compatibles. Los nombres de idioma mostrados están escritos en un idioma objetivo específico. La lista mostrada está ordenada alfabéticamente según el idioma objetivo.

Para detectar el idioma de un texto, realiza una solicitud de POST y proporciona un JSON que identifique el idioma objetivo en el cuerpo de la solicitud. A continuación, se muestra un ejemplo de una solicitud POST que usa curl.

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'target': 'zh-TW'
}" "https://translation.googleapis.com/language/translate/v2/languages"

Si la solicitud es exitosa, el servidor muestra un código de estado HTTP 200 OK y la respuesta en formato JSON:

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

En este caso, la consulta muestra los mismos códigos de idioma que más arriba, junto con las strings name que otorgan los nombres de los idiomas escritos en el idioma objetivo, zh-TW.

C#

Antes de probar esta muestra, sigue las instrucciones de configuración para C# que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de C# para la API de Translation.

using Google.Cloud.Translation.V2;
using System;
using System.Collections.Generic;

public partial class TranslateSample
{
    public IList<Language> ListLanguageNames()
    {
        TranslationClient client = TranslationClient.Create();
        // List all the languages in English.
        IList<Language> languages = client.ListLanguages(target: "en");
        foreach (var language in languages)
        {
            Console.WriteLine($"{language.Code}\t{language.Name}");
        }
        return languages;
    }
}

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go para la API de Translation.

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

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return err
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return err
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return err
	}

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

	return nil
}

Java

Antes de probar esta muestra, sigue las instrucciones de configuración para Java que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java para la API de Translation.

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

Antes de probar esta muestra, sigue las instrucciones de configuración para Node.js que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js para la API de Translation.

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

// 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';

// 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));

PHP

Antes de probar esta muestra, sigue las instrucciones de configuración para PHP que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PHP para la API de Translation.

use Google\Cloud\Translate\TranslateClient;

// $targetLanguage = 'en'; // Print the names of the languages in which language?

$translate = new TranslateClient();
$result = $translate->localizedLanguages([
    'target' => $targetLanguage,
]);
foreach ($result as $lang) {
    print("$lang[code]: $lang[name]\n");
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python para la API de Translation.

"""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
"""
translate_client = translate.Client()

results = translate_client.get_languages(target_language=target)

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

Ruby

Antes de probar esta muestra, sigue las instrucciones de configuración para Ruby que se encuentran en la Guía de inicio rápido de la API de Translation con el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Ruby para la API de Translation.

# project_id = "Your Google Cloud project ID"

# To receive the names of the supported languages, provide the code
# for the language in which you wish to receive the names
# language_code = "en"

require "google/cloud/translate"

translate = Google::Cloud::Translate.new project: project_id
languages = translate.languages language_code

puts "Supported languages:"
languages.each do |language|
  puts "#{language.code} #{language.name}"
end

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

API de Cloud Translation
Si necesitas ayuda, visita nuestra página de asistencia.