1. Genel Bakış
Google Cloud Translation API, son teknoloji ürünü Nöral Makine Çevirisi'ni kullanarak rastgele dizeleri desteklenen dillere dinamik olarak çevirmek için basit bir programatik arayüz sunar. Kaynak dilin bilinmediği durumlarda dili algılamak için de kullanılabilir.
Bu codelab'de Translation API'yi C# ile kullanmaya odaklanacaksınız. Kullanılabilir dilleri listelemeyi, metin çevirmeyi ve belirli bir metnin dilini algılamayı öğreneceksiniz.
Neler öğreneceksiniz?
- Cloud Shell'i kullanma
- Translation API'yi etkinleştirme
- API isteklerinin kimliğini doğrulama
- C# için Google Cloud istemci kitaplığını yükleme
- Kullanılabilir dilleri listeleme
- Metin nasıl çevrilir?
- Dili algılama
Gerekenler
- Google Cloud Platform projesi
- Chrome veya Firefox gibi bir tarayıcı
- C# kullanma konusunda bilgi sahibi olma
Anket
Bu eğitimi nasıl kullanacaksınız?
C# ile ilgili deneyiminizi nasıl değerlendirirsiniz?
Google Cloud Platform hizmetlerini kullanma deneyiminizi nasıl değerlendirirsiniz?
2. Kurulum ve Gereksinimler
Yönlendirmesiz ortam kurulumu
- Google Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.



- Proje adı, bu projenin katılımcıları için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Bu bilgiyi istediğiniz zaman güncelleyebilirsiniz.
- Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve sabittir (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dizeyi otomatik olarak oluşturur. Genellikle bu dizenin ne olduğuyla ilgilenmezsiniz. Çoğu codelab'de proje kimliğinize (genellikle
PROJECT_IDolarak tanımlanır) başvurmanız gerekir. Oluşturulan kimliği beğenmezseniz başka bir rastgele kimlik oluşturabilirsiniz. Dilerseniz kendi adınızı deneyerek kullanılabilir olup olmadığını kontrol edebilirsiniz. Bu adım tamamlandıktan sonra değiştirilemez ve proje süresince geçerli kalır. - Bazı API'lerin kullandığı üçüncü bir değer olan Proje Numarası da vardır. Bu üç değer hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
- Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırılmayı önlemek için kaynakları kapatmak üzere oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından yararlanabilir.
Cloud Shell'i başlatma
Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir. Ancak bu codelab'de, Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.
Google Cloud Console'da sağ üstteki araç çubuğunda Cloud Shell simgesini tıklayın:

Ortamın temel hazırlığı ve bağlanması yalnızca birkaç dakikanızı alır. İşlem tamamlandığında aşağıdakine benzer bir sonuç görürsünüz:

Bu sanal makine, ihtiyaç duyacağınız tüm geliştirme araçlarını içerir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde güçlenir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Herhangi bir şey yüklemeniz gerekmez.
3. Translation API'yi Etkinleştirme
Translation API'yi kullanmaya başlamadan önce API'yi etkinleştirmeniz gerekir. API'yi Cloud Shell'de aşağıdaki komutu kullanarak etkinleştirebilirsiniz:
gcloud services enable translate.googleapis.com
4. C# için Google Cloud Translation API istemci kitaplığını yükleme
Öncelikle Translation API örneklerini çalıştırmak için kullanacağınız basit bir C# konsol uygulaması oluşturun.
dotnet new console -n TranslationApiDemo
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
Ardından TranslationApiDemo klasörüne gidin ve projeye Google.Cloud.Translation.V2 NuGet paketini ekleyin:
cd TranslationApiDemo/
dotnet add package Google.Cloud.Translation.V2
info : Adding PackageReference for package 'Google.Cloud.Translation.V2' into project '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
log : Restoring packages for /home/atameldev/TranslationDemo/TranslationDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Translation.V2' version '1.0.0' added to file '/home/atameldev/TranslationDemo/TranslationDemo.csproj'.
Artık Translation API'yi kullanmaya hazırsınız.
5. Kullanılabilir Dilleri Listeleme
Bu bölümde, Translation API'de kullanılabilen tüm dilleri listeleyeceksiniz.
Öncelikle Cloud Shell'in sağ üst tarafındaki kod düzenleyiciyi açın:

