TranslaQEDesarrolladores

Traducir texto

Traduce frases, posedita traducciones que ya tienes, adapta el motor a tus términos y lee la nota de calidad.

POST /v1/translate traduce frases y responde en la misma petición. Sirve para el texto que tienes en tu propio sistema: una ficha de producto, una incidencia de soporte, una cadena de tu aplicación. Para ficheros enteros, mira Traducir documentos.

Frases, no textos

La API trabaja frase a frase: cada elemento de segments es una frase, y cada una recibe su traducción y su nota. Parte tu texto en frases antes de mandarlo y vuelve a juntar las traducciones en el mismo orden.

Límite Valor
Frases por petición 50
Caracteres por frase 2.000
Caracteres por petición 10.000

La petición es todo o nada. Si ningún modelo da una traducción válida de alguna frase, la respuesta es 422 con el tipo translation-failed, y errors dice cuáles son (segments.3). Repetir la misma petición da el mismo resultado: quita esas frases o cámbialas.

Que traduzca a tu manera

Sin más, el motor da una buena traducción general. Estos campos la hacen tuya:

  • memory_ids: memorias de traducción que tienes guardadas. Una frase que ya está en una memoria sale de ella, no del motor, y las coincidencias parecidas guían la traducción.
  • glossary_ids: glosarios guardados. Sus términos se aplican, y cada frase dice cuáles en applied_terms.
  • glossary: términos solo para esta petición, sin guardarlos.
  • instructions: el estilo, con palabras, hasta 2.000 caracteres: «Español de México. Trato de usted. No traduzcas los nombres de producto». Mandan sobre los glosarios y las memorias.
  • project_id: un proyecto, para usar de una vez todas sus memorias y todos sus glosarios de ese par de idiomas.
curl https://api.translaqe.com/v1/translate \
  -H "Authorization: Bearer $TRANSLAQE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_lang": "es",
    "target_lang": "en",
    "segments": ["El preaviso será de 30 días."],
    "memory_ids": ["tm_5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d"],
    "glossary_ids": ["gl_3f9a1c2b7d5e4f60a1b2c3d4e5f60718"],
    "glossary": [{"source": "preaviso", "target": "notice period"}],
    "instructions": "British English. Formal register."
  }'

Las memorias y los glosarios tienen que ser del par de idiomas de la petición, y se pueden nombrar hasta 20 de cada.

Poseditar una traducción que ya tienes

Manda una frase como {source, target} en vez de como texto y el motor corrige lo que esté mal en tu traducción y deja lo demás como está. La frase vuelve con status: "post_edited", changed (si se tocó algo) y explanation (qué se corrigió).

{
  "source_lang": "es",
  "target_lang": "en",
  "segments": [
    {
      "source": "Se aplicará la tarifa vigente en el momento del pedido.",
      "target": "It will apply the tariff in force in the moment of the order."
    }
  ]
}

Leer cada frase

Campo Qué te dice
target La traducción.
score La calidad, de 0 a 100; null si no hay nota.
band fiable (85 o más), revisar (de 60 a 84), rehacer (menos de 60) o sin-nota.
origin engine, o memory si salió de una de tus memorias.
status translated, post_edited, matched (de una memoria), repeated (ya la habías traducido: se reutiliza) o untranslatable (no había nada que traducir).
applied_terms Los términos de glosario que se aplicaron.
checks Lo que encontraron las comprobaciones automáticas: un número que no coincide, una marca de formato que falta, un término sin aplicar, un texto sin traducir.

Una regla habitual: publicar las fiable tal cual, mandar las revisar a un revisor y volver a traducir las rehacer, o poseditarlas.

Para traducir sin nota, manda qe: false. Es algo más rápido, y cada frase vuelve con score: null.

Poner nota a traducciones que ya tienes

POST /v1/qe pone nota a traducciones hechas con cualquier motor o por personas, hasta 100 por petición, sin necesidad de una traducción de referencia. Poner nota no gasta caracteres de tu plan.

curl https://api.translaqe.com/v1/qe \
  -H "Authorization: Bearer $TRANSLAQE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_lang": "es",
    "target_lang": "en",
    "items": [
      {
        "source": "Se aplicará la tarifa vigente en el momento del pedido.",
        "target": "It will apply the tariff in force in the moment of the order."
      }
    ]
  }'

Idiomas

GET /v1/languages da los idiomas desde los que se puede traducir y a los que se puede traducir. Los que llevan qe: true tienen nota de calidad validada; los demás también se traducen, con la franja sin-nota. Los códigos son BCP 47: es, en, pt-BR, zh-Hans.

Qué cuenta en tu plan

Los caracteres de las frases de origen que traduces. Poner nota con /v1/qe no cuenta. GET /v1/plan dice lo que te queda; cuando no alcanza para una petición, la respuesta es 402 con el tipo quota-exceeded.