Bien démarrer avec la traduction de documents

La Traduction de documentation est une fonctionnalité cloud du service Azure Translator qui traduit de manière asynchrone des documents entiers dans des langues prises en charge et dans différents formats de fichiers. Dans ce guide de démarrage rapide, vous allez apprendre à utiliser la Traduction de documentation avec le langage de programmation de votre choix pour traduire un document source dans une langue cible tout en conservant la structure et la mise en forme du texte.

Prérequis

Notes

  • Dans la plupart des cas, quand vous créez une ressource Cognitive Services dans le portail Azure, vous avez la possibilité de créer une clé multiservice ou une clé monoservice. Toutefois, la Traduction de documentation est actuellement prise en charge dans la ressource Translator (monoservice) uniquement, et n’est pas incluse dans la ressource Cognitive Services (multiservice).

  • La Traduction de documentation est uniquement prise en charge dans le plan de service Standard S1 (paiement à l’utilisation) ou dans le plan de remise sur la quantité D3. VoirTarification de Cognitive Services - Traducteur.

Avant de commencer, vérifiez que vous disposez des éléments suivants :

  • Un compte Azure actif. Si vous n’en avez pas, vous pouvez créer un compte gratuit.

  • Un compte de stockage Blob Azure. Vous allez créer des conteneurs pour stocker et organiser vos données d’objet blob dans votre compte de stockage.

  • Une ressource Translator de service unique (et pas une ressource Cognitive Services multiservice) :

    Complétez les champs des détails du projet Translator et de l’instance comme suit :

    1. Abonnement. Sélectionnez l’un de vos abonnements Azure disponibles.

    2. Groupe de ressources. Vous pouvez créer un groupe de ressources ou ajouter votre ressource à un groupe de ressources préexistant qui partage le même cycle de vie, les mêmes autorisations et les mêmes stratégies.

    3. Région de la ressource. Choisissez Globale, sauf si votre entreprise ou votre application nécessite une région spécifique. Si vous envisagez d’utiliser une identité managée affectée par le système pour l’authentification, choisissez une région non globale.

    4. Nom. Entrez le nom que vous avez choisi pour votre ressource. Le nom choisi doit être unique dans Azure.

      Notes

      La traduction de documentation requiert un point de terminaison de domaine personnalisé. La valeur que vous entrez dans le champ Nom sera le paramètre de nom de domaine personnalisé pour votre point de terminaison.

    5. Niveau tarifaire. La traduction de documentation n’est pas prise en charge dans le niveau gratuit. Sélectionnez Standard S1 pour essayer le service.

    6. Sélectionnez Vérifier + créer.

    7. Passez en revue les conditions du service, puis sélectionnez Créer pour déployer votre ressource.

    8. Une fois votre ressource correctement déployée, sélectionnez Accéder à la ressource.

Votre nom de domaine personnalisé et votre clé

Le point de terminaison de domaine personnalisé est une URL mise en forme avec votre nom de ressource, votre nom d’hôte et les sous-répertoires de Translator et qui est disponible dans le portail Azure.

Important

  • Toutes les requêtes d’API adressées au service Traduction de documentation nécessitent un point de terminaison de domaine personnalisé.
  • N’utilisez pas le point de terminaison Traduction de texte se trouvant dans la page Clés et point de terminaison de votre ressource du portail Azure, ni le point de terminaison du traducteur global (api.cognitive.microsofttranslator.com) pour soumettre des requêtes HTTP à la Traduction de documentation.

Obtenir votre clé et votre point de terminaison

