Translator 3.0: Tłumaczenie

Tłumaczy tekst.

Adres URL żądania

Wyślij żądanie POST do:

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

Parametry żądania

Parametry żądania przekazane w ciągu zapytania to:

Wymagane parametry

Parametr zapytania Opis
api-version Wymagany parametr.
Wersja interfejsu API żądanego przez klienta. Wartość musi mieć wartość 3.0.
na wartość Wymagany parametr.
Określa język tekstu wyjściowego. Język docelowy musi być jednym z obsługiwanych języków uwzględnionych w translation zakresie. Na przykład użyj polecenia to=de , aby przetłumaczyć na język niemiecki.
Istnieje możliwość jednoczesnego tłumaczenia na wiele języków przez powtórzenie parametru w ciągu zapytania. Na przykład użyj polecenia to=de&to=it , aby przetłumaczyć na język niemiecki i włoski.

Parametry opcjonalne

Parametr zapytania Opis
Parametr zapytania Opis
Z Opcjonalny parametr.
Określa język tekstu wejściowego. Znajdź języki dostępne do tłumaczenia, wyszukując obsługiwane języki przy użyciu translation zakresu. from Jeśli parametr nie zostanie określony, automatyczne wykrywanie języka jest stosowane w celu określenia języka źródłowego.

Należy użyć parametru from , a nie autodetection podczas korzystania z funkcji słownika dynamicznego . Uwaga: funkcja słownika dynamicznego jest rozróżniana wielkość liter.
textType Opcjonalny parametr.
Określa, czy przetłumaczony tekst to zwykły tekst, czy tekst HTML. Każdy kod HTML musi być dobrze sformułowanym, kompletnym elementem. Możliwe wartości to: plain (wartość domyślna) lub html.
category Opcjonalny parametr.
Ciąg określający kategorię (domenę) tłumaczenia. Ten parametr służy do pobierania tłumaczeń z niestandardowego systemu utworzonego przy użyciu usługi Custom Translator. Dodaj identyfikator kategorii ze szczegółów projektu usługi Custom Translator do tego parametru, aby użyć wdrożonego dostosowanego systemu. Wartość domyślna to: general.
wulgaryzmAction Opcjonalny parametr.
Określa, jak wulgaryzmy powinny być traktowane w tłumaczeniach. Możliwe wartości to: NoAction (wartość domyślna) Marked lub Deleted. Aby zrozumieć sposoby leczenia wulgaryzmów, zobacz Obsługa wulgaryzmów.
wulgaryzmyMarker Opcjonalny parametr.
Określa sposób oznaczania wulgaryzmów w tłumaczeniach. Możliwe wartości to: Asterisk (wartość domyślna) lub Tag. Aby zrozumieć sposoby leczenia wulgaryzmów, zobacz Obsługa wulgaryzmów.
includeAlignment Opcjonalny parametr.
Określa, czy należy uwzględnić projekcję wyrównania z tekstu źródłowego na przetłumaczony tekst. Możliwe wartości to: true lub false (wartość domyślna).
includeSentenceLength Opcjonalny parametr.
Określa, czy należy uwzględnić granice zdań dla tekstu wejściowego i przetłumaczonego tekstu. Możliwe wartości to: true lub false (wartość domyślna).
sugerowane z Opcjonalny parametr.
Określa język rezerwowy, jeśli nie można zidentyfikować języka tekstu wejściowego. Autodetection języka jest stosowana, gdy from parametr zostanie pominięty. Jeśli wykrywanie zakończy się niepowodzeniem, suggestedFrom zostanie przyjęty język.
fromScript Opcjonalny parametr.
Określa skrypt tekstu wejściowego.
toScript Opcjonalny parametr.
Określa skrypt przetłumaczonego tekstu.
allowFallback Opcjonalny parametr.
Określa, że usługa może wrócić do ogólnego systemu, gdy system niestandardowy nie istnieje. Możliwe wartości to: true (wartość domyślna) lub false.

allowFallback=false Określa, że tłumaczenie powinno używać tylko systemów wytrenowanych dla określonego category przez żądanie. Jeśli tłumaczenie języka X na język Y wymaga połączenia łańcuchowego za pośrednictwem języka przestawnego E, wszystkie systemy w łańcuchu (X → E i E → Y) będą musiały być niestandardowe i mają tę samą kategorię. Jeśli żaden system nie zostanie znaleziony z określoną kategorią, żądanie zwróci kod stanu 400. allowFallback=true Określa, że usługa może wrócić do systemu ogólnego, gdy system niestandardowy nie istnieje.

