hızlı başlangıç: Çeviri kullanmaya başlayın

bu hızlı başlangıçta, Çeviri hizmetini REST aracılığıyla kullanmayı öğreneceksiniz. Temel örneklerle başlayıp geliştirme sırasında yaygın olarak kullanılan bazı temel yapılandırma seçeneklerine geçebilirsiniz; örneğin:

Önkoşullar

  • Azure aboneliği- ücretsiz olarak bir tane oluşturun

  • Azure aboneliğiniz olduğunda, anahtarınızı ve uç noktanızı almak için Azure portal bir Çeviri kaynağı oluşturun . Dağıtıldıktan sonra Kaynağa Git' i seçin.

    • uygulamanızı Çeviri hizmetine bağlamak için kaynaktan anahtar ve uç nokta gerekir. Anahtarınızı ve uç noktanızı daha sonra hızlı başlangıçta aşağıdaki koda yapıştırabilirsiniz. Azure portal anahtarlar ve uç nokta sayfasında bu değerleri bulabilirsiniz:

      Ekran görüntüsü: Azure portal anahtarlar ve uç nokta sayfası.

  • Hizmeti denemek ve daha sonra üretime yönelik ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (F0) kullanabilirsiniz.

Platform Kurulumu

  • Yeni bir proje oluşturun: dotnet new console -o your_project_name
  • Program. cs ' i aşağıda gösterilen C# kodu ile değiştirin.
  • Program. cs ' de abonelik anahtarını ve uç nokta değerlerini ayarlayın.
  • .Net CLI kullanarak Newtonsoft. JSON ekleyin.
  • Programı proje dizininden çalıştırın: dotnet run

Üst Bilgiler

REST aracılığıyla Çeviri hizmetini çağırırken, her istek için aşağıdaki üstbilgilerin eklendiğinden emin olmanız gerekir. Endişelenmeyin, aşağıdaki bölümlerde örnek koda başlıklar dahil edeceğiz.

Üst Bilgiler Açıklama
Kimlik doğrulama üst bilgisi Gerekli istek üst bilgisi.
Ocp-Apim-Subscription-Key

Bilişsel Hizmetler kaynağı kullanılıyorsa gerekli istek üst bilgisi. Çeviri kaynağı kullanılıyorsa isteğe bağlıdır.
Ocp-Apim-Subscription-Region

Kimlik doğrulaması için kullanılabilen seçeneklerebakın.
İçerik Türü Gerekli istek üst bilgisi.
Yükün içerik türünü belirtir.
Kabul edilen değer application/json; charset=UTF-8 .
İçerik Uzunluğu Gerekli istek üst bilgisi.
İstek gövdesinin uzunluğu.
X-Clienttraceıd Isteğe bağlı.
İsteği benzersiz şekilde tanımlamak için istemci tarafından oluşturulan bir GUID. Adlı sorgu parametresini kullanarak izleme KIMLIĞINI sorgu dizesine eklerseniz, bu üstbilgiyi atlayabilirsiniz ClientTraceId .

Anahtarlar ve uç noktalar

Bu sayfadaki örnekler basitlik için sabit kodlanmış anahtarlar ve uç noktalar kullanır. İşiniz bittiğinde kodu koddan kaldırmayı unutmayın ve hiçbir zaman herkese açık bir şekilde nakletmeyin. Üretim için, kimlik bilgilerinizi depolamak ve bunlara erişmek için güvenli bir yol kullanmayı düşünün. Daha fazla bilgi için bilişsel Hizmetler güvenlik makalesine bakın.

Metin çevirme

Çeviri hizmetinin temel işlemi metni çevirmelidir. Bu bölümde, tek bir kaynak ( from ) alan ve iki çıkış () sağlayan bir istek oluşturacaksınız to . Bu durumda, hem isteği hem de yanıtı ayarlamak için kullanılabilecek bazı parametreleri gözden geçireceğiz.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    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=de&to=it";
        string textToTranslate = "Hello, world!";
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:

[
    {
        "translations": [
            {
                "text": "Hallo Welt!",
                "to": "de"
            },
            {
                "text": "Salve, mondo!",
                "to": "it"
            }
        ]
    }
]

Dil algılama

