Tradutor 3.0: TraduzirTranslator 3.0: Translate

Traduz texto.Translates text.

URL do PedidoRequest URL

Envie um POST pedido para:Send a POST request to:

https://api.cognitive.microsofttranslator.com/translate?api-version=3.0

Parâmetros de pedidoRequest parameters

Os parâmetros de pedido passados na cadeia de consulta são:Request parameters passed on the query string are:

Parâmetros necessáriosRequired parameters

Parâmetro de consultaQuery parameter DescriçãoDescription
api-versionapi-version Parâmetro requerido.Required parameter.
Versão da API solicitada pelo cliente.Version of the API requested by the client. O valor deve 3.0 ser.Value must be 3.0.
parato Parâmetro requerido.Required parameter.
Especifica a linguagem do texto de saída.Specifies the language of the output text. A língua-alvo deve ser uma das línguas apoiadas incluídas no translation âmbito.The target language must be one of the supported languages included in the translation scope. Por exemplo, use to=de para traduzir para alemão.For example, use to=de to translate to German.
É possível traduzir para várias línguas simultaneamente repetindo o parâmetro na cadeia de consulta.It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. Por exemplo, use to=de&to=it para traduzir para alemão e italiano.For example, use to=de&to=it to translate to German and Italian.

Parâmetros opcionaisOptional parameters

Parâmetro de consultaQuery parameter DescriçãoDescription
Defrom Parâmetro opcional.Optional parameter.
Especifica a linguagem do texto de entrada.Specifies the language of the input text. Descubra quais línguas estão disponíveis para traduzir a partir da procura de idiomas suportados usando o translation âmbito.Find which languages are available to translate from by looking up supported languages using the translation scope. Se o from parâmetro não for especificado, a deteção automática da linguagem é aplicada para determinar a língua de origem.If the from parameter is not specified, automatic language detection is applied to determine the source language.

Deve utilizar o from parâmetro em vez de autodetecção quando utilizar a função dinâmica do dicionário.You must use the from parameter rather than autodetection when using the dynamic dictionary feature.
textoTypetextType Parâmetro opcional.Optional parameter.
Define se o texto que está a ser traduzido é texto simples ou texto HTML.Defines whether the text being translated is plain text or HTML text. Qualquer HTML tem de ser um elemento completo e bem formado.Any HTML needs to be a well-formed, complete element. Os valores possíveis são: plain (padrão) ouPossible values are: plain (default) or html..
categoriacategory Parâmetro opcional.Optional parameter.
Uma cadeia especificando a categoria (domínio) da tradução.A string specifying the category (domain) of the translation. Este parâmetro é utilizado para obter traduções de um sistema personalizado construído com Tradutor Personalizado.This parameter is used to get translations from a customized system built with Custom Translator. Adicione o ID de categoria dos detalhes do seu projeto De Tradutor Personalizado a este parâmetro para utilizar o seu sistema personalizado implantado.Add the Category ID from your Custom Translator project details to this parameter to use your deployed customized system. O valor predefinido é: general .Default value is: general.
profanidadeAcçãoprofanityAction Parâmetro opcional.Optional parameter.
Especifica como as profanidades devem ser tratadas nas traduções.Specifies how profanities should be treated in translations. Os valores possíveis são: NoAction (padrão), Marked ou Deleted .Possible values are: NoAction (default), Marked or Deleted. Para compreender formas de tratar a profanação, consulte o tratamento da Profanação.To understand ways to treat profanity, see Profanity handling.
profanidadeMarkerprofanityMarker Parâmetro opcional.Optional parameter.
Especifica como as profanidades devem ser marcadas nas traduções.Specifies how profanities should be marked in translations. Os valores possíveis são: Asterisk (padrão) ou Tag .Possible values are: Asterisk (default) or Tag. Para compreender formas de tratar a profanação, consulte o tratamento da Profanação.To understand ways to treat profanity, see Profanity handling.
incluirAlignmentincludeAlignment Parâmetro opcional.Optional parameter.
Especifica se deve incluir a projeção de alinhamento do texto de origem para o texto traduzido.Specifies whether to include alignment projection from source text to translated text. Os valores possíveis são: true ou false (padrão).Possible values are: true or false (default).
incluiSentenceLengthincludeSentenceLength Parâmetro opcional.Optional parameter.
Especifica se deve incluir limites de frase para o texto de entrada e o texto traduzido.Specifies whether to include sentence boundaries for the input text and the translated text. Os valores possíveis são: true ou false (padrão).Possible values are: true or false (default).
sugeriuFromsuggestedFrom Parâmetro opcional.Optional parameter.
Especifica uma linguagem de recuo se a linguagem do texto de entrada não puder ser identificada.Specifies a fallback language if the language of the input text can't be identified. A deteção automática da linguagem é aplicada quando o from parâmetro é omitido.Language auto-detection is applied when the from parameter is omitted. Se a deteção falhar, a suggestedFrom linguagem será assumida.If detection fails, the suggestedFrom language will be assumed.
fromScriptfromScript Parâmetro opcional.Optional parameter.
Especifica o script do texto de entrada.Specifies the script of the input text.
toScripttoScript Parâmetro opcional.Optional parameter.
Especifica o script do texto traduzido.Specifies the script of the translated text.
permitir o RetornoallowFallback Parâmetro opcional.Optional parameter.
Especifica que o serviço é permitido recorrer a um sistema geral quando um sistema personalizado não existe.Specifies that the service is allowed to fallback to a general system when a custom system does not exist. Os valores possíveis são: true (padrão) ou false .Possible values are: true (default) or false.

