Compartir a través de


Azure TextTranslation biblioteca cliente REST para JavaScript - versión 2.0.0-beta.1

La traducción de texto de Azure es una API REST basada en la nube proporcionada por el servicio Azure Translator. Utiliza tecnología de traducción automática neuronal para ofrecer traducciones de texto en tiempo real precisas, contextualmente relevantes y semánticamente precisas en todos los idiomas soportados.

La biblioteca cliente ofrece varias funcionalidades clave:

  • Recupera la lista de idiomas soportados para operaciones de traducción y transliteración, así como los modelos LLM disponibles para traducciones.

  • Realizar traducción determinista de texto desde un idioma fuente especificado a un idioma destino, con parámetros configurables para garantizar la precisión y mantener la integridad contextual.

  • Ejecuta la transliteración convirtiendo texto del guion original a una representación alternativa.

  • Utiliza modelos LLM para producir variantes de traducción específicas del tono y conscientes del género.

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

Vínculos clave:

Cómo empezar

Entornos admitidos actualmente

  • Versiones LTS de Node.js
  • Últimas versiones de Edge, Chrome, Safar y Firefox

Prerrequisitos

  • Un servicio de traducción existente o un recurso de Servicios Cognitivos.

Instalación del paquete @azure-rest/ai-translation-text

Instala la biblioteca cliente REST de Azure Text Translation para JavaScript con npm:

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

Crear un recurso de servicio traductor

Puedes crear un recurso de Traductor después de Crear un recurso de Traductor.

Compatibilidad con navegadores

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 .

Autenticar el cliente

La interacción con el servicio usando la biblioteca cliente comienza creando una instancia de la clase TextTranslationClient . Necesitarás una clave API o TokenCredential instanciar un objeto cliente. Para más información sobre la autenticación con servicios cognitivos, véase Autenticar solicitudes al Servicio de Traductor.

Obtención de una clave de API

Puedes obtener el endpoint, API key y Region desde el recurso de Servicios Cognitivos o la información de recursos del servicio Traductor en el Portal de Azure.

Alternativamente, utiliza el fragmento de Azure CLI que aparece a continuación para obtener la clave API del recurso del servicio Traductor.

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

Crea una TextTranslationClient usando una clave API y una credencial de región

Una vez que tengas el valor de la clave API y la región, crea un TranslatorCredentialarchivo .

Con el valor de puedes TranslatorCredential crear el TextTranslationClient:

import TextTranslationClient, { TranslatorCredential } from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

Examples

La siguiente sección proporciona varios fragmentos de código utilizando los clientcreados anteriormente y cubre las principales características presentes en esta biblioteca cliente.

Obtener idiomas admitidos

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

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const langResponse = await translationClient.path("/languages").get();

if (isUnexpected(langResponse)) {
  throw langResponse.body.error;
}

const languages = langResponse.body;

if (languages.translation) {
  console.log("Translated languages:");
  for (const [key, translationLanguage] of Object.entries(languages.translation)) {
    console.log(`${key} -- name: ${translationLanguage.name} (${translationLanguage.nativeName})`);
  }
}

if (languages.transliteration) {
  console.log("Transliteration languages:");
  for (const [key, transliterationLanguage] of Object.entries(languages.transliteration)) {
    console.log(
      `${key} -- name: ${transliterationLanguage.name} (${transliterationLanguage.nativeName})`,
    );
  }
}

if (languages.models) {
  console.log("Available LLM Models:");
  for (const model in languages.models) {
    console.log(model);
  }
}

Por favor, consulte la documentación del servicio para una discusión conceptual sobre los idiomas.

Translate

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

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const input = {
  text: "This is a test.",
  targets: [{ language: "cs" }],
  language: "en",
};
const translateResponse = await translationClient.path("/translate").post({
  body: { inputs: [input] },
});

if (isUnexpected(translateResponse)) {
  throw translateResponse.body.error;
}

const translations = translateResponse.body.value;
for (const translation of translations) {
  console.log(
    `Text was translated to: '${translation?.translations[0]?.language}' and the result is: '${translation?.translations[0]?.text}'.`,
  );
}

Por favor, consulta la documentación del servicio para una discusión conceptual sobre translate.

Transliterar

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

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const inputText = [{ text: "这是个测试。" }];
const parameters = {
  language: "zh-Hans",
  fromScript: "Hans",
  toScript: "Latn",
};
const transliterateResponse = await translationClient.path("/transliterate").post({
  body: { inputs: inputText },
  queryParameters: parameters,
});

if (isUnexpected(transliterateResponse)) {
  throw transliterateResponse.body.error;
}

const transliterations = transliterateResponse.body.value;
for (const transliteration of transliterations) {
  console.log(
    `Input text was transliterated to '${transliteration?.script}' script. Transliterated text: '${transliteration?.text}'.`,
  );
}

Por favor, consulte la documentación del servicio para una discusión conceptual sobre transliterate.

Solución de problemas

Cuando interactúas con el Servicio Traductor usando la biblioteca cliente TextTranslator, los errores devueltos por el servicio Traductor corresponden a los mismos códigos de estado HTTP que se devolvieron para las solicitudes de API REST.

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

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:

import { setLogLevel } from "@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.