1. Genel Bakış
Google Cloud Translation API, son teknoloji ürünü Nöral Makine Çevirisi kullanarak rastgele dizeleri desteklenen dillere dinamik olarak çevirmek için basit bir programatik arayüz sunar. Ayrıca, kaynak dilin bilinmediği durumlarda dilin tespit edilmesi için de kullanılabilir.
Bu codelab'de, Translation API'yi C# ile kullanmaya odaklanacaksınız. Mevcut dilleri nasıl listeleyeceğinizi, metni nasıl çevireceğinizi ve belirli bir metindeki dili nasıl tespit edeceğinizi öğ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 diller nasıl listelenir?
- Metin nasıl çevrilir?
- Dil nasıl algılanır?
Gerekenler
Anket
Bu eğiticiden nasıl yararlanacaksınız?
C# ile ilgili deneyiminizi nasıl değerlendirirsiniz?
Google Cloud Platform hizmetlerinin kullanımıyla ilgili deneyiminizi nasıl değerlendirirsiniz?
2. Kurulum ve Gereksinimler
Kendi hızınızda ortam kurulumu
- Google Cloud Console'da oturum açıp 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. İstediğiniz zaman güncelleyebilirsiniz.
- Proje Kimliği, tüm Google Cloud projelerinde benzersizdir ve değiştirilemez (belirlendikten sonra değiştirilemez). Cloud Console, otomatik olarak benzersiz bir dize oluşturur. bunun ne olduğunu umursamıyorsunuz. Çoğu codelab'de proje kimliğinizi (genellikle
PROJECT_ID
olarak tanımlanır) belirtmeniz gerekir. Oluşturulan kimliği beğenmezseniz rastgele bir kimlik daha oluşturabilirsiniz. Alternatif olarak, kendi ölçümünüzü deneyip mevcut olup olmadığına bakabilirsiniz. Bu adımdan sonra değiştirilemez ve proje süresince kalır. - Bilginiz olması açısından, bazı API'lerin kullandığı üçüncü bir değer, yani Proje Numarası daha vardır. Bu değerlerin üçü hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
- Sonraki adımda, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i çalıştırmanın maliyeti, yüksek değildir. Bu eğitim dışında faturalandırmanın tekrarlanmasını önlemek amacıyla kaynakları kapatmak için oluşturduğunuz kaynakları silebilir veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerindeki ücretsiz denemeden yararlanabilir.
Cloud Shell'i başlatma
Google Cloud dizüstü bilgisayarınızdan uzaktan çalıştırılabilse de 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 bulunan Cloud Shell simgesini tıklayın:
Ortamı sağlamak ve bağlamak yalnızca birkaç dakika sürer. Tamamlandığında şuna benzer bir sonuç görmeniz gerekir:
İhtiyacınız olan tüm geliştirme araçlarını bu sanal makinede bulabilirsiniz. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışarak ağ performansını ve kimlik doğrulamasını büyük ölçüde iyileştirir. Bu codelab'deki tüm çalışmalarınız tarayıcıda yapılabilir. Herhangi bir şey yüklemeniz gerekmez.
3. Translation API'yi Etkinleştirme
Translation API'yi kullanmaya başlamadan önce API'yi etkinleştirmeniz gerekir. Cloud Shell'de aşağıdaki komutu kullanarak API'yi 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.
Sonra, 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 Listeleyin
Bu bölümde öncelikle Translation API'deki mevcut tüm dilleri listeleyeceksiniz.
İlk olarak Cloud Shell'in sağ üst tarafından kod düzenleyiciyi açın:
TranslationApiDemo
klasörünün içindeki 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();
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ın İngilizce olarak listelendiğini, ancak herhangi bir dilde de listelenebileceğini unutmayın.
Cloud Shell'e dönüp uygulamayı çalıştırın. Aşağıdaki çıkışı göreceksiniz:
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'deki mevcut tüm dilleri listelemeyi başardınız. Desteklenen dillerin tam listesini Dil Desteği sayfasında bulabilirsiniz.
6. Metin çevirme
Bir dildeki metni başka bir dile çevirmek için Translation API'yi kullanabilirsiniz. Metin, Nöral Makine Çevirisi (NMT) modeli kullanılarak çevrilir. İstenen dil çeviri çifti için NMT modeli desteklenmiyorsa Sıralı Tabanlı Makine Çevirisi (PBMT) modeli kullanılır.
Metni çevirmek için TranslationApiDemo
klasöründeki Program.cs
dosyasına gidin ve kodu aşağıdaki kodla 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);
}
}
}
Bir iki dakikanızı ayırarak kodu inceleyin. "Hello World" metnini çevirir İngilizceden Türkçeye*.*
Cloud Shell'e dönüp uygulamayı çalıştırın. Aşağıdaki çıkışı göreceksiniz:
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 Translation 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}");
}
}
}
Bir iki dakikanızı ayırarak kodu inceleyin. "Selam Dünya!" metninin dilini algılar Türkçe bir ifadedir*.*
Cloud Shell'e dönüp uygulamayı çalıştırın. Aşağıdaki çıkışı göreceksiniz:
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!
Translation API'yi C# kullanarak 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 "Sil"i tıklayın üstte üstte yer alır: Bu işlem, projeyi silinmek üzere programlar.
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.