Puedes usar un glosario para definir la terminología específica de tu dominio. Con un glosario, puedes añadir pares de términos, incluidos un término de idioma de origen y otro de idioma de destino. Los pares de términos garantizan que el servicio Vertex AI Translation traduzca tu terminología de forma coherente.
A continuación, se muestran ejemplos de casos en los que puedes definir entradas de glosario:
- Nombres de productos: identifica los nombres de productos para que se mantengan en la traducción. Por ejemplo, Google Home debe traducirse como Google Home.
- Palabras ambiguas: especifica el significado de palabras vagas y homónimos. Por ejemplo, bat puede significar un bate de béisbol o un murciélago.
- Palabras prestadas: aclara el significado de palabras adoptadas de otro idioma. Por ejemplo, bouillabaisse en francés se traduce como bouillabaisse en inglés, un plato de sopa de pescado.
Los términos de un glosario pueden ser palabras sueltas (también denominadas tokens) o frases cortas, normalmente de menos de cinco palabras. Vertex AI Translation ignora las entradas de glosario coincidentes si las palabras son palabras vacías.
Vertex AI Translation ofrece los siguientes métodos de glosario disponibles en Google Distributed Cloud (GDC) air-gapped:
| Método | Descripción |
|---|---|
CreateGlossary |
Crea un glosario. |
GetGlossary |
Devuelve un glosario almacenado. |
ListGlossaries |
Devuelve una lista de IDs de glosario de un proyecto. |
DeleteGlossary |
Elimina un glosario que ya no necesites. |
Antes de empezar
Antes de crear un glosario para definir la terminología que se va a traducir, debes tener un proyecto llamado translation-glossary-project. El recurso personalizado del proyecto debe tener el siguiente aspecto:
apiVersion: resourcemanager.gdc.goog/v1
kind: Project
metadata:
labels:
atat.config.google.com/clin-number: CLIN_NUMBER
atat.config.google.com/task-order-number: TASK_ORDER_NUMBER
name: translation-glossary-project
namespace: platform
Para obtener los permisos que necesitas para usar un glosario, pide a tu administrador de IAM del proyecto que te asigne los siguientes roles en el espacio de nombres de tu proyecto:
- Desarrollador de IA Translation: obtén el
rol Desarrollador de IA Translation (
ai-translation-developer) para acceder al servicio Vertex AI Translation. - Administrador de segmentos del proyecto: obtén el rol Administrador de segmentos del proyecto
(
project-bucket-admin) para gestionar los segmentos de almacenamiento y los objetos de los segmentos, lo que te permite crear y subir archivos.
Para obtener más información sobre los requisitos previos, consulta el artículo Configurar un proyecto de traducción.
Crear un archivo de glosario
Debes crear un archivo de glosario para almacenar los términos de idioma de origen y de destino. En esta sección se incluyen los dos diseños de glosario diferentes que puedes usar para definir tus términos.
En la siguiente tabla se describen los límites admitidos en Distributed Cloud para los archivos de glosario:
| Descripción | Límite |
|---|---|
| Tamaño máximo de archivo | 10,4 millones (10.485.760) de bytes UTF-8 |
| Longitud máxima de un término de glosario | 1024 bytes UTF-8 |
| Número máximo de recursos de glosario en un proyecto | 10.000 |
Elige uno de los siguientes diseños para tu archivo de glosario:
- **Glosario unidireccional**: especifica la traducción esperada para un par de términos de origen y de destino en un idioma concreto. Los glosarios unidireccionales admiten los formatos de archivo TSV, CSV y TMX.
- **Glosario de conjuntos de términos equivalentes**: especifica la traducción esperada en varios idiomas en cada fila. Los glosarios de conjuntos de términos equivalentes admiten los formatos de archivo CSV.
Glosario unidireccional
La API Vertex AI Translation acepta valores separados por tabulaciones (TSV) y valores separados por comas (CSV). Cada fila contiene un par de términos separados por una tabulación (\t) o una coma (,) para estos formatos de archivo.
La API Vertex AI Translation también acepta el formato TMX (Translation Memory eXchange), un formato XML estándar para proporcionar los pares de términos de origen y de destino de la traducción. Los archivos de entrada admitidos tienen un formato basado en la versión 1.4 de TMX.
En los siguientes ejemplos se muestra la estructura necesaria para los formatos de archivo TSV, CSV y TMX de los glosarios unidireccionales:
TSV y CSV
En la siguiente imagen se muestran dos columnas en un archivo TSV o CSV. La primera columna contiene el término de idioma de origen y la segunda, el término de idioma de destino.