Les demandes adressées au service Translator nécessitent une clé en lecture seule et un point de terminaison personnalisé pour authentifier l’accès.

  1. Si vous avez créé une ressource, après son déploiement, sélectionnez Accéder à la ressource. Si vous disposez déjà d’une ressource de Traduction de documentation, accédez directement à la page de votre ressource.

  2. Dans le rail de gauche, sous Gestion des ressources, sélectionnez Clés et point de terminaison.

  3. Copiez et collez votre key et votre document translation endpoint dans un endroit pratique, comme le Bloc-notes Microsoft. Une seule clé est nécessaire pour effectuer un appel d’API.

  4. Vous allez la coller dans l’exemple de code pour authentifier votre demande auprès du service Traduction de documentation.

    Capture d’écran montrant le champ Récupérer votre clé dans le portail Azure.

Créer des conteneurs de stockage d’objets blob Azure

Vous devez créer des conteneurs dans votre compte de stockage Blob Azure pour les fichiers sources et cibles.

  • Conteneur source. Ce conteneur est l’emplacement où vous chargez vos fichiers pour la traduction (obligatoire).
  • Conteneur cible. Ce conteneur est l’emplacement où vos fichiers traduits seront stockés (obligatoire).

Authentification requise

sourceUrl, targetUrl et glossaryUrl (facultatif) doivent inclure un jeton de signature d’accès partagé (SAP), ajouté comme chaîne de requête. Le jeton peut être attribué à votre conteneur ou à des blobs spécifiques. Consultez Créer des jetons SAP pour le processus de Traduction de documentation.

  • Votre blob ou conteneur source doit disposer d’un accès lecture et d’un accès liste désignés.
  • Votre blob ou conteneur cible doit disposer d’un accès écriture et d’un accès liste désignés.
  • Votre blob Glossaire doit disposer d’un accès lecture et d’un accès liste désignés.

Conseil

  • Si vous traduisez plusieurs fichiers (blobs) dans une opération, déléguez l’accès SAP au niveau du conteneur.
  • Si vous traduisez un seul fichier (blob) dans une opération, déléguez l’accès SAS au niveau du blob.
  • Comme alternative aux jetons SAS, vous pouvez utiliser une identité managée affectée par le système pour l’authentification.

Exemple de document

Pour ce projet, vous avez besoin d’un document source chargé dans votre conteneur source. Pour ce guide de démarrage rapide, vous pouvez télécharger notre exemple de document Traduction de documentation.

Demande HTTP

Une demande de Traduction de documentation par lot est soumise à votre point de terminaison de service Translator par le biais d’une requête POST. En cas de réussite, la méthode POST retourne un code de réponse 202 Accepted et la demande de lot est créée par le service. Les documents traduits s’affichent dans votre conteneur cible.

En-têtes

Les en-têtes suivants sont inclus avec chaque requête d’API Traduction de documentation :

En-tête HTTP Description
Ocp-Apim-Subscription-Key Obligatoire : La valeur est la clé Azure de votre ressource Translator ou Cognitive Services.
Content-Type Obligatoire : spécifie le type de contenu de la charge utile. Les valeurs acceptées sont application/json ou charset=UTF-8.

Corps de requête POST

  • Le corps de la requête POST est un objet JSON nommé inputs.
  • L’objet inputs contient à la fois les adresses de conteneur sourceURL et targetURL pour vos paires de langue source et cible.
  • prefix et suffix sont des chaînes respectant la casse afin de filtrer les documents dans le chemin source pour la traduction. Le champ prefix est souvent utilisé pour délimiter les sous-dossiers pour la traduction. Le champ suffix est généralement utilisé pour les extensions de fichier.
  • Une valeur du champ glossaries (facultatif) est appliquée quand le document est en cours de traduction.
  • La valeur targetUrl de chaque langue cible doit être unique.

Configurer votre environnement C#/.NET