allowFallback=false especifica que a tradução deve utilizar apenas sistemas treinados para o category especificado pelo pedido.allowFallback=false specifies that the translation should only use systems trained for the category specified by the request. Se uma tradução para a linguagem X para a língua Y requer acorrentar através de uma linguagem pivô E, então todos os sistemas da cadeia (X->E e E->Y) terão de ser personalizados e ter a mesma categoria.If a translation for language X to language Y requires chaining through a pivot language E, then all the systems in the chain (X->E and E->Y) will need to be custom and have the same category. Se não for encontrado nenhum sistema com a categoria específica, o pedido devolverá um código de estado de 400.If no system is found with the specific category, the request will return a 400 status code. allowFallback=true especifica que o serviço é autorizado a recorrer a um sistema geral quando um sistema personalizado não existe.allowFallback=true specifies that the service is allowed to fallback to a general system when a custom system does not exist.

Os cabeçalhos de pedido incluem:Request headers include:

CabeçalhosHeaders DescriçãoDescription
Cabeçalho de autenticaçãoAuthentication header(s) Cabeçalho de pedido necessário.Required request header.
Consulte as opções disponíveis para autenticação.See available options for authentication.
Content-TypeContent-Type Cabeçalho de pedido necessário.Required request header.
Especifica o tipo de conteúdo da carga útil.Specifies the content type of the payload.
O valor aceite application/json; charset=UTF-8 é.Accepted value is application/json; charset=UTF-8.
Comprimento do conteúdoContent-Length Cabeçalho de pedido necessário.Required request header.
O comprimento do corpo do pedido.The length of the request body.
X-ClientTraceIdX-ClientTraceId Opcional.Optional.
Um GUID gerado pelo cliente para identificar exclusivamente o pedido.A client-generated GUID to uniquely identify the request. Pode omitir este cabeçalho se incluir o ID de traço na cadeia de consulta utilizando um parâmetro de consulta denominado ClientTraceId .You can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.

Corpo do pedidoRequest body

O corpo do pedido é uma matriz JSON.The body of the request is a JSON array. Cada elemento de matriz é um objeto JSON com uma propriedade de corda chamada Text , que representa a corda para traduzir.Each array element is a JSON object with a string property named Text, which represents the string to translate.

[
    {"Text":"I would really like to drive your car around the block a few times."}
]

Aplicam-se as seguintes limitações:The following limitations apply:

  • A matriz pode ter no máximo 100 elementos.The array can have at most 100 elements.
  • Todo o texto incluído no pedido não pode exceder 10.000 caracteres, incluindo espaços.The entire text included in the request cannot exceed 10,000 characters including spaces.

