Я заметил 2 случая, когда Microsoft Translator Text должен вызывать ошибки при использовании пользовательских движков, но вместо этого имеет неожиданное поведение.
Нормальный регистр
Я отправляю запрос методом POST.
URL = https://api.cognitive.microsofttranslator.com/translate
Параметры:
- api-версия = 3,0
- textType = plain
- категория = my_engine_id
- от = de
- до = en
Headers = {"Ocp-Apim-Subscription-Key": my_key , 'Content-type': 'application / json'}
Тело (JSON формат ):
[{"Text": "Klicken S ie in jedem Bildschirm auf das Textbeispiel, das am besten lesbar ist."},
{"Text": "Verschiedene Themen aus den Bereichen Wortschatz, Satzbau, Kohärenz, Textwiedergabe,
Kommasetzung und Orthograph ie werden anhand von Textbeispielen und Übungen vorgestellt. "},
{" Text ":" Auch wen in zensis zensi zwe " s ie doch füreinander nicht Ausland; ihre Beziehungen zueinander können nur von besonderer Art sein. «"},
{"Text": "Дитя сухих веществ Формель Брихт дер Нойе Канцлер Эйн Джарзентеланжес Т" abu. "},
{" Text ":" Bislang wird der östliche Teil Deutschlands von den bundesdeutschen Politikern als SBZ, Zone oder „sogenannte DDR“ bezei chnet.}}]
Ответ, как и ожидалось:
[{"translations":
[{"text": "На каждом экране нажимайте образец текста, который наиболее читабелен.",
"to": "en"}]},
{"translations":
[{"text": "Различные темы из лексики, набор текста, согласованность, воспроизведение текста, установка запятой и Орфография представлена с использованием текстовых примеров и упражнений. ",
" to ":" en "}]},
et c.
Case 1
Я изменяю параметр на = fr в URL (вместо «en»).
Ответ показывает, что текст был переведен на французский , хотя пользовательский движок обучается только из DE> EN (поэтому я думаю, что вместо него использовался обобщенный c движок, но в ответе HTTP нет информации)!
[ { "транс lations ": [{" text ":" Sur chaque écran, cliquez sur l'échantillon de texte le plus lisible. "," to ":" fr "}]}, {" translations ": [{" text ":" Divers sujets des domaines du vocabulaire, du typage, de la coherence, репродукция текста, декорация девственницы и фотографа с современными образцами и упражнениями. "," To " : "fr"}]}, {"translations": [{"text": "\" Méme si deux États существуют в Аллемании, ils ne sont pas étrangers l'un à l'autre; Leurs Relations les uns ave c les autres ne peuvent être que d'un жанр особенно. "," To ":" fr "}]}, {" translations ": [{" text ":" Ave c cette Formule, Le Nouveau Chancelier Brise Un Tabou De DIX ANS. "," to ":" fr "}]}, {" translations ": [{" text ":" Jusqu'a présent, la part ie ориентация на l " 'Allemagne est appelée par les politiciens fédéraux утверждает SBZ, zone ou «soi-disant DDR». "," To ":" fr "}]}]
Вместо этого поведения я бы Ожидается ошибка в ответе HTTP:
400075 The language pair and category combination is not valid.
Случай 2
Я изменяю параметр с = da в URL (вместо «de»).
Ответ показывает, что перевод является просто копией исходного текста, хотя и указывает, что он был переведен в «en»!
[{"translations": [{"text": "Klicken S ie in jedem Bildschirm auf das Textbeispiel, das am besten lesbar ist.", "to": "en"}]}, {"translations": [ {"текст": "Verschiedene Themen aus den Bereichen Wortschatz, Satzbau, Kohärenz, Textwiedergabe, Kommasetzung und Orthograph ie werden anhand von Textbeispielen und Übungen vorgestellt. "," to ":" en "}]}, {" translations ": [{" text ":" \ "Auch wenn zwei Staated in Deutschland existieren, sind s ie doch füreinander nicht Ausland; ihre Beziehungen zueinander können nur von besonderer Art sein. \ "", "to": "en"}]}, {"translations": [{"text": "Mit dieser Formula bricht der neue Kanzler ein jahrzehntelanges Tabu.", "to": " en "}]}, {" translations ": [{" text ":" Bislang wird der östliche Teil Deutschlands von den bundesdeutschen Politikern als SBZ, Zone oder \ "sogenannte DDR \" bezei chnet. "," to ":" en "}]}]
То же, что и в случае 1, вместо этого поведения я бы ожидал ошибку в ответе HTTP:
400075 The language pair and category combination is not valid.
Это нормально, что я не получаю сообщение об ошибке в этих 2 случаях? Кто-нибудь еще сталкивался с таким поведением раньше?
На самом деле я хотел бы использовать эти коды ошибок или проверить перед отправкой запрос на перевод, что языковая пара соответствует пользовательскому движку, знаете ли вы какой-нибудь способ сделать это?