Dela via


Rest-klientbibliotek för Azure TextTranslation för JavaScript – version 1.0.0

Textöversättning är en molnbaserad REST API-funktion i Translator-tjänsten som använder neural maskinöversättningsteknik för att möjliggöra snabb och korrekt textöversättning från källa till mål i realtid över alla språk som stöds.

Följande metoder stöds av textöversättningsfunktionen:

Språk. Returnerar en lista över språk som stöds av åtgärderna Translate, Transliterate och Dictionary Lookup.

Översätta. Renderar text med ett enda källspråk till flera målspråkstexter med en enda begäran.

Transkribera. Konverterar tecken eller bokstäver i ett källspråk till motsvarande tecken eller bokstäver i ett målspråk.

Identifiera. Returnerar källkodens språkkod och en boolesk variabel som anger om det identifierade språket stöds för textöversättning och transkribering.

Ordlistesökning. Returnerar motsvarande ord för källtermen på målspråket.

Ordlisteexempel Returnerar grammatisk struktur och kontextexempel för källtermen och måltermparet.

Förlita dig mycket på våra REST-klientdokument för att använda det här biblioteket

Nyckellänkar:

Komma igång

Miljöer som stöds för närvarande

  • LTS-versioner av Node.js
  • De senaste versionerna av Edge, Chrome, Safar och Firefox

Förutsättningar

  • En befintlig Translator-tjänst eller Cognitive Services-resurs.

Installera @azure-rest/ai-translation-text-paketet

Installera REST-klientbiblioteket för Azure Text Translation för JavaScript med npm:

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

Skapa en Translator-tjänstresurs

Du kan skapa En Translator-resurs efter Skapa en Translator-resurs.

Stöd för webbläsare

JavaScript-paket

Om du vill använda det här klientbiblioteket i webbläsaren måste du först använda en bundler. Mer information om hur du gör detta finns i vår paketeringsdokumentation.

Autentisera klienten

Interaktionen med tjänsten med hjälp av klientbiblioteket börjar med att skapa en instans av klassen TextTranslationClient . Du behöver en API-nyckel eller TokenCredential för att instansiera ett klientobjekt. Mer information om autentisering med kognitiva tjänster finns i Autentisera begäranden till Translator Service.

Hämta en API-nyckel

Du kan hämta endpoint, API key och Region från Cognitive Services-resursen eller Translator-tjänstens resursinformation i Azure-portalen.

Du kan också använda Azure CLI-kodfragmentet nedan för att hämta API-nyckeln från Translator-tjänstresursen.

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

Skapa en TextTranslationClient med hjälp av en API-nyckel och regionsautentiseringsuppgifter

När du har värdet för API-nyckeln och regionen skapar du en TranslatorCredential.

Med värdet för TranslatorCredential kan du skapa TextTranslationClient:

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

Exempel

Följande avsnitt innehåller flera kodfragment med hjälp av ovanståendeclient och beskriver huvudfunktionerna i det här klientbiblioteket.

Hämta språk som stöds

Hämtar den uppsättning språk som för närvarande stöds av andra åtgärder i 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}`
    );
  }
}

I tjänstdokumentationen finns en konceptuell diskussion om språk.

Översätt

Renderar text med ett enda källspråk till flera målspråkstexter med en enda begäran.

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

Mer information om översättning finns i tjänstdokumentationen.

Transkribera

Konverterar tecken eller bokstäver i ett källspråk till motsvarande tecken eller bokstäver i ett målspråk.

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

Se tjänstdokumentationen för en konceptuell diskussion om transkribering.

Bryt mening

Identifierar placeringen av meningsgränser i ett textstycke.

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

Se tjänstdokumentationen för en konceptuell diskussion om bryt mening.

Slå upp i ordlista

Returnerar motsvarande ord för källtermen på målspråket.

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

Se tjänstdokumentationen för en konceptuell diskussion om ordlistesökning.

Ordlisteexempel

Returnerar grammatisk struktur och kontextexempel för källtermen och måltermparet.

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

Se tjänstdokumentationen för en konceptuell diskussion om ordlisteexempel.

Felsökning

När du interagerar med Translator-tjänsten med hjälp av TextTranslator-klientbiblioteket motsvarar fel som returneras av Translator-tjänsten samma HTTP-statuskoder som returneras för REST API-begäranden.

Om du till exempel skickar en översättningsbegäran utan ett målöversättningsspråk returneras ett 400 fel som anger "Felaktig begäran".

Du hittar de olika felkoderna som returneras av tjänsten i tjänstdokumentationen.

Loggning

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg över HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Loggning kan också aktiveras vid körning genom att anropa setLogLevel i @azure/logger:

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

setLogLevel("info");

Mer detaljerade anvisningar om hur du aktiverar loggar finns i dokumentationen om @azure-/loggningspaket.