Especificar opções de tradução

Concluído

A função Translate da API dá suporte a vários parâmetros que afetam a saída.

Alinhamento de palavras

No inglês escrito (usando o script latino), os espaços são usados para separar palavras. No entanto, em alguns outros idiomas (e, mais especificamente, scripts), esse não é sempre o caso.

Por exemplo, a tradução de "Serviços inteligentes" de en (Inglês) para zh (Chinês Simplificado) produz o resultado "智能服务", e é difícil entender a relação entre os caracteres no texto de origem e os caracteres correspondentes na tradução. Para resolver esse problema, você pode especificar o parâmetro includeAlignment com um valor de true em sua chamada para produzir o seguinte resultado:

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

Esses resultados nos dizem que os caracteres 0 a 4 na fonte correspondem aos caracteres 0 a 1 na tradução, enquanto os caracteres 6 a 13 na origem correspondem aos caracteres 2 a 3 na tradução.

Comprimento da sentença

Às vezes, pode ser útil saber o comprimento de uma tradução, por exemplo, para determinar a melhor maneira de exibi-la em uma interface do usuário. Você pode obter essas informações ao definir o parâmetro includeSentenceLength como true.

Por exemplo, a especificação desse parâmetro ao traduzir o texto em inglês (en) "Olá, mundo" para o francês (fr) produz os seguintes resultados:

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

Filtro de conteúdo ofensivo

Às vezes, o texto tem conteúdo ofensivo, que talvez você queira obscurecer ou omitir completamente em uma tradução. Você pode lidar com esse tipo de conteúdo especificando o parâmetro profanityAction, que pode ter um dos seguintes valores:

  • NoAction: o conteúdo ofensivo é traduzido junto com o restante do texto.
  • Deleted: o conteúdo ofensivo é omitido na tradução.
  • Marked: o conteúdo ofensivo é destacado usando a técnica indicada no parâmetro profanityMarker (se fornecido). O valor padrão para esse parâmetro é Asterisk, que substitui os caracteres do conteúdo ofensivo por "*". Como alternativa, você pode especificar o valor de profanityMarker como Tag, fazendo com que o conteúdo ofensivo seja colocado entre tags XML.

Por exemplo, traduzir o texto em inglês (en) "JSON é ▇▇▇▇ great!" (em que a palavra ocultada é uma blasfêmia) para o alemão (de) com uma profanityAction de Marked e um profanityMarker de Asterisk produz o seguinte resultado:

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

Observação

Para saber mais sobre as opções de tradução, incluindo algumas não descritas aqui, confira a Documentação da API do Tradutor de IA do Azure.