Google Cloud Api Kullanımı?

Arkadaşlarlar merhaba , google’in translate apisini kullanarak kendim için bir çeviri programı yapmak istiyorum fakat bir türlü api dosyasını kuramadım. Translate apisini etkinleştirdikten sonraki json dosyası nı ,

import os
from google.cloud import translate
os.environ[“GOOGLE_APPLICATION_CREDENTIALS”] = “E:\Python_projeleri_\venv\My First Project-038bd96b0723.json”

şeklinde oluşturuyorum daha sonra her hangi bir komutu çalıştırınca hatalar alıyorum sürekli.
pip ile google-cloud-translate 'i yüklerken de hata alıyorum. Pycharm üzerinden yükleme yaptım bu seferde kütüphane çalışmıyor.
Bu apilerin kurulumu nasıl olacak ? Adımlarda mı hata yapıyorum yardımcı olabilir misiniz ?

Kısa bir araştırma sonrası (internette “python using google translate” şeklinde bir arama yapmam yeterli oldu) kullanımı çok basit bir kütüphane buldum. Eğer işinizi görecekse bunu kullanmanızı öneririm, sonuçta amacınızı yerine getiriyorsa en kısa yolu seçmek daha uygun olur. Kütüphaneyi bu linkte görebilirsiniz. İndirme işlemini de linke göre yaptıktan sonra kütüphaneyi şu şekilde kullanıyoruz:

from googletrans import Translator,LANGUAGES

translator=Translator() # çeviriyi yapacak olan nesnemizi oluşturuyoruz

çeviri = translator.translate("Hello!",dest="tr",src="en") # ilk parametre çevrilecek yazı, ikincisi hangi dile çevrileceği, üçüncüsü de yazının hangi dilde olduğu

print(çeviri.text) # Merhaba!

otomatik_belirlenmiş_dil = translator.detect("Merhabalar efendim.")
print("Dilimiz:",otomatik_belirlenmiş_dil)
 
print(LANGUAGES) # mevcut bütün diller ve kısaltmaları

Ayrıca bu kütüphaneyi de indirirseniz çevirme işlemleri daha da hızlı yapılacağı, googletrans kütüphanesinin geliştiricisi tarafından söylenmiş.

1 Beğeni

hocam cevabınız için çok teşekkür ederim. Dediğiniz kütüphaneyi kullandım fakat çeviriler çok farklı oluyor. En basitinden " kelimeyi çevir " bunu çevirmek istiyorum cümle içinde ki “çevir” farklı anlamda algılıyor. Tercüme farklı oluyor. Zaten yazan kişi de daha iyi sonuç almak istiyorsanız google-api kullanmanız gerekir tarzında ifadelerde bulunmuş.

Hangi komutu?
Nasil hatalar?

Nasil bir hata?

Calismadigini nereden biliyorsun?

API’ler google’in kutuphanelere ve diger programlama dili kullanicilarina verdigi bir hizmet. Kurulumlari sozkonusu degil.

Hangi adimlar?

“kelimeyi çevir” sözcüğü bende “translate the word” şeklinde doğru olarak geldi. Aslında kütüphane zaten google translate kullanıyor ama eğer istediğiniz gibi çalışmıyorsa bir şey diyemem.

hocam ingilizceye çevirmiyorum almanca için kullanacağım. aldığım hataları ekliyorum şimdi.

import os
from google.cloud import translate
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "E:\Python_Dersleri_\venv\My First Project-038bd96b0723.json"
from google.cloud import translate

def translate_text(text,target='en'):
    """
    Target must be an ISO 639-1 language code.
    https://cloud.google.com/translate/docs/languages
    """
    translate_client = translate.Client()
    result = translate_client.translate(
        text,
        target_language=target)

    print(u'Text: {}'.format(result['input']))
    print(u'Translation: {}'.format(result['translatedText']))
    print(u'Detected source language: {}'.format(
        result['detectedSourceLanguage']))

example_text ='''Hola saludos desde Colombia excelentes tutoriales me gustaría poder por lo menos tener los subtitulos ene español ...excelente gracias por compartir tus conocimientos'''
translate_text(example_text.decode('utf-8'),target='en')

örnek kod bu pycharm’da aldığım hata:

Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\IPython\core\interactiveshell.py", line 3319, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-ed05bc5bcfdb>", line 1, in <module>
    runfile('E:/Python_Dersleri_/Matris_Yöntemler/work_space/übersetzer.py', wdir='E:/Python_Dersleri_/Matris_Yöntemler/work_space')
  File "C:\Program Files\JetBrains\PyCharm Edu 2019.1.1\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:\Program Files\JetBrains\PyCharm Edu 2019.1.1\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "E:/Python_Dersleri_/Matris_Yöntemler/work_space/übersetzer.py", line 23, in <module>
    translate_text(example_text.decode('utf-8'),target='en')
AttributeError: 'str' object has no attribute 'decode'

hocam aldığım hataları ekledim.

API’lerin kullanımı ile ilgili google’un verdiği rehberler var. Python’da import etmeden, https://cloud.google.com/ bu siteden apiyi aktive edip verdiği json dosyasını kullanmak gerekiyor. Aşağıda ki adımları yaptım bende. PowerShell’de dediği kodlarrı girip indirdiğim json dosyasının konumunu belirttim.

  ` * Set up a Cloud Console project.Set up a project`

Click to:

* Create or select a project.
* Enable the Cloud Translation API for that project.
* Create a service account.
* Download a private key as JSON.

You can view and manage these resources at any time in the [Cloud Console](https://console.cloud.google.com/).

* Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the file path of the JSON file that contains your service account key. This variable only applies to your current shell session, so if you open a new session, set the variable again.

**Example:** Linux or macOS

**Example:** Windows

Replace [PATH] with the file path of the JSON file that contains your service account key, and [FILE_NAME] with the filename.

With PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

For example:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

With command prompt:

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

daha sonra import işlemi falan yaptıktan sonra verilen hataları yükarıda belirttim.

Bunun cloud API ile alakasi yok. Ornek kod Python 2 icin yazilmis, Python 3 ile calistiriliyor.

Nerede?

2 Beğeni

Hata gayet açıklayıcı. str sınıfının decode adında bir metodu olmadığını söylüyor…

AttributeError: ‘str’ object has no attribute ‘decode’

1 Beğeni

Merhabalar,

from google.cloud import translate_v2 as translate
import pandas as pd
client = translate.Client()


df=pd.read_excel('xxx.xlsx')


translated=[]

for text in df.values:
    
    translation=client.translate(text[1],'en')
    
    translated.append(translation.get('translatedText'))

df['Translated Tweet']=translated
df.to_excel('xxxx.xlsx')

Bu kod bloğu benim işimi halletmişti.
Versiyonlar arasında yazım farklılıkları var. Ona dikkat etmen gerekiyor.
İyi akşamlar.

2 Beğeni