Pour ce guide de démarrage rapide, nous allons utiliser la dernière version de l’IDE Visual Studio pour générer et exécuter l’application.

  1. Démarrez Visual Studio.

  2. Dans la page Démarrer, choisissez Créer un projet.

    Capture d’écran de la fenêtre de démarrage de Visual Studio 2022.

  3. Dans la page Créer un nouveau projet, entrez console dans la zone de recherche. Choisissez le modèle Application console, puis choisissez Suivant.

    Capture d’écran de la page de création d’un projet de Visual Studio 2022.

  4. Dans la fenêtre de dialogue Configurer votre nouveau projet, entrez document-translation-qs dans la zone Nom de projet. Ensuite, choisissez Suivant.

    Capture d’écran de la fenêtre de configuration d’un nouveau projet de Visual Studio 2022.

  5. Dans la fenêtre de dialogue Informations supplémentaires, sélectionnez .NET 6.0 (Actuel), puis sélectionnez Créer.

    Capture d’écran de la fenêtre de configuration d’informations supplémentaires de Visual Studio 2022.

Installer Newtonsoft.Json

  1. Cliquez avec le bouton droit sur votre projet document-translation-qs, puis sélectionnez Gérer les packages NuGet...

    Capture d'écran de la fenêtre de sélection d'un package NuGet dans Visual Studio.

  2. Sélectionnez l’onglet Parcourir et tapez NewtonsoftJson.

    Capture d'écran de la sélection d'un package NuGet pré-publication dans Visual Studio.

  3. Sélectionnez la dernière version stable dans le menu déroulant, puis installez le pack dans votre projet.

    Capture d’écran de la fenêtre d’installation du package NuGet sélectionné.

Traduire tous les documents dans un conteneur de stockage

Notes

  • À compter de .NET 6, de nouveaux projets utilisant le modèle console génèrent un nouveau style de programme qui diffère des versions précédentes.
  • La nouvelle sortie utilise des fonctionnalités C# récentes qui simplifient le code que vous devez écrire.
  • Lorsque vous utilisez la version la plus récente, vous devez uniquement écrire le corps de la Main méthode. Vous n’avez pas besoin d’inclure des instructions de niveau supérieur, des directives globales à l’aide de directives ou des directives implicites.
  • Pour plus d’informations, consulteznouveaux modèles C# générer des instructions de niveau supérieur.
  1. Ouvrez le fichier Program.cs.

  2. Supprimez le code préexistant, y compris la ligne Console.Writeline("Hello World!").

  3. Copiez et collez l’exemple de code de Traduction de documentation dans le fichier Program.cs.

    • Mettez à jour {your-document-translation-endpoint} et {your-key} avec les valeurs de votre instance Translator du portail Azure.

    • Mettez à jour {your-source-container-SAS-URL} et {your-target-container-SAS-URL} avec les valeurs de votre instance Conteneurs de compte de stockage du portail Azure.

Exemple de code

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultezSécurité Cognitive Services.


using System.Text;

class Program
{
    private static readonly string endpoint = "{your-document-translator-endpoint}/translator/text/batch/v1.0";

    private static readonly string key = "{your-key}";

    static readonly string route = "/batches";
    static readonly string sourceURL = "\" {your-source-container-SAS-URL}\"";
    static readonly string targetURL = " \"{your-target-container-SAS-URL}\"";


    static readonly string json = ("{\"inputs\": [{\"source\": {\"sourceUrl\":"+sourceURL+" ,\"storageSource\": \"AzureBlob\",\"language\": \"en\"}, \"targets\": [{\"targetUrl\":"+targetURL+",\"storageSource\": \"AzureBlob\",\"category\": \"general\",\"language\": \"es\"}]}]}");

    static async Task Main(string[] args)
    {
        using HttpClient client = new HttpClient();
        using HttpRequestMessage request = new HttpRequestMessage();
        {

            StringContent content = new StringContent(json, Encoding.UTF8, "application/json");

            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Headers.Add("Ocp-Apim-Subscription-Key", key);
            request.Content = content;

            HttpResponseMessage response = await client.SendAsync(request);
            string result = response.Content.ReadAsStringAsync().Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine($"Status code: {response.StatusCode}");
                Console.WriteLine();
                Console.WriteLine($"Response Headers:");
                Console.WriteLine(response.Headers);
            }
            else
                Console.Write("Error");

        }

    }

}

