Biblioteka klienta REST usługi Azure TextTranslation dla języka JavaScript — wersja 1.0.1
Tłumaczenie tekstu to oparta na chmurze funkcja interfejsu API REST usługi Translator, która korzysta z technologii neuronowego tłumaczenia maszynowego w celu umożliwienia szybkiego i dokładnego tłumaczenia tekstu źródłowego do docelowego w czasie rzeczywistym we wszystkich obsługiwanych językach.
Następujące metody są obsługiwane przez funkcję tłumaczenia tekstu:
Języki. Zwraca listę języków obsługiwanych przez operacje wyszukiwania tłumaczenia, transliteracji i słownika.
Przetłumacz. Renderuje pojedynczy tekst w języku źródłowym do wielu tekstów w języku docelowym z jednym żądaniem.
Transliteracja. Konwertuje znaki lub litery języka źródłowego na odpowiednie znaki lub litery języka docelowego.
Wykryć. Zwraca kod języka kodu źródłowego i zmienną logiczną wskazującą, czy wykryty język jest obsługiwany na potrzeby tłumaczenia tekstu i transliteracji.
Wyszukiwanie słownika. Zwraca równoważne wyrazy dla terminu źródłowego w języku docelowym.
Przykład słownika zwraca strukturę gramatyczną i przykłady kontekstu dla pary terminów źródłowych i terminów docelowych.
w dużym stopniu polegaj na naszych dokumentacji klienta REST do korzystania z tej biblioteki
Kluczowe linki:
- pakietu (NPM)
- Dokumentacja referencyjna interfejs u API
- przykładów
Wprowadzenie
Obecnie obsługiwane środowiska
- Wersje LTS Node.js
- Najnowsze wersje przeglądarki Edge, Chrome, Safar i Firefox
Warunki wstępne
- Istniejąca usługa Translator lub zasób usług Cognitive Services.
Instalowanie pakietu @azure-rest/ai-translation-text
Zainstaluj bibliotekę klienta REST tłumaczenia tekstu platformy Azure dla języka JavaScript przy użyciu npm
:
npm install @azure-rest/ai-translation-text
Tworzenie zasobu usługi Translator
Zasób usługi Translator można utworzyć, Utwórz zasób usługi Translator.
Obsługa przeglądarki
Pakiet JavaScript
Aby użyć tej biblioteki klienta w przeglądarce, najpierw należy użyć pakietu. Aby uzyskać szczegółowe informacje o tym, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów .
Uwierzytelnianie klienta
Interakcja z usługą przy użyciu biblioteki klienta rozpoczyna się od utworzenia wystąpienia klasy TextTranslationClient. Aby utworzyć wystąpienie obiektu klienta, potrzebny będzie klucz interfejsu API lub TokenCredential
. Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą usług Cognitive Services, zobacz Uwierzytelnianie żądań do usługi Translator.
Pobieranie klucza interfejsu API
Informacje o zasobie usług Cognitive Services lub usłudze Translator można uzyskać w endpoint
, API key
i Region
w Azure Portal.
Alternatywnie użyj poniższego fragmentu kodu interfejsu wiersza polecenia platformy Azure , aby uzyskać klucz interfejsu API z zasobu usługi Translator.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Tworzenie TextTranslationClient
przy użyciu klucza interfejsu API i poświadczeń regionu
Po utworzeniu wartości klucza interfejsu API i regionu utwórz TranslatorCredential
.
Przy użyciu wartości TranslatorCredential
można utworzyć TextTranslationClient:
const translateCedential = new TranslatorCredential(apiKey, region);
const translationClient = TextTranslationClient(endpoint, translateCedential);
Przykłady
W poniższej sekcji przedstawiono kilka fragmentów kodu przy użyciu client
utworzonych powyżeji omówiono główne funkcje obecne w tej bibliotece klienta.
Uzyskiwanie obsługiwanych języków
Pobiera zestaw języków obsługiwanych obecnie przez inne operacje usługi Translator.
const langResponse = await translationClient.path("/languages").get();
if (isUnexpected(langResponse)) {
throw langResponse.body;
}
const languages = langResponse.body;
if (languages.translation) {
console.log("Translated languages:");
for (const key in languages.translation) {
const translationLanguage = languages.translation[key];
console.log(`${key} -- name: ${translationLanguage.name} (${translationLanguage.nativeName})`);
}
}
if (languages.transliteration) {
console.log("Transliteration languages:");
for (const key in languages.transliteration) {
const transliterationLanguage = languages.transliteration[key];
console.log(
`${key} -- name: ${transliterationLanguage.name} (${transliterationLanguage.nativeName})`,
);
}
}
if (languages.dictionary) {
console.log("Dictionary languages:");
for (const key in languages.dictionary) {
const dictionaryLanguage = languages.dictionary[key];
console.log(
`${key} -- name: ${dictionaryLanguage.name} (${dictionaryLanguage.nativeName}), supported target languages count: ${dictionaryLanguage.translations.length}`,
);
}
}
Zapoznaj się z dokumentacją usługi, aby zapoznać się z koncepcyjnym omówieniem języków .
Przetłumacz
Renderuje pojedynczy tekst w języku źródłowym do wielu tekstów w języku docelowym z jednym żądaniem.
const inputText = [{ text: "This is a test." }];
const parameters = {
to: "cs",
from: "en",
};
const translateResponse = await translationClient.path("/translate").post({
body: inputText,
queryParameters: parameters,
});
if (isUnexpected(translateResponse)) {
throw translateResponse.body;
}
const translations = translateResponse.body;
for (const translation of translations) {
console.log(
`Text was translated to: '${translation?.translations[0]?.to}' and the result is: '${translation?.translations[0]?.text}'.`,
);
}
Zapoznaj się z dokumentacją usługi, aby zapoznać się z koncepcyjnym omówieniem tłumaczenia.
Transliteracja
Konwertuje znaki lub litery języka źródłowego na odpowiednie znaki lub litery języka docelowego.
const inputText = [{ text: "这是个测试。" }];
const parameters = {
language: "zh-Hans",
fromScript: "Hans",
toScript: "Latn",
};
const transliterateResponse = await translationClient.path("/transliterate").post({
body: inputText,
queryParameters: parameters,
});
if (isUnexpected(transliterateResponse)) {
throw transliterateResponse.body;
}
const translations = transliterateResponse.body;
for (const transliteration of translations) {
console.log(
`Input text was transliterated to '${transliteration?.script}' script. Transliterated text: '${transliteration?.text}'.`,
);
}
Zapoznaj się z dokumentacją usługi, aby zapoznać się z koncepcyjnym omówieniem transliteracji.
Podział zdania
Określa położenie granic zdań w tekście.
const inputText = [{ text: "zhè shì gè cè shì。" }];
const parameters = {
language: "zh-Hans",
script: "Latn",
};
const breakSentenceResponse = await translationClient.path("/breaksentence").post({
body: inputText,
queryParameters: parameters,
});
if (isUnexpected(breakSentenceResponse)) {
throw breakSentenceResponse.body;
}
const breakSentences = breakSentenceResponse.body;
for (const breakSentence of breakSentences) {
console.log(`The detected sentece boundaries: '${breakSentence?.sentLen.join(", ")}'.`);
}
Zapoznaj się z dokumentacją usługi, aby zapoznać się z koncepcyjną dyskusją na temat zdania podziału .
Wyszukiwanie słownika
Zwraca równoważne wyrazy dla terminu źródłowego w języku docelowym.
const inputText = [{ text: "fly" }];
const parameters = {
to: "es",
from: "en",
};
const dictionaryResponse = await translationClient.path("/dictionary/lookup").post({
body: inputText,
queryParameters: parameters,
});
if (isUnexpected(dictionaryResponse)) {
throw dictionaryResponse.body;
}
const dictionaryEntries = dictionaryResponse.body;
for (const dictionaryEntry of dictionaryEntries) {
console.log(
`For the given input ${dictionaryEntry?.translations?.length} entries were found in the dictionary.`,
);
console.log(
`First entry: '${dictionaryEntry?.translations[0]?.displayTarget}', confidence: ${dictionaryEntry?.translations[0]?.confidence}.`,
);
}
Zapoznaj się z dokumentacją usługi, aby zapoznać się z koncepcyjnym omówieniem wyszukiwania w słowniku .
Przykłady słownika
Zwraca strukturę gramatyczną i przykłady kontekstu dla pary terminów źródłowych i terminów docelowych.
const inputText = [{ text: "fly", translation: "volar" }];
const parameters = {
to: "es",
from: "en",
};
const dictionaryResponse = await translationClient.path("/dictionary/examples").post({
body: inputText,
queryParameters: parameters,
});
if (isUnexpected(dictionaryResponse)) {
throw dictionaryResponse.body;
}
const dictionaryExamples = dictionaryResponse.body;
for (const dictionaryExample of dictionaryExamples) {
console.log(
`For the given input ${dictionaryExample?.examples?.length} examples were found in the dictionary.`,
);
const firstExample = dictionaryExample?.examples[0];
console.log(
`Example: '${firstExample.targetPrefix + firstExample.targetTerm + firstExample.targetSuffix}'.`,
);
}
Zapoznaj się z dokumentacją usługi, aby zapoznać się z koncepcyjnym omówieniem przykładów słownika .
Rozwiązywanie problemów
W przypadku interakcji z usługą Translator przy użyciu biblioteki klienta TextTranslator błędy zwracane przez usługę Translator odpowiadają tym samym kodom stanu HTTP zwróconym dla żądań interfejsu API REST.
Jeśli na przykład przesyłasz żądanie tłumaczenia bez docelowego języka tłumaczenia, zostanie zwrócony błąd 400
wskazujący "Nieprawidłowe żądanie".
Różne kody błędów zwrócone przez usługę można znaleźć w dokumentacji usługi service.
Wyrąb
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną środowiskową AZURE_LOG_LEVEL
na info
. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel
w @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Aby uzyskać bardziej szczegółowe instrukcje dotyczące włączania dzienników, zapoznaj się z dokumentami dotyczącymi pakietów @azure/rejestratora.
Azure SDK for JavaScript