PHP มีฟังก์ชันตั้งแต่ 5.3.0 เพื่อ parse ตัวแปร '$_SERVER['HTTP_ACCEPT_LANGUAGE']' เป็น locale:
ตัวอย่าง
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); echo $locale;
ฟังก์ชัน '$_SERVER['HTTP_ACCEPT_LANGUAGE']' ช่วยตรวจจับ locale โดยใช้ภาษาของ locale ปัจจุบันเป็นพารามิเตอร์
ผลลัพธ์
จะได้ผลลัพธ์ดังนี้:
en_US
เบราว์เซอร์ส่วนใหญ่ส่ง header Accept-Language HTTP ที่ระบุ en-us หากมาจาก US เบราว์เซอร์เก่าใช้ en เท่านั้น
ผู้ใช้ English-UK มักตั้งค่า locale เป็น English-UK ซึ่งเป็นค่าเริ่มต้นของเบราว์เซอร์ ทำให้ได้ en-gb เป็น Accept Language header ประเทศอื่นๆ มี en locales เช่น en-za (South Africa) เป็นต้น
การเดาจาก Geo-IP น่าจะไม่ถูกต้องสำหรับภาษา/locale ที่ต้องการ