Nagłówki żądań obejmują:

Nagłówki Opis
Nagłówki uwierzytelniania Wymagany nagłówek żądania.
Zobacz dostępne opcje uwierzytelniania.
Content-Type Wymagany nagłówek żądania.
Określa typ zawartości ładunku.
Akceptowana wartość to application/json; charset=UTF-8.
Długość zawartości Wymagany nagłówek żądania.
Długość treści żądania.
X-ClientTraceId Opcjonalnie.
Identyfikator GUID wygenerowany przez klienta w celu unikatowego zidentyfikowania żądania. Możesz pominąć ten nagłówek, jeśli uwzględnisz identyfikator śledzenia w ciągu zapytania przy użyciu parametru zapytania o nazwie ClientTraceId.

Treść żądania

Treść żądania jest tablicą JSON. Każdy element tablicy jest obiektem JSON z właściwością ciągu o nazwie Text, która reprezentuje ciąg do przetłumaczenia.

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

Aby uzyskać informacje na temat limitów znaków i tablic, zobaczLimity żądań.

Treść odpowiedzi

Pomyślna odpowiedź to tablica JSON z jednym wynikiem dla każdego ciągu w tablicy wejściowej. Obiekt wynikowy zawiera następujące właściwości:

  • detectedLanguage: Obiekt opisujący wykryty język za pomocą następujących właściwości:

    • language: ciąg reprezentujący kod wykrytego języka.

    • score: wartość zmiennoprzecinkowa wskazująca pewność wyniku. Wynik wynosi od zera do jednego, a niski wynik wskazuje niską pewność siebie.

      Właściwość detectedLanguage jest obecna tylko w obiekcie wynikowym, gdy zażądano automatycznego wykrywania języka.

  • translations: tablica wyników tłumaczenia. Rozmiar tablicy odpowiada liczbie języków docelowych określonych za pomocą parametru to zapytania. Każdy element w tablicy zawiera następujące elementy:

    • to: ciąg reprezentujący kod języka języka docelowego.

    • text: ciąg dający przetłumaczony tekst.

  • transliteration: obiekt nadający przetłumaczony tekst w skry skrycie określonym przez toScript parametr .

    • script: ciąg określający skrypt docelowy.

    • text: ciąg dający przetłumaczony tekst w skryscie docelowym.

      Obiekt transliteration nie jest uwzględniany, jeśli transliteracja nie ma miejsca.

      • alignment: obiekt z pojedynczą właściwością ciągu o nazwie proj, która mapuje tekst wejściowy na przetłumaczony tekst. Informacje o wyrównaniu są udostępniane tylko wtedy, gdy parametr includeAlignment żądania to true. Wyrównanie jest zwracane jako wartość ciągu w następującym formacie: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]. Dwukropek oddziela indeks początkowy i końcowy, kreska oddziela języki, a spacja oddziela wyrazy. Jeden wyraz może być dopasowany do zera, jednego lub wielu wyrazów w innym języku, a dopasowane wyrazy mogą być nieciągłe. Jeśli żadne informacje o wyrównaniu nie są dostępne, element wyrównania będzie pusty. Zobacz Uzyskiwanie informacji o wyrównaniu , aby zapoznać się z przykładem i ograniczeniami.
  • sentLen: obiekt zwracający granice zdań w tekstach wejściowych i wyjściowych.

    • srcSentLen: Tablica całkowita reprezentująca długości zdań w tekście wejściowym. Długość tablicy jest liczbą zdań, a wartości są długością każdego zdania.

    • transSentLen: Tablica całkowita reprezentująca długości zdań w przetłumaczonym tekście. Długość tablicy jest liczbą zdań, a wartości są długością każdego zdania.

      Granice zdań są uwzględniane tylko wtedy, gdy parametr includeSentenceLength żądania to true.

  • sourceText: obiekt z pojedynczą właściwością ciągu o nazwie text, która podaje tekst wejściowy w domyślnym skry skry skryptie języka źródłowego. sourceText właściwość jest obecna tylko wtedy, gdy dane wejściowe są wyrażane w skry skrycie, który nie jest zwykłym skryptem języka. Jeśli na przykład dane wejściowe zostały napisane w skrypcie łacińskim, sourceText.text będzie to ten sam tekst arabski przekonwertowany na skrypt arabski.