Exécuter votre application

  • Une fois que vous avez ajouté un exemple de code à votre application, choisissez le bouton vert Démarrer en regard de document-translation-qs pour générer et exécuter votre programme, ou appuyez sur F5.

    Capture d’écran : exécutez votre programme Visual Studio

  • La méthode POST dont l’exécution réussit retourne un code de réponse 202 Accepted indiquant que la demande de lot a été créée par le service.

  • La requête POST retourne également des en-têtes de réponse, notamment Operation-Location qui fournit une valeur utilisée dans les requêtes GET suivantes.

  • Les documents traduits s’affichent dans votre conteneur cible.

Configurer votre environnement Go

Vous pouvez utiliser n’importe quel éditeur de texte pour écrire des applications Go. Nous vous recommandons d’utiliser la dernière version de Visual Studio Code et l’extension Go.

Conseil

Si vous débutez avec Go, essayez le module Learn Prise en main de Go.

  1. Si vous ne l’avez pas déjà fait, téléchargez et installez Go.

    • Téléchargez la version de Go pour votre système d'exploitation.

    • Une fois le téléchargement terminé, exécutez le programme d’installation.

    • Ouvrez une invite de commandes et entrez ce qui suit pour confirmer que Go a été installé :

        go version
      

Traduire tous les documents dans un conteneur de stockage

  1. Dans une fenêtre de console (comme cmd, PowerShell ou Bash), créez un répertoire appelé document-translation-qs pour votre application, et accédez-y.

  2. Créez un fichier Go nommé document-translation.go dans le répertoire document-translation-qs.

  3. Copiez et collez l’exemple de code de Traduction de documentation dans votre fichier document-translation.go.

    • Mettez à jour {your-document-translation-endpoint} et {your-key} avec les valeurs de votre instance Translator du portail Azure.

    • Mettez à jour {your-source-container-SAS-URL} et {your-target-container-SAS-URL} avec les valeurs de votre instance Conteneurs de compte de stockage du portail Azure.

Exemple de code

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultezSécurité Cognitive Services.


package main

import (
    "bytes"
  "encoding/json"
    "fmt"
    "net/http"
)

func main() {

    httpposturl := "{your-document-translation-endpoint}/translator/text/batch/v1.0/batches"
    fmt.Println("Response", httpposturl)

    var jsonData = []byte(`{
    "inputs": [
        {
            "source": {
                "sourceUrl": "{your-source-container-SAS-URL}"
            },
            "targets": [
                {
                    "{your-target-container-SAS-URL}",
                    "language": "fr"
                }
            ]
        }
    ]
}`)

    request, error := http.NewRequest("POST", httpposturl, bytes.NewBuffer(jsonData))
    request.Header.Set("Content-Type", "application/json")
    request.Header.Set("Ocp-Apim-Subscription-Key", "{your-key}")

    client := &http.Client{}
    response, error := client.Do(request)
    if error != nil {
        panic(error)
    }
    defer response.Body.Close()

    fmt.Println("response Status:", response.Status)
    //fmt.Println("response Headers:", response.Header)
  var printHeader = (response.Header)
    //body, _ := ioutil.ReadAll(response.body)
    prettyJSON, _ := json.MarshalIndent(printHeader, "", "  ")
    fmt.Printf("%s\n", prettyJSON)
  }


Exécuter votre application Go

  • Une fois que vous avez ajouté un exemple de code à votre application, votre programme Go peut être exécuté dans une invite de commandes ou de terminal. Vérifiez que le chemin de votre invite est défini sur le dossier document-translation-qs et utilisez la commande suivante :

     go run document-translation.go
    
  • La méthode POST dont l’exécution réussit retourne un code de réponse 202 Accepted indiquant que la demande de lot a été créée par le service.

  • La requête POST retourne également des en-têtes de réponse, notamment Operation-Location qui fournit une valeur utilisée dans les requêtes GET suivantes.

  • Les documents traduits s’affichent dans votre conteneur cible.

