Delen via


Azure TextTranslation REST-clientbibliotheek voor JavaScript - versie 1.0.0-beta.1

Tekstvertaling is een cloudgebaseerde REST API-functie van de Translator-service die gebruikmaakt van technologie voor neurale machinevertaling om snelle en nauwkeurige bron-naar-doeltekstvertaling in realtime mogelijk te maken in alle ondersteunde talen.

De volgende methoden worden ondersteund door de functie Tekstvertaling:

Talen. Retourneert een lijst met talen die worden ondersteund door vertaal-, transliteratie- en woordenlijstzoekbewerkingen.

Vertalen. Geeft tekst in één brontaal weer naar meerdere doeltaalteksten met één aanvraag.

Transliteratie. Converteert tekens of letters van een brontaal naar de bijbehorende tekens of letters van een doeltaal.

Detecteren. Retourneert de code van de broncodetaal en een booleaanse variabele die aangeeft of de gedetecteerde taal wordt ondersteund voor tekstomzetting en transliteratie.

Opzoeken in woordenlijst. Retourneert equivalente woorden voor de bronterm in de doeltaal.

Woordenlijstvoorbeeld retourneert grammaticale structuur en contextvoorbeelden voor de bronterm en het doeltermpaar.

Vertrouw sterk op onze REST-clientdocumenten om deze bibliotheek te gebruiken

Belangrijke koppelingen:

Aan de slag

Momenteel ondersteunde omgevingen

  • LTS-versies van Node.js
  • Nieuwste versies van Edge, Chrome, Safar en Firefox

Vereisten

  • Een bestaande Translator-service of Cognitive Services-resource.

Installeer het pakket @azure-rest/ai-translation-text

Installeer de Azure Text Translation REST-clientbibliotheek voor JavaScript met npm:

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

Een Translator-serviceresource maken

U kunt een Translator-resource maken na Een Translator-resource maken.

Browserondersteuning

JavaScript-bundel

Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Raadpleeg onze documentatie voor bundeling voor meer informatie over hoe u dit doet.

De client verifiëren

Interactie met de service met behulp van de clientbibliotheek begint met het maken van een exemplaar van de klasse TextTranslationClient . U hebt een API-sleutel nodig of TokenCredential om een clientobject te instantiëren. Zie Aanvragen verifiëren bij Translator Service voor meer informatie over verificatie met cognitieve services.

Een API-sleutel ophalen

U kunt de endpoint, API key en Region ophalen van de resourcegegevens van de Cognitive Services- of Translator-service in de Azure-portal.

U kunt ook het onderstaande Azure CLI-fragment gebruiken om de API-sleutel op te halen uit de Translator-serviceresource.

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

TextTranslationClient Een maken met behulp van een API-sleutel en regioreferentie

Zodra u de waarde voor de API-sleutel en Regio hebt, maakt u een TranslatorCredential.

Met de waarde van de TranslatorCredential kunt u de TextTranslationClient maken:

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

Voorbeelden

De volgende sectie bevat verschillende codefragmenten met behulp van de clienthierboven gemaakte, en behandelt de belangrijkste functies die aanwezig zijn in deze clientbibliotheek.

Ondersteunde talen ophalen

Hiermee haalt u de set talen op die momenteel wordt ondersteund door andere bewerkingen van De 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}`
    );
  }
}

Raadpleeg de servicedocumentatie voor een conceptuele bespreking van talen.

Translator

Geeft tekst in één brontaal weer naar meerdere doeltaalteksten met één aanvraag.

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

Raadpleeg de servicedocumentatie voor een conceptuele bespreking van vertalen.

Transcriberen

Converteert tekens of letters van een brontaal naar de bijbehorende tekens of letters van een doeltaal.

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

Raadpleeg de servicedocumentatie voor een conceptuele bespreking van transliterate.

Zin verbreken

Identificeert de plaatsing van zinsgrenzen in een stuk tekst.

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

Raadpleeg de servicedocumentatie voor een conceptuele bespreking van een onderbrekingszin.

Opzoeken in woordenlijst

Retourneert equivalente woorden voor de bronterm in de doeltaal.

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

Raadpleeg de servicedocumentatie voor een conceptuele bespreking van het opzoeken van woordenlijsten.

Voorbeelden in woordenlijst

Retourneert grammaticale structuur- en contextvoorbeelden voor de bronterm en het doeltermpaar.

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

Raadpleeg de servicedocumentatie voor een conceptuele bespreking van voorbeelden van woordenlijsten.

Problemen oplossen

Wanneer u met de Translator-service communiceert met behulp van de TextTranslator-clientbibliotheek, komen fouten die worden geretourneerd door de Translator-service overeen met dezelfde HTTP-statuscodes die zijn geretourneerd voor REST API-aanvragen.

Als u bijvoorbeeld een vertaalaanvraag indient zonder een doeltaal voor vertalen, wordt er een 400 fout geretourneerd met de melding 'Ongeldige aanvraag'.

U vindt de verschillende foutcodes die door de service worden geretourneerd in de servicedocumentatie.

Logboekregistratie

Het inschakelen van logboekregistratie kan helpen bij het ontdekken van nuttige informatie over fouten. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de AZURE_LOG_LEVEL omgevingsvariabele in op info. Logboekregistratie kan ook worden ingeschakeld tijdens runtime door aan te roepen setLogLevel in de @azure/logger:

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

setLogLevel("info");

Voor meer gedetailleerde instructies over het inschakelen van logboeken kunt u de @azure-/loggerpakketdocumenten bekijken.