çeviri yapmanız gerektiğini, ancak Çeviri hizmetine gönderilecek metnin dilini bilmiyorsanız, dil algılama işlemini kullanabilirsiniz... Kaynak metin dilini belirlemenin birden çok yolu vardır. Bu bölümde, translate uç noktayı ve uç noktayı kullanarak dil algılamayı kullanmayı öğreneceksiniz detect .

Çeviri sırasında kaynak dilini Algıla

fromçeviri isteğinize parametresini eklemezseniz, Çeviri hizmeti kaynak metnin dilini algılamaya çalışır. Yanıtta, algılanan dili ( language ) ve güvenirlik Puanını ( score ) alacaksınız. scoreNe kadar yakın olursa, 1.0 algılamanın doğru olduğu arttı demektir.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";
    
    static async Task Main(string[] args)
    {
        // Output languages are defined as parameters, input language detected.
        string route = "/translate?api-version=3.0&to=de&to=it";
        string textToTranslate = "Hello, world!";
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "text": "Hallo Welt!",
                "to": "de"
            },
            {
                "text": "Salve, mondo!",
                "to": "it"
            }
        ]
    }
]

Çeviri olmadan kaynak dilini Algıla

çeviri yapmadan kaynak metnin dilini algılamak için Çeviri hizmetini kullanmak mümkündür. Bunu yapmak için /detect uç noktasını kullanacaksınız.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";    
    
    static async Task Main(string[] args)
    {
        // Just detect language
        string route = "/detect?api-version=3.0";
        string textToLangDetect = "Ich würde wirklich gern Ihr Auto um den Block fahren ein paar Mal.";
        object[] body = new object[] { new { Text = textToLangDetect } };
        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", subscriptionKey);
            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);
        }
    }
}

/detectUç nokta kullanılırken, yanıt alternatif algılamaları içerir ve tüm algılanan dillerin çeviri ve alfabede desteklenip desteklenmediğini öğrenmenizi sağlar. Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir:

[

    {

        "language": "de",

        "score": 1.0,

        "isTranslationSupported": true,

        "isTransliterationSupported": false

    }

]

Metni başka dildi yazma

Alfabede, bir kelime veya tümceciği fonetik benzerliğine göre bir dilin betiğine (alfabe) dönüştürme işlemidir. Örneğin, "สวัสดี" ( thai ) öğesini "sawatdi" () dönüştürmek için alfabeyi kullanabilirsiniz latn . Tek bir alfabede gerçekleştirmek için birden çok yol vardır. Bu bölümde, translate uç noktayı ve uç noktayı kullanarak dil algılamayı kullanmayı öğreneceksiniz transliterate .

Çeviri sırasında alfabede olacak şekilde

Kaynağınıza göre farklı bir alfabeyi (veya phonemes) kullanan bir dilde çeviri yapıyorsanız, bir alfabeye ihtiyacınız olabilir. Bu örnekte, "Merhaba" öğesini Ingilizce 'den Tayland 'a çeviriyoruz. Tay dilinde çeviriyi almanın yanı sıra Latin alfabesini kullanarak çevrilmiş tümceciğin bir alfabeyi elde edersiniz.

Uç noktadan bir alfabe alfabmına ulaşmak için translate toScript parametresini kullanın.

Not

Kullanılabilir dillerin ve alfabedeki seçeneklerin tamamı listesi için bkz. dil desteği.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";    
    
    static async Task Main(string[] args)
    {
        // Output language defined as parameter, with toScript set to latn
        string route = "/translate?api-version=3.0&to=th&toScript=latn";
        string textToTransliterate = "Hello";
        object[] body = new object[] { new { Text = textToTransliterate } };
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir. Bitiş noktasındaki yanıtın, bir translate Güvenirlik puanı ile algılanan kaynak dilini, çıkış dilinin alfabesini kullanan bir çeviriyi ve Latin alfabesini kullanarak bir alfabeyi kullandığını unutmayın.

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "text": "สวัสดี",
                "to": "th",
                "transliteration": {
                    "script": "Latn",
                    "text": "sawatdi"
                }
            }
        ]
    }
]

Çeviri olmadan alfabeye dönüştürme

transliterateBir alfabeye ulaşmak için uç noktasını da kullanabilirsiniz. Alfabe bitiş noktasını kullanırken, kaynak dilini ( language ), kaynak betiği/ fromScript alfabeyi () ve çıkış betiğini/alfabeyi ( toScript ) parametre olarak sağlamanız gerekir. Bu örnekte, สวัสดี için alfabeyi almaya devam ediyoruz.