Configurer votre environnement Java

Pour ce guide de démarrage rapide, nous allons utiliser l’outil d’automatisation de build Gradle pour créer et exécuter l’application.

  • Vous devez utiliser la dernière version de Visual Studio Code ou de votre IDE préféré. VoirJava dans Visual Studio Code.

    Conseil

    • Visual Studio Code offre un pack de programmation pour Java pour Windows et macOS. Le pack de programmation est un bundle de VS Code, le Kit de développement Java (JDK) et une collection d’extensions suggérées par Microsoft. Le Pack de programmation peut également être utilisé pour corriger un environnement de développement existant.
    • Si vous utilisez VS Code et le Pack de programmation pour Java, installez l’extension Gradle pour Java.
  • Si vous n’utilisez pas VS Code, vérifiez que les éléments suivants sont installés dans votre environnement de développement :

Créer un projet Gradle

  1. Dans une fenêtre de console (comme cmd, PowerShell ou Bash), créez un répertoire appelé document-translation pour votre application, et accédez-y.

    mkdir document-translation && document-translation
    
     mkdir document-translation; cd document-translation
    
  2. Exécutez la commande gradle init à partir du répertoire document-translation. Cette commande crée des fichiers de build essentiels pour Gradle, notamment build.gradle.kts, qui est utilisé au moment de l’exécution pour créer et configurer votre application.

    gradle init --type basic
    
  3. Quand vous êtes invité à choisir un DSL, sélectionnez Kotlin.

  4. Acceptez le nom de projet par défaut (document-translation) en sélectionnant Retour ou Entrée.

    Notes

    La création de l’ensemble de l’application peut prendre quelques minutes, mais vous devriez bientôt voir plusieurs dossiers et fichiers, notamment build-gradle.kts.

  5. Mettez à jour build.gradle.kts à l’aide du code suivant :

plugins {
  java
  application
}
application {
  mainClass.set("DocumentTranslation")
}
repositories {
  mavenCentral()
}
dependencies {
  implementation("com.squareup.okhttp3:okhttp:4.10.0")
  implementation("com.google.code.gson:gson:2.9.0")
}

Traduire tous les documents dans un conteneur de stockage

  1. À partir du répertoire document-translation, exécutez la commande suivante :

    mkdir -p src/main/java
    

    Vous créez la structure de répertoires suivante :

    Capture d’écran : structure de répertoires Java.

  2. Accédez au répertoire java et créez un fichier nommé DocumentTranslation.java.

    Conseil

    • Vous pouvez créer un nouveau fichier à l’aide de PowerShell.

    • Ouvrez une fenêtre PowerShell dans le répertoire de votre projet en maintenant la touche Maj enfoncée et en cliquant avec le bouton droit sur le dossier.

    • Tapez la commande suivante New-Item DocumentTranslation.java.

    • Vous pouvez également créer un fichier dans votre IDE nommé DocumentTranslation.java et l’enregistrer dans le répertoire java.

  3. Copiez et collez l’exemple de code de Traduction de documentation dans votre fichier DocumentTranslation.java.

    • Mettez à jour {your-document-translation-endpoint} et {your-key} avec les valeurs de votre instance Translator du portail Azure.

    • Mettez à jour {your-source-container-SAS-URL} et {your-target-container-SAS-URL} avec les valeurs de votre instance Conteneurs de compte de stockage du portail Azure.

Exemple de code

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultezSécurité Cognitive Services.

import java.io.*;
import java.net.*;
import java.util.*;
import okhttp3.*;

public class DocumentTranslation {
    String key = "{your-key}";

    String endpoint = "{your-document-translation-endpoint}/translator/text/batch/v1.0";

    String path = endpoint + "/batches";

    String sourceSASUrl = "{your-source-container-SAS-URL}";

    String targetSASUrl = "{your-target-container-SAS-URL}";

