Freigeben über


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

Die Textübersetzung ist ein cloudbasiertes REST-API-Feature des Übersetzerdiensts, das neurale maschinelle Übersetzungstechnologie verwendet, um eine schnelle und genaue Textübersetzung in Echtzeit in allen unterstützten Sprachen zu ermöglichen.

Die folgenden Methoden werden von der Textübersetzungsfunktion unterstützt:

Sprachen. Gibt eine Liste der Sprachen zurück, die von Übersetzungs-, Transliterate- und Wörterbuch-Nachschlagevorgängen unterstützt werden.

Übersetzen. Rendert Text in einer Quellsprache in mehreren Zielsprachentexten mit einer einzigen Anforderung.

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

Entdecken. Gibt den Quellcode-Sprachcode 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 entsprechende Wörter für den Quellausdruck in der Zielsprache zurück.

Wörterbuchbeispiel Gibt Grammatikstruktur und Kontextbeispiele für den Quellausdruck und das Zielausdruckspaar zurück.

Verlassen Sie sich auf unsere REST-Clientdokumente, um diese Bibliothek

Wichtige Links:

Erste Schritte

Derzeit unterstützte Umgebungen

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

Voraussetzungen

  • Eine vorhandene Übersetzerdienst- oder Cognitive Services-Ressource.

Installieren des @azure-rest/ai-translation-text-Pakets

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 Übersetzerressource nach Erstellen einer Übersetzerressourceerstellen.

Browserunterstützung

JavaScript-Bündel

Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zuerst 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, um ein Clientobjekt zu instanziieren. Weitere Informationen zur Authentifizierung mit kognitiven Diensten finden Sie unter Authenticate requests to Translator Service.

Abrufen eines API-Schlüssels

Sie können die endpoint, API key und Region aus den Ressourceninformationen der Cognitive Services- oder Translator-Dienstressourcen im Azure Portalabrufen.

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

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

Erstellen einer TextTranslationClient mit einem API-Schlüssel und Regionsanmeldeinformationen

Nachdem Sie den Wert für den API-Schlüssel und die Region haben, erstellen Sie eine TranslatorCredential.

Mit dem Wert der TranslatorCredential können Sie den TextTranslationClient-erstellen:

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

Beispiele

Der folgende Abschnitt enthält mehrere Codeausschnitte mithilfe der obenerstellten clientund behandelt die wichtigsten Features, die in dieser Clientbibliothek vorhanden sind.

Unterstützte Sprachen abrufen

Ruft den Satz von Sprachen ab, die derzeit von anderen Vorgängen des Übersetzers 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 Erläuterung der Sprachenfinden Sie in der Servicedokumentation.

Übersetzen

Rendert Text in einer Quellsprache in mehreren Zielsprachentexten mit einer einzigen Anforderung.

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

Bitte lesen Sie die Servicedokumentation, um eine konzeptionelle Diskussion über übersetzen.

Transkribieren

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 Erläuterung der transliteratfinden Sie in der Servicedokumentation.

Satz umbrechen

Identifiziert die Positionierung von Satzbegrenzungen in einem Textteil.

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 Erläuterung Satzwechselfinden Sie in der Servicedokumentation.

Wörterbuchsuche

Gibt entsprechende Wörter für den Quellausdruck 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 Erläuterung der Wörterbuchsuchefinden Sie in der Dienstdokumentation.

Wörterbuchbeispiele

Gibt Grammatikstruktur und Kontextbeispiele für den Quellausdruck und das Zielausdruckspaar 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 Erläuterung Wörterbuchbeispielefinden Sie in der Dienstdokumentation.

Fehlerbehebung

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

Wenn Sie z. B. eine Übersetzungsanforderung ohne Zielübersetzungssprache übermitteln, wird ein 400 Fehler zurückgegeben, der "Ungültige Anforderung" angibt.

Sie finden die verschiedenen Fehlercodes, die vom Dienst zurückgegeben werden, in der Service Documentation.

Protokollierung

Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL Umgebungsvariable auf infofest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel im @azure/loggeraktiviert werden:

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

setLogLevel("info");

Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in den @azure/Logger-Paketdokumenten.