Corpo da respostaResponse body

Uma resposta bem sucedida é uma matriz JSON com um resultado para cada cadeia na matriz de entrada.A successful response is a JSON array with one result for each string in the input array. Um objeto de resultado inclui as seguintes propriedades:A result object includes the following properties:

  • detectedLanguage: Um objeto que descreve a linguagem detetada através das seguintes propriedades:detectedLanguage: An object describing the detected language through the following properties:

    • language: Uma cadeia que representa o código da língua detetada.language: A string representing the code of the detected language.

    • score: Um valor flutuante que indique a confiança no resultado.score: A float value indicating the confidence in the result. A pontuação é entre zero e um e uma pontuação baixa indica uma baixa confiança.The score is between zero and one and a low score indicates a low confidence.

    A detectedLanguage propriedade só está presente no objeto de resultado quando é solicitada a deteção automática da linguagem.The detectedLanguage property is only present in the result object when language auto-detection is requested.

  • translations: Uma série de resultados de tradução.translations: An array of translation results. O tamanho da matriz corresponde ao número de línguas-alvo especificados através do to parâmetro de consulta.The size of the array matches the number of target languages specified through the to query parameter. Cada elemento da matriz inclui:Each element in the array includes:

    • to: Uma cadeia que representa o código linguístico da língua-alvo.to: A string representing the language code of the target language.

    • text: Uma corda que dá o texto traduzido.text: A string giving the translated text.

    • transliteration: Um objeto que dá o texto traduzido no roteiro especificado pelo toScript parâmetro.transliteration: An object giving the translated text in the script specified by the toScript parameter.

      • script: Uma cadeia especificando o script do alvo.script: A string specifying the target script.

      • text: Uma cadeia que dá o texto traduzido no script-alvo.text: A string giving the translated text in the target script.

    O transliteration objeto não está incluído se a transliteração não ocorrer.The transliteration object is not included if transliteration does not take place.

    • alignment: Um objeto com uma única propriedade de corda chamada proj , que mapeia texto de entrada para texto traduzido.alignment: An object with a single string property named proj, which maps input text to translated text. A informação de alinhamento só é fornecida quando o parâmetro de pedido includeAlignment é true .The alignment information is only provided when the request parameter includeAlignment is true. O alinhamento é devolvido como um valor de cadeia do seguinte formato: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]] .Alignment is returned as a string value of the following format: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]. O cólon separa o índice de início e fim, o traço separa as línguas, e o espaço separa as palavras.The colon separates start and end index, the dash separates the languages, and space separates the words. Uma palavra pode alinhar-se com zero, uma ou múltiplas palavras na outra língua, e as palavras alinhadas podem ser não contíguas.One word may align with zero, one, or multiple words in the other language, and the aligned words may be non-contiguous. Quando não houver informação de alinhamento disponível, o elemento de alinhamento estará vazio.When no alignment information is available, the alignment element will be empty. Consulte obter informações de alinhamento para um exemplo e restrições.See Obtain alignment information for an example and restrictions.

    • sentLen: Um objeto que devolve limites de frase nos textos de entrada e saída.sentLen: An object returning sentence boundaries in the input and output texts.

      • srcSentLen: Uma matriz inteiro que representa os comprimentos das frases no texto de entrada.srcSentLen: An integer array representing the lengths of the sentences in the input text. O comprimento da matriz é o número de frases, e os valores são o comprimento de cada frase.The length of the array is the number of sentences, and the values are the length of each sentence.

      • transSentLen: Uma matriz inteiro que representa os comprimentos das frases no texto traduzido.transSentLen: An integer array representing the lengths of the sentences in the translated text. O comprimento da matriz é o número de frases, e os valores são o comprimento de cada frase.The length of the array is the number of sentences, and the values are the length of each sentence.

    Os limites da frase só são incluídos quando o parâmetro de pedido includeSentenceLength é true .Sentence boundaries are only included when the request parameter includeSentenceLength is true.

  • sourceText: Um objeto com uma única propriedade de corda denominada text , que dá o texto de entrada no script padrão do idioma de origem.sourceText: An object with a single string property named text, which gives the input text in the default script of the source language. sourceText a propriedade só está presente quando a entrada é expressa num script que não é o script habitual para a língua.sourceText property is present only when the input is expressed in a script that's not the usual script for the language. Por exemplo, se a entrada fosse em árabe escrita em alfabeto latino, então sourceText.text seria o mesmo texto árabe convertido em script árabe.For example, if the input were Arabic written in Latin script, then sourceText.text would be the same Arabic text converted into Arab script.