    String jsonInputString = (String.format("{\"inputs\":[{\"source\":{\"sourceUrl\":\"%s\"},\"targets\":[{\"targetUrl\":\"%s\",\"language\":\"fr\"}]}]}", sourceSASUrl, targetSASUrl));

    OkHttpClient client = new OkHttpClient();

    public void post() throws IOException {
        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType,  jsonInputString);
        Request request = new Request.Builder()
                .url(path).post(body)
                .addHeader("Ocp-Apim-Subscription-Key", key)
                .addHeader("Content-type", "application/json")
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.code());
        System.out.println(response.headers());
    }

  public static void main(String[] args) {
        try {
            DocumentTranslation sampleRequest = new DocumentTranslation();
            sampleRequest.post();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

Générer et exécuter votre application Java

  • Une fois que vous avez ajouté un exemple de code à votre application, revenez à votre répertoire de projet principal (document-translation), ouvrez une fenêtre de console, puis entrez les commandes suivantes :

    1. Générez votre application avec la commande build :

      gradle build
      
    2. Exécutez votre application avec la commande run :

      gradle run
      
  • La méthode POST dont l’exécution réussit retourne un code de réponse 202 Accepted indiquant que la demande de lot a été créée par le service.

  • La requête POST retourne également des en-têtes de réponse, notamment Operation-Location qui fournit une valeur utilisée dans les requêtes GET suivantes.

  • Les documents traduits s’affichent dans votre conteneur cible.

Configurer votre environnement Node.js

Pour ce guide de démarrage rapide, nous allons utiliser l’environnement d’exécution JavaScript Node.js pour créer et exécuter l’application.

  1. Si vous ne l’avez pas déjà fait, installez la dernière version de Node.js. Node Package Manager (npm) est inclus dans l’installation Node.js.

    Conseil

    Si vous débutez avec Node.js, essayez le module Learn Introduction à Node.js.

  2. Dans une fenêtre de console (par exemple, cmd, PowerShell ou Bash), créez un répertoire document-translation pour votre application et accédez-y.

        mkdir document-translation && cd document-translation
    
      mkdir document-translation; cd document-translation
    
  3. Exécutez la commande npm init pour initialiser l’application et échafauder votre projet.

       npm init
    
  4. Spécifiez les attributs de votre projet en acceptant les invites qui s’affichent dans le terminal.

    • Les attributs les plus importants sont le nom, le numéro de version et le point d’entrée.
    • Nous vous recommandons de conserver index.js comme nom du point d’entrée. La description, la commande de test, le référentiel GitHub, les mots clés, l’auteur et les informations de licence sont des attributs facultatifs. Vous pouvez les ignorer pour ce projet.
    • Acceptez les suggestions entre parenthèses en sélectionnant Retour ou Entrée.
    • Une fois les invites terminées, un fichier package.json est créé dans votre répertoire document-translation.
  5. Utilisez npm pour installer la bibliothèque HTTP axios et le package uuid dans le répertoire de votre application document-translation :

       npm install axios uuid
    

Traduire tous les documents dans un conteneur de stockage

  1. Créez le fichier index.js dans le répertoire de l’application.

    Conseil

    • Vous pouvez créer un nouveau fichier à l’aide de PowerShell.

    • Ouvrez une fenêtre PowerShell dans le répertoire de votre projet en maintenant la touche Maj enfoncée et en cliquant avec le bouton droit sur le dossier.

    • Tapez la commande New-Item index.js.

    • Vous pouvez également créer un fichier nommé index.js dans votre IDE et l’enregistrer dans le répertoire document-translation.

  2. Copiez et collez l’exemple de code de Traduction de documentation dans votre fichier index.js.

    • Mettez à jour {your-document-translation-endpoint} et {your-key} avec les valeurs de votre instance Translator du portail Azure.

    • Mettez à jour {your-source-container-SAS-URL} et {your-target-container-SAS-URL} avec les valeurs de votre instance Conteneurs de compte de stockage du portail Azure.

Exemple de code

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultezSécurité Cognitive Services.

const axios = require('axios').default;

let endpoint = '{your-document-translation-endpoint}/translator/text/batch/v1.0';
let route = '/batches';
let key = '{your-key}';
let sourceSASUrl = "https://januaristorage.blob.core.windows.net/source-doc-translator?sp=rwl&st=2022-12-16T21:02:29Z&se=2022-12-17T05:02:29Z&spr=https&sv=2021-06-08&sr=c&sig=iL%2BAFVloS4cchKs0SCoq54umv7V2UnDJd8g7URhfmpA%3D";
let targetSASUrl = "https://januaristorage.blob.core.windows.net/target-doc-translator?sp=rwl&st=2022-12-16T21:03:34Z&se=2022-12-17T05:03:34Z&spr=https&sv=2021-06-08&sr=c&sig=B2MOzqQxHf64AEOy4mk%2F3XVx43zG3p5VICvFXV335qY%3D"

let data = JSON.stringify({"inputs": [
  {
      "source": {
          "sourceUrl": sourceSASUrl,
          "storageSource": "AzureBlob",
          "language": "en"
      },
      "targets": [
          {
              "targetUrl": targetSASUrl,
              "storageSource": "AzureBlob",
              "category": "general",
              "language": "es"}]}]});

let config = {
  method: 'post',
  baseURL: endpoint,
  url: route,
  headers: {
    'Ocp-Apim-Subscription-Key': key,
    'Content-Type': 'application/json'
  },
  data: data
};

axios(config)
.then(function (response) {
  let result = { statusText: response.statusText, statusCode: response.status, headers: response.headers };
  console.log()
  console.log(JSON.stringify(result, null, 2));
})
.catch(function (error) {
  console.log(error);
});

Exécuter votre application JavaScript

  • Une fois que vous avez ajouté l’exemple de code à votre application, exécutez votre programme :

    1. Accédez au répertoire de votre application (document-translation).

    2. Tapez la commande suivante dans votre terminal :

      node index.js
      
  • La méthode POST dont l’exécution réussit retourne un code de réponse 202 Accepted indiquant que la demande de lot a été créée par le service.

  • La requête POST retourne également des en-têtes de réponse, notamment Operation-Location qui fournit une valeur utilisée dans les requêtes GET suivantes.

  • Les documents traduits s’affichent dans votre conteneur cible.

Configurer votre projet Python

  1. Si vous ne l’avez pas déjà fait, installez la dernière version de Python 3.x. Le package d’installation Python (pip) est inclus dans l’installation de Python.

    Conseil

    Si vous débutez avec Python, essayez le module Learn Introduction à Python.

  2. Ouvrez une fenêtre de terminal et utilisez pip pour installer la bibliothèque Requests et le package uuid0 :

       pip install requests uuid
    

    Notes

    Nous allons également utiliser un package intégré Python appelé json. Il est utilisé pour utiliser des données JSON.

Traduire tous les documents dans un conteneur de stockage

  1. À l’aide de votre éditeur ou IDE préféré, créez un répertoire nommé document-translation pour votre application.

  2. Créez un fichier Python appelé document-translation.py dans votre répertoire document-translation.

  3. Copiez et collez l’exemple de code de Traduction de documentation dans votre fichier document-translation.py.

    • Mettez à jour {your-document-translation-endpoint} et {your-key} avec les valeurs de votre instance Translator du portail Azure.

    • Mettez à jour {your-source-container-SAS-URL} et {your-target-container-SAS-URL} avec les valeurs de votre instance Conteneurs de compte de stockage du portail Azure.

Exemple de code

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultezSécurité Cognitive Services.

import requests

endpoint = '{your-document-translation-endpoint}'
key =  '{your-key}'
path = 'translator/text/batch/v1.0/batches'
constructed_url = endpoint + path

sourceSASUrl = '{your-source-container-SAS-URL}'

targetSASUrl = '{your-target-container-SAS-URL}'

body= {
    "inputs": [
        {
            "source": {
                "sourceUrl": sourceSASUrl,
                "storageSource": "AzureBlob",
                "language": "en"
            },
            "targets": [
                {
                    "targetUrl": targetSASUrl,
                    "storageSource": "AzureBlob",
                    "category": "general",
                    "language": "es"
                }
            ]
        }
    ]
}
headers = {
  'Ocp-Apim-Subscription-Key': key,
  'Content-Type': 'application/json',
}

response = requests.post(constructed_url, headers=headers, json=body)
response_headers = response.headers

print(f'response status code: {response.status_code}\nresponse status: {response.reason}\n\nresponse headers:\n')

for key, value in response_headers.items():
    print(key, ":", value)

Exécuter votre application Python

  • Une fois que vous avez ajouté un exemple de code à votre application,générez et exécutez votre programme :

    1. Accédez à votre répertoire document-translation.

    2. Tapez la commande suivante dans votre console :

      python document-translation.py
      
      
  • La méthode POST dont l’exécution réussit retourne un code de réponse 202 Accepted indiquant que la demande de lot a été créée par le service.

  • La requête POST retourne également des en-têtes de réponse, notamment Operation-Location qui fournit une valeur utilisée dans les requêtes GET suivantes.

  • Les documents traduits s’affichent dans votre conteneur cible.

Configurer votre environnement de programmation

Dans ce guide de démarrage rapide, nous allons utiliser l’outil en ligne de commande cURL pour effectuer des appels d’API REST Traduction de documentation.

Notes

Le package cURL est préinstallé sur la plupart des systèmes Windows 10 et Windows 11 et sur la plupart des distributions macOS et Linux. Vous pouvez vérifier la version du package avec les commandes suivantes : Windows : curl.exe -V. macOS : curl -V Linux : curl --version

Si cURL n’est pas installé, voici des liens pour votre plateforme :

Traduire des documents (Requête POST)

  1. À l’aide de votre éditeur ou IDE préféré, créez un répertoire nommé document-translation pour votre application.

  2. Créez un fichier Json appelé document-translation.json dans votre répertoire document-translation.

  3. Copiez et collez l’exemple de requête de Traduction de documentation dans votre fichier document-translation.json. Remplacez {your-source-container-SAS-URL} et {your-target-container-SAS-URL} par les valeurs de votre instance Conteneurs de compte de stockage du portail Azure.

    **Request sample**

    {
      "inputs":[
        {
          "source":{
            "sourceUrl":"{your-source-container-SAS-URL}"
          },
          "targets":[
            {
              "targetUrl":"{your-target-container-SAS-URL}",
              "language":"fr"
            }
          ]
        }
      ]
    }
    

Générer et exécuter la requête POST

Avant d’exécuter la requête POST, remplacez {your-source-container-SAS-URL} et {your-key} par la valeur de point de terminaison de votre instance du portail Azure Translator.

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultezSécurité Cognitive Services.

PowerShell

    cmd /c curl "{your-source-container-SAS-URL}/translator/text/batch/v1.0/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"

invite de commandes/terminal

    curl "{your-source-container-SAS-URL}/translator/text/batch/v1.0/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"
  • La méthode POST dont l’exécution réussit retourne un code de réponse 202 Accepted indiquant que la demande de lot a été créée par le service.

  • La requête POST retourne également des en-têtes de réponse, notamment Operation-Location qui fournit une valeur utilisée dans les requêtes GET suivantes.

  • Les documents traduits s’affichent dans votre conteneur cible.

Voilà, félicitations ! Dans ce guide de démarrage rapide, vous avez utilisé la Traduction de documentation pour traduire un document tout en conservant sa structure d’origine et son format de données.

Étapes suivantes

Découvrez-en plus sur la Traduction de documentation :