Przykłady odpowiedzi w formacie JSON znajdują się w sekcji przykłady .

Nagłówki odpowiedzi

Nagłówki Opis
Identyfikator X-requestid Wartość wygenerowana przez usługę w celu zidentyfikowania żądania. Służy do rozwiązywania problemów.
X-mt-system Określa typ systemu, który został użyty do tłumaczenia dla każdego języka "do" żądanego do tłumaczenia. Wartość jest rozdzielaną przecinkami listą ciągów. Każdy ciąg wskazuje typ:

* Niestandardowe — żądanie zawiera system niestandardowy i co najmniej jeden system niestandardowy był używany podczas tłumaczenia.
* Zespół — wszystkie inne żądania
X-metered-usage Określa zużycie (liczbę znaków, dla których użytkownik zostanie obciążony) dla żądania zadania tłumaczenia. Jeśli na przykład wyraz "Hello" jest tłumaczony z języka angielskiego (en) na francuski (fr), to pole zwróci wartość "5".

Kody stanu odpowiedzi

Poniżej przedstawiono możliwe kody stanu HTTP zwracane przez żądanie.

Kod stanu Opis
200 Powodzenie.
400 Brakuje jednego z parametrów zapytania lub jest on nieprawidłowy. Popraw parametry żądania przed ponowną próbą.
401 Nie można uwierzytelnić żądania. Sprawdź, czy poświadczenia są określone i prawidłowe.
403 Żądanie nie jest autoryzowane. Sprawdź szczegóły komunikatu o błędzie. Ten kod stanu często wskazuje, że wszystkie bezpłatne tłumaczenia dostarczone z subskrypcją wersji próbnej zostały wykorzystane.
408 Nie można zrealizować żądania, ponieważ brakuje zasobu. Sprawdź szczegóły komunikatu o błędzie. Jeśli żądanie zawiera kategorię niestandardową, ten kod stanu często wskazuje, że niestandardowy system tłumaczenia nie jest jeszcze dostępny do obsługi żądań. Żądanie powinno zostać ponowione po okresie oczekiwania (na przykład 1 minuta).
429 Serwer odrzucił żądanie, ponieważ klient przekroczył limity żądań.
500 Wystąpił nieoczekiwany błąd. Jeśli błąd będzie się powtarzać, zgłoś go z: datą i godziną niepowodzenia, identyfikatorem żądania z nagłówka odpowiedzi X-RequestId i identyfikatorem klienta z nagłówka żądania X-ClientTraceId.
503 Serwer jest tymczasowo niedostępny. Ponów próbę żądania. Jeśli błąd będzie się powtarzać, zgłoś go z: datą i godziną niepowodzenia, identyfikatorem żądania z nagłówka odpowiedzi X-RequestId i identyfikatorem klienta z nagłówka żądania X-ClientTraceId.

Jeśli wystąpi błąd, żądanie zwróci też odpowiedź JSON dotyczącą błędu. Kod błędu to 6-cyfrowy numer łączący 3-cyfrowy kod stanu HTTP, po którym następuje 3-cyfrowa liczba w celu dalszego kategoryzowania błędu. Typowe kody błędów można znaleźć na stronie dokumentacji usługi Translator w wersji 3.

Przykłady

Tłumaczenie pojedynczego danych wejściowych

W tym przykładzie pokazano, jak przetłumaczyć pojedyncze zdanie z języka angielskiego na chiński uproszczony.

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?'}]"

Treść odpowiedzi to:

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

Tablica translations zawiera jeden element, który zapewnia tłumaczenie pojedynczego fragmentu tekstu w danych wejściowych.

Tłumaczenie pojedynczego danych wejściowych przy użyciu autodetecji języka

W tym przykładzie pokazano, jak przetłumaczyć pojedyncze zdanie z języka angielskiego na chiński uproszczony. Żądanie nie określa języka wejściowego. Zamiast tego jest używana funkcja autodetection języka źródłowego.

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?'}]"

Treść odpowiedzi to:

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

Odpowiedź jest podobna do odpowiedzi z poprzedniego przykładu. Ponieważ zażądano autodetection języka, odpowiedź zawiera również informacje o języku wykrytym dla tekstu wejściowego. Autodetection języka działa lepiej z dłuższym tekstem wejściowym.

Tłumaczenie przy użyciu transliteracji

Rozszerzmy poprzedni przykład, dodając transliterację. Poniższe żądanie prosi o tłumaczenie chińskie napisane w skrypcie łacińskim.

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?'}]"