Exemplo das respostas do JSON são fornecidas na secção de exemplos.Example of JSON responses are provided in the examples section.

Cabeçalhos de respostaResponse headers

CabeçalhosHeaders DescriçãoDescription
X-RequestIdX-RequestId Valor gerado pelo serviço para identificar o pedido.Value generated by the service to identify the request. É utilizado para resolução de problemas.It is used for troubleshooting purposes.
X-MT-SistemaX-MT-System Especifica o tipo de sistema que foi utilizado para a tradução de cada idioma 'para' solicitado para tradução.Specifies the system type that was used for translation for each ‘to’ language requested for translation. O valor é uma lista de cordas separada por vírgulas.The value is a comma-separated list of strings. Cada corda indica um tipo:Each string indicates a type:
  • Personalizado - O pedido inclui um sistema personalizado e pelo menos um sistema personalizado foi utilizado durante a tradução.Custom - Request includes a custom system and at least one custom system was used during translation.
  • Equipa - Todos os outros pedidosTeam - All other requests

Códigos de estado de respostaResponse status codes

Seguem-se os possíveis códigos de estado HTTP que um pedido devolve.The following are the possible HTTP status codes that a request returns.

Código de EstadoStatus Code DescriçãoDescription
200200 Com êxito.Success.
400400 Um dos parâmetros de consulta está em falta ou não é válido.One of the query parameters is missing or not valid. Corretos parâmetros de pedido antes de voltar a tentar.Correct request parameters before retrying.
401401 O pedido não pôde ser autenticado.The request could not be authenticated. Verifique se as credenciais são especificadas e válidas.Check that credentials are specified and valid.
403403 O pedido não está autorizado.The request is not authorized. Verifique a mensagem de erro dos detalhes.Check the details error message. Isto indica frequentemente que todas as traduções gratuitas fornecidas com uma subscrição experimental foram utilizadas.This often indicates that all free translations provided with a trial subscription have been used up.
408408 O pedido não pôde ser satisfeito porque falta um recurso.The request could not be fulfilled because a resource is missing. Verifique a mensagem de erro dos detalhes.Check the details error message. Ao utilizar um category personalizado, isto indica frequentemente que o sistema de tradução personalizado ainda não está disponível para atender pedidos.When using a custom category, this often indicates that the custom translation system is not yet available to serve requests. O pedido deve ser novamente julgado após um período de espera (por exemplo, 1 minuto).The request should be retried after a waiting period (e.g. 1 minute).
429429 O servidor rejeitou o pedido porque o cliente excedeu os limites de pedido.The server rejected the request because the client has exceeded request limits.
500500 Ocorreu um erro inesperado.An unexpected error occurred. Se o erro persistir, informe-o com: data e hora da falha, solicite o identificador do cabeçalho de resposta X-RequestId e o identificador do cliente do cabeçalho do pedido X-ClientTraceId .If the error persists, report it with: date and time of the failure, request identifier from response header X-RequestId, and client identifier from request header X-ClientTraceId.
503503 Servidor temporariamente indisponível.Server temporarily unavailable. Recandidutar o pedido.Retry the request. Se o erro persistir, informe-o com: data e hora da falha, solicite o identificador do cabeçalho de resposta X-RequestId e o identificador do cliente do cabeçalho do pedido X-ClientTraceId .If the error persists, report it with: date and time of the failure, request identifier from response header X-RequestId, and client identifier from request header X-ClientTraceId.

