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 …/entriesda 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 …/entrieslas lista; conq, 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.