Treść odpowiedzi to:

[
    {
        "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"
            }
        ]
    }
]

Wynik tłumaczenia zawiera transliteration teraz właściwość , która daje przetłumaczony tekst przy użyciu znaków łacińskich.

Tłumaczenie wielu fragmentów tekstu

Tłumaczenie wielu ciągów jednocześnie jest po prostu kwestią określania tablicy ciągów w treści żądania.

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.'}]"

Odpowiedź zawiera tłumaczenie wszystkich fragmentów tekstu w dokładnie takiej samej kolejności, jak w żądaniu. Treść odpowiedzi to:

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

Tłumaczenie na wiele języków

W tym przykładzie pokazano, jak przetłumaczyć te same dane wejściowe na kilka języków w jednym żądaniu.

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?'}]"

Treść odpowiedzi to:

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

Obsługa wulgaryzmów

Zwykle usługa Translator zachowuje wulgaryzmy obecne w źródle w tłumaczeniu. Stopień wulgaryzmów i kontekst, który sprawia, że słowa wulgarne różnią się między kulturami, a w rezultacie stopień wulgaryzmów w języku docelowym może zostać wzmocniony lub zmniejszony.

Jeśli chcesz uniknąć uzyskiwania wulgaryzmów w tłumaczeniu, niezależnie od obecności wulgaryzmów w tekście źródłowym, możesz użyć opcji filtrowania wulgaryzmów. Opcja umożliwia wybranie, czy chcesz zobaczyć wulgaryzmy usunięte, czy chcesz oznaczyć wulgaryzmy odpowiednimi tagami (dając opcję dodania własnego przetwarzania końcowego), czy nie chcesz podejmować żadnych działań. Akceptowane wartości ProfanityAction to Deleted, Marked i NoAction (wartość domyślna).

WulgaryzmyAkcja Akcja
NoAction Ustawienie NoAction jest zachowaniem domyślnym. Wulgaryzmy zostaną przekazane ze źródła do celu.

Przykładowe źródło (japoński): 彼はジャカスです。
Przykładowe tłumaczenie (angielski): On jest jackiem---.
Deleted Wulgarne słowa zostaną usunięte z danych wyjściowych bez zamiany.

Przykładowe źródło (japoński): 彼はジャカスです。
Przykładowe tłumaczenie (angielski): On jest**
Marked Wulgarne słowa są zastępowane znacznikiem w danych wyjściowych. Znacznik zależy od parametru ProfanityMarker .

W przypadku ProfanityMarker=Asteriskelementu wulgarne wyrazy są zastępowane elementem ***:
Przykładowe źródło (japoński): 彼はジャカスです。
Przykładowe tłumaczenie (angielski): jest \\\*.

W przypadku ProfanityMarker=Tagelementu wulgaryzmy są otoczone wulgaryzmami> tagów <XML i </wulgaryzmami>:
Przykładowe źródło (japoński): 彼はジャカスです。
Przykładowe tłumaczenie (angielski): Jest wulgaryzmem<>---</wulgaryzmem>.

Przykład:

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 an <expletive> good idea.'}]"

To żądanie zwraca:

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

Porównaj z:

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 an <expletive> good idea.'}]"

To ostatnie żądanie zwraca:

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

Tłumaczenie zawartości za pomocą znaczników i decydowanie o tym, co zostało przetłumaczone

Często tłumaczy się zawartość obejmującą znaczniki, takie jak zawartość ze strony HTML lub zawartości z dokumentu XML. Uwzględnij parametr textType=html zapytania podczas tłumaczenia zawartości za pomocą tagów. Ponadto czasami warto wykluczyć konkretną zawartość z tłumaczenia. Możesz użyć atrybutu class=notranslate , aby określić zawartość, która powinna pozostać w oryginalnym języku. W poniższym przykładzie zawartość wewnątrz pierwszego div elementu nie zostanie przetłumaczona, a zawartość w drugim div elemecie zostanie przetłumaczona.

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

Oto przykładowe żądanie ilustrujące.

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>'}]"

Odpowiedź brzmi:

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

Uzyskiwanie informacji o wyrównaniu

Dopasowanie jest zwracane jako wartość ciągu w następującym formacie dla każdego wyrazu ze źródła. Informacje o każdym wyrazie są oddzielone spacją, włącznie z językami (skryptami) nieużywającymi rozdzielania spacjami, takimi jak chiński:

