Cara menggunakan .TRANSLATE pada Python

Kembali lagi di python FunCode sekarang Anbi bakal share tentang cara membuat aplikasi penerjemah bahasa menggunakan python dan library gooogletrans.

Apa itu googletrans?

Bagaimana aplikasi ini bekerja? pertama user akan menginputkan terlebih dahulu kata/kalimat yang ingin ditranslasi. Kemudian googletrans akan mendeteksi dari bahasa apa kata/kalimat yang diinput.

Mari langsung saja kita mulai cara bikinnya.


Install dan Pakai!


Pertama, mari kita install terlebih dahulu library googletrans menggunakan PIP.

Disini anbi bakal pakai versi paling baru yang juga masih betha.

pip install googletrans==3.1.0a0

Nah, ketika selesai install, cara menggunakan library ini juga cukup mudah. Hanya dengan import library, buat object, lalu mulai translate!.

>>> from googletrans import Translator
>>> translator = Translator()
>>> translator.translate('안녕하세요.')
# <Translated src=ko dest=en text=Good evening. pronunciation=Good evening.>
>>> translator.translate('안녕하세요.', dest='ja')
# <Translated src=ko dest=ja text=こんにちは。 pronunciation=Kon'nichiwa.>
>>> translator.translate('veritas lux mea', src='la')
# <Translated src=la dest=en text=The truth is my light pronunciation=The truth is my light>


Buat Program Simpel!


Oke intro nya sudah, mari kita masuk ke dalam kode.

Dari sini mari kita buat sebuah program yang sangat simpel, dimana ia akan mentranslasikan text yang kita inputkan ke bahasa yang kita inginkan.

from googletrans import Translator, LANGUAGES

translator = Translator()
text = input("Masukkan Text : ")
bahasa = input("Terjemahkan ke Bahasa :")  
hasil = translator.translate(text, dest = bahasa)

print("Dari ", LANGUAGES[hasil.src], " : ", text)
print("Ke ", LANGUAGES[hasil.dest], " : ", hasil.text)
print("Pronounsiasi : ", hasil.pronunciation)

Mari kita coba kode diatas

Masukkan Text : I will always love you Mikasa!
Terjemahkan ke Bahasa : id
Dari  english  :  I will always love you Mikasa!
Ke  indonesian  :  Aku akan selalu mencintaimu Mikasa!
Pronounsiasi :  Aku akan selalu mencintaimu Mikasa!

Untuk kode bahasa, kalian bisa melihat kode list bahasa disini atau kalian bisa melihatnya pada variabel googletrans.LANGUAGES atau googletrans.LANGCODES.

print(googletrans.LANGUAGES)

Kita coba lagi dengan bahasa yang lain, misal jepang dengan kode ja.

Masukkan Text : I will always love you Mikasa!
Terjemahkan ke Bahasa : ja
Dari  english  :  I will always love you Mikasa!
Ke  japanese  :  私はいつもあなたを愛しますミカサ!
Pronounsiasi :  Watashi wa itsumo anata o aishimasu mikasa!

Itulah program penerjemah paling simple menggunakan python dengan library googletrans.


Lebih Jauh Dengan Googletrans!


Jika kita eksplor lebih jauh tentang library ini, banyak hal yang bisa kita ambil manfaatnya.

Misal kita ingin mendeteksi “sumber kalimat ini dari bahasa apa?". Kita bisa tahu kalimat ini dari bahasa mana dengan kode berikut.

from googletrans import Translator, LANGUAGES

translator = Translator()

kalimat = '이 문장은 한글로 쓰여졌습니다.'

detection = translator.detect(kalimat)

print("Kalimat ini berasal dari bahasa", LANGUAGES[detection.lang])
print("Dengan kemiripan sebesar", (detection.confidence * 100), "%")

Nih outputnya :

Kalimat ini berasal dari bahasa korean
Dengan kemiripan sebesar 100.0 %

