En esta página se describen los cambios principales entre Cloud Translation Basic y Cloud Translation Advanced. También se proporcionan algunos ejemplos de código para ayudarte a migrar tu aplicación. Si deseas ver solo las funciones de Cloud Translation Advanced, como los glosarios, consulta Introducción a Cloud Translation Advanced.
Cloud Translation Advanced es compatible con todas las funciones y los modelos disponibles en la versión Basic. Sin embargo, las bibliotecas cliente no son compatibles con la retrocompatibilidad de la integración de clientes. En otras palabras, debes planear la migración de tus aplicaciones para beneficiarte de las funciones de Cloud Translation Advanced.
Si planeas un proyecto nuevo, debes compilar tu aplicación con Cloud Translation Advanced para aprovechar las nuevas funciones y mejoras del servicio. Cloud Translation Basic sigue disponible, pero no es compatible con funciones nuevas como los glosarios, la traducción por lotes o la selección de modelos.
Cambios principales entre las versiones Basic y Advanced
Cloud Translation Advanced tiene varias diferencias con respecto a la versión Basic.
Cuentas de servicio
Cloud Translation Basic te permite usar claves de API para autenticarte en Translation.
Cloud Translation avanzado tiene funciones que requieren recursos administrados por el cliente. Estos recursos precisan de la función de IAM y de la administración de permisos. Por este motivo, no puedes usar claves de API para autenticarte en el servicio. En su lugar, debes usar cuentas de servicio cuando realizas la autenticación en Translation.
Funciones de IAM
Antes, no era necesario que las cuentas de servicio tuvieran funciones de IAM especializadas para realizar la autenticación en Translation.
Cloud Translation avanzado tiene varias funciones de IAM que puedes asignarle a tu cuenta de servicio para acceder a recursos específicos de tu proyecto. Por ejemplo, si deseas usar tu cuenta de servicio para traducir texto, debes asignarle la función de roles/cloudtranslate.user
. Consulta Introducción a Cloud Translation avanzado para obtener más información sobre las funciones de IAM disponibles.
Recursos, proyectos y ubicaciones
Cuando realizas solicitudes a Cloud Translation Advanced, debes proporcionar el nombre de los recursos que deseas usar. Por lo general, un recurso es un nombre calificado que incluye el nombre del proyecto y su ubicación, como el nombre de un modelo de AutoML.
Por ejemplo, si tu proyecto de Google Cloud tiene el nombre my-project
y la ubicación del recurso es us-central1
, el nombre completo de tus recursos podría verse así:
projects/my-project/locations/us-central1/...
También usas el nombre de la ubicación en las URL a las que envías las solicitudes REST. La ubicación especifica dónde se ejecuta la solicitud.
Por ejemplo, la URL a la que envías una solicitud getSupportedLanguages
podría tener el siguiente aspecto:
https://translation.googleapis.com/v3/projects/my-project/locations/us-central1/supportedLanguages
Modelos de traducción
Cuando solicitas una traducción de Cloud Translation Advanced, puedes usar un modelo personalizado de AutoML Translation, o bien los modelos generales, la traducción automática neuronal (NMT) y la traducción automática basada en frases (PBMT).
La integración con los modelos de AutoML requiere que las cuentas de servicio que se usan para las solicitudes de traducción tengan los permisos de IAM adecuados para acceder a los modelos de AutoML y a los modelos generales, ya sea que estén definidos en tu proyecto o en cualquier otro.
Para obtener más información sobre cómo seleccionar un modelo de traducción, consulta cómo traducir texto con Cloud Translation Advanced.
Límite de contenido por solicitud
La API de Cloud Translation está optimizada para traducir solicitudes más pequeñas. La longitud máxima recomendada de cada solicitud es de 5,000 caracteres (puntos de código). Sin embargo, cuantos más caracteres incluyas, más alta será la latencia de la respuesta. En el caso de Cloud Translation Advanced, la cantidad máxima de puntos de código para una única solicitud es de 30,000. En el caso de Cloud Translation Basic, el tamaño máximo es de 100,000 bytes.
La API de Cloud Translation rechaza las solicitudes que superen el tamaño máximo y arroja un error 400 INVALID_ARGUMENT
, sin importar la cuota disponible.
Consulta Cuotas para obtener más información sobre las cuotas y los límites.
Pasos recomendados para migrar a Advanced
Revisa los siguientes pasos para actualizar tu aplicación existente de Cloud Translation Basic a Cloud Translation Advanced.
- Realiza un inventario de tus proyectos, aplicaciones y usuarios de Google Cloud que acceden a la API de Basic.
- Configura las cuentas de servicio y autenticación para tu aplicación. Revisa el material sobre las funciones de IAM y presta atención a las funciones de AutoML, Cloud Storage y Cloud Translation.
- Habilita Cloud Translation Advanced en tu proyecto. Si usas modelos de AutoML con Cloud Translation Advanced, también debes habilitar AutoML.
- Utiliza los métodos y las bibliotecas cliente de Cloud Translation Advanced. En el caso de las solicitudes de Cloud Translation Advanced, debes incluir el número o ID del proyecto, así como su ubicación (en general,
global
ous-central1
). Consulta las diferencias entre la API y las bibliotecas cliente para obtener más información. - Actualiza tu aplicación o flujo de trabajo de traducción para aprovechar las funciones nuevas. Para integrar tu aplicación en AutoML y Cloud Storage, debes aplicar las funciones de IAM y los permisos adecuados a tus cuentas de servicio para que puedan acceder a tus recursos.
- Verifica que el tamaño de tus solicitudes de traducción para Cloud Translation Advanced no supere el límite.
- Planifica la supervisión de la cuota de solicitud de traducción. Ambas versiones de la API comparten las mismas cuotas diarias y mensuales.
- Revisa cualquier posible cambio en la facturación.
Diferencias de API y bibliotecas cliente
En las siguientes secciones, se describen las diferencias específicas entre llamar a Cloud Translation Basic y Cloud Translation Advanced.
Importa las bibliotecas cliente de Cloud Translation Advanced
Para importar las bibliotecas cliente de Cloud Translation Advanced, usa el siguiente código.
C#
nuget install Google.Cloud.Translate.V3 -Pre
Go
go get -u cloud.google.com/go/translate/apiv3
Java
Si usas Maven, agrega lo siguiente al archivo pom.xml
. Para obtener más información sobre las BOM, consulta Las bibliotecas de BOM de Google Cloud Platform.
Si usas Gradle, agrega lo siguiente a las dependencias:
Si usas sbt, agrega lo siguiente a las dependencias:
Si usas IntelliJ o Eclipse, puedes agregar bibliotecas cliente a tu proyecto mediante los siguientes complementos de IDE:
Los complementos brindan funcionalidades adicionales, como administración de claves para las cuentas de servicio. Consulta la documentación de cada complemento para obtener más detalles.
Node.js
Para obtener más información sobre la configuración de tu entorno de desarrollo de Node.js, consulta la guía de configuración del entorno de desarrollo de Node.js.
npm install --save @google-cloud/translate
PHP
composer require google/cloud-translate
Python
Para obtener más información sobre la configuración de tu entorno de desarrollo de Python, consulta la guía de configuración del entorno de desarrollo de Python.
pip install --upgrade google-cloud-translate
Ruby
Para obtener más información sobre la configuración de tu entorno de desarrollo de Ruby, consulta la guía de configuración del entorno de desarrollo de Ruby.
gem install google-cloud-translate
Traduce texto
Con Cloud Translation Basic, usa el siguiente código para enviar una solicitud de traducción a la API:
REST Y LÍNEA DE COMANDOS
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" } ] } }
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.
Con Cloud Translation avanzado, debes proporcionar el número (o el ID) del proyecto y la ubicación de este (en general, global
o us-central1
) cuando realizas una solicitud translateText
.
También puedes especificar de manera explícita un modelo de traducción o un glosario para usar cuando se traduce el texto. Incluso puedes solicitar la recepción de la traducción de la respuesta como text/plain
o text/html
(el valor predeterminado es text/html
).
REST Y LÍNEA DE COMANDOS
Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:
- project-number-or-id: el número o ID de tu proyecto de Google Cloud
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/project-number-or-id:translateText
Cuerpo JSON de la solicitud:
{ "sourceLanguageCode": "en", "targetLanguageCode": "ru", "contents": ["Dr. Watson, come here!", "Bring me some coffee!"] }
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/v3/projects/project-number-or-id:translateText
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/v3/projects/project-number-or-id:translateText " | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "translations": [ { "translatedText": "Доктор Ватсон, иди сюда!", }, { "translatedText": "Принеси мне кофе!", } ] }
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.
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.
Descubre idiomas compatibles
Con Cloud Translation Basic, usa el siguiente código para obtener una lista de los idiomas que admite la API:
REST Y LÍNEA DE COMANDOS
Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:
- project-number-or-id: el número o ID de tu proyecto de Google Cloud
Método HTTP y URL:
GET https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages " | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 } ] }
La lista está ordenada alfabéticamente por código de idioma. Esta búsqueda 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. Por ejemplo:
{ "languageCode": "zh-TW", "supportSource": true, "supportTarget": true },
Java
Node.js
Python
Con Cloud Translation avanzado, debes proporcionar el número o el ID del proyecto y la ubicación del proyecto (en general, global
o us-central1
) cuando realices una solicitud getSupportedLanguages
.
REST Y LÍNEA DE COMANDOS
Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:
- project-number-or-id: el número o ID de tu proyecto de Google Cloud
Método HTTP y URL:
GET https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global/supportedLanguages " | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 } ] }
La lista está ordenada alfabéticamente por código de idioma. Esta búsqueda 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. Por ejemplo:
{ "languageCode": "zh-TW", "supportSource": true, "supportTarget": true },
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.
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.
Detecta idiomas
Con Cloud Translation Basic, usa el siguiente código para detectar el idioma de origen del texto:
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'q': 'Omnia Gallia est divisa in tres partes', }" "https://translation.googleapis.com/language/translate/v2/detect"
Si la solicitud se realiza correctamente, el servidor muestra un código de estado HTTP 200 OK
y la respuesta en formato JSON:
{ "data": { "detections": [ [ { "confidence": 0.93554825, "isReliable": false, "language": "la" } ] ] }
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.
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.
Cuando realizas una solicitud detectLanguage
con Cloud Translation Advanced, debes proporcionar el número o ID del proyecto, así como su ubicación (global
o us-central1
).
Además, puedes configurar la solicitud que envías a Cloud Translation Advanced a fin de enviar distintos tipos de MIME. Por ejemplo, puedes solicitar text/html
o text/plain
(el valor predeterminado es text/html
).
REST Y LÍNEA DE COMANDOS
Antes de usar cualquiera de los siguientes datos de solicitud, realiza estos reemplazos:
- project-number-or-id: el número o ID de tu proyecto de Google Cloud
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/project-number-or-id/locations/global:detectLanguage
Cuerpo JSON de la solicitud:
{ "content":"Доктор Ватсон, иди сюда!" }
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/v3/projects/project-number-or-id/locations/global:detectLanguage
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/v3/projects/project-number-or-id/locations/global:detectLanguage " | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "languages": [ { "languageCode": "ru", "confidence": 1 } ] }
languageCode
proporciona el código del idioma detectado. confidence
es un rango entre 0 y 1. 1 corresponde al 100% de seguridad.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.
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.
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.