[[IndeksPoczątkowyTekstuŹródłowego]:[IndeksKońcowyTekstuŹródłowego]–[IndeksPoczątkowyTekstuDocelowego]:[IndeksKońcowyTekstuDocelowego]] *

Przykładowy ciąg dopasowania: „0:0-7:10 1:2-11:20 3:4-0:3 3:4-4:6 5:5-21:21”.

Innymi słowy, dwukropek oddziela indeks początkowy i końcowy, kreska oddziela języki, a spacja oddziela wyrazy. Jeden wyraz może być dopasowany do zera, jednego lub wielu wyrazów w innym języku, a dopasowane wyrazy mogą być nieciągłe. Jeśli żadne informacje o dopasowaniu nie są dostępne, element Alignment będzie pusty. Metoda nie zwraca żadnego błędu w tym przypadku.

Aby otrzymywać informacje o wyrównaniu, określ includeAlignment=true ciąg zapytania.

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.'}]"

Odpowiedź brzmi:

[
    {
        "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"}
            }
        ]
    }
]

Informacje o wyrównaniu zaczynają się od 0:2-0:1ciągu , co oznacza, że pierwsze trzy znaki w tekście źródłowym (The) są mapowane na pierwsze dwa znaki w przetłumaczonym tekście (La).

Ograniczenia

Uzyskiwanie informacji o wyrównaniu jest funkcją eksperymentalną, którą umożliwiliśmy tworzenie prototypów badań i doświadczeń z potencjalnymi mapowaniami fraz. W przyszłości możemy przestać obsługiwać tę funkcję. Poniżej przedstawiono niektóre istotne ograniczenia, w których wyrównania nie są obsługiwane:

  • Wyrównanie nie jest dostępne dla tekstu w formacie HTML, czyli textType=html
  • Wyrównanie jest zwracane tylko dla podzbioru par językowych:
    • Angielski do/z dowolnego innego języka z wyjątkiem chińskiego tradycyjnego, kantońskiego (tradycyjnego) lub serbskiego (cyrylica).
    • od japońskiego do koreańskiego lub koreańskiego do japońskiego.
    • od japońskich do chińskich uproszczonych i chińskich uproszczonych do japońskich.
    • od chińskiego uproszczonego do chińskiego tradycyjnego i chińskiego tradycyjnego po chiński uproszczony.
  • Nie otrzymasz wyrównania, jeśli zdanie jest tłumaczeniem w puszce. Przykładem tłumaczenia cukierkowego jest "To jest test", "Kocham cię" i inne zdania o wysokiej częstotliwości.
  • Wyrównanie nie jest dostępne w przypadku zastosowania żadnego z podejść, aby zapobiec tłumaczeniu zgodnie z opisem w tym miejscu

Uzyskiwanie granic zdań

Aby uzyskać informacje o długości zdań w tekście źródłowym i przetłumaczonym tekście, określ includeSentenceLength=true ciąg zapytania.

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.'}]"

Odpowiedź brzmi:

[
    {
        "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]}
            }
        ]
    }
]

Tłumaczenie przy użyciu słownika dynamicznego

Jeśli znasz już tłumaczenie, które chcesz zastosować do wyrazu lub frazy, możesz podać je jako znacznik w żądaniu. Słownik dynamiczny jest bezpieczny tylko dla odpowiednich rzeczowników, takich jak nazwy osobiste i nazwy produktów. Uwaga: w funkcji słownika dynamicznego jest uwzględniana wielkość liter.

Znaczniki do podania używają następującej składni.

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

Rozważmy na przykład zdanie w języku angielskim "Słowo wordomatic jest wpisem słownika". Aby zachować wyraz wordomatic w tłumaczeniu, wyślij żądanie:

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\">wordomatic</mstrans:dictionary> is a dictionary entry.'}]"

Wynik to:

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

Ta funkcja słownika dynamicznego działa w taki sam sposób, jak w przypadku textType=text funkcji lub .textType=html Funkcja powinna być używana oszczędnie. Odpowiednim i znacznie lepszym sposobem dostosowywania tłumaczenia jest użycie usługi Custom Translator. Funkcja Custom Translator w pełni wykorzystuje kontekst i prawdopodobieństwa statystyczne. Jeśli możesz utworzyć dane szkoleniowe przedstawiające pracę lub frazę w kontekście, uzyskasz znacznie lepsze wyniki. Dowiedz się więcej o usłudze Custom Translator.

Następne kroki