Udostępnij za pośrednictwem


Biblioteka klienta REST usługi Azure TextTranslation dla języka JavaScript — wersja 1.0.0

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 transliteracji, 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.

Wykrywanie. Zwraca kod języka kodu źródłowego i zmienną logiczną wskazującą, czy wykryty język jest obsługiwany do tłumaczenia tekstu i transliteracji.

Odnośnik 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 docelowych terminów.

Skorzystaj z tej biblioteki w dużej mierze na naszych dokumentach klienta REST

Kluczowe linki:

Wprowadzenie

Obecnie obsługiwane środowiska

  • Wersje ltS Node.js
  • Najnowsze wersje przeglądarki Edge, Chrome, Safar i Firefox

Wymagania wstępne

  • Istniejący zasób usługi Translator lub 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 polecenia npm:

npm install @azure-rest/ai-translation-text

Tworzenie zasobu usługi Translator

Zasób usługi Translator można utworzyć po utworzeniu zasobu usługi Translator.

Obsługa przeglądarki

Pakiet JavaScript

Aby użyć tej biblioteki klienta w przeglądarce, najpierw musisz użyć pakietu. Aby uzyskać szczegółowe informacje na temat tego, 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 . Potrzebny będzie klucz interfejsu API lub TokenCredential wystąpienie obiektu klienta. Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą usług Cognitive Services, zobacz Uwierzytelnianie żądań w usłudze Translator.

Uzyskiwanie klucza interfejsu API

Informacje o zasobie usług Cognitive Services lub usłudze Translator można uzyskać endpointAPI keyRegion w witrynie Azure Portal.

Możesz też użyć 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>

TextTranslationClient Tworzenie przy użyciu klucza interfejsu API i poświadczeń regionu

Po utworzeniu wartości klucza interfejsu API i regionu utwórz element TranslatorCredential.

Za pomocą wartości TranslatorCredential elementu można utworzyć element TextTranslationClient:

const translateCedential = new TranslatorCredential(apiKey, region);
const translationClient = TextTranslationClient(endpoint, translateCedential);

Przykłady

W poniższej sekcji przedstawiono kilka fragmentów kodu utworzonych clientpowyżej i 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 w usłudze 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 koncepcyjną dyskusją na temat języków.

Tłumaczenie

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 koncepcyjną dyskusją na temat 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 kawałku tekstu.

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 koncepcyjnym omówieniem zdania przerwania.

Wyszukiwanie w słowniku

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 słownika.

Przykłady słowników

Zwraca gramatyczną strukturę 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 zwrócone 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, 400 zwracany jest błąd wskazujący "Nieprawidłowe żądanie".

W dokumentacji usługi można znaleźć różne kody błędów zwrócone przez usługę.

Rejestrowanie

Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań HTTP i odpowiedzi, ustaw zmienną AZURE_LOG_LEVEL środowiskową na info. Możesz też włączyć rejestrowanie w czasie wykonywania, wywołując polecenie w elemecie setLogLevel@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 pakietu @azure/rejestratora.