Usa la API de Translation con C#

1. Descripción general

La API de Google Cloud Translation ofrece una interfaz programática simple para traducir de forma dinámica una cadena arbitraria a cualquier idioma compatible mediante la tecnología de última generación de traducción automática neuronal. También se puede usar para detectar el idioma en casos en los que se desconoce el idioma de origen.

En este codelab, te enfocarás en el uso de la API de Translation con C#. Aprenderás a generar listas de los idiomas disponibles, traducir texto y detectar el idioma de un texto determinado.

Qué aprenderás

  • Cómo usar Cloud Shell
  • Cómo habilitar la API de Translation
  • Cómo autenticar solicitudes a la API
  • Cómo instalar la biblioteca cliente de Google Cloud para C#
  • Cómo enumerar los idiomas disponibles
  • Cómo traducir texto
  • Cómo detectar el idioma

Requisitos

  • Un proyecto de Google Cloud Platform
  • Un navegador como Chrome o Firefox
  • Conocimientos de C#

Encuesta

¿Cómo usarás este instructivo?

Ler Leer y completar los ejercicios

¿Cómo calificarías tu experiencia con C#?

Principiante Intermedio Avanzado

¿Cómo calificarías tu experiencia en el uso de los servicios de Google Cloud Platform?

Principiante Intermedio Avanzado .
.

2. Configuración y requisitos

Configuración del entorno de autoaprendizaje

  1. Accede a Google Cloud Console y crea un proyecto nuevo o reutiliza uno existente. Si aún no tienes una cuenta de Gmail o de Google Workspace, debes crear una.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • El Nombre del proyecto es el nombre visible de los participantes de este proyecto. Es una cadena de caracteres que no se utiliza en las APIs de Google. Puedes actualizarla cuando quieras.
  • El ID del proyecto es único en todos los proyectos de Google Cloud y es inmutable (no se puede cambiar después de configurarlo). La consola de Cloud genera automáticamente una cadena única. Por lo general, no importa cuál sea. En la mayoría de los codelabs, deberás hacer referencia al ID de tu proyecto (suele identificarse como PROJECT_ID). Si no te gusta el ID que se generó, podrías generar otro aleatorio. También puedes probar uno propio y ver si está disponible. No se puede cambiar después de este paso y se usa el mismo durante todo el proyecto.
  • Recuerda que hay un tercer valor, un número de proyecto, que usan algunas APIs. Obtén más información sobre estos tres valores en la documentación.
  1. A continuación, deberás habilitar la facturación en la consola de Cloud para usar las APIs o los recursos de Cloud. Ejecutar este codelab no costará mucho, tal vez nada. Para cerrar recursos y evitar que se generen cobros más allá de este instructivo, puedes borrar los recursos que creaste o borrar el proyecto. Los usuarios nuevos de Google Cloud son aptos para participar en el programa Prueba gratuita de $300.

Inicia Cloud Shell

Si bien Google Cloud y Spanner se pueden operar de manera remota desde tu laptop, en este codelab usarás Google Cloud Shell, un entorno de línea de comandos que se ejecuta en la nube.

En Google Cloud Console, haz clic en el ícono de Cloud Shell en la barra de herramientas en la parte superior derecha:

84688aa223b1c3a2.png

El aprovisionamiento y la conexión al entorno deberían tomar solo unos minutos. Cuando termine el proceso, debería ver algo como lo siguiente:

320e18fedb7fbe0.png

Esta máquina virtual está cargada con todas las herramientas de desarrollo que necesitarás. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud, lo que permite mejorar considerablemente el rendimiento de la red y la autenticación. Todo tu trabajo en este codelab se puede hacer en un navegador. No es necesario que instales nada.

3. Habilita la API de Translation

Antes de comenzar a usar la API de Translation, debes habilitarla. Puedes habilitar la API con el siguiente comando en Cloud Shell:

gcloud services enable translate.googleapis.com

4. Instala la biblioteca cliente de la API de Google Cloud Translation para C#

Primero, crea una aplicación sencilla de consola de C# que utilizarás para ejecutar muestras de la API de Translation.

dotnet new console -n TranslationApiDemo

The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.

