Sdílet prostřednictvím


Klientská knihovna REST pro Azure TextTranslation pro JavaScript – verze 1.0.0

Překlad textu je cloudová funkce rozhraní REST API služby Translator, která využívá technologii neurálního strojového překladu, která umožňuje rychlý a přesný překlad textu ze zdroje na cíl v reálném čase ve všech podporovaných jazycích.

Funkce překladu textu podporuje následující metody:

Jazyky. Vrátí seznam jazyků podporovaných operacemi Translate, Transliterate a Dictionary Lookup.

Přeložit. Vykreslí jeden text zdrojového jazyka na více textů cílového jazyka s jedním požadavkem.

Transkripce. Převede znaky nebo písmena zdrojového jazyka na odpovídající znaky nebo písmena cílového jazyka.

Rozpoznání: Vrátí kód jazyka zdrojového kódu a logickou proměnnou označující, zda je zjištěný jazyk podporován pro překlad a transkripci textu.

Vyhledávání slovníku. Vrátí ekvivalentní slova pro zdrojový termín v cílovém jazyce.

Příklad slovníku Vrátí gramatickou strukturu a kontextové příklady pro dvojici zdrojového a cílového termínu.

Při používání této knihovny se prosím hodně spolehněte na naše klientské dokumenty REST .

Klíčové odkazy:

Začínáme

Aktuálně podporovaná prostředí

  • LtS verze Node.js
  • Nejnovější verze aplikací Edge, Chrome, Safar a Firefox

Požadavky

  • Existující služba Translator nebo prostředek služeb Cognitive Services.

Nainstalujte balíček @azure-rest/ai-translation-text.

Nainstalujte klientskou knihovnu REST pro překlad textu Azure pro JavaScript pomocí npmpříkazu :

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

Vytvoření prostředku služby Translator

Prostředek Translator můžete vytvořit po vytvoření prostředku Služby Translator.

Podpora prohlížečů

JavaScript Bundle

Pokud chcete tuto klientskou knihovnu používat v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci k sdružování.

Ověření klienta

Interakce se službou pomocí klientské knihovny začíná vytvořením instance Třídy TextTranslationClient . Budete potřebovat klíč rozhraní API nebo TokenCredential vytvořit instanci objektu klienta. Další informace o ověřování pomocí cognitive services najdete v tématu Ověřování požadavků na službu Translator.

Získání klíče rozhraní API

A můžete získat endpointAPI keyRegion z informací o prostředku služeb Cognitive Services nebo službě Translator na webu Azure Portal.

Případně použijte fragment kódu Azure CLI níže a získejte klíč rozhraní API z prostředku služby Translator.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Vytvoření TextTranslationClient pomocí klíče rozhraní API a přihlašovacích údajů oblasti

Jakmile budete mít hodnotu pro klíč rozhraní API a oblast, vytvořte TranslatorCredential.

Pomocí hodnoty TranslatorCredential můžete vytvořit TextTranslationClient:

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

Příklady

Následující část obsahuje několik fragmentů kódu pomocí výše vytvořenéhoclient kódu a popisuje hlavní funkce v této klientské knihovně.

Získání podporovaných jazyků

Získá sadu jazyků aktuálně podporovaných jinými operacemi služby 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}`
    );
  }
}

Koncepční informace o jazycích najdete v dokumentaci ke službě.

Překlad

Vykreslí jeden text zdrojového jazyka na více textů cílového jazyka s jedním požadavkem.

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}'.`
  );
}

Koncepční diskuzi o překladu najdete v dokumentaci ke službě.

Transliterace

Převede znaky nebo písmena zdrojového jazyka na odpovídající znaky nebo písmena cílového jazyka.

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}'.`
  );
}

Koncepční diskuzi o transkripci najdete v dokumentaci ke službě.

Zalomit větu

Určuje umístění hranic vět v části textu.

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(", ")}'.`);
}

Koncepční diskuzi o zalomení věty najdete v dokumentaci ke službě.

Slovníkové vyhledávání

Vrátí ekvivalentní slova pro zdrojový termín v cílovém jazyce.

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}.`
  );
}

Koncepční diskuzi o vyhledávání ve slovníku najdete v dokumentaci ke službě.

Příklady slovníku

Vrátí gramatickou strukturu a příklady kontextu pro dvojici zdrojového a cílového termínu.

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}'.`
  );
}

Koncepční informace o příkladech slovníku najdete v dokumentaci ke službě.

Poradce při potížích

Při interakci se službou Translator pomocí klientské knihovny TextTranslator odpovídají chyby vrácené službou Translator stejným stavovým kódům HTTP vráceným pro požadavky rozhraní REST API.

Pokud například odešlete žádost o překlad bez cílového jazyka překladu, 400 vrátí se chyba s označením "Chybný požadavek".

Různé kódy chyb vrácené službou najdete v dokumentaci ke službě.

protokolování

Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL prostředí na info. Případně je možné protokolování povolit za běhu voláním setLogLevel v :@azure/logger

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Podrobnější pokyny k povolení protokolů najdete v dokumentaci k balíčkům @azure/protokolovacího nástroje.