Compartir a través de


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

La traducción de texto 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 rápida y precisa de texto de origen a destino en tiempo real en todos los idiomas admitidos.

La característica traducción de texto admite los métodos siguientes:

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

Traducir. Representa texto de idioma de origen único en varios textos de idioma de destino con una sola solicitud.

Transliterar. 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 de lenguaje de código fuente y una variable booleana que indica si se admite el idioma detectado para la traducción y transliteración de texto.

Búsqueda de diccionarios. Devuelve palabras equivalentes para el término de origen en el idioma de destino.

Ejemplo de diccionario Devuelve ejemplos de contexto y estructura gramatical para el término de origen y el par de términos de destino.

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

Vínculos clave:

Empezar

Entornos admitidos actualmente

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

Prerrequisitos

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

Instalación del 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 del servicio Translator

Puede crear un recurso de Translator siguiendo Creación de un recurso de Translator.

Compatibilidad con exploradores

Paquete de JavaScript

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

Autenticación del 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 de o TokenCredential para crear instancias 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 los endpoint, API key y Region desde la información del recurso de Cognitive Services o del servicio Translator en la 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 la región, cree un TranslatorCredential.

Con el valor del TranslatorCredential puede crear el 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 anteriormentey 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 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}`,
    );
  }
}

Consulte la documentación del servicio para obtener una explicación conceptual de idiomas.

Traducir

Representa texto de idioma de origen único en varios textos de idioma 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 traducir.

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 transliteración.

Interrupción de la oración

Identifica el posicionamiento de los límites de oración 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 frase de interrupción.

Búsqueda de diccionarios

Devuelve palabras equivalentes para el 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 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 de .

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 API REST.

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

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

Registro

Habilitar el registro puede ayudar a descubrir información útil sobre 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 el @azure/logger:

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

setLogLevel("info");

Para obtener instrucciones más detalladas sobre cómo habilitar los registros, puede consultar los documentos del paquete de @azure/registrador.