Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách đơn giản nhất phát hiện locale client trong PHP


PHP cung cấp hàm từ 5.3.0 để parse biến $_SERVER['HTTP_ACCEPT_LANGUAGE'] thành locale:

Ví dụ

$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); 
echo $locale;

Hàm '$_SERVER['HTTP_ACCEPT_LANGUAGE']' giúp phát hiện locale bằng cách lấy ngôn ngữ locale hiện tại làm tham số.

Kết quả

en_US

Hầu hết trình duyệt gửi header Accept-Language chỉ định en-us nếu từ US. Một số trình duyệt cũ chỉ dùng en.

Người dùng English-UK thường đặt locale hệ thống/user là English-UK, cấu hình trình duyệt mặc định. Kết quả en-gb làm header Accept Language. Các quốc gia khác có en locale, như en-za (Nam Phi), v.v.

Đoán dựa trên Geo-IP ít chính xác hơn cho ngôn ngữ/locale ưu tiên.