Azure Document Translation klientbibliotek för JavaScript - version 1.0.0

Dokumentöversättning är en molnbaserad maskinöversättningsfunktion i tjänsten Azure AI Translator. Du kan översätta flera och komplexa dokument över alla stödda språk och dialekter samtidigt som du bevarar ursprunglig dokumentstruktur och dataformat. API:et för dokumentöversättning stöder två översättningsprocesser:

Asynkron batchöversättning stöder bearbetning av flera dokument och stora filer. Batchöversättningsprocessen kräver ett Azure Blob Storage-konto med lagringscontainrar för källan och översatta dokument.

Synkron enkelfilöversättning stödjer bearbetning av enkelfilsöversättningar. Filöversättningsprocessen kräver inget Azure Blob Storage-konto. Det slutliga svaret innehåller det översatta dokumentet och returneras direkt till den anropande klienten.

Följande operationer stöds av funktionen Dokumentöversättning:

  • Synkron dokumentöversättning: Används för att synkront översätta ett enskilt dokument. Metoden kräver inget Azure Blob Storage-konto.
  • Start batchtranslation: Används för att köra en asynkron batchöversättningsförfrågan. Metoden kräver ett Azure Blob Storage-konto med lagringscontainrar för källan och översatta dokument.
  • Få status för alla översättningsjobb: Används för att begära en lista och status för alla översättningsjobb som användaren har skickat in (kopplade till resursen).
  • Få status för ett specifikt översättningsjobb: Används för att begära status för ett specifikt översättningsjobb. Svaret innehåller den övergripande jobbstatusen och statusen för dokument som översätts som en del av jobbet.
  • Få status för alla dokument: Används för att begära status för alla dokument i ett översättningsjobb.
  • Få status för ett specifikt dokument: Returnerar status för ett specifikt dokument i ett jobb enligt begäran av id- och documentID-frågeparametrarna.
  • Avbryt översättning: Avbryter ett översättningsjobb som för närvarande bearbetas eller står i kö (väntar). En åtgärd avbryts inte om den redan har slutförts, misslyckats eller fortfarande avbryts.
  • Få stödda format: Returnerar en lista över dokument- eller ordlistaformat som stöds av funktionen Dokumentöversättning.

Nyckellänkar:

Komma igång

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

Mer information finns i vår supportprincip.

Förutsättningar

Installera @azure/ai-translation-document-paketet

Installera Azure Document Translation-klientbiblioteket för JavaScript mednpm:

npm install @azure/ai-translation-document

Set up Azure Blob Storage account

Batchöversättning kräver ett Azure Blob Storage-konto. För mer information om hur du skapar ett Azure Blob Storage-konto, se här. För att skapa containrar för dina käll- och målfiler, se här. Se till att godkänna åtkomst till din översättningsresurslagring, mer information här.

När "Tillåt åtkomst till lagringskontonyckel" är inaktiverat på lagringskontot, aktiveras Managed Identity på översättarresursen, och den tilldelas rollen "Storage Blob Data Contributor" på lagringskontot, då kan du använda container-URL:erna direkt och inga SAS-URI:er behöver genereras.

Autentisera klienten

Detta bibliotek exponerar två klienter:

  • DocumentTranslationClient för batchöversättning och översättningsstatusoperationer.
  • SingleDocumentTranslationClient för synkron enkeldokumentöversättning.

Båda klienterna kan autentisera sig med en Microsoft Entra-inloggning eller en API-nyckel.

Att använda en Microsoft Entra-legitimation

Du kan autentisera dig med Microsoft Entra ID med en inloggningsinformation från @azure/identity-biblioteket. Installera -paketet om du vill använda @azure/identity som visas nedan eller andra leverantörer av autentiseringsuppgifter som tillhandahålls med Azure SDKs:

npm install @azure/identity

Du måste också registrera en ny Microsoft Entra-applikation och ge tillgång till Translator-resursen genom att tilldela en lämplig roll till din tjänsteansvarig.

Med Node.js och nodliknande miljöer kan du använda DefaultAzureCredential klassen för att autentisera klienten:

import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());

För webbläsarmiljöer, använd från InteractiveBrowserCredential paketet @azure/identity för att autentisera sig:

import { InteractiveBrowserCredential } from "@azure/identity";
import { DocumentTranslationClient } from "@azure/ai-translation-document";

const credential = new InteractiveBrowserCredential({
  tenantId: "<YOUR_TENANT_ID>",
  clientId: "<YOUR_CLIENT_ID>",
});
const client = new DocumentTranslationClient("<endpoint>", credential);

Att använda en API-nyckel

Du kan också autentisera dig med resursens API-nyckel med en KeyCredential:

import { KeyCredential } from "@azure/core-auth";
import { DocumentTranslationClient } from "@azure/ai-translation-document";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const credential: KeyCredential = { key: "YOUR_SUBSCRIPTION_KEY" };
const client = new DocumentTranslationClient(endpoint, credential);

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.

Viktiga begrepp

DocumentTranslationClient

DocumentTranslationClient är gränssnittet för asynkron batchöversättning och för att söka översättning och dokumentstatus. Batchöversättning kräver ett Azure Blob Storage-konto med containrar för din källkod och översatta dokument.

SingleDocumentTranslationClient

SingleDocumentTranslationClient är gränssnittet för synkron översättning av enskilda dokument. Det kräver inget Azure Blob Storage-konto; det översatta dokumentet returneras direkt i svaret.

Examples

Följande avsnitt innehåller flera kodutdrag som täcker huvudfunktionerna i detta klientbibliotek.

Synkron dokumentöversättning

Används för att synkront översätta ett enskilt dokument. Metoden kräver inget Azure Blob Storage-konto.

import { SingleDocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";
import { writeFile } from "node:fs/promises";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new SingleDocumentTranslationClient(endpoint, new DefaultAzureCredential());
const response = await client.translate("hi", {
  document: {
    contents: "This is a test.",
    contentType: "text/html",
    filename: "test-input.txt",
  },
});
if (response.readableStreamBody) {
  await writeFile("test-output.txt", response.readableStreamBody);
}

Batch-dokumentöversättning

Används för att köra en asynkron batchöversättningsförfrågan. Metoden kräver ett Azure Blob Storage-konto med lagringscontainrar för källan och översatta dokument. Ange käll- och målcontainer-URL:er (med SAS-tokens om det behövs) och polla tills operationen slutförs.

import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());
const poller = client.startTranslation({
  inputs: [
    {
      source: { sourceUrl: "<source container SAS URL>" },
      targets: [{ targetUrl: "<target container SAS URL>", language: "fr" }],
    },
  ],
});
const result = await poller.pollUntilDone();
console.log(`Translation status: ${result.status}`);

Få stödda format

Returnerar en lista över dokumentformat som stöds av funktionen Dokumentöversättning.

import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());
const formats = await client.getSupportedFormats("Document");
for (const format of formats.value) {
  console.log(format.format);
}

Felsökning

Loggar

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.

Contributing

Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.