Especificar opciones de traducción

Completado

La función translate de la API admite numerosos parámetros que afectan a la salida.

Alineación de las palabras

En inglés escrito (mediante el script Latin), se usan espacios para separar las palabras. Sin embargo, en algunos otros idiomas (y más específicamente, en scripts), esto no siempre es así.

Por ejemplo, la traducción de "Smart Services" de en (inglés) a zh (chino simplificado) genera el resultado "智能服务" y es difícil comprender la relación entre los caracteres del texto de origen y los caracteres correspondientes de la traducción. Para resolver este problema, puede especificar el parámetro includeAlignment con el valor true en su llamada para generar el siguiente resultado:

[
   {
      "translations":[
         {
            "text":"智能服务",
            "to":"zh-Hans",
            "alignment":{
               "proj":"0:4-0:1 6:13-2:3"
            }
         }
      ]
   }
]

Estos resultados nos indican que los caracteres del 0 al 4 del origen corresponden a los caracteres del 0 al 1 de la traducción, mientras que los caracteres del 6 al 13 del origen corresponden a los caracteres del 2 al 3 de la traducción.

Longitud de oración

A veces puede ser útil conocer la longitud de una traducción, por ejemplo, para determinar la mejor manera de mostrarla en una interfaz de usuario. Puede obtener esta información estableciendo el parámetro includeSentenceLength en true.

Por ejemplo, si se especifica este parámetro al traducir el texto inglés (en) "Hello world" al francés (fr), se generan los resultados siguientes:

[
   {
      "translations":[
         {
            "text":"Salut tout le monde",
            "to":"fr",
            "sentLen":{"srcSentLen":[12],"transSentLen":[20]}
         }
      ]
   }
]

Filtrado de lenguaje obsceno

A veces, el texto contiene obscenidades, que es posible que quiera ocultar u omitir por completo en una traducción. Puede controlar las obscenidades especificando el parámetro profanityAction, que puede tener uno de los siguientes valores:

  • NoAction: las palabras obscenas se traducen junto con el resto del texto.
  • Deleted: las palabras obscenas se omiten en la traducción.
  • Marked: las palabras obscenas se indican mediante la técnica indicada en el parámetro profanityMarker (si se proporciona). El valor predeterminado de este parámetro es Asterisk, que reemplaza los caracteres de las palabras obscenas por "*". Como alternativa, puede especificar un valor profanityMarker de Etiqueta, que hace que las blasfemias se incluyan en etiquetas XML.

Por ejemplo al traducir el texto en inglés (en) "JSON is ▇▇▇▇ great!" (donde la palabra bloqueada es una obscenidad) al alemán (de) con un parámetro profanityAction con el valorMarked y profanityMarker con el valor Asterisk se genera el siguiente resultado:

[
   {
      "translations":[
         {
            "text":"JSON ist *** erstaunlich.",
            "to":"de"
         }
      ]
   }
]

Nota:

Para obtener más información sobre las opciones de traducción, incluidas algunas que no se describen aquí, consulte la documentación de la API Traductor de Azure AI.