Condividi tramite


Libreria client REST di TextTranslation di Azure per JavaScript - versione 1.0.0-beta.1

La traduzione testuale è una funzionalità API REST basata sul cloud del servizio Translator che usa la tecnologia di traduzione automatica neurale per abilitare una 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 singola in più testi di 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 del linguaggio del codice sorgente e una variabile booleana che indica se la lingua rilevata è supportata per la traduzione del testo e la traslitterazione.

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

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

Per usare questa libreria, affidarsi fortemente alla 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

  • Una risorsa di Traduzione testuale esistente o Servizi cognitivi.

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

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

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

Creare una risorsa del servizio Traduttore

È possibile creare una risorsa 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 raggruppamento.

Autenticare il client

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

Ottenere una chiave API

È possibile ottenere le informazioni sulla endpointAPI keyRegion risorsa servizi cognitivi o sulle risorse del servizio Traduzione 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 Traduttore.

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 avere il valore per la chiave API e l'area, creare un TranslatorCredentialoggetto .

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 lingue supportate

Ottiene il set di lingue attualmente supportate da altre operazioni del traduttore.

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 discussione concettuale sulle lingue, vedere la documentazione del servizio.

Traduci

Esegue il rendering di testo in lingua singola in più testi di 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 discussione concettuale sulla 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 discussione concettuale sulla traslitterazione, vedere la documentazione del servizio.

Frase di interruzione

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 discussione concettuale sulla 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 discussione concettuale sulla ricerca del 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 discussione 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 @azure/logger.