Freigeben über


Azure TextTranslation REST-Clientbibliothek für JavaScript – Version 1.0.0

Bei der Textübersetzung handelt es sich um ein cloudbasiertes REST-API-Feature des Übersetzungsdiensts, das die Technologie der neuronalen maschinellen Übersetzung verwendet, um eine schnelle und genaue Übersetzung von Ausgangstext zu Zieltext in Echtzeit in allen unterstützten Sprachen zu ermöglichen.

Die folgenden Methoden werden vom Feature für die Textübersetzung unterstützt:

Sprachen. Gibt eine Liste der Sprachen zurück, die von den Vorgängen Übersetzen, Transliterieren und Wörterbuchsuche unterstützt werden.

Übersetzen. Rendert Text in einer einzelnen Quellsprache mit einer einzelnen Anforderung in Texte in mehreren Zielsprachen.

Transliterieren. Konvertiert Zeichen oder Buchstaben einer Quellsprache in die entsprechenden Zeichen oder Buchstaben einer Zielsprache.

Erkennen. Gibt den Sprachcode des Quellcodes und eine boolesche Variable zurück, die angibt, ob die erkannte Sprache für die Textübersetzung und Transliteration unterstützt wird.

Wörterbuchsuche. Gibt äquivalente Wörter für den Quellbegriff in der Zielsprache zurück.

Wörterbuchbeispiel. Gibt die grammatikalische Struktur und Kontextbeispiele für das Paar aus Quell- und Zielbegriff zurück.

Verlassen Sie sich bei der Verwendung dieser Bibliothek in hohem Maße auf unsere REST-Clientdokumentation .

Wichtige Links:

Erste Schritte

Die derzeitig unterstützten Umgebungen

  • LTS-Versionen von Node.js
  • Neueste Versionen von Edge, Chrome, Safar und Firefox

Voraussetzungen

  • Ein vorhandener Translator-Dienst oder eine Cognitive Services-Ressource.

Installieren Sie das Paket @azure-rest/ai-translation-text.

Installieren Sie die Azure Text Translation REST-Clientbibliothek für JavaScript mit npm:

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

Erstellen einer Übersetzerdienstressource

Sie können eine Translator-Ressource erstellen, indem Sie eine Übersetzerressource erstellen.

Browserunterstützung

JavaScript-Bundle

Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zunächst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.

Authentifizieren des Clients

Die Interaktion mit dem Dienst mithilfe der Clientbibliothek beginnt mit dem Erstellen einer Instanz der TextTranslationClient-Klasse . Sie benötigen einen API-Schlüssel oder TokenCredential zum Instanziieren eines Clientobjekts. Weitere Informationen zur Authentifizierung mit Cognitive Services finden Sie unter Authentifizieren von Anforderungen an Translator Service.

Abrufen eines API-Schlüssels

Sie können die Informationen über die endpointCognitive API keyRegion Services-Ressource oder den Translator-Dienst im Azure-Portal abrufen.

Alternativ können Sie den folgenden Azure CLI-Codeausschnitt verwenden, um den API-Schlüssel aus der Translator-Dienstressource abzurufen.

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

Erstellen eines TextTranslationClient mithilfe eines API-Schlüssels und Regionsanmeldeinformationen

Sobald Sie über den Wert für den API-Schlüssel und die Region verfügen, erstellen Sie einen TranslatorCredential.

Mit dem Wert von TranslatorCredential können Sie textTranslationClient erstellen:

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

Beispiele

Der folgende Abschnitt enthält mehrere Codeausschnitte, die das clientoben erstellte verwenden, und behandelt die wichtigsten Features in dieser Clientbibliothek.

Unterstützte Sprachen abrufen

Ruft die Sprachen ab, die derzeit von anderen Translator-Vorgängen unterstützt werden.

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

Eine konzeptionelle Sprachdiskussion finden Sie in der Servicedokumentation.

Übersetzung

Rendert Text in einer einzelnen Quellsprache mit einer einzelnen Anforderung in Texte in mehreren Zielsprachen.

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

Eine konzeptionelle Diskussion zu übersetzen finden Sie in der Servicedokumentation.

Transliterate

Konvertiert Zeichen oder Buchstaben einer Quellsprache in die entsprechenden Zeichen oder Buchstaben einer Zielsprache.

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

Eine konzeptionelle Diskussion über Transliterate finden Sie in der Servicedokumentation.

Satz unterbrechen

Erkennt die Positionierung von Satzgrenzen in einem Textabschnitt.

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

Eine konzeptionelle Diskussion zu Unterbrechungssätzen finden Sie in der Dienstdokumentation.

Wörterbuchsuche

Gibt äquivalente Wörter für den Quellbegriff in der Zielsprache zurück.

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

Eine konzeptionelle Diskussion zur Wörterbuchsuche finden Sie in der Dienstdokumentation.

Wörterbuchbeispiele

Gibt grammatikalische Struktur- und Kontextbeispiele für das Quellausdruck- und Zielbegriffspaar zurück.

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

Eine konzeptionelle Diskussion von Wörterbuchbeispielen finden Sie in der Dienstdokumentation.

Problembehandlung

Wenn Sie mit dem Übersetzerdienst über die TextTranslator-Clientbibliothek interagieren, entsprechen die vom Translator-Dienst zurückgegebenen Fehler den gleichen HTTP-Statuscodes, die für REST-API-Anforderungen zurückgegeben werden.

Wenn Sie beispielsweise eine Übersetzungsanforderung ohne Zielübersetzungssprache übermitteln, wird ein 400 Fehler zurückgegeben, der auf "Ungültige Anforderung" hinweist.

Die verschiedenen Fehlercodes, die vom Dienst zurückgegeben werden, finden Sie in der Dienstdokumentation.

Protokollierung

Die Aktivierung der Protokollierung kann hilfreiche Informationen über Fehler aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die Umgebungsvariable AZURE_LOG_LEVEL auf info fest. Alternativ kann die Protokollierung zur Laufzeit aktiviert werden, indem Sie setLogLevel in @azure/logger aufrufen:

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

setLogLevel("info");

Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in der Paketdokumentation zu @azure/logger.