Dalam sebuah aplikasi berbasis web, kita harus bisa menentukan Regional Settings atau pengaturan yang terkait dengan lokal/daerah di mana aplikasi tersebut dijalankan. Hal ini berguna untuk menentukan style atau format tampilan data yang merupakan nilai numerik, seperti angka atau nominal besar uang. Pengaturan-pengaturan ini bisa berupa tanda pemisah ribuan, tanda pemisah desimal, simbol mata uang, tanda untuk nilai positif, tanda untuk nilai negatif, dan lain sebagainya. Ada dua kemungkinan yang bisa diterapkan. Pertama, bagaimana jika aplikasi web yang kita buat menerapkan pengaturan yang sama untuk semua bahasa, atau yang Kedua, bagaimana jika aplikasi web tersebut menggunakan pengaturan yang berbeda untuk setiap bahasa.
Tools PHP Code Generator PHPMaker sudah mengantisipasi mengenai hal ini. PHPMaker menggunakan localeconv() yang mengembalikan data berdasarkan data locale yang ditentukan oleh setlocale(). Sistem yang berbeda memiliki skema penamaan yang berbeda untuk data locale.
Jika Anda tidak tahu teks yang tepat untuk data locale di server Anda, atau Anda ingin menimpa system locale dan menggunakan pengaturan locale Anda sendiri, cukup klik menu tab PHP, lalu di sub-tab General Options, beri tanda centang di sebelah kiri tulisan Set locale, lalu klik tombol […], dan terakhir masukkan pengaturan locale yang Anda inginkan.
Disarankan agar Anda selalu mengacu ke website PHP mengenai fungsi localeconv() untuk informasi lebih lanjut cara mengisi nilai dari pengaturan ini.
Perlu diingat, bahwa jika Anda mengaktifkan Multi-Language, JANGAN SEKALI-SEKALI menggunakan pengaturan ini kecuali semua bahasa berbagi pengaturan locale yang sama. Setiap bahasa memiliki pengaturan locale masing-masing, dan Anda harus menentukan pengaturan locale untuk setiap bahasa dari dalam file XML Language yang terdapat di sub-folder languages dari instalasi PHPMaker.
Contoh, jika Anda membuka file english.xml, maka cukup fokus kepada blok kode berikut:
<locale> <phrase id="locale" value=""/><!-- *** system locale for this language --> <phrase id="use_system_locale" value="0"/><!-- *** change to "0" to disable system locale and use the following settings *** --> <phrase id="decimal_point" value="."/> <phrase id="thousands_sep" value=","/> <phrase id="mon_decimal_point" value="."/> <phrase id="mon_thousands_sep" value=","/> <phrase id="currency_symbol" value="$"/> <phrase id="positive_sign" value=""/> <phrase id="negative_sign" value="-"/> <phrase id="frac_digits" value="2"/> <phrase id="p_cs_precedes" value="1"/> <phrase id="p_sep_by_space" value="0"/> <phrase id="n_cs_precedes" value="1"/> <phrase id="n_sep_by_space" value="0"/> <phrase id="p_sign_posn" value="3"/> <phrase id="n_sign_posn" value="3"/> <phrase id="time_zone" value="GMT"/><!-- *** used for multi-language site only *** --> </locale>
Sedangkan contoh untuk file indonesian.xml, bisa Anda lihat seperti di bawah ini:
<locale> <phrase id="locale" value=""/><!-- *** system locale for this language --> <phrase id="use_system_locale" value="0"/><!-- *** change to "0" to disable system locale and use the following settings *** --> <phrase id="decimal_point" value=","/> <phrase id="thousands_sep" value="."/> <phrase id="mon_decimal_point" value=","/> <phrase id="mon_thousands_sep" value="."/> <phrase id="currency_symbol" value="Rp "/> <phrase id="positive_sign" value=""/> <phrase id="negative_sign" value="-"/> <phrase id="frac_digits" value="2"/> <phrase id="p_cs_precedes" value="1"/> <phrase id="p_sep_by_space" value="0"/> <phrase id="n_cs_precedes" value="1"/> <phrase id="n_sep_by_space" value="0"/> <phrase id="p_sign_posn" value="3"/> <phrase id="n_sign_posn" value="3"/> <phrase id="time_zone" value="GMT"/><!-- *** used for multi-language site only *** --> </locale>
Seperti yang dijelaskan oleh komentar pada frase use_system_locale di atas, Anda harus mengeset nilainya menjadi nol (0) untuk menonaktifkan system locale dan menggunakan pengaturan yang berada di baris bawahnya.
hendra mengatakan
Kalau membuat field currency rata kanan bagaimana pak ?
Masino Sinaga mengatakan
Pilih right dari pengaturan Align di bawah DIV Tag Attributes, dan pilih Currency dari bagian Format di panel View Tag dalam tab Fields.
hendra mengatakan
Wah sakti ya, saya pikir perlu coding.
Trm kasih, solved pak
Masino Sinaga mengatakan
Hehe, sama-sama. 🙂
hendra mengatakan
Kalau untuk view data dan list data supaya bisa penuh satu layar, seperti di demo Stock Inventor Management bapak, bagaimana pak ?
Ataukan harus pakai extension bapak ?
Masino Sinaga mengatakan
Betul, pakai Masino Extensions.
diaz wahyu mengatakan
mau nanya pak, ketika input tanggal pakai date/time picker, ketika saya pilih tanggal 15/12/2017 tapi kenapa hasilnya di list jadi tanggal 14/12/2017 tapi value di database tetap 15/12/2017
terima kasih sebelumnya
Masino Sinaga mengatakan
Biasanya itu terkait dengan setting Timezone-nya. Cek dari menu “Tools” -> “Locale Settings”, pilih bahasa yang digunakan di project PHPMaker Anda, lalu sesuaikan data “Time zone”.