Compartilhar via


Biblioteca de clientes REST do Azure TextTranslation para JavaScript – versão 1.0.1

A tradução de texto é um recurso de API REST baseado em nuvem do serviço Tradutor que usa a tecnologia de tradução automática neural para habilitar a tradução rápida e precisa de texto de origem para destino em tempo real em todos os idiomas compatíveis.

Os seguintes métodos são compatíveis com o recurso conversão de texto:

Idiomas. Retorna uma lista de idiomas com suporte nas operações Traduzir, Transliteratar e Pesquisa de Dicionário.

Traduzir. Renderiza o texto de idioma de origem único em vários textos de linguagem de destino com uma única solicitação.

Transliterar. Converte caracteres ou letras de um idioma de origem nos caracteres ou letras correspondentes de um idioma de destino.

Detectar. Retorna o código-fonte da linguagem de código-fonte e uma variável booliana indicando se o idioma detectado tem suporte para transliteração e tradução de texto.

Pesquisa de dicionário. Retorna palavras equivalentes para o termo de origem no idioma de destino.

Exemplo de dicionário Retorna exemplos de estrutura gramatical e contexto para o termo de origem e o par de termos de destino.

Confie fortemente em nossos documentos de cliente REST para usar essa biblioteca

Links de chave:

Introdução

Ambientes com suporte no momento

  • Versões lts de Node.js
  • Versões mais recentes do Edge, Chrome, Safar e Firefox

Pré-requisitos

  • Um serviço tradutor existente ou um recurso dos Serviços Cognitivos.

Instalar o pacote @azure-rest/ai-translation-text

Instale a biblioteca de clientes 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 do Tradutor

Você pode criar um recurso de Tradutor após Criar um recurso de Tradutor.

Suporte ao navegador

Pacote JavaScript

Para usar essa biblioteca de clientes no navegador, primeiro você precisa usar um empacotador. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agrupamento .

Autenticar o cliente

A interação com o serviço usando a biblioteca de clientes começa com a criação de uma instância da classe TextTranslationClient. Você precisará de uma chave de API ou TokenCredential para criar uma instância de um objeto cliente. Para obter mais informações sobre como autenticar 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 das informações de recurso dos Serviços Cognitivos ou do recurso de serviço tradutor no do Portal do Azure.

Como alternativa, use o snippet de da CLI do Azure abaixo para obter a chave de API do recurso de serviço tradutor.

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 da chave de 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 snippets de código usando o clientcriado acimae aborda os principais recursos presentes nesta biblioteca de clientes.

Obter idiomas com suporte

Obtém o conjunto de idiomas atualmente com suporte 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 sobre idiomas.

Traduzir

Renderiza o texto de idioma de origem único em vários textos de linguagem 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 sobre traduzir.

Transliterar

Converte caracteres ou letras de um idioma de origem nos 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 de transliteração.

Frase de interrupção

Identifica o posicionamento dos limites de frase em um trecho 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 do serviço para uma discussão conceitual sobre de frase de interrupção.

Pesquisa de Dicionário

Retorna palavras equivalentes para o termo de origem no idioma de destino.

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 uma discussão conceitual sobre pesquisa de dicionário.

Exemplos de dicionário

Retorna exemplos de estrutura gramatical e contexto para o termo de origem e o par de termos 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 do serviço para uma discussão conceitual sobre exemplos de dicionário.

Solucionando problemas

Quando você interage com o Serviço de Tradutor usando a biblioteca de clientes TextTranslator, os erros retornados pelo serviço Tradutor correspondem aos mesmos códigos de status HTTP retornados para solicitações da API REST.

Por exemplo, se você enviar uma solicitação de tradução sem um idioma de tradução de destino, um erro 400 será retornado, indicando "Solicitação Incorreta".

Você pode encontrar os diferentes códigos de erro retornados pelo serviço no de Documentação do Serviço de.

Log

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 runtime chamando setLogLevel no @azure/logger:

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

setLogLevel("info");

Para obter instruções mais detalhadas sobre como habilitar logs, você pode examinar os documentos do pacote @azure/agente.