Condividi tramite


Libreria client REST TextTranslation di Azure per JavaScript - versione 1.0.0

La traduzione testuale è una funzionalità API REST basata sul cloud del servizio Translator che usa la tecnologia di traduzione automatica neurale per abilitare la traduzione testuale rapida e accurata da origine a destinazione in tempo reale in tutte le lingue supportate.

I metodi seguenti sono supportati dalla funzionalità Traduzione testuale:

Lingue. Restituisce un elenco di lingue supportate dalle operazioni Translate, Transliterate e Dictionary Lookup.

Traduci. Esegue il rendering di testo in lingua di origine singola in più testi in lingua di destinazione con una singola richiesta.

Traslitterare. Converte caratteri o lettere di una lingua di origine nei caratteri o nelle lettere corrispondenti di una lingua di destinazione.

Rileva. Restituisce il codice lingua del codice sorgente e una variabile booleana che indica se la lingua rilevata è supportata per la traduzione e la traslitterazione del testo.

Ricerca nel dizionario. Restituisce parole equivalenti per il termine di origine nella lingua di destinazione.

Esempio di dizionario Restituisce esempi di struttura grammaticale e contesto per la coppia di termini di origine e di destinazione.

Per usare questa libreria, fare affidamento principalmente sulla documentazione del client REST

Collegamenti principali:

Introduzione

Ambienti attualmente supportati

  • Versioni LTS di Node.js
  • Versioni più recenti di Edge, Chrome, Safar e Firefox

Prerequisiti

  • Un servizio Translator esistente o una risorsa servizi cognitivi.

Installare il pacchetto @azure-rest/ai-translation-text

Installare la libreria client REST traduzione testuale di Azure per JavaScript con npm:

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

Creare una risorsa del servizio Translator

È possibile creare una risorsa di Translator seguendo La creazione di una risorsa Traduttore.

Supporto browser

JavaScript Bundle

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.

Autenticare il client

L'interazione con il servizio tramite la libreria client inizia con la creazione di un'istanza della classe TextTranslationClient . È necessaria una chiave API o TokenCredential per creare un'istanza di un oggetto client. Per altre informazioni sull'autenticazione con servizi cognitivi, vedere Autenticare le richieste al servizio Translator.

Ottenere una chiave API

È possibile ottenere le informazioni sulla endpointAPI keyRegion risorsa di Servizi cognitivi o sul servizio Traduttore nel portale di Azure.

In alternativa, usare il frammento di interfaccia della riga di comando di Azure seguente per ottenere la chiave API dalla risorsa del servizio Translator.

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

Creare un TextTranslationClient oggetto usando una chiave API e credenziali dell'area

Dopo aver ottenuto il valore per la chiave API e l'area, creare un oggetto TranslatorCredential.

Con il valore di TranslatorCredential è possibile creare TextTranslationClient:

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

Esempio

La sezione seguente fornisce diversi frammenti di codice usando il clientcodice creato in precedenza e illustra le funzionalità principali presenti in questa libreria client.

Ottenere le lingue supportate

Ottiene il set di lingue attualmente supportate da altre operazioni di 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}`
    );
  }
}

Per una descrizione concettuale delle lingue, vedere la documentazione del servizio.

Traduci

Esegue il rendering di testo in lingua di origine singola in più testi in lingua di destinazione con una singola richiesta.

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

Per una descrizione concettuale della traduzione, vedere la documentazione del servizio.

Transliterate

Converte caratteri o lettere di una lingua di origine nei caratteri o nelle lettere corrispondenti di una lingua di destinazione.

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

Per una descrizione concettuale della traslitterazione, vedere la documentazione del servizio.

Interrompi frase

Identifica il posizionamento dei delimitatori di frase in una porzione di testo.

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

Per una descrizione concettuale della frase di interruzione, vedere la documentazione del servizio.

Ricerca nel dizionario

Restituisce parole equivalenti per il termine di origine nella lingua di destinazione.

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

Per una descrizione concettuale della ricerca nel dizionario, vedere la documentazione del servizio.

Esempi di dizionari

Restituisce esempi di struttura grammaticale e contesto per la coppia di termini di origine e di destinazione.

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

Per una descrizione concettuale degli esempi di dizionario, vedere la documentazione del servizio.

Risoluzione dei problemi

Quando si interagisce con il servizio Traduttore usando la libreria client TextTranslator, gli errori restituiti dal servizio Translator corrispondono agli stessi codici di stato HTTP restituiti per le richieste api REST.

Ad esempio, se si invia una richiesta di traduzione senza una lingua di traduzione di destinazione, viene restituito un 400 errore che indica "Richiesta non valida".

È possibile trovare i diversi codici di errore restituiti dal servizio nella documentazione del servizio.

Registrazione

L'abilitazione della registrazione consente di 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 in @azure/logger:

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

setLogLevel("info");

Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto di @azure/logger.