Se ocorrer um erro, o pedido também devolverá uma resposta de erro JSON.If an error occurs, the request will also return a JSON error response. O código de erro é um número de 6 dígitos que combina o código de estado HTTP de 3 dígitos seguido de um número de 3 dígitos para categorizar ainda mais o erro.The error code is a 6-digit number combining the 3-digit HTTP status code followed by a 3-digit number to further categorize the error. Os códigos de erro comuns podem ser encontrados na página de referência do Tradutor V3.Common error codes can be found on the v3 Translator reference page.

ExemplosExamples

Traduzir uma única entradaTranslate a single input

Este exemplo mostra como traduzir uma única frase do inglês para o chinês simplificado.This example shows how to translate a single sentence from English to Simplified Chinese.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"

O corpo de resposta é:The response body is:

[
    {
        "translations":[
            {"text":"你好, 你叫什么名字?","to":"zh-Hans"}
        ]
    }
]

A translations matriz inclui um elemento, que fornece a tradução da única peça de texto na entrada.The translations array includes one element, which provides the translation of the single piece of text in the input.

Traduza uma única entrada com a deteção automática da linguagemTranslate a single input with language auto-detection

Este exemplo mostra como traduzir uma única frase do inglês para o chinês simplificado.This example shows how to translate a single sentence from English to Simplified Chinese. O pedido não especifica o idioma de entrada.The request does not specify the input language. Em vez disso, é utilizada a deteção automática do idioma de origem.Auto-detection of the source language is used instead.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"

O corpo de resposta é:The response body is:

[
    {
        "detectedLanguage": {"language": "en", "score": 1.0},
        "translations":[
            {"text": "你好, 你叫什么名字?", "to": "zh-Hans"}
        ]
    }
]

A resposta é semelhante à resposta do exemplo anterior.The response is similar to the response from the previous example. Uma vez que a deteção automática da língua foi solicitada, a resposta também inclui informações sobre a linguagem detetada para o texto de entrada.Since language auto-detection was requested, the response also includes information about the language detected for the input text. A deteção automática do idioma funciona melhor com texto de entrada mais longo.The language auto-detection works better with longer input text.

Traduzir com transliteraçãoTranslate with transliteration

Vamos estender o exemplo anterior adicionando transliteração.Let's extend the previous example by adding transliteration. O seguinte pedido pede uma tradução chinesa escrita em escrita em latim.The following request asks for a Chinese translation written in Latin script.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=zh-Hans&toScript=Latn" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"

O corpo de resposta é:The response body is:

[
    {
        "detectedLanguage":{"language":"en","score":1.0},
        "translations":[
            {
                "text":"你好, 你叫什么名字?",
                "transliteration":{"script":"Latn", "text":"nǐ hǎo , nǐ jiào shén me míng zì ?"},
                "to":"zh-Hans"
            }
        ]
    }
]

O resultado da tradução inclui agora uma transliteration propriedade, que dá o texto traduzido usando caracteres latinos.The translation result now includes a transliteration property, which gives the translated text using Latin characters.

Traduzir várias peças de textoTranslate multiple pieces of text

Traduzir várias cordas ao mesmo tempo é simplesmente uma questão de especificar uma variedade de cordas no corpo de pedido.Translating multiple strings at once is simply a matter of specifying an array of strings in the request body.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}, {'Text':'I am fine, thank you.'}]"

A resposta contém a tradução de todas as peças de texto na mesma ordem que no pedido.The response contains the translation of all pieces of text in the exact same order as in the request. O corpo de resposta é:The response body is:

[
    {
        "translations":[
            {"text":"你好, 你叫什么名字?","to":"zh-Hans"}
        ]
    },            
    {
        "translations":[
            {"text":"我很好,谢谢你。","to":"zh-Hans"}
        ]
    }
]

Traduzir para várias línguasTranslate to multiple languages

Este exemplo mostra como traduzir a mesma entrada para vários idiomas num único pedido.This example shows how to translate the same input to several languages in one request.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans&to=de" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]"

O corpo de resposta é:The response body is:

[
    {
        "translations":[
            {"text":"你好, 你叫什么名字?","to":"zh-Hans"},
            {"text":"Hallo, was ist dein Name?","to":"de"}
        ]
    }
]

Lidar com a profanaçãoHandle profanity

