Delen via


Azure TextTranslation REST-clientbibliotheek voor JavaScript - versie 1.0.1

Tekstomzetting is een cloudgebaseerde REST API-functie van de Translator-service die gebruikmaakt van neurale machinevertalingstechnologie om snel en nauwkeurig tekstvertaling naar doel in realtime in alle ondersteunde talen mogelijk te maken.

De volgende methoden worden ondersteund door de functie Tekstomzetting:

Talen. Retourneert een lijst met talen die worden ondersteund door bewerkingen vertalen, transliteratie en opzoeken in woordenlijsten.

Vertalen. Hiermee wordt tekst in één brontaal weergegeven in meerdere doeltaalteksten met één aanvraag.

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

Detecteren. Retourneert de broncodetaalcode en een Booleaanse variabele die aangeeft of de gedetecteerde taal wordt ondersteund voor tekstomzetting en transliteratie.

Opzoeken van 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

Sleutelkoppelingen:

Slag

Momenteel ondersteunde omgevingen

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

Voorwaarden

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

Het @azure-rest/ai-translation-text-pakket installeren

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

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

Een Translator-serviceresource maken

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

Browserondersteuning

JavaScript-bundel

Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Raadpleeg onze bundeldocumentatievoor 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 TextTranslationClient-klasse. U hebt een API-sleutel nodig of TokenCredential om een clientobject te instantiëren. Zie Aanvragen verifiëren bij Translator Servicevoor meer informatie over verificatie met cognitieve services.

Een API-sleutel ophalen

U kunt de endpoint, API key en Region ophalen uit de cognitive services- of Translator-serviceresourcegegevens in de Azure Portal-.

U kunt ook het onderstaande Azure CLI codefragment 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>

Een TextTranslationClient 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 TextTranslationClientmaken:

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

Voorbeelden

De volgende sectie bevat verschillende codefragmenten met behulp van de clientdie hierboven zijn gemaakten behandelt de belangrijkste functies die aanwezig zijn in deze clientbibliotheek.

Ondersteunde talen ophalen

Hiermee haalt u de set talen op die momenteel worden ondersteund door andere bewerkingen van 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.

Vertalen

Hiermee wordt tekst in één brontaal weergegeven in 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.

Translitereren

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 transliteratie.

Zin onderbreken

Hiermee wordt de positie van zinsgrenzen in een stuk tekst geïdentificeerd.

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 zinseinde.

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 woordenlijstzoekopdracht.

Voorbeelden van 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 woordenlijstvoorbeelden.

Probleemoplossing

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

Als u bijvoorbeeld een vertaalaanvraag indient zonder een doeltaal voor vertalen, wordt een 400 fout geretourneerd, wat 'Ongeldige aanvraag' aangeeft.

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

Logboekregistratie

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

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

setLogLevel("info");

Voor meer gedetailleerde instructies over het inschakelen van logboeken, kunt u de @azure/logger pakketdocumentenbekijken.