Bikin Aplikasi Ala Google Translate menggunakan Firebase ML-KIT On-device translation

Source Dery Sudrajat

Hello ges apa kabar kalian semua, semoga sehat semua ya wwkwkw. Huuftt sekian lama aku tidak muncul untuk menulis lagi, karena kesibukan dan lain-lain menghambat aku menulis, tapi kali ini aku bakal sering nulis, karena udah mulai gabut nih, kuliah udah hampir semester akhir wkwkw, udah jadi mahasiswa tua ceritanya, udah lah yaw temu kangennya.

kita hari ini mau bahas tentang ML-KIT nih, wahh ML apa tuh, Mobile Legend? wkwk bukan weh, ML itu Machine Learning. waduh berat baget ya pembahasannya tentang Machine Learning, pasti pusing nih, wkwkw tidak-tidak karena kita menggunakan sebuah platform as a service seperti Firebase semunya bakal mudah, tapi tidak semudah mendapatkan perhatian dari dia ya wkwkwk.

Kembali ke topik, jadi disini MK-KIT adalah sebuah tool baru dari Firebase nih, ML-KIT memiliki beberapa fitur yang bisa kita gunakan, dalam postingan kali ini hanya akan membahas tengan On-device translation. apa itu?

“Anda dapat menggunakan ML Kit untuk menerjemahkan teks antarbahasa. Saat ini, ML Kit mendukung terjemahan antara 59 bahasa.” — Dikutip dari laman resmi Firebase

Keren banget kan, jadi kita bakal bikin aplikasi ala-ala Google Translate gitu, keren kan, mantapp kan wkwkw. oke deh langsung aja yuk kita bikin Project baru di Android Studio kita.

Kita bakal kasih nama project kita ml-kit-translation, ya ini optional sih, bisa kalian sesuaikan sendiri, tapi yang paling penting adalah kita menggunakan bahasa Kotlin ya, terus Minimum Api level aku biasanya pake api 21 soalnya banyak library yang ga support api di bawah 21 jadi aku minimum tak set 21, ini juga bisa kalian sesuaikan dengan selera kalian.

setelah itu atur layout dari activity_main.xml jadi seperti ini

disini ada 2 TetxView dan 1 Button di row paling atas yaitu TextView untuk bahasa asal atau Source Language (SL) dan satu lagi untuk Target Language (TL) serta button Swap untuk menukar SL dan TL.

setelah itu ada EditText untuk text yang ingin di terjemahkan. dibawahnya ada Button Translate untuk menerjemahkan Text yang berasal dari EditText sesuai dengan SL ke TL.

terakhir ada TextView untuk menampung hasil terjemahakan dari SL ke TL.

kodenya untuk activity_main.xml seperti di bawah ini yak.

Setelah buat xmlnya kita harus nambahin Library Firebase On-Device Translationnya di build.gradle.

setelah menambahkan library jangan lupa untuk Sync Now ya, baru deh kita bisa ngoding di Kotlinnya,

“inget ya di coding jangan di copy terus paste“

supaya pengalaman ngodingnya bertambah oke.

Langkah pertama itu kita bikin action dari masing-masing button nih, btnSwap dan btnTranslate kita bikin method setOnClickListener kosong dulu aja nanti kita tambahin isinya, lanjut cuy.

ini file lengkap dari MainActivity.kt nya

jadi nanti kita bikin method initLanguage buat ketika btnTranslate di klik.

habis itu kita juga bikin aksi untuk btnSwap ketika di klik, mudah tinggal di cek aja text dari SLnya apa, jika SLnya Indonesia berarti SL diganti ke Inggris, terus TL ke Indonesia dan sebaliknya.

Dalam method initLanguage kita punya 3 parameter yaitu idSL, idTL, dan text.

idSL itu id dari Source Language yang dimana nilainya di ambil dari variable FirebaseTranslatorLanguage begitupun idTL, nah untuk text itu dapet dari EditText yang kita inputin nanti textnya kita ambil dan kita translate.

Proses yang pertama itu bikin option dimana option ini adalah FirebaseTranslatorOptions disini kita nge set SL dan TL sesuai dengan variable idSL dan idTL. Selanjutnya kita bikin variable textTranslator yaitu variable untuk model dari Translator kita.

Setelah itu kita download Model dari textTranslator sesuai dengan SL dan TL, disini kita cukup mendownload 1 kali, jika sudah mendownload maka tidak akan di eksekusi lagi kodenya makanya disitu tertulis textTranslator.downloadModelIfNeed(), artinya kalau butuh doang di download tapi kalau engga butuh ya engga di download, hemat kuota :D.

Habis itu kita translate text menggunakan method textTranslator.translate(text.toString) nah disini adalah proses untuk menerjemahkan text dari SL ke TL, terus dapet text hasil terjemahannya dimana? nah disini ada method .addOnSuccessListerner disini ada var it : String yang dimana variable inilah hasil dari translate text sebelumnya. simple banget kan.

Ini adalah hasil dari ngoding kita hari ini ges…, aplikasi ini masih bisa di kembangkan lagi sesuai dengan kebutuhan, dalam tulisan kali ini hanyalah sample.

Kalau kamu butuh referensi tambahan bisa ke laman resmi Firebase ML-KIT On-Device Translation

untuk project bisa kalian download, clone, atau fork di githubku jangan lupa di follow dan bintang kalau suka.

oke mungkin cukup sekian postingan kali ini, tunggu postingan yang lainnya ya, salam #UbahDenganKode