Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La traduzione documentale è una funzione di traduzione automatica basata su cloud del servizio Traduttore per Azure AI. Puoi tradurre più documenti complessi in tutte le lingue e dialetti supportati preservando la struttura originale del documento e il formato dei dati. L'API Traduzione documenti supporta due processi di traduzione:
La traduzione batch asincrona supporta l'elaborazione di più documenti e file di grandi dimensioni. Il processo di traduzione batch richiede un account di Archiviazione BLOB di Azure con contenitori di archiviazione per i documenti di origine e tradotti.
La traduzione sincrona di file singolo supporta l'elaborazione di traduzioni di file singoli. Il processo di conversione dei file non richiede un account di archiviazione BLOB di Azure. La risposta finale contiene il documento tradotto e viene restituita direttamente al client chiamante.
Le seguenti operazioni sono supportate dalla funzione Traduzione dei Documenti:
- Traduzione sincrona di documenti: Utilizzata per tradurre sincronamente un singolo documento. Il metodo non richiede un account di archiviazione BLOB di Azure.
- Avvia la traduzione batch: Utilizzato per eseguire una richiesta di traduzione batch asincrona. Il metodo richiede un account di archiviazione BLOB di Azure con contenitori di archiviazione per i documenti di origine e tradotti.
- Ottieni lo stato per tutti i lavori di traduzione: Usato per richiedere una lista e lo stato di tutti i lavori di traduzione inviati dall'utente (associati alla risorsa).
- Ottieni lo status per un lavoro di traduzione specifico: Usato per richiedere lo status di un lavoro di traduzione specifico. La risposta include lo stato complessivo del processo e lo stato dei documenti che vengono tradotti come parte di tale processo.
- Ottenere lo stato di tutti i documenti: Usato per richiedere lo stato di tutti i documenti in un lavoro di traduzione.
- Ottieni lo stato di un documento specifico: restituisce lo stato di un documento specifico in un lavoro come indicato nella richiesta dai parametri di query id e documentId.
- Annulla traduzione: Annulla un lavoro di traduzione attualmente in fase di elaborazione o in coda (in attesa). Un'operazione non viene annullata se è già stata completata, non è riuscita o viene comunque annullata.
- Ottieni formati supportati: restituisce un elenco di formati di documento o glossario supportati dalla funzione Traduzione del Documento.
Collegamenti chiave:
Come iniziare
Ambienti attualmente supportati
- Versioni LTS di Node.js
- Versioni più recenti di Safari, Chrome, Edge e Firefox.
Per altri dettagli, vedere i criteri di supporto .
Prerequisiti
- Una sottoscrizione di Azure.
- Un servizio traduttore esistente o una risorsa Servizi di Azure AI. Vedi Risorsa Crea un traduttore.
Installare il pacchetto @azure/ai-translation-document
Installa la libreria client Azure Document Translation per JavaScript con npm:
npm install @azure/ai-translation-document
Set up Archiviazione BLOB di Azure account
La traduzione batch richiede un account Archiviazione BLOB di Azure. Per maggiori informazioni sulla creazione di un account Archiviazione BLOB di Azure vedi qui. Per creare contenitori per i file sorgente e target vedi qui. Assicurati di autorizzare l'accesso alla tua memoria delle risorse di traduzione, maggiori informazioni qui.
Quando "Consentire l'accesso alla chiave dell'account di archiviazione" è disabilitato sull'account di archiviazione, l'Identità Gestita è abilitata sulla risorsa del traduttore e le viene assegnato il ruolo "Contributore dati del blob di stoccaggio" sull'account di archiviazione, allora puoi usare direttamente gli URL del container e non sarà necessario generare URI SAS.
Autenticare il client
Questa libreria espone due clienti:
-
DocumentTranslationClientper le operazioni di traduzione batch e stato di traduzione. -
SingleDocumentTranslationClientper la traduzione sincrona a singolo documento.
Entrambi i client possono autenticarsi con una credenziale Microsoft Entra o una chiave API.
Utilizzo di una credenziale Microsoft Entra
Puoi autenticarti con Microsoft Entra ID usando una credenziale dalla libreria @azure/identity. Per usare il provider DefaultAzureCredential
npm install @azure/identity
Dovrai inoltre registrare una nuova applicazione Microsoft Entra e concedere l'accesso alla risorsa Traduttore assegnando un ruolo adatto al tuo responsabile del servizio.
Utilizzando ambienti Node.js e simili a Node, puoi usare la DefaultAzureCredential classe per autenticare il client:
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());
Per gli ambienti browser, usa il InteractiveBrowserCredential pacchetto from @azure/identity the package per autenticare:
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);
Utilizzo di una chiave API
Puoi anche autenticarti con la chiave API della risorsa usando un 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);
Pacchetto JavaScript
Per usare questa libreria client nel browser, è prima necessario usare un bundler. Per informazioni dettagliate su come eseguire questa operazione, vedere la documentazione di creazione di bundle .
Concetti chiave
DocumentTranslationClient
DocumentTranslationClient è l'interfaccia per la traduzione batch asincrona e per l'interrogazione della traduzione e dello stato dei documenti. La traduzione batch richiede un account Archiviazione BLOB di Azure con contenitori per i tuoi documenti sorgente e tradotti.
SingleDocumentTranslationClient
SingleDocumentTranslationClient è l'interfaccia per la traduzione sincrona di un singolo documento. Non richiede un account Archiviazione BLOB di Azure; il documento tradotto viene restituito direttamente nella risposta.
Examples
La sezione seguente fornisce diversi frammenti di codice che coprono le principali caratteristiche di questa libreria client.
Traduzione sincrona di documenti
Usato per tradurre sincronamente un singolo documento. Il metodo non richiede un account di archiviazione BLOB di Azure.
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);
}
Traduzione batch dei documenti
Utilizzato per eseguire una richiesta di traduzione batch asincrona. Il metodo richiede un account di archiviazione BLOB di Azure con contenitori di archiviazione per i documenti di origine e tradotti. Fornire gli URL del container sorgente e target (con token SAS se necessario) e interrogare fino al completamento dell'operazione.
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}`);
Ottieni formati supportati
Restituisce un elenco dei formati di documento supportati dalla funzione Traduzione Documenti.
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);
}
Risoluzione dei problemi
Registrazione
L'abilitazione della registrazione può aiutare a individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL su info. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel nel @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto @azure/logger.
Contribuire
Per contribuire a questa libreria, leggere la guida contribuire per altre informazioni su come compilare e testare il codice.
Progetti correlati
Azure SDK for JavaScript