Not

Kullanılabilir dillerin ve alfabedeki seçeneklerin tamamı listesi için bkz. dil desteği.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";   
    
    static async Task Main(string[] args)
    {
        // For a complete list of options, see API reference.
        // Input and output languages are defined as parameters.
        string route = "/translate?api-version=3.0&to=th&toScript=latn";
        string textToTransliterate = "Hello";
        object[] body = new object[] { new { Text = textToTransliterate } };
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir. translateUç nokta çağrısının aksine, transliterate yalnızca script ve çıktısını döndürür text .

[
    {
        "script": "latn",
        "text": "sawatdi"
    }
]

Cümle uzunluğu al

Çeviri hizmetiyle, tümce veya tümce dizisinin karakter sayısını alabilirsiniz. Yanıt, algılanan her tümce için karakter sayısı ile bir dizi olarak döndürülür. translateVe uç noktaları ile tümce uzunluklarına ulaşabilirsiniz breaksentence .

Çeviri sırasında cümle uzunluğu al

Uç noktasını kullanarak hem kaynak metin hem de çeviri çıkışı için karakter sayıları alabilirsiniz translate . Tümce uzunluğunu ( srcSenLen ve) döndürmek için transSenLen parametresini olarak ayarlamanız gerekir includeSentenceLength True .

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";   
    
    static async Task Main(string[] args)
    {
        // Include sentence length details.
        string route = "/translate?api-version=3.0&to=es&includeSentenceLength=true";
        string sentencesToCount = 
                "Can you tell me how to get to Penn Station? Oh, you aren't sure? That's fine.";
        object[] body = new object[] { new { Text = sentencesToCount } };
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görmeniz gerekir. Algılanan kaynak diline ve çevirisine ek olarak, hem kaynak ( srcSentLen ) hem de çeviri () için algılanan her cümle için karakter sayılarını alacaksınız transSentLen .

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "sentLen": {
                    "srcSentLen": [
                        44,
                        21,
                        12
                    ],
                    "transSentLen": [
                        48,
                        18,
                        10
                    ]
                },
                "text": "¿Puedes decirme cómo llegar a la estación Penn? ¿No estás seguro? Está bien.",
                "to": "es"
            }
        ]
    }
]

Çeviri olmadan cümle uzunluğu al

Çeviri hizmeti, uç noktayı kullanarak hiçbir çeviri olmadan cümle uzunluğu isteyebilmenizi de sağlar breaksentence .

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION";   
    
    static async Task Main(string[] args)
    {
        // Only include sentence length details.
        string route = "/breaksentence?api-version=3.0";
        string sentencesToCount = 
                "Can you tell me how to get to Penn Station? Oh, you aren't sure? That's fine.";
        object[] body = new object[] { new { Text = sentencesToCount } };
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görüyor gerekir. Uç nokta çağrısından translate farklı olarak, breaksentence yalnızca adlı dizideki kaynak metnin karakter sayılarını sentLen döndürür.

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "sentLen": [
            44,
            21,
            12
        ]
    }
]

Sözlük arama (alternatif çeviriler)