Normalmente, o serviço de Tradutor manterá a profanação presente na fonte da tradução.Normally the Translator service will retain profanity that is present in the source in the translation. O grau de profanação e o contexto que faz as palavras profanas diferem entre culturas, e como resultado o grau de profanação na linguagem-alvo pode ser amplificado ou reduzido.The degree of profanity and the context that makes words profane differ between cultures, and as a result the degree of profanity in the target language may be amplified or reduced.

Se quiser evitar obter profanação na tradução, independentemente da presença de profanação no texto de origem, pode utilizar a opção de filtragem de profanidades.If you want to avoid getting profanity in the translation, regardless of the presence of profanity in the source text, you can use the profanity filtering option. A opção permite-lhe escolher se pretende ver profanação apagada, se pretende marcar profanidades com etiquetas apropriadas (dando-lhe a opção de adicionar o seu próprio pós-processamento), ou se não quer nenhuma ação tomada.The option allows you to choose whether you want to see profanity deleted, whether you want to mark profanities with appropriate tags (giving you the option to add your own post-processing), or you want no action taken. Os valores aceites ProfanityAction são Deleted , e Marked NoAction (padrão).The accepted values of ProfanityAction are Deleted, Marked and NoAction (default).

ProfanidadeAcçãoProfanityAction AçãoAction
NoAction Este é o comportamento padrão.This is the default behavior. Profanidade passará de fonte para alvo.Profanity will pass from source to target.

Exemplo Fonte (Japonesa): 彼はジャッカスです。 Example Source (Japanese): 彼はジャッカスです。
Tradução de exemplo (inglês): É um idiota. Example Translation (English): He is a jackass.
Deleted Palavras profanas serão removidas da saída sem substituição.Profane words will be removed from the output without replacement.

Exemplo Fonte (Japonesa): 彼はジャッカスです。 Example Source (Japanese): 彼はジャッカスです。
Tradução de exemplo (inglês): Ele é um. Example Translation (English): He is a.
Marked As palavras profanas são substituídas por um marcador na saída.Profane words are replaced by a marker in the output. O marcador depende do ProfanityMarker parâmetro.The marker depends on the ProfanityMarker parameter.

Para ProfanityMarker=Asterisk , palavras profanas são substituídas \*\*\* por:For ProfanityMarker=Asterisk, profane words are replaced with \*\*\*:
Exemplo Fonte (Japonesa): 彼はジャッカスです。 Example Source (Japanese): 彼はジャッカスです。
Tradução de exemplo (inglês): Ele é um \* \* \* . Example Translation (English): He is a \*\*\*.

Para ProfanityMarker=Tag , palavras profanas são rodeadas por < profanidade > < e/profanação de etiquetas > XML:For ProfanityMarker=Tag, profane words are surrounded by XML tags <profanity> and </profanity>:
Exemplo Fonte (Japonesa): 彼はジャッカスです。 Example Source (Japanese): 彼はジャッカスです。
Tradução de exemplo (inglês): É um < > idiota de < profanação/profanação. > Example Translation (English): He is a <profanity>jackass</profanity>.

Por exemplo:For example:

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de&profanityAction=Marked" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'This is a freaking good idea.'}]"

Esta ação devolve:This returns:

[
    {
        "translations":[
            {"text":"Das ist eine *** gute Idee.","to":"de"}
        ]
    }
]

Compare com:Compare with:

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de&profanityAction=Marked&profanityMarker=Tag" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'This is a freaking good idea.'}]"

O último pedido devolve:That last request returns:

[
    {
        "translations":[
            {"text":"Das ist eine <profanity>verdammt</profanity> gute Idee.","to":"de"}
        ]
    }
]

Traduza o conteúdo com marcação e decida o que é traduzidoTranslate content with markup and decide what's translated