Cuando creas un archivo de glosario, puedes definir una fila de encabezado. La solicitud de glosario pone el archivo a disposición de la API Vertex AI Translation.
TMX
En el siguiente ejemplo se ilustra la estructura necesaria en un archivo TMX:
<?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>
Si tu archivo contiene etiquetas XML que no se muestran en este ejemplo, la API Vertex AI Translation las ignora.
Incluye los siguientes elementos en tu archivo TMX para que la API Vertex AI Translation pueda procesarlo correctamente:
<header>: identifica el idioma de origen mediante el atributosrclang.<tu>: incluye un par de elementos<tuv>con el mismo idioma de origen y de destino. Estos<tuv>elementos cumplen lo siguiente:- Cada elemento
<tuv>identifica el idioma del texto incluido mediante el atributoxml:lang. Usa los códigos ISO-639-1 para identificar los idiomas de origen y de destino. Consulta la lista de idiomas admitidos y sus códigos de idioma correspondientes. - Si un elemento
<tu>contiene más de dos elementos<tuv>, la API Vertex AI Translation solo procesa el primer elemento<tuv>que coincida con el idioma de origen y el primer elemento<tuv>que coincida con el idioma de destino. El servicio ignora el resto de los elementos<tuv>. - Si un elemento
<tu>no tiene un par de elementos<tuv>que coincidan, la API Vertex AI Translation ignora el elemento<tu>no válido.
- Cada elemento
<seg>: representa cadenas de texto generalizadas. La API Vertex AI Translation excluye las etiquetas de marcado de un elemento<seg>antes de procesar el archivo. Si un elemento<tuv>contiene más de un elemento<seg>, la API Vertex AI Translation concatena el texto en un único elemento e incluye un espacio entre las cadenas de texto.
Después de identificar los términos del glosario en tu glosario unidireccional, sube el archivo a un segmento de almacenamiento y ponlo a disposición de la API Vertex AI Translation creando e importando un glosario.
Glosario de conjuntos de términos equivalentes
La API Vertex AI Translation acepta archivos de glosario para conjuntos de términos equivalentes en formato CSV. Para definir conjuntos de términos equivalentes, crea un archivo CSV con varias columnas en el que cada fila incluya un término de glosario en varios idiomas. Consulta la lista de idiomas admitidos y sus códigos de idioma correspondientes.
En la siguiente imagen se muestra un ejemplo de archivo CSV con varias columnas. Cada fila representa un término de glosario y cada columna representa una traducción del término a diferentes idiomas.

