Pré-visualizar uma tradução
O que `translate` num envio produziria, sem nada enviado e sem nada guardado.
Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.
POST /emails/translate
O que translate num envio produziria, sem nada enviado e sem nada guardado.
O pedido
As mesmas três opções que um envio resolve, sem o envelope, passadas pela mesma função que o caminho de envio chama. Essa identidade é todo o valor do endpoint: uma pré-visualização com código próprio seria uma promessa que não cumprimos, e no dia em que as duas divergissem, aquilo que está no ecrã de alguém e aquilo que está na caixa de entrada do destinatário seriam diferentes sem nada que o dissesse.
Parâmetros
tostringobrigatório- A língua em que escrever. Um código BCP-47 (`de`), um nome em inglês («German») ou o nome da própria língua («Deutsch»). A resposta diz-lhe para que código foi resolvido, e é essa a forma a guardar se estiver a manter uma língua por contacto.
htmlstring- O corpo HTML, até um megabyte. É obrigatório um de html, text ou subject.
textstring- A parte em texto simples. Traduzida independentemente de `html`, com a sua própria verificação de comprimento.
subjectstring- A LINHA de assunto: uma string, e não o booleano que é sob `translate` num envio. São perguntas diferentes: ali está a dizer se deve ser traduzido um assunto que já temos, aqui está a entregar um.
fromstring- Aquilo em que a escreveu, em qualquer uma das mesmas três formas. Indicá-la dispensa a chamada de deteção.
includeOriginalboolean- Se o `html` devolvido já traz o seu original por baixo da tradução. True por omissão.
As chaves desconhecidas dão um 422, como em todo o lado. Um pedido sem nenhum de html, text ou subject dá um 422 em html: "One of html, text or subject is required".
Pré-visualizar
A ida e volta que o compositor faz antes de mostrar a alguém aquilo que está prestes a enviar.
curl -X POST "$OE/emails/translate" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "subject": "Your September invoice", "html": "<p>Invoice attached. Payment is due on the 14th.</p>", "to": "de" }'{ "object": "translation", "language": { "code": "de", "label": "German", "native": "Deutsch", "flag": "🇩🇪", "rtl": false }, "detectedSourceLanguage": { "code": "en", "label": "English", "native": "English", "flag": "🇬🇧", "rtl": false }, "subject": "Ihre Rechnung für September", "html": "<p>Rechnung im Anhang. Zahlbar bis zum 14.</p>\n<div style=\"margin:28px 0 0;padding:14px 0 0;border-top:1px solid #d6dae0\">\n<div style=\"margin:0 0 10px;font-size:12px;line-height:1.5;color:#6b7280\">Ursprüngliche Nachricht (English)</div>\n<div><p>Invoice attached. Payment is due on the 14th.</p></div>\n</div>", "text": null, "includeOriginal": true}html, text e subject voltam a null em vez de ausentes para um campo que não enviou, para que um cliente possa apresentar a resposta sem ter de se lembrar do que pediu.
detectedSourceLanguage é null quando a deteção se absteve. Isso é uma resposta verdadeira e não uma falha. Um corpo de nomes, números e ligações não lhe dá nada para ler, e a única consequência é que o seu original fica legendado sem língua.
includeOriginal é devolvido porque altera aquilo que html contém. Com ele ligado, o corpo já traz o seu original por baixo da tradução, e acrescentar a sua própria cópia envia-o duas vezes.
Pré-visualizar, editar, enviar
O formato para que isto foi construído é pré-visualizar, EDITAR, enviar: mostre a tradução a uma pessoa, deixe-a alterá-la e depois envie o que ela aprovou como um html e um subject normais, sem translate nenhum no pedido. O que ela aprovou é então, palavra por palavra, aquilo que sai.
curl -X POST "$OE/emails" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "from": "[email protected]", "to": ["[email protected]"], "subject": "Ihre Rechnung für September", "html": "<p>Rechnung im Anhang. Zahlbar bis zum 14.</p>" }'Enviar com translate depois de pré-visualizar traduz uma segunda vez e deita fora as edições. O envio sairia com um texto que ninguém leu, que é precisamente a falha que a pré-visualização existe para evitar.
Quanto custa, e o que não faz
- Três chamadas ao modelo (o corpo, o assunto e uma para deduzir em que escreveu) emitidas em conjunto, pelo que a espera é a mais longa das três e não a soma delas. Indicar
fromdispensa a terceira. Custa o mesmo que enviar comtranslate, por isso pré-visualize uma vez em vez de a cada revisão. - Nada é enviado, nenhuma linha é escrita e nenhum id volta. Não há aqui nada para cancelar ou obter mais tarde.
- Traduz e mais nada. Não revê o texto, não melhora a escrita e nunca responde à mensagem.
- Nomes, empresas, ligações, números de encomenda, preços e datas voltam tal como entraram, para que a tradução possa ser conferida com o original linha a linha.
- O histórico citado não é retirado, ao contrário do que acontece na metade da leitura. O que entregar é o que é traduzido, o que está certo para um compositor, onde o corpo é apenas o que alguém acabou de escrever, e é bom saber se publicar uma cadeia de respostas inteira.
- Com o âmbito
emails:send, sem âmbito próprio: não concede nada que um remetente já não pudesse fazer, e um âmbito que ninguém distingue deemails:sendnum ecrã de consentimento faz com que todos os outros âmbitos dessa lista signifiquem um pouco menos.
O corpo está limitado ao mesmo megabyte que um envio permite, mas a própria tradução recusa tudo o que passe dos 30 000 caracteres com translation_too_long. Os códigos de falha são os que um envio traduzido devolve, listados em Enviar um email.