setlocale() function PHP

setlocale() function berguna untuk mengatur format locale yang digunakan.

Setiap bahasa dan negara memiliki format tersendiri dalam menampilkan beberapa jenis data seperti angka dan mata uang. Contoh, angka ribuan berdasarkan bahasa Inggris dipisahkan oleh koma sedangkan berdasarkan bahasa Jerman dipisahkan oleh titik.

Locale adalah format untuk menampilkan data berdasarkan aturan bahasa dan negara tertentu.

Syntax

string setlocale(int $category, string $locale)

atau

string setlocale(int $category, array $locale)

Parameter

Parameter Penjelasan
category Parameter ini wajib ada. Mengatur jenis data yang akan dipengaruhi oleh setlocale() function. Terdiri dari beberapa pilihan, yaitu:

  • LC_ALL. Semua format di bawah
  • LC_COLLATE. Berpengaruh terhadap perbandingan string. Contoh, lihat strcoll() function.
  • LC_CTYPE. Berpengaruh terhadap format character seperti huruf besar dan kecil. Contoh, lihat strtoupper() function.
  • LC_MESSAGES. System peringatan. Tersedia jika PHP di-compile dengan libintl.
  • LC_MONETARY. Format mata uang. Contoh, lihat localeconv() function.
  • LC_NUMERIC. Format angka. Contoh, lihat localeconv() function.
  • LC_TIME. Format tanggal dan jam. Contoh, lihat strftime() function.
locale Parameter ini wajib ada. Mengatur format bahasa dan negara yang akan digunakan. Bisa berupa string atau array.

Jika parameter ini berisi NULL atau string kosong "" maka secara otomatis parameter ini akan berisi environment variable dari parameter category di atas atau dari environment variable "LANG".

Jika parameter ini berisi 0 maka tidak ada perubahan pada pengaturan locale. setlocale() function menghasilkan pengaturan locale yang sekarang sedang digunakan.

Jika parameter ini berupa array maka setlocale() function akan mencoba setiap elemen array sampai menemukan bahasa dan negara yang valid. Berguna apabila negara dikenal dengan nama yang berbeda pada system yang berbeda.

Catatan

setlocale() function menghasilkan pengaturan locale yang baru atau FALSE jika gagal dijalankan karena pengaturan baru tidak terdapat di dalam system (bahasa dan negara yang dikehendaki tidak terdapat di dalam system).

Format locale terdiri dari empat environment variable, yaitu:

  • LANGUAGE
  • LC_ALL
  • LC_xxx (LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES)
  • LANG

Environment variable LANG adalah pengaturan awal untuk setiap system.

Nama parameter locale terdiri dari dua bagian, yaitu bahasa (en untuk English) dan negara (GB untuk Great Britain). Contoh, en_GB.

Lihat ISO 639-2 untuk daftar bahasa dan lihat 3166-1 untuk daftar negara.

setlocale() function hanya berpengaruh terhadap script yang sedang dijalankan.

Pada OS Windows, setlocale() function memiliki bentuk syntax yang berbeda. Selain itu, nama negara yang digunakan untuk parameter locale juga memiliki nama yang berbeda. Lihat keterangannya pada web php.net.

Contoh

Code PHP 1:

<?php
echo setlocale(LC_ALL,"US");
?>

Hasil code PHP 1:

English_United States.1252

Lihat function lainnya:

  • localeconv() – Menghasilkan informasi mengenai tampilan angka dan mata uang dari format locale yang sedang digunakan.
  • nl_langinfo() – Menampilkan informasi tertentu dari format locale yang sedang digunakan.
  • money_format() – Mem-format sebuah angka dan menghasilkannya dalam format mata uang yang dikehendaki.
  • number_format() – Mem-format sebuah angka dan menghasilkannya dalam format pengelompokan ribuan.
  • strcoll() – Membandingkan dua buah string berdasarkan format locale (case sensitive).

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>