TranslaQEDesarrolladores

Memorias y glosarios

Sube tus memorias de traducción y tus glosarios, mantenlos al día entrada a entrada y agrúpalos en proyectos.

Las memorias y los glosarios son la manera de que el motor traduzca como tú. Cada uno es de un par de idiomas, y se usan nombrándolos al traducir.

Memoria de traducción Glosario
Qué guarda Frases que ya has traducido. Términos que hay que traducir siempre igual.
Qué hace Una frase que está en la memoria no va al motor. Las coincidencias parecidas guían la traducción. Sus términos se aplican en cada frase en la que aparecen.
Id tm_… gl_…
Ficheros TMX, CSV, TSV TBX, CSV, TSV
Rutas /v1/memories /v1/glossaries

Subir un fichero

Manda el fichero en un formulario (multipart/form-data) con sus dos idiomas. La respuesta es 202 con la memoria o el glosario en el estado indexing: se están leyendo sus entradas. Cuando el estado es ready, ya se puede usar.

AUTH="Authorization: Bearer $TRANSLAQE_API_KEY"

# A translation memory, from a TMX file. It is ready when its status is "ready".
curl -s https://api.translaqe.com/v1/memories -H "$AUTH" \
  -F "[email protected]" -F "source_lang=es" -F "target_lang=en" -F "name=Legal ES-EN"

# An empty glossary, filled term by term.
curl -s https://api.translaqe.com/v1/glossaries -H "$AUTH" \
  -H "Content-Type: application/json" \
  -d '{"name": "Legal terms", "source_lang": "es", "target_lang": "en"}'

curl -s https://api.translaqe.com/v1/glossaries/gl_3f9a1c2b7d5e4f60a1b2c3d4e5f60718/entries \
  -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"source": "preaviso", "target": "notice period"}'

Para saber cuándo está listo, pídelo (GET /v1/memories/{id}), sigue su trabajo (job_id, en GET /v1/jobs/{job_id}) o da un webhook_url al subirlo. Si acaba failed, error_code dice por qué: invalid_resource, empty_resource.

Un CSV o un TSV tiene que estar en UTF-8, con el origen en la primera columna y el destino en la segunda. Si la primera fila nombra los idiomas (es, en), se usan esas columnas, estén donde estén. Un fichero puede pesar hasta 50 MB.

O crearlo entrada a entrada

Manda JSON en vez de un fichero y tienes una memoria o un glosario vacío, listo al momento (201). Después, las entradas de una en una:

  • POST …/entries da de alta una entrada. Si ya había una con ese origen, la sustituye (200); si es nueva, 201.
  • PATCH …/entries/{entry_id} cambia el destino de una entrada.
  • DELETE …/entries/{entry_id} la borra.
  • GET …/entries las lista; con q, las que tienen el origen más parecido a un texto.

Una entrada se puede usar desde que se da de alta. Así se mantiene vivo un glosario desde tu propia herramienta de terminología, o se alimenta una memoria con lo que aprueban tus revisores.

Usarlos

Nómbralos en memory_ids y glossary_ids al traducir texto o un documento: hasta 20 de cada, y todos del par de idiomas de la petición. Uno que es de otro par se rechaza con 400 (resource-language-mismatch).

Proyectos

Un proyecto junta las memorias y los glosarios de un cliente o de un tipo de contenido. Se ponen una vez:

PUT /v1/projects/prj_…/resources/tm_… HTTP/1.1
Authorization: Bearer tq_live_…

Después se traduce con project_id y se usan todos los de ese par de idiomas, sin nombrarlos cada vez. Los documentos que se mandan con un proyecto salen en su lista (GET /v1/jobs?project_id=prj_…).

Alimentar la memoria con lo que se revisa

Cuando un documento ya está revisado, POST /v1/jobs/{job_id}/review añade a una memoria las frases que una persona escribió o aprobó. Es el circuito que hace que cada traducción salga más barata y más parecida a tu estilo que la anterior.