Especificar opções de tradução
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.