setlocale
با تابع setlocale می توانیم «تنظیم محلی (Locale)» را عوض کنیم. تنظیم محلی یعنی زبان، واحد پول، تاریخ و قواعد نمایش مخصوص یک منطقه.
تعریف و کاربرد تنظیم محلی setlocale
تابع setlocale اطلاعات محلی را برای اسکریپت فعلی تنظیم می کند. بنابراین نمایش تاریخ، پول و مرتب سازی، مطابق منطقه انتخابی می شود.
سینتکس
setlocale(constant, location)
constant: تعیین می کند کدام بخش ها تنظیم شوند. location: نام زبان یا منطقه مقصد؛ می تواند آرایه هم باشد.
ثابت های قابل استفاده
- LC_ALL – همه موارد زیر
- LC_COLLATE – ترتیب مرتب سازی
- LC_CTYPE – طبقه بندی/تبدیل حروف
- LC_MESSAGES – قالب پیام های سیستمی
- LC_MONETARY – قالب واحد پول
- LC_NUMERIC – قالب اعداد
- LC_TIME – قالب تاریخ و زمان
مثال: تغییر به US و بازگشت به پیش فرض
<?php
echo setlocale(LC_ALL, "US");
echo "\n";
echo setlocale(LC_ALL, NULL);
?>
گام های عملی
- بخش موردنظر را با ثابت مناسب انتخاب کن.
- کد منطقه را در
locationبده. - خروجی را بررسی کن و در صورت نیاز بازگردان.
نکته: setlocale(LC_ALL, NULL) تنظیمات را از مقادیر پیش فرض سیستم می گیرد.
نکته: تغییر فقط روی همان اسکریپت اثر دارد، نه کل سرور.
نکته: برای دریافت اطلاعات قالب اعداد و پول، از localeconv استفاده کن.
جمع بندی سریع
- setlocale تنظیمات محلی را عوض می کند.
- LC_* مشخص می کند چه بخشی تغییر کند.
- NULL یعنی استفاده از پیش فرض سیستم.
- اثر فقط در اسکریپت جاری است.