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 endpoint
Cognitive API key
Region
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 client
oben 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.
Azure SDK for JavaScript