Azure TextTranslation REST client library for JavaScript - version 2.0.0-beta.1

Azure-textöversättning är ett molnbaserat REST-API som tillhandahålls av Azure Translator-tjänsten. Den använder neural maskinöversättningsteknologi för att leverera precisa, kontextuellt relevanta och semantiskt korrekta realtidsöversättningar av texter över alla stödda språk.

Klientbiblioteket erbjuder flera nyckelfunktioner:

  • Hämta listan över språk som stöds för översättning och translittereringsoperationer, samt LLM-modeller som finns tillgängliga för översättningar.

  • Utför deterministisk textöversättning från ett angivet källspråk till ett målspråk, med konfigurerbara parametrar för att säkerställa precision och bibehålla kontextuell integritet.

  • Utför translitteration genom att konvertera text från originalskriptet till en alternativ skriptrepresentation.

  • Använd LLM-modeller för att producera översättningsvarianter som är tonspecifika och könsmedvetna.

Vi förlitar dig mycket på våra REST-klientdokument för att kunna använda det här biblioteket

Viktiga länkar:

Komma igång

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

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

Förutsättningar

  • En befintlig översättartjänst eller resurs för kognitiva tjänster.

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

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

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

Skapa en resurs för översättartjänsten

Du kan skapa en översättarresurs efter att ha skapat en översättarresurs.

Webbläsarstöd

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 via klientbiblioteket börjar med att skapa en instans av TextTranslationClient-klassen . Du behöver en API-nyckel eller TokenCredential för att instansiera ett klientobjekt. För mer information om autentisering med kognitiva tjänster, se Autentisera förfrågningar till översättartjänsten.

Hämta ett API-nyckel

Du kan få endpoint, API key och Region från resursinformationen för Cognitive Services eller Translator Service i Azure Portal.

Alternativt kan du använda Azure CLI-utsnittet 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 en API-nyckel och regionreferens

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

Med värdet av kan TranslatorCredential du skapa TextTranslationClient:

import TextTranslationClient, { TranslatorCredential } from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

Examples

Följande avsnitt innehåller flera kodutdrag med hjälp av ovanståendeclient och täcker huvudfunktionerna i detta klientbibliotek.

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.

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const langResponse = await translationClient.path("/languages").get();

if (isUnexpected(langResponse)) {
  throw langResponse.body.error;
}

const languages = langResponse.body;

if (languages.translation) {
  console.log("Translated languages:");
  for (const [key, translationLanguage] of Object.entries(languages.translation)) {
    console.log(`${key} -- name: ${translationLanguage.name} (${translationLanguage.nativeName})`);
  }
}

if (languages.transliteration) {
  console.log("Transliteration languages:");
  for (const [key, transliterationLanguage] of Object.entries(languages.transliteration)) {
    console.log(
      `${key} -- name: ${transliterationLanguage.name} (${transliterationLanguage.nativeName})`,
    );
  }
}

if (languages.models) {
  console.log("Available LLM Models:");
  for (const model in languages.models) {
    console.log(model);
  }
}

Vänligen se servicedokumentationen för en konceptuell diskussion om språk.

Translate

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

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const input = {
  text: "This is a test.",
  targets: [{ language: "cs" }],
  language: "en",
};
const translateResponse = await translationClient.path("/translate").post({
  body: { inputs: [input] },
});

if (isUnexpected(translateResponse)) {
  throw translateResponse.body.error;
}

const translations = translateResponse.body.value;
for (const translation of translations) {
  console.log(
    `Text was translated to: '${translation?.translations[0]?.language}' and the result is: '${translation?.translations[0]?.text}'.`,
  );
}

Vänligen se servicedokumentationen för en konceptuell diskussion om översättning.

Transliterate

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

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const inputText = [{ text: "这是个测试。" }];
const parameters = {
  language: "zh-Hans",
  fromScript: "Hans",
  toScript: "Latn",
};
const transliterateResponse = await translationClient.path("/transliterate").post({
  body: { inputs: inputText },
  queryParameters: parameters,
});

if (isUnexpected(transliterateResponse)) {
  throw transliterateResponse.body.error;
}

const transliterations = transliterateResponse.body.value;
for (const transliteration of transliterations) {
  console.log(
    `Input text was transliterated to '${transliteration?.script}' script. Transliterated text: '${transliteration?.text}'.`,
  );
}

Vänligen se servicedokumentationen för en konceptuell diskussion om translitterat.

Felsökning

När du interagerar med Translator Service via TextTranslator-klientbiblioteket motsvarar fel som returneras av Translator-tjänsten samma HTTP-statuskoder som returneras för REST API-förfrågningar.

Till exempel, om du skickar in en översättningsförfrågan utan ett målöversättningsspråk, returneras ett 400 felmeddelande som indikerar "Dålig begäran".

Loggning / Skogsavverkning

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

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Mer detaljerade anvisningar om hur du aktiverar loggar finns i dokument för @azure/logger-paket.