É comum traduzir conteúdo que inclui marcação, como conteúdo de uma página HTML ou conteúdo de um documento XML.It's common to translate content which includes markup such as content from an HTML page or content from an XML document. Incluir o parâmetro de consulta textType=html ao traduzir o conteúdo com etiquetas.Include query parameter textType=html when translating content with tags. Além disso, às vezes é útil excluir conteúdo específico da tradução.In addition, it's sometimes useful to exclude specific content from translation. Pode utilizar o atributo class=notranslate para especificar o conteúdo que deve permanecer na sua língua original.You can use the attribute class=notranslate to specify content that should remain in its original language. No exemplo seguinte, o conteúdo dentro do primeiro div elemento não será traduzido, enquanto o conteúdo do segundo div elemento será traduzido.In the following example, the content inside the first div element will not be translated, while the content in the second div element will be translated.

<div class="notranslate">This will not be translated.</div>
<div>This will be translated. </div>

Aqui está um pedido de amostra para ilustrar.Here is a sample request to illustrate.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans&textType=html" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'<div class=\"notranslate\">This will not be translated.</div><div>This will be translated.</div>'}]"

A resposta é:The response is:

[
    {
        "translations":[
            {"text":"<div class=\"notranslate\">This will not be translated.</div><div>这将被翻译。</div>","to":"zh-Hans"}
        ]
    }
]

Obter informações de alinhamentoObtain alignment information

O alinhamento é devolvido como um valor de cadeia do seguinte formato para cada palavra da fonte.Alignment is returned as a string value of the following format for every word of the source. A informação para cada palavra é separada por um espaço, incluindo para línguas não separadas do espaço (scripts) como o chinês:The information for each word is separated by a space, including for non-space-separated languages (scripts) like Chinese:

[[SourceTextStartIndex]:[SourceTextEndIndex]-[TgtTextStartIndex]:[TgtTextEndIndex]] *[[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]] *

Corda de alinhamento de exemplo: "0:0-7:10 1:2-11:20 3:4-0:3 3:4-4:6 5:5-21:21".Example alignment string: "0:0-7:10 1:2-11:20 3:4-0:3 3:4-4:6 5:5-21:21".

Por outras palavras, o cólon separa o índice de início e fim, o traço separa as línguas, e o espaço separa as palavras.In other words, the colon separates start and end index, the dash separates the languages, and space separates the words. Uma palavra pode alinhar-se com zero, uma ou múltiplas palavras na outra língua, e as palavras alinhadas podem ser não contíguas.One word may align with zero, one, or multiple words in the other language, and the aligned words may be non-contiguous. Quando não houver informação de alinhamento disponível, o elemento alinhamento estará vazio.When no alignment information is available, the Alignment element will be empty. O método não retorna a nenhum erro nesse caso.The method returns no error in that case.

Para receber informações de alinhamento, especifique includeAlignment=true na cadeia de consulta.To receive alignment information, specify includeAlignment=true on the query string.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr&includeAlignment=true" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'The answer lies in machine translation.'}]"

A resposta é:The response is:

[
    {
        "translations":[
            {
                "text":"La réponse se trouve dans la traduction automatique.",
                "to":"fr",
                "alignment":{"proj":"0:2-0:1 4:9-3:9 11:14-11:19 16:17-21:24 19:25-40:50 27:37-29:38 38:38-51:51"}
            }
        ]
    }
]

A informação de alinhamento começa com 0:2-0:1 , o que significa que os três primeiros caracteres no texto de origem ( ) The mapeam para os dois primeiros caracteres no texto traduzido ( La ).The alignment information starts with 0:2-0:1, which means that the first three characters in the source text (The) map to the first two characters in the translated text (La).

LimitaçõesLimitations

