Partager via


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

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

La traduction de texte prend en charge les méthodes suivantes :

Langues. Retourne une liste des langues prises en charge par les opérations Traduire, Translittérer et Rechercher dans le dictionnaire.

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

Translitté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 la langue source et une variable booléenne indiquant si la langue détectée est prise en charge pour la traduction et la translittération de texte.

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

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

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

Liens clés :

Prise en main

Environnements actuellement pris en charge

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

Prérequis

  • Un service Translator existant ou une ressource Cognitive Services.

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

Installez la bibliothèque de client REST De 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 en suivant Créer une ressource Translator.

Prise en charge des navigateurs

Ensemble JavaScript

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 sur le 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 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 le endpoint, API key et Region à partir de la ressource Cognitive Services ou de la 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 de service Translator.

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

Créer un à l’aide TextTranslationClient 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 de , 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 utilisant le clientcréé ci-dessus et couvre les principales fonctionnalités présentes dans cette bibliothèque cliente.

Obtenir les langues prises en charge

Permet d’obtenir l’ensemble des 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 présentation conceptuelle des langues.

Translate

Restitue un texte en langage source unique dans 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 présentation conceptuelle de translate.

Transliterate

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 le translittération.

Arrêter la phrase

Identifie le positionnement des limites de phrases dans du 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 de la phrase break.

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 présentation conceptuelle de la recherche de dictionnaire.

Exemples de dictionnaire

Retourne des exemples de structure grammaticale et 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 présentation conceptuelle des 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 400 erreur est retournée, indiquant « Demande incorrecte ».

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

Journalisation

L’activation de la journalisation peut vous aider à mieux comprendre les échecs. Pour avoir 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 @azure/logger :

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

setLogLevel("info");

Pour obtenir des instructions plus détaillées sur l’activation des journaux, consultez les documents relatifs au package @azure/logger.