Especificar opções de tradução
A função Translate da API suporta vários parâmetros que afetam a saída.
Alinhamento de palavras
Em inglês escrito (usando escrita latina), os espaços são usados para separar palavras. No entanto, em algumas outras línguas (e mais especificamente, scripts) este nem sempre é o caso.
Por exemplo, traduzir "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 true em sua chamada para produzir o seguinte resultado:
[
{
"translations":[
{
"text":"智能服务",
"to":"zh-Hans",
"alignment":{
"proj":"0:4-0:1 6:13-2:3"
}
}
]
}
]
Estes resultados dizem-nos que os caracteres 0 a 4 na fonte correspondem aos caracteres 0 a 1 na tradução, enquanto os caracteres 6 a 13 na fonte correspondem aos caracteres 2 a 3 na tradução.
Comprimento da frase
Às vezes, pode ser útil saber o tamanho de uma tradução, por exemplo, para determinar a melhor forma de exibi-la em uma interface do usuário. Você pode obter essas informações definindo o parâmetro includeSentenceLength como true.
Por exemplo, especificar este parâmetro ao traduzir o texto inglês (en) "Hello world" para francês (fr) produz os seguintes resultados:
[
{
"translations":[
{
"text":"Salut tout le monde",
"to":"fr",
"sentLen":{"srcSentLen":[12],"transSentLen":[20]}
}
]
}
]
Filtragem de palavrões
Às vezes, o texto contém palavrões, que você pode querer obscurecer ou omitir completamente em uma tradução. Você pode manipular palavrões especificando o parâmetro profanityAction , que pode ter um dos seguintes valores:
- NoAction: Os palavrões são traduzidos juntamente com o resto do texto.
- Suprimido: Os palavrões são omitidos na tradução.
- Marcado: Os palavrões são indicados usando a técnica indicada no parâmetro profanityMarker (se fornecido). O valor padrão para este parâmetro é Asterisk, que substitui caracteres em palavrões por "*". Como alternativa, você pode especificar um valor profanityMarker de Tag, que faz com que os palavrões sejam incluídos em tags XML.
Por exemplo, traduzindo o texto em inglês (en) "JSON is ▇▇▇▇ great!" (onde a palavra bloqueada é um palavrão) para alemão (de) com um palavrãoAção de Marcado e um palavrãoMarcador de Asterisk produz o seguinte resultado:
[
{
"translations":[
{
"text":"JSON ist *** erstaunlich.",
"to":"de"
}
]
}
]
Nota
Para saber mais sobre as opções de tradução, incluindo algumas não descritas aqui, consulte a documentação da API do Azure AI Translator.