Compartir a través de


Biblioteca cliente REST de Azure TextTranslation para JavaScript: versión 1.0.0

Text Translation es una característica de API REST basada en la nube del servicio Translator que usa la tecnología de traducción automática neuronal para permitir la traducción de texto de origen a destino rápida y precisa en tiempo real en todos los idiomas admitidos.

La característica Text Translation admite los métodos siguientes:

Idiomas. Devuelve una lista de los idiomas admitidos por las operaciones Translate, Transliterate y Dictionary Lookup.

Translate. Traduce texto de un solo idioma de origen en textos en varios idiomas de destino con una sola solicitud.

Transliterate. Convierte caracteres o letras de un idioma de origen en los caracteres o letras correspondientes de un idioma de destino.

Detectar. Devuelve el código fuente del idioma y una variable booleana que indica si el idioma detectado es compatible con la traducción y la transliteración de texto.

Dictionary lookup. Devuelve palabras equivalentes del término de origen en el idioma de destino.

Dictionary example: devuelve ejemplos de estructura gramatical y contexto para el par formado por el término de origen y el término de destino.

Confíe en gran medida en nuestros documentos de cliente REST para usar esta biblioteca.

Vínculos principales:

Introducción

Entornos admitidos actualmente

  • Versiones de LTS de Node.js
  • Versiones más recientes de Edge, Chrome, Safar y Firefox

Requisitos previos

  • Un servicio Translator existente o un recurso de Cognitive Services.

Instalar el paquete @azure-rest/ai-translation-text

Instale la biblioteca cliente REST de Traducción de texto de Azure para JavaScript con npm:

npm install @azure-rest/ai-translation-text

Creación de un recurso de servicio translator

Puede crear un recurso de Translator después de Crear un recurso de Translator.

Compatibilidad con exploradores

Paquete de JavaScript

Para usar esta biblioteca cliente en el explorador, primero debe usar un agrupador. Para más información sobre cómo hacerlo, consulte nuestra documentación de agrupación.

Autenticar el cliente

La interacción con el servicio mediante la biblioteca cliente comienza con la creación de una instancia de la clase TextTranslationClient . Necesitará una clave de API o TokenCredential crear una instancia de un objeto de cliente. Para obtener más información sobre la autenticación con Cognitive Services, consulte Autenticación de solicitudes en Translator Service.

Obtención de una clave de API

Puede obtener , y Region en la endpointAPI key información del recurso de Cognitive Services o del recurso del servicio Translator en Azure Portal.

Como alternativa, use el fragmento de código de la CLI de Azure siguiente para obtener la clave de API del recurso del servicio Translator.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Creación de un TextTranslationClient mediante una clave de API y una credencial de región

Una vez que tenga el valor de la clave de API y región, cree un TranslatorCredential.

Con el valor de TranslatorCredential , puede crear TextTranslationClient:

const translateCedential = new TranslatorCredential(apiKey, region);
const translationClient = TextTranslationClient(endpoint, translateCedential);

Ejemplos

En la sección siguiente se proporcionan varios fragmentos de código mediante el clientcreado anteriormente y se tratan las características principales presentes en esta biblioteca cliente.

Obtener idiomas admitidos

Obtiene el conjunto de idiomas admitidos actualmente por otras operaciones de Traductor.

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 la documentación del servicio para obtener una explicación conceptual de los idiomas.

Translate

Traduce texto de un solo idioma de origen en textos en varios idiomas de destino con una sola solicitud.

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 la documentación del servicio para obtener una explicación conceptual de la traducción.

Transliterar

Convierte caracteres o letras de un idioma de origen en los caracteres o letras correspondientes de un 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 la documentación del servicio para obtener una explicación conceptual de la transliteración.

División de la oración

Identifica el posicionamiento de los límites de las oraciones en un fragmento 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 la documentación del servicio para obtener una explicación conceptual de la oración de interrupción.

Búsqueda en diccionario

Devuelve palabras equivalentes del término de origen en el 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 la documentación del servicio para obtener una explicación conceptual de la búsqueda de diccionarios.

Ejemplos de diccionario

Devuelve ejemplos de contexto y estructura gramatical para el término de origen y el par de términos 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 la documentación del servicio para obtener una explicación conceptual de los ejemplos de diccionario.

Solución de problemas

Cuando interactúa con translator Service mediante la biblioteca cliente TextTranslator, los errores devueltos por el servicio Translator corresponden a los mismos códigos de estado HTTP devueltos para las solicitudes de LA API REST.

Por ejemplo, si envía una solicitud de traducción sin un idioma de traducción de destino, se devuelve un 400 error que indica "Solicitud incorrecta".

Puede encontrar los diferentes códigos de error devueltos por el servicio en la documentación del servicio.

Registro

La habilitación del registro puede ayudar a descubrir información útil sobre los errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL en info. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel en @azure/logger:

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

setLogLevel("info");

Para obtener instrucciones más detalladas sobre cómo habilitar los registros, consulte los documentos del paquete @azure/logger.