Klientská knihovna REST pro Azure TextTranslation pro JavaScript – verze 1.0.0
Překlad textu je cloudová funkce rozhraní REST API služby Translator, která využívá technologii neurálního strojového překladu, která umožňuje rychlý a přesný překlad textu ze zdroje na cíl v reálném čase ve všech podporovaných jazycích.
Funkce překladu textu podporuje následující metody:
Jazyky. Vrátí seznam jazyků podporovaných operacemi Translate, Transliterate a Dictionary Lookup.
Přeložit. Vykreslí jeden text zdrojového jazyka na více textů cílového jazyka s jedním požadavkem.
Transkripce. Převede znaky nebo písmena zdrojového jazyka na odpovídající znaky nebo písmena cílového jazyka.
Rozpoznání: Vrátí kód jazyka zdrojového kódu a logickou proměnnou označující, zda je zjištěný jazyk podporován pro překlad a transkripci textu.
Vyhledávání slovníku. Vrátí ekvivalentní slova pro zdrojový termín v cílovém jazyce.
Příklad slovníku Vrátí gramatickou strukturu a kontextové příklady pro dvojici zdrojového a cílového termínu.
Při používání této knihovny se prosím hodně spolehněte na naše klientské dokumenty REST .
Klíčové odkazy:
Začínáme
Aktuálně podporovaná prostředí
- LtS verze Node.js
- Nejnovější verze aplikací Edge, Chrome, Safar a Firefox
Požadavky
- Existující služba Translator nebo prostředek služeb Cognitive Services.
Nainstalujte balíček @azure-rest/ai-translation-text
.
Nainstalujte klientskou knihovnu REST pro překlad textu Azure pro JavaScript pomocí npm
příkazu :
npm install @azure-rest/ai-translation-text
Vytvoření prostředku služby Translator
Prostředek Translator můžete vytvořit po vytvoření prostředku Služby Translator.
Podpora prohlížečů
JavaScript Bundle
Pokud chcete tuto klientskou knihovnu používat v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci k sdružování.
Ověření klienta
Interakce se službou pomocí klientské knihovny začíná vytvořením instance Třídy TextTranslationClient . Budete potřebovat klíč rozhraní API nebo TokenCredential
vytvořit instanci objektu klienta. Další informace o ověřování pomocí cognitive services najdete v tématu Ověřování požadavků na službu Translator.
Získání klíče rozhraní API
A můžete získat endpoint
API key
Region
z informací o prostředku služeb Cognitive Services nebo službě Translator na webu Azure Portal.
Případně použijte fragment kódu Azure CLI níže a získejte klíč rozhraní API z prostředku služby Translator.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Vytvoření TextTranslationClient
pomocí klíče rozhraní API a přihlašovacích údajů oblasti
Jakmile budete mít hodnotu pro klíč rozhraní API a oblast, vytvořte TranslatorCredential
.
Pomocí hodnoty TranslatorCredential
můžete vytvořit TextTranslationClient:
const translateCedential = new TranslatorCredential(apiKey, region);
const translationClient = TextTranslationClient(endpoint, translateCedential);
Příklady
Následující část obsahuje několik fragmentů kódu pomocí výše vytvořenéhoclient
kódu a popisuje hlavní funkce v této klientské knihovně.
Získání podporovaných jazyků
Získá sadu jazyků aktuálně podporovaných jinými operacemi služby 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}`
);
}
}
Koncepční informace o jazycích najdete v dokumentaci ke službě.
Překlad
Vykreslí jeden text zdrojového jazyka na více textů cílového jazyka s jedním požadavkem.
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}'.`
);
}
Koncepční diskuzi o překladu najdete v dokumentaci ke službě.
Transliterace
Převede znaky nebo písmena zdrojového jazyka na odpovídající znaky nebo písmena cílového jazyka.
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}'.`
);
}
Koncepční diskuzi o transkripci najdete v dokumentaci ke službě.
Zalomit větu
Určuje umístění hranic vět v části textu.
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(", ")}'.`);
}
Koncepční diskuzi o zalomení věty najdete v dokumentaci ke službě.
Slovníkové vyhledávání
Vrátí ekvivalentní slova pro zdrojový termín v cílovém jazyce.
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}.`
);
}
Koncepční diskuzi o vyhledávání ve slovníku najdete v dokumentaci ke službě.
Příklady slovníku
Vrátí gramatickou strukturu a příklady kontextu pro dvojici zdrojového a cílového termínu.
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}'.`
);
}
Koncepční informace o příkladech slovníku najdete v dokumentaci ke službě.
Poradce při potížích
Při interakci se službou Translator pomocí klientské knihovny TextTranslator odpovídají chyby vrácené službou Translator stejným stavovým kódům HTTP vráceným pro požadavky rozhraní REST API.
Pokud například odešlete žádost o překlad bez cílového jazyka překladu, 400
vrátí se chyba s označením "Chybný požadavek".
Různé kódy chyb vrácené službou najdete v dokumentaci ke službě.
protokolování
Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL
prostředí na info
. Případně je možné protokolování povolit za běhu voláním setLogLevel
v :@azure/logger
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Podrobnější pokyny k povolení protokolů najdete v dokumentaci k balíčkům @azure/protokolovacího nástroje.
Azure SDK for JavaScript