El encabezado es la primera fila del archivo, que identifica el idioma de cada columna. La fila de encabezado usa los códigos de idioma estándar ISO-639-1 o BCP-47. La API Vertex AI Translation no usa información sobre la parte de la oración (pos) y no se validan los valores de posición específicos.
Cada fila posterior contiene términos de glosario equivalentes en los idiomas identificados en el encabezado. Puedes dejar columnas en blanco si el término no está disponible en todos los idiomas.
Después de identificar los términos del glosario en tu conjunto de términos equivalentes, sube el archivo a un segmento de almacenamiento y ponlo a disposición de la API Vertex AI Translation creando e importando un glosario.
Subir un archivo de glosario a un segmento de almacenamiento
Sigue estos pasos para subir un archivo de glosario a un segmento de almacenamiento:
- Configura la CLI gdcloud para el almacenamiento de objetos.
Crea un segmento de almacenamiento en el espacio de nombres de tu proyecto. Usa una clase de almacenamiento
Standard.Puedes crear el segmento de almacenamiento desplegando un recurso
Bucketen el espacio de nombres de tu proyecto:apiVersion: object.gdc.goog/v1 kind: Bucket metadata: name: glossary-bucket namespace: translation-glossary-project spec: description: bucket for translation glossary storageClass: Standard bucketPolicy: lockingPolicy: defaultObjectRetentionDays: 90Concede
readpermisos en el segmento a la cuenta de servicio (g-vai-translation-sie-sa) que usa el servicio Vertex AI Translation.Puedes seguir estos pasos para crear el rol y el enlace de rol mediante recursos personalizados:
Crea el rol desplegando un recurso
Roleen el espacio de nombres del proyecto:apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: ai-translation-glossary-reader namespace: translation-glossary-project rules: - apiGroups: - object.gdc.goog resources: - buckets verbs: - read-objectCrea el enlace de rol desplegando un recurso
RoleBindingen el espacio de nombres del proyecto:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: ai-translation-glossary-reader-rolebinding namespace: translation-glossary-project roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: ai-translation-glossary-reader subjects: - kind: ServiceAccount name: g-vai-translation-sie-sa namespace: g-vai-translation-sie
Sube tu archivo de glosario al segmento de almacenamiento que has creado. Para obtener más información, consulta el artículo Subir y descargar objetos de almacenamiento en proyectos.
Crear un glosario
El método CreateGlossary crea un glosario y devuelve el identificador de la
operación de larga duración que
genera el glosario.
Para crear un glosario, sustituye lo siguiente antes de usar los datos de la solicitud:
ENDPOINT: el endpoint de Vertex AI Translation que usas en tu organización. Para obtener más información, consulta el estado y los endpoints del servicio.PROJECT_ID: el ID del proyecto.GLOSSARY_ID: el ID de tu glosario, que es el nombre del recurso.BUCKET_NAME: el nombre del segmento de almacenamiento donde se encuentra el archivo de glosario.GLOSSARY_FILENAME: el nombre del archivo de glosario en el segmento de almacenamiento.
A continuación, se muestra la sintaxis de una solicitud HTTP para crear un glosario:
POST https://ENDPOINT/v3/projects/PROJECT_ID/glossaries
Según el archivo de glosario que hayas creado, elige una de las siguientes opciones para crear un glosario:
Unidireccional
Para crear un glosario unidireccional, especifica un par de idiomas (language_pair) con un idioma de origen (source_language_code) y un idioma de destino (target_language_code).
Sigue estos pasos para crear un glosario unidireccional:
Guarda el siguiente cuerpo de la solicitud en un archivo JSON llamado
request.json:{ "name":"projects/PROJECT_ID/glossaries/GLOSSARY_ID, "language_pair": { "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE" }, "{"input_config": { "s3_source": { "input_uri": "s3://BUCKET_NAME/GLOSSARY_FILENAME" } } }Haz los cambios siguientes:
SOURCE_LANGUAGE: el código de idioma del idioma de origen del glosario. Consulta la lista de idiomas admitidos y sus códigos de idioma correspondientes.TARGET_LANGUAGE: el código de idioma del idioma de destino del glosario. Consulta la lista de idiomas admitidos y sus códigos de idioma correspondientes.
Envía la solicitud. En los siguientes ejemplos se usan un método de la API REST y la línea de comandos, pero también puedes usar bibliotecas de cliente para crear un glosario unidireccional.
curl
curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://ENDPOINT/v3/projects/PROJECT_ID/glossaries"
Sustituye TOKEN por
el token de autenticación
que has obtenido.
PowerShell
$cred = TOKEN
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest
-Method POST
-Headers $headers
-ContentType: "application/json; charset=utf-8"
-InFile request.json
-Uri "https://ENDPOINT/v3/projects/PROJECT_ID/glossaries"
| Select-Object -Expand Content
Sustituye TOKEN por
el token de autenticación
que has obtenido.
Debes recibir una respuesta JSON similar a la siguiente:
{
"name": "projects/PROJECT_ID/operations/operation-id",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.CreateGlossaryMetadata",
"name": "projects/PROJECT_ID/glossaries/GLOSSARY_ID",
"state": "RUNNING",
"submitTime": TIME
}
}
Conjunto de términos equivalentes
Para crear un glosario de conjuntos de términos equivalentes, especifica un conjunto de idiomas
(language_codes_set) con los códigos de idioma (language_codes) del
glosario.
Sigue estos pasos para crear un glosario de conjuntos de términos equivalentes:
Guarda el siguiente cuerpo de la solicitud en un archivo JSON llamado
request.json:{ "name":"projects/PROJECT_ID/glossaries/GLOSSARY_ID", "language_codes_set": { "language_codes": ["LANGUAGE_CODE_1", "LANGUAGE_CODE_2", "LANGUAGE_CODE_3", ... ] }, "input_config": { "s3_source": { "input_uri": "s3://BUCKET_NAME/GLOSSARY_FILENAME" } } }Sustituye
LANGUAGE_CODEpor el código del idioma o los idiomas del glosario. Consulta la lista de idiomas admitidos y sus códigos de idioma correspondientes.Envía la solicitud:
curl
curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://ENDPOINT/v3/projects/PROJECT_ID/glossaries"
Sustituye TOKEN por
el token de autenticación
que has obtenido.
Debes recibir una respuesta JSON similar a la siguiente:
{
"name": "projects/PROJECT_ID/operations/GLOSSARY_ID,
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.CreateGlossaryMetadata",
"name": "projects/PROJECT_ID/glossaries/GLOSSARY_ID",
"state": "RUNNING",
"submitTime": TIME
}
}
PowerShell
$cred = TOKEN
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://ENDPOINT/v3/projects/PROJECT_ID/glossaries"
| Select-Object -Expand Content
Sustituye TOKEN por
el token de autenticación
que has obtenido.
Debes recibir una respuesta JSON similar a la siguiente:
{
"name": "projects/PROJECT_ID/operations/GLOSSARY_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.CreateGlossaryMetadata",
"name": "projects/PROJECT_ID/glossaries/GLOSSARY_ID",
"state": "RUNNING",
"submitTime": TIME
}
}
Python
Instala la versión más reciente de la biblioteca de cliente de Vertex AI Translation.
Define las variables de entorno necesarias en un script de Python.
Añade el siguiente código al script de Python que has creado:
from google.cloud import translate_v3 as translate def create_glossary( project_id=PROJECT_ID, input_uri= "s3://BUCKET_NAME/GLOSSARY_FILENAME", glossary_id=GLOSSARY_ID, timeout=180, ): client = translate.TranslationServiceClient() # Supported language codes source_lang_code = "LANGUAGE_CODE_1" target_lang_code = "LANGUAGE_CODE_2", "LANGUAGE_CODE_3", ...Guarda el script de Python.
Ejecuta el script de Python:
python SCRIPT_NAME
Sustituye SCRIPT_NAME por el nombre que le has asignado a tu script de Python, como glossary.py.
Para obtener más información sobre el método create_glossary, consulta la biblioteca de cliente de Python.
En función del tamaño del archivo de glosario, la creación de un glosario suele tardar menos de 10 minutos. Puedes consultar el estado de esta operación para saber cuándo ha terminado.
Obtener un glosario
El método GetGlossary devuelve un glosario almacenado. Si el glosario no existe, la salida devuelve el valor NOT_FOUND. Para llamar al método GetGlossary, especifica el ID de tu proyecto y el ID del glosario. Tanto el
CreateGlossary como ListGlossaries
métodos devuelven el ID del glosario.
Por ejemplo, las siguientes solicitudes devuelven información sobre un glosario específico de tu proyecto:
curl
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"http://ENDPOINT/v3/projects/PROJECT_ID/glossaries/GLOSSARY_ID"
Sustituye TOKEN por
el token de autenticación
que has obtenido.
Python
from google.cloud import translate_v3 as translate
def get_glossary(project_id="PROJECT_ID", glossary_id="GLOSSARY_ID"):
"""Get a particular glossary based on the glossary ID."""
client = translate.TranslationServiceClient()
name = client.glossary_path(project_id, glossary_id)
response = client.get_glossary(name=name)
print(u"Glossary name: {}".format(response.name))
print(u"Input URI: {}".format(response.input_config.s3_source.input_uri))
Mostrar glosarios
El método ListGlossaries devuelve una lista de IDs de glosario de un proyecto. Si un glosario no existe, la salida devuelve el valor NOT_FOUND. Para llamar al
ListGlossaries método, especifica el ID del proyecto y el
endpoint de Vertex AI Translation.
Por ejemplo, la siguiente solicitud devuelve una lista de IDs de glosario de tu proyecto:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"http://ENDPOINT/v3/projects/PROJECT_ID/glossaries?page_size=10"
Sustituye TOKEN por
el token de autenticación
que has obtenido.
Eliminar un glosario
El método DeleteGlossary elimina un glosario. Si el glosario no existe, la salida devuelve el valor NOT_FOUND. Para llamar al método DeleteGlossary,
especifica el ID de tu proyecto, el ID del glosario y el
endpoint de Vertex AI Translation.
Tanto el
CreateGlossary como ListGlossaries
métodos devuelven el ID del glosario.
Por ejemplo, la siguiente solicitud elimina un glosario de tu proyecto:
curl -X DELETE \
-H "Authorization: Bearer TOKEN" \
"http://ENDPOINT/v3/projects/PROJECT_ID/glossaries/GLOSSARY_ID"
Sustituye TOKEN por
el token de autenticación
que has obtenido.