Cara Membuat Aplikasi Multi-Bahasa Dengan Python for S60 - DHOCNET Blog

Cara Membuat Aplikasi Multi-Bahasa Dengan Python for S60

Cara Membuat Aplikasi Multi-Bahasa Dengan Python for S60

Semakin lama semakin banyak aplikasi-aplikasi yang ditulis dengan bahasa pemrograman Python For S60 (PyS60). Dan, semakin banyak juga yang sudah memulai development kecil-kecilan. Entah itu untuk di bagikan agar dapat digunakan bersama ataupun hanya untuk penggunaan pribadi.

Nah, pada tulisan kali ini, aku akan membagikan sedikit trik yang sangat mudah untuk di-implementasikan. Trik yang menyinggung tentang penggunaan bahasa dan dukungan bahasa yang lebih dari satu pada program yang kita tulis.

DHOCNETADS

Sebelumnya, kita juga udah pada tau, kalo Python itu sangat fleksibel dalam penanganan variabel. Dan mudah,.. hehe :D

Gambaran sederhananya seperti ini:
 

namaVariabel_1 = "Isi variabel 1"
namaVariabel_2 = ["isi variabel 2"]

Dan lainya,...

Disini kita akan memanfaatkan variabel yang mudah itu untuk menambahkan beberapa pilihan bahasa pada program.

Langkah awal yang harus dilakukan adalah menentukan nama dan membuat "file bahasa" (sori, lagi buntu. Jadi gak nemu istilah yang lebih keren,.. :P). File bahasa adalah file yang berisi nama variabel dan isi variabel. Isi dari file ini sangat sederhana karena sudah ditulis pada contoh diatas. Heheheh,.... :D

Oke. Contoh lagi ya,.. misalnya isinya kita buat seperti ini:

# nama file: inggris.lang
# daftar bahasa inggris yang
# digunakan dalam program

LangMenuExit = "Quit"
LangMenuSettings = "Settings"
LangMenuHelp = "Help"
LangMenuAbout = "About"
LangPopHello = "Hello, how are you ?"

Dan untuk bahasa Indonesia-nya:

# nama file: indonesia.lang
# daftar bahasa indonesia yang
# digunakan dalam program

LangMenuExit = "Keluar"
LangMenuSettings = "Pengaturan"
LangMenuHelp = "Bantuan"
LangMenuAbout = "Tentang"
LangPopHello = "Halo, apa kabar ?"


Kita buat dua file diatas dan simpan dengan nama inggris.lang untuk bahasa inggris dan indonesia.lang untuk bahasa Indonesia.

DHOCNETADS

File bahasa sudah dibuat. Sekarang tentukan lokasi file bahasa ini akan disimpan. Misal, nama aplikasi yang kita buat adalah TestApp dan lokasinya ada di E:\System\Apps\TestApp, kita bisa membuatkan direktori sendiri untuk menyimpan file bahasanya. Misal di E:\System\Apps\TestApp\Lang.

Dan untuk script utamanya, kita buat contoh sederhana seperti ini:

#
# nama file: TestApp.py

# program utama
#
# pada trik kali ini, fungsi yang digunakan untuk
# meng-eksekusi berkas bahasa (merubah bahasa) adalah execfile
#

import appuifw, e32

bodi = e32.Ao_lock()

def Keluar():
    bodi.signal()

# fungsi untuk mengeksekusi bahasa inggris
def inggris():
    execfile("E:\\System\\Apps\\TestApp\\lang\\inggris.lang",globals())
    appbodi()

# fungsi untuk mengeksekusi bahasa Indonesia
def indonesia():
    execfile("E:\\System\\Apps\\TestApp\\lang\\indonesia.lang",globals())
    appbodi()

# menampilkan popup halo
def halo():
    appuifw.query(u"%s"%LangPopHello,"query")
    appbodi()

# konfigurasi pertamakali saat program dijalankan.
# biasanya digunakan saat program tidak menemukan
# file konfigurasi untuk bahasa
def applang():
    execfile("E:\\System\\Apps\\TestApp\\lang\\indonesia.lang",globals())
    appbodi()

def appbodi():
    MenuAplikasi =[(u"Test",halo),
                   (u"%s"%LangMenuSettings,
                   ((u"Indonesia",indonesia),
                    (u"Inggris",inggris))),
                   (u"%s"%LangMenuExit,Keluar)]
    appuifw.app.menu = MenuAplikasi
    appuifw.app.exit_key_handler = Keluar
    BodiAplikasi.add(u"Pilih bahasa")

appuifw.app.title = u"Test App"
BodiAplikasi = appuifw.Text()
appuifw.app.body = BodiAplikasi

applang()

bodi.wait()


DHOCNETADS

Trik ini sebenarnya hanya menggunakan fungsi execfile() pada Python untuk meng-update isi variabel  yang ada. Perhatikan pada file-file bahasa yang dibuat. Semuanya menggunakan nama variabel yang sama dan semuanya adalah variabel global yang dapat diakses dari mana saja.

Gimana ? Sederhana banget kan ? Hasilnya terlihat seperti gambar dibawah ini,...







::Semoga bermanfaat,... :D

DHOCNETADS
Please write your comments