Aplikasi Global Sederhana
Sambil mengunggu yang lagi persiapan ujian, saya coba menuliskan apa yang sudah pernah dibahas dalam salah satu course .net framework, yaitu penggunaan namespace yang cukup menarik, yaitu System.Globalization.
Istilah globalization dalam .net framework pada dasarnya adalah suatu proses untuk membuat aplikasi yang dapat beradaptasi dengan kultur (culture). Hasil akhirnya adalah, aplikasi yang dibuat dapat menerapkan sistem angka, sistem tanggal, mata uang dan hal-hal yang berkaitan dengan suatu kultur setempat. Akan lebih baik lagi jika interface aplikasi nya pun dapat menyesuaikan. Dalam .net framework, globalization terdiri dari dua bagian:
- Internationalization: Proses membuat aplikasi yang dapat digunakan tanpa ada halangan bahasa atau kultur. Salah satu metoda yang bisa digunakan adalah dengan memberdayakan resource file untuk menyimpan bahasa dan kultur dan tentu saja penggunaan classes yang ada di dalam Globalization namespace. Dengan proses ini, developer dapat membuat aplikasi global tanpa perlu melakukan ekstra coding pada business logic, bahkan mungkin tidak mengutak-atik business logic sama sekali.
- Localization: Proses menterjemahkan atau menjadikan suatu aplikasi untuk kultur yang spesifik, tentu saja dengan berdasarkan resource file yang sudah dibuat tadi.
Berikut ini adalah salah satu contoh penerapan sederhana dari konsep ini. Dalam contoh ini akan dibuat satu formulir yang interface-nya dapat menyesuaikan diri dengan bahasa dan sistem penanggalan dari pilihan yang ada dalam dropdown box. Aplikasi ini dibuat dengan tool Visual Studio 2008, VB.NET, dan tidak menyertakan business logic-nya.
Pertama dibuat dulu satu project, dengan template VB, WindowsForm. Ganti nama file form-nya (Form1.vb) dengan nama MyGlobalForm.vb.
Tempatkan semua control yang diperlukan (edit properti-nya – terutama label dan menu), StatusToolStrip (berikut statusLabel-nya), dan MenuStrip seperti berikut ini. Khusus untuk control ComboBox , nantinya akan di isi dengan pilihan bahasa: Default-English, French, Indonesian, Chinese, Spanish.
Ganti property Localizable dari form menjadi True, dan cek Language property dari form berada pada posisi (Default).
Langkah berikutnya, bisa membuat code atau membuat resource file. Untuk contoh ini, yang dibuat terlebih dahulu adalah resource file-nya. Resource file bisa dibuat sendiri, atau digenerate dari VS. Dalam contoh ini, kita akan buat resource file dari VS.
- Klik pada Form, kemudian perhatikan property Language. Ganti Language dengan French-France.
- Ubah semua properti teks dari control - terutama label dan menu – sesuai dengan Bahasa Perancis. Rekan-rekan bisa memberdayakan http:\\translate.google.com.
- Kembalikan property Language ke (Default).
- Save dan Build.
- Lakukan langkah nomor 1 hingga 4 untuk bahasa yang lain (Indonesian, Chinese, Spanish)
Perhatikan pada Solution Explorer sekarang sudah terlihat beberapa resource file.
Langkah berikutnya adalah membuat code.
Pada saat Onload Form, kita perlu mengisi ComboBox , memilih English sebagai bahasa default, dan menuliskan tanggalan pada status label.
Pada saat mengganti pilihan bahasa (event ComboBox index changed) aplikasi akan memanggil method gantiBahasa dengan parameter input sebuah String yang berasal dari pilihan bahasa pada ComboBox . Methiod ini akan mengganti teks property dari control dan menu sesuai dengan pilihan bahasa, dan menyesuaikan sistem penulisan penanggalan pada status bar.
Build and Run!
Sekarang rekan dapat memilih bahasa yang ingin ditampilkan pada formulir dan melihat efeknya. Rekans dapat melanjutkan membuat business logic untuk form ini, misalnya menyimpan entry ke dalam database dalam posisi property Language (Default) dan business logic itu akan secara otomatis berfungsi pada mode bahasa yang lain.
Mekanisme lain yang dapat diterapkan dalam aplikasi seperti ini adalah, mendeteksi kultur yang ada di pc user sehingga pada saat dijalankan, aplikasi akan langsung menampilkan interface dan bekerja dalam kultur yang bersangkutan.
Semoga bermanfaat.
Written with Windows Live Writer
Bambang F. Indarto, S.T.
MCT, MCTS, MCPD, MCAS, CEI, CCNA