TranslationApiDemo klasöründeki Program.cs dosyasına gidin ve kodu aşağıdakilerle değiştirin:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
foreach (var language in client.ListLanguages(LanguageCodes.English))
{
Console.WriteLine($"{language.Code}\t{language.Name}");
}
}
}
}
Bir veya iki dakikanızı ayırarak kodu inceleyin*.* Dil adlarını İngilizce olarak listelediğimizi ancak herhangi bir dilde listelenebileceğini unutmayın.
Cloud Shell'e dönüp uygulamayı çalıştırın. Aşağıdaki çıkışı görmeniz gerekir:
dotnet run
af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
...
yi Yiddish
yo Yoruba
zu Zulu
Özet
Bu adımda, Translation API'de kullanılabilen tüm dilleri listeleyebildiniz. Desteklenen dillerin tam listesini Dil Desteği sayfasında bulabilirsiniz.
6. Metin çevirme
Bir dildeki metni başka bir dile çevirmek için Translate API'yi kullanabilirsiniz. Metin, Nöral Makine Çevirisi (NMT) modeli kullanılarak çevrilir. NMT modeli, istenen dil çevirisi çifti için desteklenmiyorsa Phrase-Based Machine Translation (PBMT) modeli kullanılır.
Metni çevirmek için TranslationApiDemo klasöründeki Program.cs dosyasına gidin ve kodu aşağıdakiyle değiştirin:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Hello World!";
var response = client.TranslateText(text, LanguageCodes.Turkish, LanguageCodes.English);
Console.WriteLine(response.TranslatedText);
}
}
}
Kodu incelemek için birkaç dakikanızı ayırın. "Hello World" metnini İngilizceden Türkçeye çevirir.*
Cloud Shell'e dönüp uygulamayı çalıştırın. Aşağıdaki çıkışı görmeniz gerekir:
dotnet run
Selam Dünya!
Özet
Bu adımda, Translation API'yi kullanarak bir metni İngilizceden Türkçeye çevirebildiniz. Metin çevirme hakkında daha fazla bilgi edinin.
7. Dili algıla
Bir metin dizesinin dilini algılamak için de Translate API'yi kullanabilirsiniz.
Dili algılamak için TranslationApiDemo klasöründeki Program.cs dosyasına gidin ve kodu aşağıdakiyle değiştirin:
using System;
using Google.Cloud.Translation.V2;
namespace TranslationApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = TranslationClient.Create();
var text = "Selam Dünya!";
var detection = client.DetectLanguage(text);
Console.WriteLine($"Language: {detection.Language}\tConfidence: {detection.Confidence}");
}
}
}
Kodu incelemek için birkaç dakikanızı ayırın. "Selam Dünya!" metninin dilini algılar. Bu metin, Türkçe bir ifadedir.*.*
Cloud Shell'e dönüp uygulamayı çalıştırın. Aşağıdaki çıkışı görmeniz gerekir:
dotnet run
Language: tr Confidence: 1
Özet
Bu adımda, Translation API'yi kullanarak bir metin parçasının dilini tespit edebildiniz. Dili algılama hakkında daha fazla bilgi edinin.
8. Tebrikler!
C# kullanarak Translation API'yi nasıl kullanacağınızı öğrendiniz.
Temizleme
Bu hızlı başlangıçta kullanılan kaynaklar için Google Cloud Platform hesabınızın ücretlendirmesini önlemek amacıyla:
- Cloud Platform Console'a gidin.
- Kapatmak istediğiniz projeyi seçin, ardından üst kısımdaki "Sil"i tıklayın. Bu işlem, projenin silinmesini planlar.
Daha Fazla Bilgi
- Google Cloud Translation API: https://cloud.google.com/translate/docs
- Google Cloud Platform'da C#/.NET: https://cloud.google.com/dotnet/
- Google Cloud .NET istemcisi: https://googlecloudplatform.github.io/google-cloud-dotnet/
Lisans
Bu çalışma, Creative Commons Attribution 2.0 Genel Amaçlı Lisans ile lisans altına alınmıştır.