En este documento se describe cómo usar Cloud Translation Basic (v2) para traducir textos.
El texto de entrada puede ser HTML o texto sin formato. Cloud Translation básico no traduce ninguna etiqueta HTML en la entrada, solo el texto que aparece entre las etiquetas. El resultado conserva las etiquetas HTML (sin traducir), con el texto traducido entre las etiquetas en la medida de lo posible debido a las diferencias entre los idiomas fuente y objetivo. El orden de las etiquetas HTML en el resultado puede diferir del orden en el texto de entrada debido a los cambios en el orden de las palabras en la traducción.
Antes de comenzar
Antes de comenzar a usar la API de Cloud Translation, debes tener un proyecto que tenga habilitada la API de Cloud Translation y las credenciales adecuadas. También puedes instalar bibliotecas cliente para los lenguajes de programación comunes que te ayudarán a realizar llamadas a la API.
Para obtener más información, consulta la página Configuración.
Traduce texto
En esta sección, se muestran algunas formas de solicitar traducciones desde el extremo https://translation.googleapis.com/language/translate/v2
.
Traduce strings de entrada
LÍNEA DE REST Y CMD
Para traducir texto, realiza una solicitudPOST
y proporciona código JSON en el cuerpo de la solicitud que indique el idioma (target
) y el texto (q
) que desees traducir. Si quieres traducir varios segmentos de texto, incluye varios campos q
o una lista de valores en el campo q
. No se pueden superar los 128 segmentos de texto. Especifica los idiomas de destino mediante sus códigos ISO‑639‑1.
A continuación se muestra un ejemplo de una solicitud POST
mediante curl
o PowerShell. En el ejemplo se usa el token de acceso correspondiente a la configuración de una cuenta de servicio para el proyecto con el SDK de Cloud de Google Cloud.
Si deseas obtener instrucciones para instalar el SDK de Cloud, configurar un proyecto con una cuenta de servicio y obtener un token de acceso, consulta la página Configuración.
Método HTTP y URL:
POST https://translation.googleapis.com/language/translate/v2
Cuerpo JSON de la solicitud:
{ "q": ["Hello world", "My name is Jeff"], "target": "de" }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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 " | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "data": { "translations": [ { "translatedText": "Hallo Welt", "detectedSourceLanguage": "en" }, { "translatedText": "Mein Name ist Jeff", "detectedSourceLanguage": "en" } ] } }
El arreglo translations
contiene dos campos translatedText
con traducciones proporcionadas en el idioma target
solicitado (de
: alemán). Las traducciones se indican en el mismo orden que el arreglo fuente correspondiente en la solicitud.
C#
Antes de probar este código de muestra, sigue las instrucciones de configuración para C# que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para C#.
Go
Antes de probar este código de muestra, sigue las instrucciones de configuración para Go que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Go.
Java
Antes de probar este código de muestra, sigue las instrucciones de configuración para Java que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Java.
Node.js
Antes de probar este código de muestra, sigue las instrucciones de configuración para Node.js que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Node.js.
PHP
Antes de probar este código de muestra, sigue las instrucciones de configuración para PHP que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para PHP.
Python
Antes de probar este código de muestra, sigue las instrucciones de configuración para Python que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Python.
Ruby
Antes de probar este código de muestra, sigue las instrucciones de configuración para Ruby que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Ruby.
Especifica un modelo
Según la configuración predeterminada, cuando realizas una solicitud de traducción a la API de Cloud Translation, tu 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 idioma solicitado, se usa el modelo de traducción automática basada en frases (PBMT).
Compara modelos
El modelo NMT puede proporcionar una traducción mejorada para contenidos más largos y complejos. Por ejemplo, considera la siguiente solicitud:
{ "q": "So let us begin anew--remembering on both sides that civility is not a sign of weakness, and sincerity is always subject to proof. Let us never negotiate out of fear. But let us never fear to negotiate.", "target": "de" }
Debido a que no se especifica el model
en la solicitud y el par de idiomas de traducción de inglés a alemán es compatible con el modelo NMT, la solicitud se traduce con el modelo nmt
. Se muestra lo siguiente en el campo translations
de la respuesta:
"translatedText": "Fangen wir also von neuem an - auf beiden Seiten erinnern wir uns, daß die Höflichkeit kein Zeichen der Schwäche ist und die Aufrichtigkeit immer unter Beweis gestellt wird. Lasst uns nie aus Furcht verhandeln. Aber lassen Sie uns niemals Angst haben, zu verhandeln.", "detectedSourceLanguage": "en", "model": "nmt"
Como alternativa, puedes solicitar de modo específico que el texto se traduzca con el modelo base
(PBMT).
{ "q": "So let us begin anew--remembering on both sides that civility is not a sign of weakness, and sincerity is always subject to proof. Let us never negotiate out of fear. But let us never fear to negotiate.", "target": "de", "model": "base", }
Con el modelo base
se muestra el siguiente resultado en el campo translations
de la respuesta, que difiere de la traducción mediante el modelo nmt
.
"translatedText": "Lassen Sie uns also neu beginnen - auf beiden Seiten nicht vergessen, dass Zivilität ist kein Zeichen von Schwäche, und Aufrichtigkeit ist immer unter Beweis. Lassen Sie uns nie aus Angst verhandeln. Aber lassen Sie uns nie zu verhandeln fürchten.", "detectedSourceLanguage": "en", "model": "base"
Usa el parámetro del modelo
Puedes especificar qué modelo usar para la traducción mediante el parámetro de consulta model
. Especifica base
para usar el modelo de PBMT y nmt
si quieres usar el modelo NMT. Si especificas el modelo de NMT en tu solicitud, y el par de idiomas de traducción solicitado no es compatible con el modelo de NMT, entonces se usa el modelo de PBMT.
En el siguiente ejemplo, se muestra cómo usar el parámetro model
en una solicitud de traducción.
REST Y LÍNEA DE COMANDOS
Para traducir texto con el modelonmt
, incluye el parámetro model
en tu solicitud POST
.
Método HTTP y URL:
POST https://translation.googleapis.com/language/translate/v2
Cuerpo JSON de la solicitud:
{ "q":"So let us begin anew--remembering on both sides that civility is not a sign of weakness, and sincerity is always subject to proof. Let us never negotiate out of fear. But let us never fear to negotiate.", "target":"de", "model": "base" }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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 " | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "data": { "translations": [ { "translatedText": "Fangen wir also von vorne an - denken wir auf beiden Seiten daran, dass Höflichkeit kein Zeichen von Schwäche ist und dass Aufrichtigkeit immer ein Beweis ist. Lasst uns niemals aus Angst verhandeln. Aber fürchten wir uns niemals vor Verhandlungen.", "detectedSourceLanguage": "en" } ] } }
C#
Antes de probar este código de muestra, sigue las instrucciones de configuración para C# que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para C#.
Go
Antes de probar este código de muestra, sigue las instrucciones de configuración para Go que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Go.
Java
Antes de probar este código de muestra, sigue las instrucciones de configuración para Java que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Java.
Node.js
Antes de probar este código de muestra, sigue las instrucciones de configuración para Node.js que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Node.js.
PHP
Antes de probar este código de muestra, sigue las instrucciones de configuración para PHP que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para PHP.
Python
Antes de probar este código de muestra, sigue las instrucciones de configuración para Python que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Python.
Ruby
Antes de probar este código de muestra, sigue las instrucciones de configuración para Ruby que encontrarás en la guía de inicio rápido sobre las bibliotecas cliente de Translation. Si deseas obtener más información, consulta la documentación de referencia de la API de Translation para Ruby.