Dalam posting ini, kita akan melihat bagaimana Anda dapat menggunakan RapidAPI untuk memulai proyek dengan cepat. Dengan sedikit waktu yang diinvestasikan di muka, ada potensi untuk menambahkan faktor wow nyata ke proyek berbasis teks terbaru Anda. Secara khusus, kita akan melihat menyiapkan layanan mikro terjemahan teks yang dapat kita gunakan untuk membangun terjemahan teks ke dalam aplikasi apa pun.


Pertama, mari kita lihat apa yang kita perlukan untuk layanan mikro terjemahan teks kita:

  1. Akun RapidAPI Gratis
  2. Lingkungan virtual yang bersih — kami akan menggunakan Pipenv
  3. Flask (kerangka web Python)

Ikhtisar Google Terjemahan API

Google TranslateAPI di RapidAPI mudah dinavigasi. Hanya ada dua titik akhir yang terbuka, dan keduanya menerima permintaan HTTP POST. Ini membuatnya menjadi API yang mudah digunakan, bahkan untuk pemula.



Titik Akhir API:

  • Deteksi :
    • Jenis Permintaan : POS
    • Param (1):
      • :: Jenis Param: Rangkaian
      • :: Nilai Parameter: Teks dari bahasa yang akan dideteksi.
  • Menerjemahkan :
    • Jenis Permintaan: POS
    • Parameter yang Diperlukan (2):
      • :: Jenis Param: Rangkaian
      • :: Nilai Parameter: Teks yang akan diterjemahkan.
      • :: Jenis Param: Rangkaian
      • :: Nilai Parameter: Bahasa Sasaran.

Kesederhanaan yang melekat dengan hanya memiliki dua titik akhir yang kita butuhkan (dan tidak lebih) sangat membantu untuk tutorial ini.

Sekarang, mari buat direktori root untuk proyek baru kita. Dari terminal, jalankan saja:


mkdir translation-service

Kemudian, untuk masuk ke direktori itu, jalankan:

