Azure Translator'ın en son sürümünü deneyin. Bu hızlı başlangıçta, seçtiğiniz programlama dilini veya REST API'yi kullanarak metin çevirmek için Translator hizmetini kullanmaya başlarsınız. Bu proje için, teknolojiyi öğrenirken ücretsiz fiyatlandırma katmanını (F0) kullanmanızı ve daha sonra üretim için ücretli bir katmana yükseltmenizi öneririz.
Translator hizmetinin temel işlemi metni çevirmektir. Bu hızlı başlangıçta, tek bir kaynak () alan ve iki çıkış (from
to
) sağlayan, seçtiğiniz bir programlama dilini kullanarak bir istek oluşturacaksınız. Ardından hem isteği hem de yanıtı ayarlamak için kullanılabilecek bazı parametreleri gözden geçireceğiz.
Visual Studio projenizi ayarlama
Visual Studio IDE'nin geçerli sürümüne sahip olduğunuzdan emin olun.
Visual Studio'yu açın.
Başlangıç sayfasında Yeni proje oluştur'u seçin.
Yeni proje oluştur sayfasında, arama kutusuna konsol yazın. Konsol Uygulaması şablonunu ve ardından İleri'yi seçin.
Yeni projenizi yapılandırın iletişim kutusuna Proje adı kutusuna girintranslator_quickstart
. "Çözümü ve projeyi aynı dizine yerleştir" onay kutusunu işaretsiz bırakın ve İleri'yi seçin.
Ek bilgiler iletişim kutusunda .NET 6.0 (Uzun süreli destek) seçeneğinin belirlendiğinden emin olun. "Üst düzey deyimleri kullanma" onay kutusunun işaretini kaldırın ve Oluştur'u seçin.
NuGet ile Newtonsoft.json paketini yükleme
translator_quickstart projenize sağ tıklayın ve NuGet Paketlerini Yönet... öğesini seçin.
Gözat sekmesini seçin ve Newtonsoft.json yazın.
Paketi projenize eklemek için doğru paket yöneticisi penceresinden yükle'yi seçin.
C# uygulamanızı oluşturma
Not
- .NET 6'dan başlayarak, şablonu kullanan
console
yeni projeler önceki sürümlerden farklı yeni bir program stili oluşturur.
- Yeni çıkış, yazmanız gereken kodu basitleştiren son C# özelliklerini kullanır.
- Daha yeni sürümü kullandığınızda, yalnızca yönteminin gövdesini
Main
yazmanız gerekir. En üst düzey deyimleri, genel kullanım yönergelerini veya örtük kullanım yönergelerini eklemeniz gerekmez.
- Daha fazla bilgi için bkz. Yeni C# şablonları üst düzey deyimler oluşturur.
Program.cs dosyasını açın.
satırı Console.Writeline("Hello World!")
da dahil olmak üzere önceden var olan kodu silin. Kod örneğini kopyalayıp uygulamanızın Program.cs dosyasına yapıştırın. Anahtar değişkenini Azure portal Translator örneğinizdeki değerle güncelleştirdiğinizden emin olun:
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);
}
}
}
C# uygulamanızı çalıştırma
Uygulamanıza bir kod örneği ekledikten sonra, programınızı derlemek ve çalıştırmak için formRecognizer_quickstart yanındaki yeşil başlangıç düğmesini seçin veya F5 tuşuna basın.
Çeviri çıkışı:
Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:
[
{
"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"
}
]
}
]
Go ortamınızı ayarlama
Go uygulamaları yazmak için herhangi bir metin düzenleyicisini kullanabilirsiniz. Visual Studio Code ve Go uzantısının en son sürümünü kullanmanızı öneririz.
Henüz yapmadıysanız Go'u indirip yükleyin.
İşletim sisteminiz için Go sürümünü indirin.
İndirme işlemi tamamlandıktan sonra yükleyiciyi çalıştırın.
Bir komut istemi açın ve Go'nun yüklendiğini onaylamak için aşağıdakileri girin:
go version
Go uygulamanızı derleme
Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için translator-app adlı yeni bir dizin oluşturun ve bu dizine gidin.
translator-app dizininden translation.go adlı yeni bir GO dosyası oluşturun.
Sağlanan kod örneğini kopyalayıp translation.go dosyanıza yapıştırın. Anahtar değişkenini Azure portal Translator örneğinizdeki değerle güncelleştirdiğinizden emin olun:
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)
}
Go uygulamanızı çalıştırma
Uygulamanıza bir kod örneği ekledikten sonra Go programınız bir komut veya terminal isteminde yürütülebilir. İsteminizin yolunun translator-app klasörüne ayarlandığından emin olun ve aşağıdaki komutu kullanın:
go run translation.go
Çeviri çıkışı:
Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:
[
{
"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"
}
]
}
]
Java ortamınızı ayarlama
Visual Studio Code veya tercih ettiğiniz IDE'nin en son sürümüne sahip olmanız gerekir. Bkz.Visual Studio Code'de Java.
İpucu
- Visual Studio Code, Windows ve macOS için Java için Kodlama Paketi sunar.Kodlama paketi, VS Code paketi, Java Geliştirme Seti (JDK) ve Microsoft tarafından önerilen uzantılardan oluşan bir koleksiyondur. Kodlama Paketi, mevcut geliştirme ortamını düzeltmek için de kullanılabilir.
- VS Code ve Java için Kodlama Paketi kullanıyorsanız Java için Gradle uzantısını yükleyin.
VS Code kullanmıyorsanız, geliştirme ortamınızda aşağıdakilerin yüklü olduğundan emin olun:
Yeni Gradle projesi oluşturma
Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için translator-text-app adlı yeni bir dizin oluşturun ve bu dizine gidin.
mkdir translator-text-app && translator-text-app
mkdir translator-text-app; cd translator-text-app
gradle init
translator-text-app dizininden komutunu çalıştırın. Bu komut, uygulamanızı oluşturmak ve yapılandırmak için çalışma zamanında kullanılan build.gradle.kts dahil olmak üzere Gradle için temel derleme dosyaları oluşturur.
gradle init --type basic
DSL seçmeniz istendiğinde Kotlin'i seçin.
Dönüş veya Enter'ı seçerek varsayılan proje adını (translator-text-app) kabul edin.
Aşağıdaki kodla güncelleştirin build.gradle.kts
:
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")
}
Java Uygulamanızı oluşturma
translator-text-app dizininden aşağıdaki komutu çalıştırın:
mkdir -p src/main/java
Aşağıdaki dizin yapısını oluşturacaksınız:
dizinine java
gidin ve adlı TranslatorText.java
bir dosya oluşturun.
İpucu
PowerShell kullanarak yeni bir dosya oluşturabilirsiniz.
Shift tuşunu basılı tutarak ve klasöre sağ tıklayarak proje dizininizde bir PowerShell penceresi açın.
Aşağıdaki komutu New-Item TranslatorText.java yazın.
Ayrıca, IDE'nizde adlı TranslatorText.java
yeni bir dosya oluşturabilir ve bunu dizine java
kaydedebilirsiniz.
TranslatorText.java
Dosyayı IDE'nizde açın ve kopyalayıp aşağıdaki kod örneğini uygulamanıza yapıştırın. anahtarı, Azure portal Translator örneğinizdeki anahtar değerlerinden biriyle güncelleştirdiğinizden emin olun:
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);
}
}
}
Java uygulamanızı derleme ve çalıştırma
Uygulamanıza bir kod örneği ekledikten sonra ana proje dizininize (translator-text-app) dönün, bir konsol penceresi açın ve aşağıdaki komutları girin:
Uygulamanızı şu komutla derleyin build
:
gradle build
Uygulamanızı şu komutla run
çalıştırın:
gradle run
Çeviri çıkışı:
Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:
[
{
"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"
}
]
}
]
Node.js Express projenizi ayarlama
Henüz yapmadıysanız, Node.js'nin en son sürümünü yükleyin. Node Package Manager (npm) Node.js yüklemesine dahil edilir.
Konsol penceresinde (cmd, PowerShell veya Bash gibi) uygulamanız için adlı translator-app
yeni bir dizin oluşturun ve bu dizine gidin.
mkdir translator-app && cd translator-app
mkdir translator-app; cd translator-app
Uygulamayı başlatmak ve projenizin iskelesini yapmak için npm init komutunu çalıştırın.
npm init
Terminalde sunulan istemleri kullanarak projenizin özniteliklerini belirtin.
- En önemli öznitelikler ad, sürüm numarası ve giriş noktasıdır.
- Giriş noktası adı için saklamanızı
index.js
öneririz. Açıklama, test komutu, GitHub deposu, anahtar sözcükler, yazar ve lisans bilgileri isteğe bağlı özniteliklerdir; bunlar bu proje için atlanabilir.
- Dön veya Gir'i seçerek önerileri parantez içinde kabul edin.
- İstemleri tamamladıktan sonra translator-app dizininizde bir
package.json
dosya oluşturulur.
Bir konsol penceresi açın ve HTTP kitaplığını ve uuid
paketini yüklemek axios
için npm kullanın:
npm install axios uuid
index.js
Dosyayı uygulama dizininde oluşturun.
İpucu
PowerShell kullanarak yeni bir dosya oluşturabilirsiniz.
Shift tuşunu basılı tutarak ve klasöre sağ tıklayarak proje dizininizde bir PowerShell penceresi açın.
Aşağıdaki New-Item index.jskomutunu yazın.
Ayrıca, IDE'nizde adlı index.js
yeni bir dosya oluşturabilir ve bunu dizine translator-app
kaydedebilirsiniz.
JavaScript uygulamanızı oluşturma
Aşağıdaki kod örneğini dosyanıza index.js
ekleyin. Anahtar değişkenini Azure portal Translator örneğinizdeki değerle güncelleştirdiğinizden emin olun:
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));
})
JavaScript uygulamanızı çalıştırma
Kod örneğini uygulamanıza ekledikten sonra programınızı çalıştırın:
Uygulama dizininize (translator-app) gidin.
Terminalinize aşağıdaki komutu yazın:
node index.js
Çeviri çıkışı:
Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:
[
{
"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"
}
]
}
]
Python projenizi ayarlama
Henüz yapmadıysanız Python 3.x'in en son sürümünü yükleyin. Python yükleyici paketi (pip) Python yüklemesine dahil edilir.
Bir terminal penceresi açın ve requests kitaplığını ve uuid0 paketini yüklemek için pip kullanın:
pip install requests uuid
Not
Ayrıca json adlı bir Python yerleşik paketi kullanacağız. JSON verileriyle çalışmak için kullanılır.
Python uygulamanızı oluşturma
Tercih ettiğiniz düzenleyicide veya IDE'de translator-app.py adlı yeni bir Python dosyası oluşturun.
Aşağıdaki kod örneğini dosyanıza translator-app.py
ekleyin. anahtarı Azure portal Translator örneğinizdeki değerlerden biriyle güncelleştirdiğinizden emin olun.
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=(',', ': ')))
Python uygulamanızı çalıştırma
Uygulamanıza bir kod örneği ekledikten sonra programınızı derleyip çalıştırın:
translator-app.py dosyanıza gidin.
Konsolunuza aşağıdaki komutu yazın:
python translator-app.py
Çeviri çıkışı:
Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:
[
{
"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"
}
]
}
]
İşte bu kadar, tebrikler! Metin çevirisi yapmak için Translator hizmetini kullanmayı öğrendinsiniz.
Nasıl yapılır belgelerimizi inceleyin ve Çeviri hizmeti özelliklerine daha ayrıntılı bir bakış atın: