1. Genel Bakış

Translation API, son teknoloji ürünü Nöral Makine Çevirisi'ni kullanarak rastgele bir dizeyi desteklenen herhangi bir dile dinamik olarak çevirmek için basit ve programatik bir arayüz sağlar. Ayrıca kaynak dilin bilinmediği durumlarda dili algılamak için de kullanılabilir.
Bu eğitimde, Translation API'yi Python ile kullanacaksınız. Kapsanan kavramlar arasında mevcut dilleri listeleme, metin çevirme ve belirli bir metnin dilini algılama yer alır.
Neler öğreneceksiniz?
- Ortamınızı ayarlama
- Kullanılabilir dilleri listeleme
- Metin nasıl çevrilir?
- Dilleri algılama
Gerekenler
- Google Cloud projesi
- Chrome veya Firefox gibi bir tarayıcı
- Python kullanma konusunda bilgi sahibi olma
Anket
Bu eğitimi nasıl kullanacaksınız?
Python ile ilgili deneyiminizi nasıl değerlendirirsiniz?
Google Cloud hizmetleriyle ilgili deneyiminizi nasıl değerlendirirsiniz?
2. Kurulum ve şartlar
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 bulutta çalışan bir komut satırı ortamı olan Cloud Shell'i kullanacaksınız.
Cloud Shell'i etkinleştirme
- Cloud Console'da Cloud Shell'i etkinleştir 'i
tıklayın.

Cloud Shell'i ilk kez başlatıyorsanız ne olduğunu açıklayan bir ara ekran gösterilir. Ara ekran gösterildiyse Devam'ı tıklayın.

Cloud Shell'in temel hazırlığı ve bağlanması yalnızca birkaç dakikanızı alır.

Bu sanal makineye, ihtiyaç duyacağınız tüm geliştirme araçları yüklenmiştir. 5 GB boyutunda kalıcı bir ana dizin bulunur ve Google Cloud'da çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde güçlenir. Bu codelab'deki çalışmalarınızın neredeyse tamamını tarayıcıyla yapabilirsiniz.
Cloud Shell'e bağlandıktan sonra kimliğinizin doğrulandığını ve projenin, proje kimliğinize ayarlandığını görürsünüz.
- Kimliğinizin doğrulandığını onaylamak için Cloud Shell'de şu komutu çalıştırın:
gcloud auth list
Komut çıkışı
Credentialed Accounts
ACTIVE ACCOUNT
* <my_account>@<my_domain.com>
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- gcloud komutunun projeniz hakkında bilgi sahibi olduğunu onaylamak için Cloud Shell'de aşağıdaki komutu çalıştırın:
gcloud config list project
Komut çıkışı
[core] project = <PROJECT_ID>
Değilse şu komutla ayarlayabilirsiniz:
gcloud config set project <PROJECT_ID>
Komut çıkışı
Updated property [core/project].
3. Ortam kurulumu
Translation API'yi kullanmaya başlamadan önce API'yi etkinleştirmek için Cloud Shell'de aşağıdaki komutu çalıştırın:
gcloud services enable translate.googleapis.com
Aşağıdakine benzer bir tablo görürsünüz:
Operation "operations/..." finished successfully.
Artık Translation API'yi kullanabilirsiniz.
Aşağıdaki ortam değişkenini ayarlayın (uygulamanızda kullanılacak):
export PROJECT_ID=$(gcloud config get-value core/project)
echo "PROJECT_ID: $PROJECT_ID"
Ana dizininize gidin:
cd ~
Bağımlılıkları izole etmek için Python sanal ortamı oluşturun:
virtualenv venv-translate
Sanal ortamı etkinleştirin:
source venv-translate/bin/activate
IPython'ı ve Translation API istemci kitaplığını yükleyin:
pip install ipython google-cloud-translate
Aşağıdakine benzer bir tablo görürsünüz:
... Installing collected packages: ..., ipython, google-cloud-translate Successfully installed ... google-cloud-translate-3.16.0 ...
Artık Translation API istemci kitaplığını kullanmaya hazırsınız.
Sonraki adımlarda, önceki adımda yüklediğiniz IPython adlı etkileşimli bir Python yorumlayıcısı kullanacaksınız. Cloud Shell'de ipython komutunu çalıştırarak bir oturum başlatın:
ipython
Aşağıdakine benzer bir tablo görürsünüz:
Python 3.10.12 (main, Jul 29 2024, 16:56:48) [GCC 11.4.0] Type 'copyright', 'credits' or 'license' for more information IPython 8.27.0 -- An enhanced Interactive Python. Type '?' for help. In [1]:
Aşağıdaki kodu IPython oturumunuza kopyalayın:
from os import environ
from google.cloud import translate
PROJECT_ID = environ.get("PROJECT_ID", "")
assert PROJECT_ID
PARENT = f"projects/{PROJECT_ID}"
İlk isteğinizi göndermeye ve desteklenen dilleri listelemeye hazırsınız...
4. Kullanılabilir dilleri listeleme
Bu bölümde, Translation API'de kullanılabilen tüm dilleri listeleyeceksiniz.
Kullanılabilir dilleri listelemek için aşağıdaki kodu IPython oturumunuza kopyalayın:
def print_supported_languages(display_language_code: str):
client = translate.TranslationServiceClient()
response = client.get_supported_languages(
parent=PARENT,
display_language_code=display_language_code,
)
languages = response.languages
print(f" Languages: {len(languages)} ".center(60, "-"))
for language in languages:
language_code = language.language_code
display_name = language.display_name
print(f"{language_code:10}{display_name}")
İşlevi çağırın:
print_supported_languages("en")
Şuna benzer bir sonuç alırsınız:
---------------------- Languages: 137 ---------------------- af Afrikaans sq Albanian am Amharic ar Arabic hy Armenian ... cy Welsh xh Xhosa yi Yiddish yo Yoruba zu Zulu
Görüntüleme dili Fransızca olduğunda neler elde edeceğinizi öğrenin:
print_supported_languages("fr")
Aşağıdakine benzer şekilde, aynı listeyi Fransızca adlara göre sıralanmış olarak görmeniz gerekir:
---------------------- Languages: 137 ---------------------- af Afrikaans sq Albanais de Allemand am Amharique en Anglais ... vi Vietnamien xh Xhosa yi Yiddish yo Yoruba zu Zoulou
Başka bir dil kodu ile deneyebilirsiniz.
Özet
Bu adımda, Translation API'de kullanılabilen tüm dilleri listeleyebildiniz. Desteklenen dillerin tam listesini dil desteği sayfasında bulabilirsiniz.
5. Metin çevirme
Metinleri bir dilden başka bir dile çevirmek için Translation 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. Google Çeviri ve çeviri modelleri hakkında daha fazla bilgi için NMT duyuru gönderisine bakın.
Metni çevirmek için aşağıdaki kodu IPython oturumunuza kopyalayın:
def translate_text(text: str, target_language_code: str) -> translate.Translation:
client = translate.TranslationServiceClient()
response = client.translate_text(
parent=PARENT,
contents=[text],
target_language_code=target_language_code,
)
return response.translations[0]
Aynı metni farklı dillerde çevirmek için işlevi çağırın:
text = "Hello World!"
target_languages = ["tr", "de", "es", "it", "el", "zh", "ja", "ko"]
print(f" {text} ".center(50, "-"))
for target_language in target_languages:
translation = translate_text(text, target_language)
source_language = translation.detected_language_code
translated_text = translation.translated_text
print(f"{source_language} → {target_language} : {translated_text}")
Aşağıdaki sonuçları alırsınız:
------------------ Hello World! ------------------ en → tr : Selam Dünya! en → de : Hallo Welt! en → es : ¡Hola Mundo! en → it : Ciao mondo! en → el : Γεια σου Κόσμο! en → zh : 你好世界! en → ja : 「こんにちは世界」 en → ko : 안녕하세요!
Özet
Bu adımda, metni birden fazla dile çevirmek için Translation API'yi kullandınız. Metin çevirme hakkında daha fazla bilgi edinin.
6. Dilleri algılama
Bir metin dizesinin dilini algılamak için Translation API'yi de kullanabilirsiniz.
Aşağıdaki kodu IPython oturumunuza kopyalayın:
def detect_language(text: str) -> translate.DetectedLanguage:
client = translate.TranslationServiceClient()
response = client.detect_language(parent=PARENT, content=text)
return response.languages[0]
Farklı cümlelerin dilini algılamak için işlevi çağırın:
sentences = [
"Selam Dünya!",
"Hallo Welt!",
"¡Hola Mundo!",
"Ciao mondo!",
"Γεια σου Κόσμο!",
"你好世界!",
"「こんにちは世界」",
"안녕하세요!",
]
for sentence in sentences:
language = detect_language(sentence)
confidence = language.confidence
language_code = language.language_code
print(
f"Confidence: {confidence:4.0%}",
f"Language: {language_code:5}",
sentence,
sep=" | ",
)
Aşağıdaki sonuçları alırsınız:
Confidence: 100% | Language: tr | Selam Dünya! Confidence: 81% | Language: de | Hallo Welt! Confidence: 100% | Language: es | ¡Hola Mundo! Confidence: 100% | Language: it | Ciao mondo! Confidence: 100% | Language: el | Γεια σου Κόσμο! Confidence: 100% | Language: zh-CN | 你好世界! Confidence: 100% | Language: ja | 「こんにちは世界」 Confidence: 100% | Language: ko | 안녕하세요!
Özet
Bu adımda, Translation API'yi kullanarak bir metin parçasının dilini tespit edebildiniz. Dilleri algılama hakkında daha fazla bilgi edinin.
7. Tebrikler!

Python kullanarak Translation API'yi nasıl kullanacağınızı öğrendiniz.
Temizleme
Geliştirme ortamınızda yer açmak için Cloud Shell'de:
- IPython oturumunuz hâlâ açıksa kabuğa geri dönün:
exit - Python sanal ortamını kullanmayı durdurun:
deactivate - Sanal ortam klasörünüzü silin:
cd ~ ; rm -rf ./venv-translate
Google Cloud projenizi silmek için Cloud Shell'de:
- Mevcut proje kimliğinizi alın:
PROJECT_ID=$(gcloud config get-value core/project) - Silmek istediğiniz projenin
echo $PROJECT_IDolduğundan emin olun. - Projeyi silme:
gcloud projects delete $PROJECT_ID
Daha fazla bilgi
- Cloud Translation belgeleri: https://cloud.google.com/translate/docs
- Google Cloud'da Python: https://cloud.google.com/python
- Python için Cloud İstemci Kitaplıkları: https://github.com/googleapis/google-cloud-python
Lisans
Bu çalışma, Creative Commons Attribution 2.0 Genel Amaçlı Lisans ile lisans altına alınmıştır.