Crear y usar glosarios (Advanced)
Un glosario es un diccionario personalizado que usa la API Cloud Translation para traducir de forma coherente la terminología específica del dominio del cliente. Por lo general, esto implica especificar cómo traducir una entidad con nombre.
Puedes usar un glosario en los siguientes casos:
- Nombres de productos: por ejemplo, "Google Home" debe traducirse como "Google Home".
- Palabras ambiguas: por ejemplo, la palabra "murciélago" puede referirse a un animal o a un objeto deportivo. Si sabes que vas a traducir palabras sobre deportes, puedes usar un glosario para indicar a la API Cloud Translation que la traducción de "bat" es la que se usa en deportes, no la del animal.
- Palabras prestadas: por ejemplo, "bouillabaisse" en francés se traduce como "bullabesa" en español. El inglés tomó la palabra "bouillabaisse" del francés en el siglo XIX. Un hablante de inglés que no conozca el contexto cultural francés puede no saber que la bullabesa es un plato de pescado. Los glosarios pueden anular una traducción para que "bouillabaisse" en francés se traduzca como "fish stew" en inglés.
Antes de empezar
Para empezar a usar la API Cloud Translation, debes tener un proyecto en el que esté habilitada la API Cloud Translation y las credenciales adecuadas. También puedes instalar bibliotecas de cliente de los lenguajes de programación comunes para ayudarte a hacer llamadas a la API. Para obtener más información, consulta la página Configuración.
Permisos obligatorios
Para trabajar con glosarios, tu cuenta de servicio debe tener permisos específicos para glosarios. Puedes asignar un rol a tu cuenta de servicio mediante uno de los roles de gestión de identidades y accesos predefinidos, como Editor de la API Cloud Translation (roles/cloudtranslate.editor
), o bien crear un rol personalizado que conceda los permisos necesarios. Puedes ver todos los permisos de la API Cloud Translation en la referencia de permisos de gestión de identidades y accesos.
Los permisos de Cloud Translation empiezan por cloudtranslate
.
Para crear glosarios, también necesitas permisos para leer objetos en el segmento de Cloud Storage en el que se encuentra el archivo de glosario. Puedes asignar un rol a tu cuenta de servicio mediante uno de los roles de gestión de identidades y accesos predefinidos, como Lector de objetos de almacenamiento (roles/storage.objectViewer
), o bien crear un rol personalizado que conceda permisos para leer objetos.
Para obtener información sobre cómo añadir una cuenta a un rol, consulta Conceder, cambiar y revocar el acceso a los recursos.
Crear un glosario
Los términos de un glosario pueden ser tokens individuales (palabras) o frases cortas (normalmente, menos de cinco palabras). Los pasos principales para usar un glosario son los siguientes:
- Crear un archivo de glosario
- Crea el recurso de glosario con nuestra API Cloud Translation
- Especificar qué glosario se debe usar al solicitar una traducción
Un proyecto puede tener varios glosarios. Puedes consultar una lista de los glosarios disponibles y eliminar los que ya no necesites.
Palabras irrelevantes
Cloud Translation ignora algunos términos que se incluyen en un glosario. Estos términos se conocen como palabras de parada. Al traducir palabras de parada, Cloud Translation ignora las entradas de glosario coincidentes. Para ver una lista de todas las palabras de parada, consulta el glosario de palabras de parada.
Crear un archivo de glosario
Básicamente, un glosario es un archivo de texto en el que cada línea contiene términos correspondientes en varios idiomas. La API Cloud Translation admite glosarios unidireccionales, que especifican la traducción deseada para un único par de idiomas de origen y de destino, y conjuntos de términos equivalentes, que identifican los términos equivalentes en varios idiomas.
El número total de términos de un archivo de entrada de glosario no puede superar los 10,4 millones (10.485.760) de bytes UTF-8 para todos los términos de todos los idiomas combinados. Cada término del glosario debe tener menos de 1024 bytes UTF-8. Los términos que superen los 1024 bytes se ignoran.
De forma predeterminada, las coincidencias de glosario distinguen entre mayúsculas y minúsculas. Cuando aplicas un glosario, puedes ignorar las mayúsculas y minúsculas de todas las entradas. Si tienes una combinación de términos que distinguen entre mayúsculas y minúsculas y otros que no, usa el comportamiento predeterminado y, en el caso de los términos que no distinguen entre mayúsculas y minúsculas, incluye ambas formas en tu glosario.
Glosarios unidireccionales
La API Cloud Translation acepta archivos TSV, CSV o TMX.
TSV y CSV
En el caso de los valores separados por tabulaciones (TSV) y los valores separados por comas (CSV), cada fila contiene un par de términos separados por una tabulación (\t
) o una coma (,
). La primera columna incluye el término en el idioma de origen y la segunda columna incluye el término en el idioma de destino, como se muestra en el siguiente ejemplo:
Intercambio de memorias de traducción (TMX)
El formato de intercambio de memorias de traducción TMX se basa en XML estándar y ofrece pares de traducción con el texto de origen y destino. La API Cloud Translation admite archivos de entrada con un formato basado en la versión 1.4 de TMX. En este ejemplo se muestra la estructura necesaria:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
<header segtype="sentence" o-tmf="UTF-8"
adminlang="en" srclang="en" datatype="PlainText"/>
<body>
<tu>
<tuv xml:lang="en">
<seg>account</seg>
</tuv>
<tuv xml:lang="es">
<seg>cuenta</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="en">
<seg>directions</seg>
</tuv>
<tuv xml:lang="es">
<seg>indicaciones</seg>
</tuv>
</tu>
</body>
</tmx>
El elemento <header>
de un archivo TMX generado correctamente debe identificar el idioma de origen mediante el atributo srclang
, y cada elemento <tuv>
debe identificar el idioma del texto contenido mediante el atributo xml:lang
. Los idiomas de origen y de destino se identifican mediante sus códigos ISO-639.
Todos los elementos <tu>
deben contener un par de elementos <tuv>
con el mismo idioma de origen y de destino. Si un elemento <tu>
contiene más de dos elementos <tuv>
, la API Cloud Translation procesa solo el primer elemento <tuv>
que coincida con el idioma de origen y el primero que coincida con el idioma de destino, e ignora los demás.
Si un elemento <tu>
no contiene ningún par de elementos <tuv>
que coincida, la API Cloud Translation omite el elemento <tu>
no válido.
La API Cloud Translation quita las etiquetas de marcado que acompañan a los elementos <seg>
antes de procesarlos. Si un elemento <tuv>
contiene más de un elemento <seg>
, la API Cloud Translation concatena el texto en un único elemento e incluye un espacio entre ellos.
Si el archivo contiene etiquetas XML distintas a las que se han mencionado anteriormente, la API Cloud Translation las ignora.
Si los formatos XML o TMX del archivo no son correctos (por ejemplo, falta una etiqueta final o un elemento <tmx>
), la API Cloud Translation no lo procesa. La API Cloud Translation también aborta el procesamiento si se salta más de 1024 elementos <tu>
no válidos.
Conjuntos de términos equivalentes (CSV)
En el caso de los conjuntos de términos equivalentes, la API Cloud Translation solo acepta archivos en formato CSV. Para definir conjuntos de términos equivalentes, crea un archivo CSV de varias columnas en el que cada fila incluya un término de glosario en varios idiomas.
La primera fila del archivo es una fila de encabezado que identifica el idioma de cada columna mediante su código de idioma ISO-639 o BCP-47. También puedes incluir columnas opcionales para la parte del discurso (pos) y una descripción (description). Actualmente, el algoritmo no usa la información de pos y no se validan valores de pos específicos.
Cada fila posterior contiene términos de glosario equivalentes en los idiomas identificados en el encabezado. Puede dejar las columnas en blanco si el término no está disponible en todos los idiomas.
Crear un recurso de glosario
Una vez que hayas identificado los términos equivalentes del glosario, pon el archivo del glosario a disposición de la API Cloud Translation creando un recurso de glosario.
Glosario unidireccional
Cuando crees un glosario unidireccional, debes indicar el par de idiomas (language_pair
) especificando el idioma de origen (source_language_code
) y el idioma de destino (target_language_code
). En el siguiente ejemplo se usan la API REST y la línea de comandos, pero también puedes usar las bibliotecas de cliente para crear un glosario unidireccional.
REST
Cuando creas un glosario, proporcionas un ID de glosario (un nombre de recurso). Por ejemplo:projects/my-project/locations/us-central1/glossaries/my-en-to-ru-glossary
my-project
es el valor de PROJECT_NUMBER_OR_ID y my-en-ru-glossary
es el ID del glosario que has proporcionado.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- glossary-id: el ID de tu glosario (por ejemplo, my_en_ru_glossary).
- bucket-name: nombre del contenedor en el que se encuentra el archivo de glosario
- glossary-filename: nombre de archivo del glosario
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
Cuerpo JSON de la solicitud:
{ "name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id", "languagePair": { "sourceLanguageCode": "en", "targetLanguageCode": "ru" }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-filename" } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata", "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "state": "RUNNING", "submitTime": "2019-11-19T19:05:10.650047636Z" } }
Glosario de conjuntos de términos equivalentes
Una vez que hayas identificado los términos del glosario en tu conjunto de términos equivalentes, pon el archivo del glosario a disposición de la API Cloud Translation creando un recurso de glosario.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- glossary-id: el ID de tu glosario
- bucket-name: nombre del contenedor en el que se encuentra el archivo de glosario
- glossary-filename: nombre de archivo del glosario
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
Cuerpo JSON de la solicitud:
{ "name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id", "languageCodesSet": { "languageCodes": ["en", "en-GB", "ru", "fr", "pt-BR", "pt-PT", "es"] }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-file-name" } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/project-number/locations/us-central1/operations/20191103-09061569945989-5d937985-0000-21ac-816d-f4f5e80782d4", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata", "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "state": "RUNNING", "submitTime": "2019-11-03T16:06:29.134496675Z" } }
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Estado de la operación
Crear un recurso de glosario es una operación de larga duración, por lo que puede tardar bastante en completarse. Puedes sondear el estado de esta operación para ver si se ha completado o cancelarla.
Para obtener más información, consulta Operaciones de larga duración.
Usar glosarios
Traducir texto con un glosario
En la edición avanzada de Cloud Translation, debes especificar qué modelo de traducción quieres usar para traducir el texto. Los modelos LLM de traducción, NMT y personalizados se pueden usar junto con un glosario, pero solo el modelo LLM de traducción admite la mejora de calidad más reciente con el glosario contextual. Para aplicar esta función, asigna el valor TRUE a BOOLEAN_CONTEXTUAL. También puedes identificar un glosario para usarlo con terminología específica de un dominio.
REST
En este ejemplo, se traduce texto con el modelo de NMT predeterminado y un glosario.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
- GLOSSARY_ID: tu ID de glosario, como
my-en-ru-glossary
. - BOOLEAN: si las coincidencias no distinguen entre mayúsculas y minúsculas. De forma predeterminada, este valor es
false
. - BOOLEAN_CONTEXTUAL: indica si se tiene en cuenta el contexto en la traducción del glosario. De forma predeterminada, este valor es
false
.
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:translateText
Cuerpo JSON de la solicitud:
{ "sourceLanguageCode": "en", "targetLanguageCode": "ru", "contents": "Dr. Watson, please discard your trash. You've shared unsolicited email with me. Let's talk about spam and importance ranking in a confidential mode.", "glossaryConfig": { "glossary": "projects/project-number/locations/us-central1/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "glossaryTranslations": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со я . Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", "glossaryConfig": { "glossary": "projects/project-number/locations/us-central1/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }, "translations": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", } }
El campo translations
contiene la traducción automática normal antes de aplicar el glosario, mientras que el campo glossaryTranslations
contiene la traducción después de aplicar el glosario.
Si asignas el valor true
al campo contextual_translation_enabled
, la respuesta solo contendrá el campo glossaryTranslations
y no el campo translations
.
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Traducciones adaptables con glosario
Para usar un glosario con una solicitud de traducción adaptativa, incluye una configuración de glosario en la solicitud.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- LOCATION: la región en la que se encuentra el conjunto de datos de origen, como
us-central1
. - DATASET_NAME: nombre del conjunto de datos que usa Cloud Translation para personalizar tus traducciones, con el formato
projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID
. Para obtener los nombres de los conjuntos de datos, consulta todos los conjuntos de datos de tu proyecto. - SOURCE_TEXT: el texto que se va a traducir.
- MIME_TYPE (Opcional): El formato del texto de origen, como
text/html
otext/plain
. De forma predeterminada, el tipo MIME estext/plain
. - GLOSSARY_ID: tu ID de glosario, como
my-en-ru-glossary
. - BOOLEAN (Opcional): indica si las coincidencias no distinguen entre mayúsculas y minúsculas. De forma predeterminada, este valor es
false
. - BOOLEAN_CONTEXTUAL (Opcional): Indica si se debe tener en cuenta el contexto en la traducción del glosario. De forma predeterminada, este valor es
false
.
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate
Cuerpo JSON de la solicitud:
{ "dataset": "DATASET_NAME", "content": ["SOURCE_TEXT"], "mimeType": "MIME_TYPE", "glossaryConfig": { "glossary": "projects/project-number/locations/LOCATION/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE", "glossaryTranslations": { "translatedText": "TRANSLATED_TEXT", "glossaryConfig": { "glossary": "projects/project-number/locations/LOCATION/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }, }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
{% dynamic setvar launch_stage %}preview{% dynamic endsetvar %} {% dynamic setvar launch_type %}feature{% dynamic endsetvar %} {% include "cloud/_shared/_info_launch_stage_disclaimer.html" %} /** Translates using AdaptiveMt. */ private static void adaptiveMtTranslate( TranslationServiceClient translationServiceClient, String projectId, String datasetId) { String adaptiveMtDatasetName = String.format( "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId); String glossaryId = "your-glossary-display-name"; GlossaryName glossaryName = GlossaryName.of(projectId, location, glossaryId); GlossaryConfig glossaryConfig = GlossaryConfig.newBuilder().setGlossary(glossaryName.toString()).build(); AdaptiveMtTranslateRequest request = AdaptiveMtTranslateRequest.newBuilder() .setParent(LocationName.of(projectId, "us-central1").toString()) .setDataset(adaptiveMtDatasetName) .addContent("Sample translation text") .setGlossaryConfig(glossaryConfig) .build(); AdaptiveMtTranslateResponse response = translationServiceClient.adaptiveMtTranslate(request); System.out.println("Translating using AdaptiveMt"); System.out.println(response); }
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
async function translate() { /** * TODO(developer): Uncomment these variables before running the sample. */ // const projectId = 'YOUR_PROJECT_ID'; // const location = 'global'; // const glossaryId = 'YOUR_GLOSSARY_ID'; const glossaryConfig = { glossary: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`, }; const request = { parent: `projects/${projectId}/locations/${location}`, dataset: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${ adaptiveMtDatasetName}`, content: ['Sample translate query'], glossaryConfig: glossaryConfig, } const [response] = await translationClient.adaptiveMtTranslate(request) console.log('Translating') console.log(response) }
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
def adaptive_mt_translate( project_id: str = "YOUR_PROJECT_ID", glossary_id: str = "YOUR_GLOSSARY_ID"): # Create a client client = translate.TranslationServiceClient() # Create a glossary glossary = client.glossary_path( project_id, "us-central1", glossary_id # The location of the glossary ) glossary_config = translate.GlossaryConfig(glossary=glossary) # Initialize the request request = translate.AdaptiveMtTranslateRequest( parent="projects/PROJECT_ID/locations/LOCATION", dataset="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID", content=["Sample translation request"] glossary_config=glossary_config, ) # Make the request response = client.adaptive_mt_translate(request) # Handle the response print(response)
Obtener información sobre un glosario
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- glossary-id: el ID de tu glosario (por ejemplo, "my-en-to-ru-glossary")
Método HTTP y URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "languagePair": { "sourceLanguageCode": "en", "targetLanguageCode": "ru" }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-file-name" } }, "entryCount": 9603 }
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Mostrar glosarios
Un proyecto puede incluir numerosos glosarios. En esta sección se describe cómo obtener una lista de los glosarios disponibles para un proyecto concreto.
REST
En este ejemplo se muestran todos los glosarios asociados al proyecto especificado.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
Método HTTP y URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "glossaries": [ { "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "languagePair": { "sourceLanguageCode": "en", "targetLanguageCode": "ru" }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-file-name" } }, "entryCount": 9603 }, ... ] }
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Actualizar un glosario
Puedes actualizar un glosario para cambiar su nombre o sustituir todas sus entradas por un nuevo archivo de entrada de glosario. Si necesitas deshacer los cambios realizados en las entradas del glosario, debes usar el archivo del glosario original para sustituir el glosario modificado.
REST
Para actualizar una glosario, envía una solicitud PATCH con el método glossary.patch. En el siguiente ejemplo se actualiza un glosario de conjunto de términos equivalente. Usa el método list para encontrar el ID de un glosario concreto.
El parámetro de consulta update_mask
especifica si va a actualizar el archivo de entrada del glosario, el nombre visible del glosario o ambos. Se requiere al menos un parámetro updateMask.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
- LOCATION: la región en la que se encuentra la glosario que se va a actualizar, como
us-central1
. - GLOSSARY_ID: ID de un glosario.
- LANGUAGE_CODE: el código de idioma que especifica los idiomas de este conjunto de términos equivalentes del glosario.
- GLOSSARY_FILE_PATH: la ubicación y el nombre de archivo del archivo de entrada del glosario.
Método HTTP y URL:
PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID?update_mask=input_config&update_mask=display_name
Cuerpo JSON de la solicitud:
{ "name":"projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID", "languageCodesSet": { "languageCodes": ["LANGUAGE_CODE", ...] }, "inputConfig": { "gcsSource": { "inputUri": "gs://GLOSSARY_FILE_PATH" } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.UpdateGlossaryMetadata", "glossary": { "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID", "languageCodesSet": { "languageCodes": ["LANGUAGE_CODE", ...] }, "inputConfig": { "gcsSource": { "inputUri": "gs://GLOSSARY_FILE_PATH" } }, "entryCount": NUMBER_OF_ENTRIES, "submitTime": "2022-04-22T23:16:30.628806944Z", "endTime": "2022-04-22T23:41:15.115797Z", "displayName": "GLOSSARY_ID" }, "state": "RUNNING", "submitTime": "2022-04-22T23:50:24.337964527Z" } }
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Eliminar un glosario
En el siguiente ejemplo se elimina un glosario.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto
- glossary-id: el ID de tu glosario
Método HTTP y URL:
DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Cloud Translation con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Cloud Translation.
Para autenticarte en Cloud Translation, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Gestionar entradas de glosario
Una entrada de glosario asigna un término de un idioma a un término de otro idioma. Puedes añadir nuevas entradas a un glosario, enumerar todas las entradas de un glosario o modificar las que ya tengas.
Crear entradas
Crea entradas para añadir términos a un glosario. En el caso de los glosarios unidireccionales, proporciona un par de términos, donde uno está en el idioma de origen y el otro, en el de destino. En el caso de los glosarios de conjuntos de términos equivalentes, proporcione un conjunto de términos en el que cada elemento especifique un término y su código de idioma.
REST
En los siguientes ejemplos se crea una entrada para un glosario de conjuntos de términos equivalentes. Solo puedes crear una entrada por solicitud. Para obtener más información, consulta el método glossaryEntries.create.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
- LOCATION: la región en la que se encuentra la glosario que se va a actualizar, como
us-central1
. - GLOSSARY_ID: ID de un glosario.
- LANGUAGE_CODE: el código de idioma que especifica el idioma del término.
- TERM: el término que se va a añadir al glosario.
- DESCRIPTION: información sobre la entrada del glosario.
Método HTTP y URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries
Cuerpo JSON de la solicitud:
{ termsSet: { terms: { languageCode: "LANGUAGE_CODE", text: "TERM" }, ... }, description: "DESCRIPTION" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Mostrar entradas de glosario
Lista todas las entradas de un glosario. Esto resulta útil si, por ejemplo, quieres comprobar qué términos y qué idiomas hay en un glosario concreto.
REST
Para enumerar todas las entradas de glosario, envía una solicitud GET con el método glossaryEntries.list.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
- LOCATION: la región en la que se encuentra la glosario que se va a actualizar, como
us-central1
. - GLOSSARY_ID: ID de un glosario.
Método HTTP y URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "glossaryEntries": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }, ... ] }
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Obtener una entrada de glosario
Obtener una sola entrada para ver su información.
REST
Para obtener una sola entrada de glosario, envía una solicitud GET con el método glossaryEntries.get. Usa el método list para encontrar el ID de una entrada concreta.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
- LOCATION: la región en la que se encuentra la glosario que se va a actualizar, como
us-central1
. - GLOSSARY_ID: ID de un glosario.
- GLOSSARY_ENTRY_ID: ID de una entrada de glosario.
Método HTTP y URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Actualizar entradas de glosario
Puedes actualizar una sola entrada o sustituir todas las entradas de un glosario. Para sustituir todas las entradas, consulta Actualizar un glosario.
Para modificar una entrada de un glosario unidireccional, proporciona un par de términos, donde uno esté en el idioma de origen y el otro en el idioma de destino. En el caso de los glosarios de conjuntos de términos equivalentes, proporciona un conjunto de términos en el que cada elemento especifique un término y su código de idioma.
REST
En los siguientes ejemplos se actualiza una entrada de un glosario de términos equivalentes. Para obtener más información, consulta el método glossaryEntries.patch.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
- LOCATION: la región en la que se encuentra la glosario que se va a actualizar, como
us-central1
. - GLOSSARY_ID: ID de una glosario que contenga la entrada que se va a actualizar.
- GLOSSARY_ENTRY_ID: el ID de la entrada del glosario que se va a actualizar.
- LANGUAGE_CODE: el código de idioma que especifica el idioma del término.
- TERM: el término que se va a actualizar.
- DESCRIPTION: información sobre la entrada del glosario.
Método HTTP y URL:
PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
Cuerpo JSON de la solicitud:
{ termsSet: { terms: { languageCode: "LANGUAGE_CODE", text: "TERM" }, ... }, description: "DESCRIPTION" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Eliminar una entrada de glosario
Elimina una sola entrada del glosario.
REST
Para eliminar una sola entrada de glosario, envía una solicitud DELETE con el método glossaryEntries.delete. Usa el método list para encontrar el ID de una entrada concreta.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER_OR_ID: el ID numérico o alfanumérico de tu Google Cloud proyecto.
- LOCATION: la región en la que se encuentra la glosario que se va a actualizar, como
us-central1
. - GLOSSARY_ID: ID de un glosario que contenga la entrada que se va a eliminar.
- GLOSSARY_ENTRY_ID: el ID de la entrada del glosario que se va a eliminar.
Método HTTP y URL:
DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Cloud Translation para Ruby.
Recursos adicionales
- Para obtener ayuda sobre cómo resolver problemas o errores habituales, consulta la página Solución de problemas.