Obter informações de alinhamento é uma característica experimental que permitimos para prototipagem de pesquisa e experiências com potenciais mapeamentos de frases.Obtaining alignment information is an experimental feature that we have enabled for prototyping research and experiences with potential phrase mappings. Podemos optar por deixar de apoiar isto no futuro.We may choose to stop supporting this in the future. Estas são algumas das notáveis restrições em que os alinhamentos não são suportados:Here are some of the notable restrictions where alignments are not supported:

  • O alinhamento não está disponível para texto em formato HTML i.e., textType=htmlAlignment is not available for text in HTML format i.e., textType=html
  • O alinhamento só é devolvido para um subconjunto dos pares linguísticos:Alignment is only returned for a subset of the language pairs:
    • Inglês de/para qualquer outra língua, exceto chinês tradicional, cantonês (tradicional) ou sérvio (cirílico).English to/from any other language except Chinese Traditional, Cantonese (Traditional) or Serbian (Cyrillic).
    • de japonês a coreano ou de coreano a japonês.from Japanese to Korean or from Korean to Japanese.
    • do japonês ao chinês simplificado e chinês simplificado para japonês.from Japanese to Chinese Simplified and Chinese Simplified to Japanese.
    • do chinês simplificado ao tradicional chinês tradicional e chinês tradicional ao chinês simplificado.from Chinese Simplified to Chinese Traditional and Chinese Traditional to Chinese Simplified.
  • Não receberá alinhamento se a frase for uma tradução enlatada.You will not receive alignment if the sentence is a canned translation. O exemplo de uma tradução enlatada é "Isto é um teste", "Amo-te" e outras frases de alta frequência.Example of a canned translation is "This is a test", "I love you" and other high frequency sentences.
  • O alinhamento não está disponível quando aplica qualquer uma das abordagens para impedir a tradução, como descrito aquiAlignment is not available when you apply any of the approaches to prevent translation as described here

Obtenha limites de sentençaObtain sentence boundaries

Para receber informações sobre a duração da frase no texto de origem e texto traduzido, especifique includeSentenceLength=true na cadeia de consulta.To receive information about sentence length in the source text and translated text, specify includeSentenceLength=true on the query string.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr&includeSentenceLength=true" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'The answer lies in machine translation. The best machine translation technology cannot always provide translations tailored to a site or users like a human. Simply copy and paste a code snippet anywhere.'}]"

A resposta é:The response is:

[
    {
        "translations":[
            {
                "text":"La réponse se trouve dans la traduction automatique. La meilleure technologie de traduction automatique ne peut pas toujours fournir des traductions adaptées à un site ou des utilisateurs comme un être humain. Il suffit de copier et coller un extrait de code n’importe où.",
                "to":"fr",
                "sentLen":{"srcSentLen":[40,117,46],"transSentLen":[53,157,62]}
            }
        ]
    }
]

Traduzir com dicionário dinâmicoTranslate with dynamic dictionary

Se já sabe a tradução que pretende aplicar a uma palavra ou frase, pode fornecê-la como marcação dentro do pedido.If you already know the translation you want to apply to a word or a phrase, you can supply it as markup within the request. O dicionário dinâmico só é seguro para substantivos adequados, tais como nomes pessoais e nomes de produtos.The dynamic dictionary is only safe for proper nouns such as personal names and product names.

A marcação a fornecer utiliza a seguinte sintaxe.The markup to supply uses the following syntax.

<mstrans:dictionary translation="translation of phrase">phrase</mstrans:dictionary>

Por exemplo, considere a frase inglesa "A palavra palavramática é uma entrada no dicionário."For example, consider the English sentence "The word wordomatic is a dictionary entry." Para preservar a palavra palavra palavra-palavramática na tradução, envie o pedido:To preserve the word wordomatic in the translation, send the request:

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'The word <mstrans:dictionary translation=\"wordomatic\">word or phrase</mstrans:dictionary> is a dictionary entry.'}]"

O resultado é:The result is:

[
    {
        "translations":[
            {"text":"Das Wort \"wordomatic\" ist ein Wörterbucheintrag.","to":"de"}
        ]
    }
]

Esta característica funciona da mesma forma com textType=text ou com textType=html . .This feature works the same way with textType=text or with textType=html. A função deve ser utilizada com moderação.The feature should be used sparingly. A forma adequada e muito melhor de personalizar a tradução é utilizando o Tradutor Personalizado.The appropriate and far better way of customizing translation is by using Custom Translator. O Tradutor Personalizado faz uso total do contexto e das probabilidades estatísticas.Custom Translator makes full use of context and statistical probabilities. Se tiver ou puder dar-se ao luxo de criar dados de formação que mostram o seu trabalho ou frase em contexto, obtém resultados muito melhores.If you have or can afford to create training data that shows your work or phrase in context, you get much better results. Saiba mais sobre o Tradutor Personalizado.Learn more about Custom Translator.