A continuación, navega a la carpeta TranslationApiDemo y agrega el paquete NuGet Google.Cloud.Translation.V2 al proyecto:

cd TranslationApiDemo/
dotnet add package Google.Cloud.Translation.V2

info : Adding PackageReference for package 'Google.Cloud.Translation.V2' into project '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
log  : Restoring packages for /home/atameldev/TranslationDemo/TranslationDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Translation.V2' version '1.0.0' added to file '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.

Ya está todo listo para que uses la API de Translation.

5. Enumerar los idiomas disponibles

En esta sección, primero verás una lista de todos los idiomas disponibles en la API de Translation.

Primero, abre el editor de código desde la parte superior derecha de Cloud Shell:

fd3fc1303e63572.png

Navega al archivo Program.cs dentro de la carpeta TranslationApiDemo y reemplaza el código por lo siguiente:

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

namespace TranslationApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = TranslationClient.Create();
            foreach (var language in client.ListLanguages(LanguageCodes.English))
            {
                Console.WriteLine($"{language.Code}\t{language.Name}");
            }
        }
    }
}

Tómate uno o dos minutos para estudiar el código.** Ten en cuenta que los nombres de los idiomas están disponibles en inglés, pero pueden estar disponibles en cualquier idioma.

En Cloud Shell, ejecuta la app. Deberías ver el siguiente resultado:

dotnet run

af        Afrikaans
sq        Albanian
am        Amharic
ar        Arabic
hy        Armenian
az        Azerbaijani
eu        Basque
be        Belarusian
...
yi        Yiddish
yo        Yoruba
zu        Zulu

Resumen

En este paso, pudiste enumerar todos los idiomas disponibles en la API de Translation. Puedes encontrar la lista completa de idiomas admitidos en la página Idiomas compatibles.

6. Traducir texto

Puedes usar la API de Translate para traducir un texto de un idioma a otro. El texto se traduce con el modelo de traducción automática neuronal (NMT). Si el modelo de NMT no es compatible con el par de traducción de idiomas solicitado, se usa el modelo de traducción automática basada en frases (PBMT).

Para traducir texto, navega al archivo Program.cs dentro de la carpeta TranslationApiDemo y reemplaza el código por lo siguiente:

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

namespace TranslationApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = TranslationClient.Create();
            var text = "Hello World!";
            var response = client.TranslateText(text, LanguageCodes.Turkish, LanguageCodes.English);
            Console.WriteLine(response.TranslatedText);
        }
    }
}

Dedica uno o dos minutos a estudiar el código. Traduce el texto "Hello World" del inglés al turco*.*

En Cloud Shell, ejecuta la app. Deberías ver el siguiente resultado:

dotnet run

Selam Dünya!

Resumen

En este paso, pudiste usar la API de Translation para traducir un texto del inglés al turco. Obtén más información sobre cómo traducir texto.

7. Detectar idioma

También puedes usar la API de Translate para detectar el idioma de una cadena de texto.

Para detectar el idioma, navega al archivo Program.cs dentro de la carpeta TranslationApiDemo y reemplaza el código por lo siguiente:

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

namespace TranslationApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = TranslationClient.Create();
            var text = "Selam Dünya!";
            var detection = client.DetectLanguage(text);
            Console.WriteLine($"Language: {detection.Language}\tConfidence: {detection.Confidence}");
        }
    }
}

Dedica uno o dos minutos a estudiar el código. Detecta el idioma del texto "Selam Dünya!" que resulta ser una frase turca*.*

En Cloud Shell, ejecuta la app. Deberías ver el siguiente resultado:

dotnet run

Language: tr        Confidence: 1

Resumen

En este paso, pudiste detectar el idioma de un texto con la API de Translation. Obtén más información sobre la detección de idioma.

8. ¡Felicitaciones!

Aprendiste a usar la API de Translation con C#.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud Platform por los recursos de esta guía de inicio rápido:

  • Ve a la consola de Google Cloud.
  • Selecciona el proyecto que deseas cerrar y haz clic en “Borrar”. en la parte superior: esta opción programa la eliminación del proyecto.

Más información

Licencia

Este trabajo cuenta con una licencia Atribución 2.0 Genérica de Creative Commons.