`‘cd translation-service``

Terakhir, buat dan beri nama satu file yang perlu kita tulis:

touch translation_service.py

Sekarang, mari kita siapkan lingkungan kita. Instal Pipenv jika Anda belum memilikinya.

Lalu lari:

|_+_| untuk membuat Python3 vm, dan |_+_| untuk memasukinya.

CATATAN : Anda sekarang berada di lingkungan virtual Python3 dengan nama yang sama dengan direktori tempat Anda berada saat menjalankan perintah.

Terakhir, mari kita instal Flask. Jalankan: |_+_|

buat akun aplikasi tunai dengan email

Dan kita pergi ke balapan! Mari kita lihat beberapa kode!

pipenv --three

Di sinilah kekuatan aplikasi ini masuk. Dengan mengisolasi semua logika yang berkaitan dengan interaksi dengan Google Translate API di aplikasi ini, kami membebaskan diri untuk berinteraksi dengannya di aplikasi lain (atau ekstensi aplikasi ini) kami membuat. Proses ini mudah karena kami sudah masuk, jadi untuk berbicara — kami memiliki kata sandi kami dan detail lainnya aman dan siap untuk kami akses pada saat itu juga.

Saat tidak dipanggil, layanan ini hanya akan mendengarkan dan menunggu server lain menghubunginya.

pipenv shell

Sangat berguna untuk memberi tahu diri Anda sendiri bahwa semuanya baik-baik saja. Kami mengembalikan pesan ke apa yang umumnya disebut sebagai tampilan indeks atau halaman, yang dilambangkan dengan rute '/', karena biasanya yang pertama dimuat.

pip install Flask

Di atas, kami telah menentukan rute kedua kami. Yang ini memiliki logika tambahan. Pertama, kami mengurai argumen kami dari global |_+_| objek yang tersedia di badan fungsi kita dengan dekorator rute setelah kita mengimpornya (seperti yang kita lakukan di atas). Bergantung pada kasus penggunaan Anda, Anda dapat memilih untuk meneruskan permintaan Anda sebagai JSON, daripada data formulir. Jika demikian, cukup ganti |_+_| dengan |_+_|, jadi:

from flask import Flask, request import requests app = Flask(__name__) DETECT_BASE_URL = 'https://google-translate1.p.rapidapi.com/language/translate/v2/detect' TRANSLATE_BASE_URL = 'https://google-translate1.p.rapidapi.com/language/translate/v2' HEADERS = { 'x-rapidapi-host': 'google-translate1.p.rapidapi.com', 'x-rapidapi-key': 'YOUR-VERY-OWN-RAPID-API-KEY-GOES-HERE', 'content-type': 'application/x-www-form-urlencoded' }

Perlu dicatat bahwa kita harus melakukan sedikit pemformatan teks di sini. Sekali lagi, ini adalah alasan yang bagus untuk membangun ini sebagai layanan mikro. Kami hanya perlu melakukan ini sekali, dan kemudian selesai kapan saja kami ingin menggunakan Google Translate API.

Sekarang, mari kita buat rute terjemahan kita dengan cara yang hampir sama. Namun, dalam kasus ini, kami memiliki parameter wajib kedua. Kami hanya akan menariknya dari permintaan seperti yang kami lakukan dengan teks.

@app.route('/') def health_check(): return 'Translation Service is up.'

Aplikasi Selesai:

Untuk menjalankan ini secara lokal, salin kode di bawah ini, dan tempel ke file bernama translation_service.py di dalam lingkungan virtual Anda. Pohon file Anda terlihat seperti ini:

Cara menggunakan .TRANSLATE pada Python

Untuk memulai server, cukup jalankan: |_+_|

Cara menggunakan .TRANSLATE pada Python

Jika semuanya berjalan dengan baik, Anda akan melihat sesuatu yang sangat mirip dengan di atas. Perhatikan lingkungan virtual — dilambangkan dengan parens di paling kiri garis kursor. Dan di dalam env itu, Anda memiliki aplikasi Flask baru yang berjalan dalam mode debug, yang berarti itu akan memulai ulang server setiap kali mendeteksi perubahan pada kode, yang jauh lebih nyaman daripada memulai ulang secara manual setiap kali. Ambil kata-kata saya untuk itu.

Anda kemudian akan memiliki server yang mendengarkan di |_+_| untuk tiga rute berbeda:

proyek python untuk pemula dengan kode sumber
  1. '/' — pemeriksaan kesehatan kami
    1. Pada dasarnya, buka alamat di atas di browser Anda. Jika Anda melihat beberapa teks, semuanya berfungsi. Jenis pro: kami tidak mendefinisikan metode rute secara eksplisit, tetapi defaultnya adalah permintaan GET, yang dikirim oleh browser secara default. Kemenangan bawaan.
  2. '/ mendeteksi' - itu, ahem, deteksi rute
    1. Orang ini akan menunggu permintaan POST yang berisi parameter |_+_|, string yang akan dideteksi.
    2. Contoh: {teks: Kata-kata yang Anda inginkan untuk melakukan sesuatu}
  3. '/menerjemahkan' - ya
    1. Yang ini akan menunggu permintaan POST yang berisi |_+_|, string yang akan diterjemahkan DAN |_+_|, juga string, dan singkatan untuk bahasa target. Misalnya, 'es' adalah singkatan untuk bahasa target Spanyol.
    2. Contoh: {teks: Anda dapat menebaknya. Kata-kata…, target: es}

translation_service.py

@app.route('/detect', methods=['POST']) def detect(): # parse args text = request.form.get('text') # url encode text long_list_of_words = text.split(' ') url_encoded_text = f'q={'%20'.join(long_list_of_words)}' payload = url_encoded_text # make the request r = requests.post(DETECT_BASE_URL, data=payload, headers=HEADERS) return r.json()

Kami mengatur lingkungan kami dengan Pipev, karena itu menyelamatkan kami dari frustrasi terkait ketergantungan. Ini benar-benar hambatan ketika kode Anda tidak berjalan, tetapi itu tidak ada hubungannya dengan kode yang Anda tulis.

Terima kasih telah membaca!

#python #flask #translate #api