Uç nokta ile bir sözcük veya tümcecik için alternatif çeviriler elde etme. Örneğin, "köpek" sözcüğünden 'ye çevirilirken, bu uç nokta en es hem "tiburón" hem de "aloalo" döndürür.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION"; 
    
    static async Task Main(string[] args)
    {
        // See many translation options
        string route = "/dictionary/lookup?api-version=3.0&from=en&to=es";
        string wordToTranslate = "shark";
        object[] body = new object[] { new { Text = wordToTranslate } };
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görüyor gerekir. JSON, bu makaledeki diğer örneklerden daha karmaşık olduğu için bunu biraz daha karmaşık haleelim. translationsdizisinde çeviri listesi yer almaktadır. Bu dizide yer alan her nesne bir güven puanı ( ), son kullanıcı görüntülemesi için iyileştirilmiş metin ( ), normalleştirilmiş metin ( ), konuşmanın bölümünü ( ) ve önceki çeviri hakkında confidence displayTarget bilgileri içerir ( normalizedText posTag backTranslations ). Yanıt hakkında daha fazla bilgi için bkz. Sözlük Arama

[
    {
        "displaySource": "shark",
        "normalizedSource": "shark",
        "translations": [
            {
                "backTranslations": [
                    {
                        "displayText": "shark",
                        "frequencyCount": 45,
                        "normalizedText": "shark",
                        "numExamples": 0
                    }
                ],
                "confidence": 0.8182,
                "displayTarget": "tiburón",
                "normalizedTarget": "tiburón",
                "posTag": "OTHER",
                "prefixWord": ""
            },
            {
                "backTranslations": [
                    {
                        "displayText": "shark",
                        "frequencyCount": 10,
                        "normalizedText": "shark",
                        "numExamples": 1
                    }
                ],
                "confidence": 0.1818,
                "displayTarget": "escualo",
                "normalizedTarget": "escualo",
                "posTag": "NOUN",
                "prefixWord": ""
            }
        ]
    }
]

Sözlük örnekleri (bağlamda çeviriler)

Sözlük araması gerçekleştirdikten sonra, bir cümle veya tümcecik bağlamındaki her iki terimle de ilgili örneklerin listesini almak için kaynak metni ve çeviriyi uç noktasına dictionary/examples geçebilirsiniz. Önceki örneği kullanarak sözlük arama yanıtını sırasıyla ve normalizedText normalizedTarget olarak text translation kullanıcaz. Kaynak dil ( from ) ve çıkış hedefi ( ) parametreleri to gereklidir.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // Install Newtonsoft.Json with NuGet

class Program
{
    private static readonly string subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com/";

    // Add your location, also known as region. The default is global.
    // This is required if using a Cognitive Services resource.
    private static readonly string location = "YOUR_RESOURCE_LOCATION"; 
    
    static async Task Main(string[] args)
    {
        // See examples of terms in context
        string route = "/dictionary/examples?api-version=3.0&from=en&to=es";
        object[] body = new object[] { new { Text = "Shark",  Translation = "tiburón" } } ;
        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", subscriptionKey);
            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);
        }
    }
}

Başarılı bir çağrıdan sonra aşağıdaki yanıtı görüyor gerekir. Yanıt hakkında daha fazla bilgi için bkz. Sözlük Arama

[
    {
        "examples": [
            {
                "sourcePrefix": "More than a match for any ",
                "sourceSuffix": ".",
                "sourceTerm": "shark",
                "targetPrefix": "Más que un fósforo para cualquier ",
                "targetSuffix": ".",
                "targetTerm": "tiburón"
            },
            {
                "sourcePrefix": "Same with the mega ",
                "sourceSuffix": ", of course.",
                "sourceTerm": "shark",
                "targetPrefix": "Y con el mega ",
                "targetSuffix": ", por supuesto.",
                "targetTerm": "tiburón"
            },
            {
                "sourcePrefix": "A ",
                "sourceSuffix": " ate it.",
                "sourceTerm": "shark",
                "targetPrefix": "Te la ha comido un ",
                "targetSuffix": ".",
                "targetTerm": "tiburón"
            }
        ],
        "normalizedSource": "shark",
        "normalizedTarget": "tiburón"
    }
]

Sorun giderme

Genel HTTP durum kodları

HTTP durum kodu Açıklama Olası neden
200 Tamam İstek başarılı oldu.
400 Hatalı İstek Gerekli bir parametre eksik, boş veya null. Veya gerekli veya isteğe bağlı bir parametreye geçirilen değer geçersizdir. Sık karşılaşılan bir sorun, çok uzun olan bir üst bilgidir.
401 Yetkisiz İstek yetkilendirildi. Abonelik anahtarı veya belirtecin geçerli ve doğru bölgede olduğundan emin olun. Ayrıca bkz. Kimlik Doğrulaması.
429 Çok Fazla İstek Var Aboneliğiniz için izin verilen isteklerin kotasını veya oranını aştınız.
502 Hatalı Ağ Geçidi Ağ veya sunucu tarafı sorunu. Geçersiz üst bilgileri de gösteriyor olabilir.

Java kullanıcıları

Bağlantı sorunlarıyla karşılaşıyorsanız SSL sertifikanın süresi dolmuş olabilir. Bu sorunu çözmek için DigiCertGlobalRootG2.crt'yi özel depoya yükleyin.

Sonraki adımlar