Membuat Aplikasi Google Translate

Kali ini, saya ingin menghadirkan Google Translate menggunakan Macro VBA Excel. Jadi mari kita buat sebuah Apalikasi Terjemahan menggunakan Excel dengan menggunakan Google Translate API.

Ini adalah aplikasi sederhna yang bisa dimanfaatkan untuk menterjemahkan tanpa harus membuka Browser, tapi bisa dilakukan semua di Excel.

Step By Step Pembuatan Aplikasi ini, bisa di lihat di Tutorial Video berikut ini.

Pembuatan UserForm

Pada aplikasi ini saya menggunakan 2 Userform, Userform Pertama digunakan sebagai Userform Utama Untuk menterjemahkan dan Userform ke 2 digunakan untuk memilih Bahasa.

Userform1

Tahap pertama Buatlah Userform seperti dibawah ini

Pada Userform1 terdapat dua textbox untuk input dan hasil terjemahan dan 2 label untuk menampilkan bahasa yang dipilih

Script Pada UserForm1

Private Sub CommandButton1_Click()
UserForm2.Tag = "SR"
UserForm2.Show
End Sub

Private Sub CommandButton2_Click()
UserForm2.Tag = "TJ"
UserForm2.Show
End Sub

Private Sub CommandButton3_Click()
TextBox2.Text = terjemahkan(LblSumber.Tag, LblTujuan.Tag, TextBox1.Text)
End Sub

Private Sub LblSumber_Click()
MsgBox LblSumber.Tag
End Sub

Private Sub LblTujuan_Click()
MsgBox LblTujuan.Tag
End Sub

UserForm2

Untuk Userform2 Buat Form Kosong, Karena semua Text untuk memilih bahasa akan dibuat saat Runtime.

Brikut Script pada Userform2

Dim Colex As New Collection

Private Sub UserForm_Initialize()

Dim Lbl As MSForms.Label
Dim Lblku As ClsLabel

For i = 0 To 55

    Set Lbl = Controls.Add("Forms.Label.1")
    
    With Lbl
        .Name = "Label" & i
        .Caption = Cells(i + 2, "A").Value
        .Tag = Cells(i + 2, "B").Value
        .Top = ((i Mod 12) * 23) + 15
        .Left = ((i \ 12) * 100) + 15
        .Font.Size = 10
        .ForeColor = 13790210
        .Height = 23
        .Width = 99
    End With
    
    Set Lblku = New ClsLabel
    Set Lblku.Labelku = Lbl
    
    Colex.Add Lblku
Next

End Sub

Module

Function untuk menterjemahkan Text menggunakan Google Translate API

Function terjemahkan(Sr As String, tj As String, qr As String)
Dim URL As String, Sumber As String
Dim Tujuan As String, Kata As String
Dim Htp As Object, JSON As Object

Set Htp = CreateObject("Winhttp.winhttprequest.5.1")

URL = "https://translate.googleapis.com/translate_a/single?client=gtx"
Sumber = "&sl=" & Sr
Tujuan = "&tl=" & tj
Kata = "&dt=t&q=" & qr

URL = URL & Sumber & Tujuan & Kata

Htp.Open "GET", URL, False
Htp.send

Set JSON = JsonConverter.ParseJson(Htp.ResponseText)
terjemahkan = JSON(1)(1)(1)
End Function

Untuk membaca hasil respon google Translate, disini saya menggunakan JSON Converte.

JSON conveter bisa kamu dapatkan disini : VBA-tools/VBA-JSON: JSON conversion and parsing for VBA (github.com)

Class Module

Script pada Class Module

Public WithEvents Labelku As MSForms.Label

Private Sub Labelku_Click()
Dim Lbl As MSForms.Label

If UserForm2.Tag = "SR" Then
    Set Lbl = UserForm1.LblSumber
Else
    Set Lbl = UserForm1.LblTujuan
End If

 Lbl.Caption = Labelku.Caption
 Lbl.Tag = Labelku.Tag
 Unload UserForm2
End Sub

Google Translate Languages

Ini adalah daftar bahasa dan Kode Bahasa ISO yang saat ini didukung oleh Google Translate. Ketika mengirim permintaan terjemahan ke API Google Translate.

Language NameLanguage Code
Afrikaansaf
Irishga
Albaniansq
Italianit
Arabicar
Japaneseja
Azerbaijaniaz
Kannadakn
Basqueeu
Koreanko
Bengalibn
Latinla
Belarusianbe
Latvianlv
Bulgarianbg
Lithuanianlt
Catalanca
Macedonianmk
Chinese Simplifiedzh-CN
Malayms
Chinese Traditionalzh-TW
Maltesemt
Croatianhr
Norwegianno
Czechcs
Persianfa
Danishda
Polishpl
Dutchnl
Portuguesept
Englishen
Romanianro
Esperantoeo
Russianru
Estonianet
Serbiansr
Filipinotl
Slovaksk
Finnishfi
Sloveniansl
Frenchfr
Spanishes
Galiciangl
Swahilisw
Georgianka
Swedishsv
Germande
Tamilta
Greekel
Telugute
Gujaratigu
Thaith
Haitian Creoleht
Turkishtr
Hebrewiw
Ukrainianuk
Hindihi
Urduur
Hungarianhu
Vietnamesevi
Icelandicis
Welshcy
Indonesianid
Yiddishyi

Download File :

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat WhatsApp
WhatsApp