Probeer de nieuwste versie van Azure AI Translator. In deze quickstart gaat u aan de slag met de Translator-service om tekst te vertalen met behulp van een programmeertaal van uw keuze of de REST API. Voor dit project raden we u aan de gratis prijscategorie (F0) te gebruiken, terwijl u de technologie leert en later een upgrade uitvoert naar een betaalde laag voor productie.
De kernbewerking van de Translator-service is het vertalen van tekst. In deze quickstart bouwt u een aanvraag met behulp van een programmeertaal van uw keuze die één bron (from
) gebruikt en twee uitvoer (to
). Vervolgens bekijken we enkele parameters die kunnen worden gebruikt om zowel de aanvraag als het antwoord aan te passen.
uw Visual Studio-project instellen
Zorg ervoor dat u de huidige versie van Visual Studio IDE hebt.
Open Visual Studio.
Kies Een nieuw project maken op de startpagina.
Voer op de pagina Een nieuw project maken de console in het zoekvak in. Kies de consoletoepassingssjabloon en kies vervolgens Volgende.
Voer translator_quickstart
in het dialoogvenster Uw nieuwe project configureren het vak Projectnaam in. Laat het selectievakje Oplossing en project in dezelfde map plaatsen uitgeschakeld en selecteer Volgende.
Zorg ervoor dat .NET 6.0 (langetermijnondersteuning) is geselecteerd in het dialoogvenster Aanvullende informatie. Laat het selectievakje 'Geen instructies op het hoogste niveau gebruiken' uitgeschakeld en selecteer Maken.
Het Newtonsoft.json-pakket installeren met NuGet
Klik met de rechtermuisknop op uw translator_quickstart project en selecteer NuGet-pakketten beheren... .
Selecteer het tabblad Bladeren en typ Newtonsoft.json.
Als u het pakket aan uw project wilt toevoegen, selecteert u installeren in het juiste pakketbeheervenster.
Uw C#-toepassing bouwen
Notitie
- Vanaf .NET 6 genereren nieuwe projecten met behulp van de
console
sjabloon een nieuwe programmastijl die verschilt van eerdere versies.
- De nieuwe uitvoer maakt gebruik van recente C#-functies die de code vereenvoudigen die u moet schrijven.
- Wanneer u de nieuwere versie gebruikt, hoeft u alleen de hoofdtekst van de
Main
methode te schrijven. U hoeft geen instructies op het hoogste niveau, globaal gebruik van instructies of impliciet gebruik van instructies op te nemen.
- Zie Nieuwe C#-sjablonen voor meer informatie over het genereren van instructies op het hoogste niveau.
Open het Program.cs-bestand .
Verwijder de bestaande code, inclusief de regel Console.WriteLine("Hello World!")
. Kopieer en plak het codevoorbeeld in het Program.cs-bestand van uw toepassing. Zorg ervoor dat u de sleutelvariabele bijwerkt met de waarde van uw Azure Portal Translator-exemplaar:
using System.Text;
using Newtonsoft.Json;
class Program
{
private static readonly string key = "<your-translator-key>";
private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com";
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
private static readonly string location = "<YOUR-RESOURCE-LOCATION>";
static async Task Main(string[] args)
{
// Input and output languages are defined as parameters.
string route = "/translate?api-version=3.0&from=en&to=fr&to=zu";
string textToTranslate = "I would really like to drive your car around the block a few times!";
object[] body = new object[] { new { Text = textToTranslate } };
var requestBody = JsonConvert.SerializeObject(body);
using (var client = new HttpClient())
using (var request = new HttpRequestMessage())
{
// Build the request.
request.Method = HttpMethod.Post;
request.RequestUri = new Uri(endpoint + route);
request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
request.Headers.Add("Ocp-Apim-Subscription-Key", key);
// location required if you're using a multi-service or regional (not global) resource.
request.Headers.Add("Ocp-Apim-Subscription-Region", location);
// Send the request and get response.
HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
// Read response as a string.
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
Uw C#-toepassing uitvoeren
Nadat u een codevoorbeeld aan uw toepassing hebt toegevoegd, kiest u de groene startknop naast formRecognizer_quickstart om uw programma te bouwen en uit te voeren, of drukt u op F5.
Vertalingsuitvoer:
Na een geslaagde aanroep ziet u het volgende antwoord:
[
{
"detectedLanguage": {
"language": "en",
"score": 1.0
},
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Uw Go-omgeving instellen
U kunt elke teksteditor gebruiken om Go-toepassingen te schrijven. U wordt aangeraden de nieuwste versie van de Visual Studio Code- en Go-extensie te gebruiken.
Tip
Als u niet eerder met Go werkt, probeert u de Module Aan de slag met Go Learn.
Zorg ervoor dat de nieuwste versie van Go is geïnstalleerd:
Download de Go
programmeertaalversie voor uw besturingssysteem.
Zodra het downloaden is voltooid, voert u het installatieprogramma uit.
Open een opdrachtprompt en voer het volgende in om te bevestigen dat Go is geïnstalleerd:
go version
Uw Go-toepassing bouwen
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor uw app met de naam translator-app en navigeer ernaartoe.
Maak een nieuw GO-bestand met de naam translation.go vanuit de map translator-app .
Kopieer en plak het opgegeven codevoorbeeld in het bestand translation.go . Zorg ervoor dat u de sleutelvariabele bijwerkt met de waarde van uw Azure Portal Translator-exemplaar:
package main
import (
"bytes"
"encoding/json"
"fmt"
"log"
"net/http"
"net/url"
)
func main() {
key := "<YOUR-TRANSLATOR-KEY>"
endpoint := "https://api.cognitive.microsofttranslator.com/"
uri := endpoint + "/translate?api-version=3.0"
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
location := "<YOUR-RESOURCE-LOCATION>"
// Build the request URL. See: https://go.dev/pkg/net/url/#example_URL_Parse
u, _ := url.Parse(uri)
q := u.Query()
q.Add("from", "en")
q.Add("to", "fr")
q.Add("to", "zu")
u.RawQuery = q.Encode()
// Create an anonymous struct for your request body and encode it to JSON
body := []struct {
Text string
}{
{Text: "I would really like to drive your car around the block a few times."},
}
b, _ := json.Marshal(body)
// Build the HTTP POST request
req, err := http.NewRequest("POST", u.String(), bytes.NewBuffer(b))
if err != nil {
log.Fatal(err)
}
// Add required headers to the request
req.Header.Add("Ocp-Apim-Subscription-Key", key)
// location required if you're using a multi-service or regional (not global) resource.
req.Header.Add("Ocp-Apim-Subscription-Region", location)
req.Header.Add("Content-Type", "application/json")
// Call the Translator API
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
// Decode the JSON response
var result interface{}
if err := json.NewDecoder(res.Body).Decode(&result); err != nil {
log.Fatal(err)
}
// Format and print the response to terminal
prettyJSON, _ := json.MarshalIndent(result, "", " ")
fmt.Printf("%s\n", prettyJSON)
}
Uw Go-toepassing uitvoeren
Nadat u een codevoorbeeld aan uw toepassing hebt toegevoegd, kan uw Go-programma worden uitgevoerd in een opdracht- of terminalprompt. Zorg ervoor dat het pad van de prompt is ingesteld op de map translator-app en gebruik de volgende opdracht:
go run translation.go
Vertalingsuitvoer:
Na een geslaagde aanroep ziet u het volgende antwoord:
[
{
"detectedLanguage": {
"language": "en",
"score": 1.0
},
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Uw Java-omgeving instellen
U moet beschikken over de nieuwste versie van Visual Studio Code of uw favoriete IDE. Zie Java in Visual Studio Code.
Tip
- Visual Studio Code biedt een Coderingspakket voor Java voor Windows en macOS. Het coderingspakket is een bundel VS Code, de Java Development Kit (JDK) en een verzameling voorgestelde extensies van Microsoft. Het coderingspakket kan ook worden gebruikt om een bestaande ontwikkelomgeving op te lossen.
- Als u VS Code en het Coderingspakket voor Java gebruikt, installeert u de Gradle voor Java-extensie.
Als u Visual Studio Code niet gebruikt, controleert u of het volgende is geïnstalleerd in uw ontwikkelomgeving:
Een nieuw Gradle-project maken
Maak in het consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor uw app met de naam translator-text-app en navigeer ernaartoe.
mkdir translator-text-app && translator-text-app
mkdir translator-text-app; cd translator-text-app
Voer de gradle init
opdracht uit vanuit de map translator-text-app. Met deze opdracht maakt u essentiële buildbestanden voor Gradle, waaronder build.gradle.kts, die tijdens runtime wordt gebruikt om uw toepassing te maken en te configureren.
gradle init --type basic
Wanneer u wordt gevraagd om een DSL te kiezen, selecteert u Kotlin.
Accepteer de standaardprojectnaam (translator-text-app) door Return of Enter te selecteren.
Werk build.gradle.kts
bij met de volgende code:
plugins {
java
application
}
application {
mainClass.set("TranslatorText")
}
repositories {
mavenCentral()
}
dependencies {
implementation("com.squareup.okhttp3:okhttp:4.10.0")
implementation("com.google.code.gson:gson:2.9.0")
}
Uw Java-toepassing maken
Voer vanuit de map translator-text-app de volgende opdracht uit:
mkdir -p src/main/java
U maakt de volgende mapstructuur:
Navigeer naar de map en maak een bestand met de java
naam TranslatorText.java
.
Tip
U kunt een nieuw bestand maken met behulp van PowerShell.
Open een PowerShell-venster in uw projectmap door Shift ingedrukt te houden en met de rechtermuisknop op de map te klikken.
Typ de volgende opdracht TranslatorText.java.
U kunt ook een nieuw bestand maken in uw IDE met de naam TranslatorText.java
en opslaan in de java
map.
Open het TranslatorText.java
bestand in uw IDE en kopieer het volgende codevoorbeeld in uw toepassing. Zorg ervoor dat u de sleutel bijwerkt met een van de sleutelwaarden van uw Azure Portal Translator-exemplaar:
import java.io.IOException;
import com.google.gson.*;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class TranslatorText {
private static String key = "<your-translator-key";
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
private static String location = "<YOUR-RESOURCE-LOCATION>";
// Instantiates the OkHttpClient.
OkHttpClient client = new OkHttpClient();
// This function performs a POST request.
public String Post() throws IOException {
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType,
"[{\"Text\": \"I would really like to drive your car around the block a few times!\"}]");
Request request = new Request.Builder()
.url("https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr&to=zu")
.post(body)
.addHeader("Ocp-Apim-Subscription-Key", key)
// location required if you're using a multi-service or regional (not global) resource.
.addHeader("Ocp-Apim-Subscription-Region", location)
.addHeader("Content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
// This function prettifies the json response.
public static String prettify(String json_text) {
JsonParser parser = new JsonParser();
JsonElement json = parser.parse(json_text);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
return gson.toJson(json);
}
public static void main(String[] args) {
try {
TranslatorText translateRequest = new TranslatorText();
String response = translateRequest.Post();
System.out.println(prettify(response));
} catch (Exception e) {
System.out.println(e);
}
}
}
Uw Java-toepassing bouwen en uitvoeren
Zodra u een codevoorbeeld aan uw toepassing hebt toegevoegd, gaat u terug naar de hoofdmap van het project: translator-text-app, opent u een consolevenster en voert u de volgende opdrachten in:
Bouw uw toepassing met de build
opdracht:
gradle build
Voer uw toepassing uit met de run
opdracht:
gradle run
Vertalingsuitvoer:
Na een geslaagde aanroep ziet u het volgende antwoord:
[
{
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Uw Node.js Express-project instellen
Zorg ervoor dat de nieuwste versie van Node.js is geïnstalleerd. Node Pakketbeheer (npm) is opgenomen in de Node.js-installatie.
Maak en navigeer in een consolevenster (zoals cmd, PowerShell of Bash) naar een nieuwe map voor uw app met de naam translator-app
.
mkdir translator-app && cd translator-app
mkdir translator-app; cd translator-app
Voer de npm init-opdracht uit om de toepassing te initialiseren en uw project te initialiseren.
npm init
Geef de kenmerken van uw project op met behulp van de prompts die worden weergegeven in de terminal.
- De belangrijkste kenmerken zijn naam, versienummer en toegangspunt.
- U wordt aangeraden de naam van het toegangspunt op te geven
index.js
. De beschrijving, testopdracht, GitHub-opslagplaats, trefwoorden, auteurs en licentiegegevens zijn optionele kenmerken. Ze kunnen voor dit project worden overgeslagen.
- Accepteer de suggesties tussen haakjes door Return of Enter te selecteren.
- Nadat u de aanwijzingen hebt voltooid, wordt er een
package.json
bestand gemaakt in de map translator-app.
Open een consolevenster en gebruik npm om de HTTP-bibliotheek en uuid
het axios
pakket te installeren:
npm install axios uuid
Maak het index.js
bestand in de toepassingsmap.
Tip
U kunt een nieuw bestand maken met behulp van PowerShell.
Open een PowerShell-venster in uw projectmap door Shift ingedrukt te houden en met de rechtermuisknop op de map te klikken.
Typ de volgende opdracht New-Item index.js.
U kunt ook een nieuw bestand maken met de naam index.js
in uw IDE en opslaan in de translator-app
map.
Uw JavaScript-toepassing bouwen
Voeg het volgende codevoorbeeld toe aan uw index.js
bestand. Zorg ervoor dat u de sleutelvariabele bijwerkt met de waarde van uw Azure Portal Translator-exemplaar:
const axios = require('axios').default;
const { v4: uuidv4 } = require('uuid');
let key = "<your-translator-key>";
let endpoint = "https://api.cognitive.microsofttranslator.com";
// location, also known as region.
// required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
let location = "<YOUR-RESOURCE-LOCATION>";
axios({
baseURL: endpoint,
url: '/translate',
method: 'post',
headers: {
'Ocp-Apim-Subscription-Key': key,
// location required if you're using a multi-service or regional (not global) resource.
'Ocp-Apim-Subscription-Region': location,
'Content-type': 'application/json',
'X-ClientTraceId': uuidv4().toString()
},
params: {
'api-version': '3.0',
'from': 'en',
'to': 'fr,zu'
},
data: [{
'text': 'I would really like to drive your car around the block a few times!'
}],
responseType: 'json'
}).then(function(response){
console.log(JSON.stringify(response.data, null, 4));
})
Uw JavaScript-toepassing uitvoeren
Nadat u het codevoorbeeld aan uw toepassing hebt toegevoegd, voert u het volgende uit:
Navigeer naar uw toepassingsmap (translator-app).
Typ de volgende opdracht in uw terminal:
node index.js
Vertalingsuitvoer:
Na een geslaagde aanroep ziet u het volgende antwoord:
[
{
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Uw Python-project instellen
Zorg ervoor dat de nieuwste versie van Python 3.x is geïnstalleerd. Het Python-installatiepakket (pip) is opgenomen in de Python-installatie.
Open een terminalvenster en gebruik pip om de aanvraagbibliotheek en het uuid0-pakket te installeren:
pip install requests uuid
Notitie
We gebruiken ook een ingebouwd Python-pakket met de naam json. Het wordt gebruikt om met JSON-gegevens te werken.
Uw Python-toepassing bouwen
Maak een nieuw Python-bestand met de naam translator-app.py in de gewenste editor of IDE.
Voeg het volgende codevoorbeeld toe aan uw translator-app.py
bestand. Zorg ervoor dat u de sleutel bijwerkt met een van de waarden van uw Azure Portal Translator-exemplaar.
import requests, uuid, json
# Add your key and endpoint
key = "<your-translator-key>"
endpoint = "https://api.cognitive.microsofttranslator.com"
# location, also known as region.
# required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
location = "<YOUR-RESOURCE-LOCATION>"
path = '/translate'
constructed_url = endpoint + path
params = {
'api-version': '3.0',
'from': 'en',
'to': ['fr', 'zu']
}
headers = {
'Ocp-Apim-Subscription-Key': key,
# location required if you're using a multi-service or regional (not global) resource.
'Ocp-Apim-Subscription-Region': location,
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
# You can pass more than one object in body.
body = [{
'text': 'I would really like to drive your car around the block a few times!'
}]
request = requests.post(constructed_url, params=params, headers=headers, json=body)
response = request.json()
print(json.dumps(response, sort_keys=True, ensure_ascii=False, indent=4, separators=(',', ': ')))
Uw Python-toepassing uitvoeren
Zodra u een codevoorbeeld aan uw toepassing hebt toegevoegd, bouwt en voert u het programma uit:
Navigeer naar het translator-app.py-bestand .
Typ de volgende opdracht in uw console:
python translator-app.py
Vertalingsuitvoer:
Na een geslaagde aanroep ziet u het volgende antwoord:
[
{
"translations": [
{
"text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
"to": "fr"
},
{
"text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
"to": "zu"
}
]
}
]
Dat is het, gefeliciteerd! U hebt zojuist geleerd om de Translator-service te gebruiken om tekst te vertalen.
Bekijk onze procedures voor documentatie en bekijk de mogelijkheden van vertaalservices: