Biblioteca de cliente REST do Azure TextTranslation para JavaScript - versão 1.0.0
A tradução de texto é um recurso de API REST baseado em nuvem do serviço Translator que usa a tecnologia de tradução automática neural para permitir a tradução rápida e precisa de texto de origem para destino em tempo real em todos os idiomas suportados.
Os seguintes métodos são suportados pelo recurso Tradução de texto:
Idiomas. Retorna uma lista de idiomas suportados pelas operações Traduzir, Transliterar e Pesquisa de Dicionário.
Traduzir. Renderiza texto em um único idioma de origem para vários textos no idioma de destino com uma única solicitação.
Transliterado. Converte caracteres ou letras de um idioma de origem para os caracteres ou letras correspondentes de um idioma de destino.
Detetar. Retorna o código de idioma do código-fonte e uma variável booleana indicando se o idioma detetado é suportado para tradução e transliteração de texto.
Pesquisa de dicionário. Devolve palavras equivalentes para o termo de origem na língua de chegada.
Exemplo de dicionário Devolve exemplos de estrutura gramatical e contexto para o par de termos de origem e de destino.
Por favor, confie muito em nossos documentos de cliente REST para usar esta biblioteca
Ligações principais:
Primeiros passos
Ambientes atualmente suportados
- Versões LTS do Node.js
- Últimas versões do Edge, Chrome, Safar e Firefox
Pré-requisitos
- Um serviço de Tradutor existente ou um recurso de Serviços Cognitivos.
Instalar o pacote @azure-rest/ai-translation-text
Instale a biblioteca de cliente REST de Tradução de Texto do Azure para JavaScript com npm
:
npm install @azure-rest/ai-translation-text
Criar um recurso de serviço de Tradutor
Você pode criar um recurso do Translator seguindo Criar um recurso do Translator.
Suporte do navegador
Pacote JavaScript
Para usar essa biblioteca de cliente no navegador, primeiro você precisa usar um bundler. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agregação de .
Autenticar o cliente
A interação com o serviço usando a biblioteca de cliente começa com a criação de uma instância da classe TokenCredential
para instanciar um objeto cliente. Para obter mais informações sobre autenticação com serviços cognitivos, consulte Autenticar solicitações para o Serviço de Tradutor.
Obter uma chave de API
Você pode obter o endpoint
, API key
e Region
do recurso Serviços Cognitivos ou das informações do recurso do serviço Tradutor no Portal do Azure.
Como alternativa, use o trecho de da CLI do
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Criar um TextTranslationClient
usando uma chave de API e uma credencial de região
Depois de ter o valor para a chave da API e Região, crie um TranslatorCredential
.
Com o valor do TranslatorCredential
você pode criar o TextTranslationClient:
const translateCedential = new TranslatorCredential(apiKey, region);
const translationClient = TextTranslationClient(endpoint, translateCedential);
Exemplos
A seção a seguir fornece vários trechos de código usando o client
criado acimae aborda os principais recursos presentes nesta biblioteca de cliente.
Obter idiomas suportados
Obtém o conjunto de idiomas atualmente suportados por outras operações do Tradutor.
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}`
);
}
}
Consulte a documentação do serviço para uma discussão conceitual de idiomas.
Traduzir
Renderiza texto em um único idioma de origem para vários textos no idioma de destino com uma única solicitação.
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}'.`
);
}
Consulte a documentação do serviço para uma discussão conceitual de traduzir.
Transliterado
Converte caracteres ou letras de um idioma de origem para os caracteres ou letras correspondentes de um idioma de destino.
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}'.`
);
}
Consulte a documentação do serviço para uma discussão conceitual sobre transliterado.
Quebrar Sentença
Identifica o posicionamento dos limites das frases em um pedaço de texto.
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(", ")}'.`);
}
Consulte a documentação de serviço para uma discussão conceitual sobre quebra de frase.
Pesquisa de dicionários
Devolve palavras equivalentes para o termo de origem na língua de chegada.
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}.`
);
}
Consulte a documentação do serviço para obter uma discussão conceitual sobre pesquisa de dicionário.
Exemplos de dicionários
Devolve exemplos de estrutura gramatical e contexto para o par de termos de origem e de destino.
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}'.`
);
}
Consulte a documentação de serviço para uma discussão conceitual de exemplos de dicionários .
Solução de problemas
Quando você interage com o Serviço de Tradutor usando a biblioteca de cliente TextTranslator, os erros retornados pelo serviço Tradutor correspondem aos mesmos códigos de status HTTP retornados para solicitações de API REST.
Por exemplo, se você enviar uma solicitação de tradução sem um idioma de tradução de destino, um erro de 400
será retornado, indicando "Solicitação incorreta".
Você pode encontrar os diferentes códigos de erro retornados pelo serviço node documentação de serviço
Registo
Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL
como info
. Como alternativa, o registro em log pode ser habilitado em tempo de execução chamando setLogLevel
no @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Para obter instruções mais detalhadas sobre como habilitar logs, você pode consultar os documentos do pacote @azure/logger.
Azure SDK for JavaScript