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 TextTranslationClient. Você precisará de uma chave de API ou 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 Azure abaixo para obter a chave de API do recurso de serviço Translator.

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 clientcriado 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.