Partager via


Bibliothèque de client REST Azure TextTranslation pour JavaScript - version 1.0.1

La traduction de texte est une fonctionnalité d’API REST basée sur le cloud du service Translator qui utilise la technologie de traduction automatique neuronale pour permettre une traduction de texte source à cible rapide et précise en temps réel dans toutes les langues prises en charge.

Les méthodes suivantes sont prises en charge par la fonctionnalité traduction de texte :

Traduction. Retourne la liste des langues prises en charge par les opérations de traduction, de translittération et de recherche de dictionnaire.

Traduire. Affiche un texte de langue source unique en plusieurs textes de langue cible avec une seule requête.

Translitérer. Convertit des caractères ou des lettres d’une langue source en caractères ou lettres correspondants d’une langue cible.

Détecter. Retourne le code de langue du code source et une variable booléenne indiquant si la langue détectée est prise en charge pour la traduction de texte et la translittération.

Recherche dans le dictionnaire. Retourne des mots équivalents pour le terme source dans la langue cible.

L’exemple de dictionnaire retourne une structure grammaticale et des exemples de contexte pour la paire de termes source et de terme cible.

S’il vous plaît s’appuyer fortement sur nos documents clients REST pour utiliser cette bibliothèque

Liens clés :

  • package (NPM)
  • Documentation de référence de l’API
  • Exemples

Commencer

Environnements actuellement pris en charge

  • Versions LTS de Node.js
  • Dernières versions de Edge, Chrome, Safar et Firefox

Conditions préalables

  • Un service Translator existant ou une ressource Cognitive Services.

Installer le package @azure-rest/ai-translation-text

Installez la bibliothèque de client REST Traduction de texte Azure pour JavaScript avec npm:

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

Créer une ressource de service Translator

Vous pouvez créer une ressource Translator après Créer une ressource Translator.

Prise en charge du navigateur

JavaScript Bundle

Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la procédure à suivre, reportez-vous à notre documentation de regroupement .

Authentifier le client

L’interaction avec le service à l’aide de la bibliothèque cliente commence par la création d’une instance de la classe TextTranslationClient. Vous aurez besoin d’une clé API ou de TokenCredential pour instancier un objet client. Pour plus d’informations sur l’authentification auprès de Cognitive Services, consultez Authentifier les demandes auprès du service Translator.

Obtenir une clé API

Vous pouvez obtenir les endpoint, les API key et les Region à partir de la ressource Cognitive Services ou des informations de ressource de service Translator dans le portail Azure .

Vous pouvez également utiliser l’extrait de code Azure CLI ci-dessous pour obtenir la clé API à partir de la ressource du service Translator.

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

Créer un TextTranslationClient à l’aide d’une clé API et d’informations d’identification de région

Une fois que vous avez la valeur de la clé API et de la région, créez un TranslatorCredential.

Avec la valeur du TranslatorCredential, vous pouvez créer le TextTranslationClient:

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

Exemples

La section suivante fournit plusieurs extraits de code à l’aide de la clientcréée ci-dessus, et couvre les principales fonctionnalités présentes dans cette bibliothèque cliente.

Obtenir les langues prises en charge

Obtient l’ensemble de langues actuellement prises en charge par d’autres opérations 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}`,
    );
  }
}

Reportez-vous à la documentation du service pour une discussion conceptuelle sur les langues .

Traduire

Affiche un texte de langue source unique en plusieurs textes de langue cible avec une seule requête.

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}'.`,
  );
}

Reportez-vous à la documentation du service pour une discussion conceptuelle sur traduire.

Translitérer

Convertit des caractères ou des lettres d’une langue source en caractères ou lettres correspondants d’une langue cible.

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}'.`,
  );
}

Reportez-vous à la documentation du service pour une discussion conceptuelle sur translittération.

Phrase d’arrêt

Identifie le positionnement des limites de phrase dans un morceau de texte.

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(", ")}'.`);
}

Reportez-vous à la documentation du service pour une discussion conceptuelle sur phrase d’arrêt.

Recherche dans le dictionnaire

Retourne des mots équivalents pour le terme source dans la langue cible.

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}.`,
  );
}

Reportez-vous à la documentation du service pour une discussion conceptuelle sur recherche de dictionnaire.

Exemples de dictionnaire

Retourne une structure grammaticale et des exemples de contexte pour la paire de termes source et de terme cible.

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}'.`,
  );
}

Reportez-vous à la documentation du service pour une discussion conceptuelle sur les exemples de dictionnaire .

Dépannage

Lorsque vous interagissez avec le service Translator à l’aide de la bibliothèque cliente TextTranslator, les erreurs retournées par le service Translator correspondent aux mêmes codes d’état HTTP retournés pour les demandes d’API REST.

Par exemple, si vous envoyez une demande de traduction sans langue de traduction cible, une erreur 400 est retournée, indiquant « Demande incorrecte ».

Vous trouverez les différents codes d’erreur retournés par le service dans la documentation du service .

Exploitation forestière

L’activation de la journalisation peut vous aider à découvrir des informations utiles sur les échecs. Pour afficher un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel dans la @azure/logger:

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

setLogLevel("info");

Pour obtenir des instructions plus détaillées sur l’activation des journaux, vous pouvez consulter la documentation du package@azure/enregistreur d’événements.