Alasan singkatnya, untuk menghindari isu saat perhitungan data numerik on-the-fly pada kode Javascript. Alasan panjangnya, karena tidak semua Locale negara menggunakan karakter koma (,) sebagai standar pemisah ribuan, dan tidak semua Locale negara menggunakan karakter titik (.) sebagai standar pemisah desimal.
Mari kita ambil contoh Locale Indonesia. Seperti kita ketahui, standar pemisah angka ribuan adalah karakter titik (.), dan standar pemisah angka desimal adalah karakter koma (,). Tentu saja ini bertolak belakang dengan setting pada Locale English American yang kodenya dikenal sebagai en-US.
Entah kebetulan atau tidak, tapi setting en-US itu pula yang digunakan supaya perhitungan on-the-fly di Javascript berfungsi sebagaimana mestinya. Jangan pernah lupa ini!
Karena alasan utama itulah mengapa sebaiknya pilihan AlwaysUseEnglishUsLocale selalu diaktifkan dari Extension MasinoHeaderFooter18. Apalagi jika Aplikasi Web yang Anda hasilkan dengan Masino Extensions untuk PHPMaker 2022.
Hal ini berdasarkan pengalaman saya sendiri ketika membuat 2 Extension terkait berikut:
– MasinoAutoNumeric18
– MasinoInputMask18
Jika karakter titik digunakan sebagai pemisah ribuan, dan karakter koma untuk pemisah desimal, maka hasil perhitungan akan kacau balau.
Belajar dari pengalaman itu, untuk saat ini kita ambil kesimpulan bahwa sangat disarankan untuk mengaktifkan pilihan AlwaysUseEnglishUsLocale, atau selalu menggunakan locale en-US.
Jika Anda mengaktifkan opsi tersebut, maka pastikan Anda harus menyertakan English .xml language bawaan PHPMaker 2022 dari menu Tools -> Languages, supaya dapat menggunakan setting dari file locale yang terkait dengan bahasa tersebut.
Itu adalah cara paling simpel dan cepat.
Sebenarnya ada cara lainnya, meskipun sedikit agak lebih ribet. Kita bisa mengubah karakter pemisah ribuan dan desimal tadi dari menu Tools -> Locale Settings, lalu ketikkan di bagian Search kode Locale id-ID, kemudian samakan setting yang ada dengan setting Locale untuk kode en-US.
Meskipun cara alternatif yang sedikit agak ribet ini belum diuji keabsahannya, tetap saya sarankan untuk selalu mengaktifkan pilihan AlwaysUseEnglishUsLocale di atas tadi.
Jangan lupa, sekali lagi, pastikan Anda menyertakan file bahasa english .xml dari menu Tools -> Languages, supaya PHPMaker 2022 men-generate file en-US.json ke dalam sub-folder locale.
Jika seandainya Aplikasi Web Anda menggunakan bahasa Indonesia, maka pastikan Anda sudah memilih bahasa Indonesia dan English dari menu Tools -> Languages tadi. Ya, pastikan Anda memilih kedua bahasa tadi.
Kondisi ini menyebabkan language selector akan ditampilkan di Aplikasi Web yang dihasilkan oleh PHPMaker 2022, karena bahasa yang digunakan lebih dari satu.
Pertanyaan selanjutnya, bagaimana jika kita tidak ingin menampilkan language selector tadi? Jangan khawatir, karena Masino Extensions for PHPMaker 2022 sudah mengantisipasi kejadian ini.
Cukup aktifkan opsi HideLanguageSelector dari menu Tools -> Extensions -> MasinoHeaderFooter18, lalu generate ulang semua file script seperti biasa menggunakan PHPMaker 2022.
Selamat mencoba, dan kabarkan hasilnya di kolom Komentar ya. 😉
Tinggalkan Balasan