Clientbibliotheek-SDK's voor documentvertaling

Documentvertaling is een cloudfunctie van de Azure Vertalen service. U kunt volledige documenten vertalen of batchdocumentvertalingen in verschillende bestandsindelingen verwerken met behoud van de oorspronkelijke documentstructuur en -indeling. In dit artikel leert u hoe u de documentvertalingsservice C#/.NET- en Python-clientbibliotheken gebruikt. Zie onze REST API voor meer informatie.

Vereisten

Om aan de slag te gaan, hebt u het volgende nodig:

  • Een actief Azure-account. Als u nog geen account hebt, kunt u een gratis account maken.

  • Een resource met één Vertalen (geen resource met meerdere Cognitive Services service).

  • Een Azure Blob Storage-account. U maakt containers in uw Azure Blob Storage-account voor uw bron- en doelbestanden:

    • Broncontainer. In deze container uploadt u uw bestanden voor vertaling (vereist).
    • Doelcontainer. In deze container worden uw vertaalde bestanden opgeslagen (vereist).
  • U moet ook sas-tokens (SHARED ACCESS SIGNATURE) maken voor uw bron- en doelcontainers. De sourceUrl en moeten een targetUrl SAS-token (Shared Access Signature) bevatten, toegevoegd als een queryreeks. Het token kan worden toegewezen aan uw container of specifieke blobs. Zie SAS-tokens maken voor het documentvertalingsproces.

    • Uw broncontainer of blob moet lees- en lijsttoegang hebben.
    • Uw doelcontainer of blob moet schrijf- en lijsttoegang hebben.

Zie SAS-tokens maken voor meer informatie.

Clientbibliotheken

| Pakket (NuGet) | Clientbibliotheek | REST API | Productdocumentatie | Voorbeelden |

Belangrijk

Dit is een voorlopige versie van de documentvertalings-SDK. Het wordt in eerste plaats beschikbaar gesteld, zodat klanten vroegtijdig toegang kunnen krijgen en feedback kunnen geven. Voorlopige versies zijn nog in ontwikkeling, kunnen worden gewijzigd en bepaalde functies worden mogelijk niet ondersteund of hebben beperkte mogelijkheden. Gebruik ze niet in productietoepassingen.

Uw project instellen

Gebruik in een consolevenster (zoals cmd, PowerShell of Bash) de opdracht dotnet new om een nieuwe console-app te maken met de naam batch-document-translation. Met deze opdracht maakt u een eenvoudig Hallo wereld-C#-project met één bronbestand: program.cs.

dotnet new console -n batch-document-translation

Wijzig uw map in de zojuist gemaakte app-map. Bouw uw toepassing met de volgende opdracht:

dotnet build

De build-uitvoer mag geen waarschuwingen of fouten bevatten.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

De clientbibliotheek installeren

Installeer in de toepassingsmap de documentvertalingsclientbibliotheek voor .NET met een van de volgende methoden:

.NET CLI

dotnet add package Azure.AI.Translation.Document --version 1.0.0-beta.2

NuGet Package Manager

Install-Package Azure.AI.Translation.Document -Version 1.0.0-beta.2

NuGet PackageReference

<ItemGroup>
    <!-- ... -->
<PackageReference Include="Azure.AI.Translation.Document" Version="1.0.0-beta.2" />
    <!-- ... -->
</ItemGroup>

Open vanuit de projectmap het bestand Program.cs in uw favoriete editor of IDE. Voeg het volgende toe met behulp van de instructies:

using Azure;
using Azure.AI.Translation.Document;

using System;
using System.Threading;

Maak in de klasse Program van de toepassing een variabele voor uw abonnementssleutel en aangepast eindpunt. Zie Aangepaste domeinnaam en abonnementssleutel voor meer informatie

private static readonly string endpoint = "<your custom endpoint>";
private static readonly string subscriptionKey = "<your subscription key>";

Een document of batchbestanden vertalen

  • Als u een vertaalbewerking wilt starten voor een of meer documenten in één blobcontainer, roept u de methode StartTranslationAsync aan.

  • Als u wilt StartTranslationAsync aanroepen, moet u een DocumentTranslationInput object initialiseren dat de volgende parameters bevat:

  • sourceUri. De SAS-URI voor de broncontainer met documenten die moeten worden vertaald.

  • targetUri De SAS-URI voor de doelcontainer waarin de vertaalde documenten worden geschreven.

  • targetLanguageCode. De taalcode voor de vertaalde documenten. U vindt taalcodes op onze pagina Taalondersteuning.


public void StartTranslation() {
  Uri sourceUri = new Uri("<sourceUrl>");
  Uri targetUri = new Uri("<targetUrl>");

  DocumentTranslationClient client = new DocumentTranslationClient(new Uri(endpoint), new AzureKeyCredential(subscriptionKey));

  DocumentTranslationInput input = new DocumentTranslationInput(sourceUri, targetUri, "es")

  DocumentTranslationOperation operation = await client.StartTranslationAsync(input);

  await operation.WaitForCompletionAsync();

  Console.WriteLine($ "  Status: {operation.Status}");
  Console.WriteLine($ "  Created on: {operation.CreatedOn}");
  Console.WriteLine($ "  Last modified: {operation.LastModified}");
  Console.WriteLine($ "  Total documents: {operation.DocumentsTotal}");
  Console.WriteLine($ "    Succeeded: {operation.DocumentsSucceeded}");
  Console.WriteLine($ "    Failed: {operation.DocumentsFailed}");
  Console.WriteLine($ "    In Progress: {operation.DocumentsInProgress}");
  Console.WriteLine($ "    Not started: {operation.DocumentsNotStarted}");

  await foreach(DocumentStatusResult document in operation.Value) {
    Console.WriteLine($ "Document with Id: {document.DocumentId}");
    Console.WriteLine($ "  Status:{document.Status}");
    if (document.Status == TranslationStatus.Succeeded) {
      Console.WriteLine($ "  Translated Document Uri: {document.TranslatedDocumentUri}");
      Console.WriteLine($ "  Translated to language: {document.TranslatedTo}.");
      Console.WriteLine($ "  Document source Uri: {document.SourceDocumentUri}");
    }
    else {
      Console.WriteLine($ "  Error Code: {document.Error.ErrorCode}");
      Console.WriteLine($ "  Message: {document.Error.Message}");
    }
  }
}

Dat is alles. U hebt een programma gemaakt voor het vertalen van documenten in een blobcontainer met behulp van de .NET-clientbibliotheek.

Volgende stappen