Are there best practices for implementing multilingual support in PHP websites based on user location?

When implementing multilingual support in PHP websites based on user location, a best practice is to detect the user's language preference using HTTP headers or IP geolocation, and then serve the appropriate language content accordingly. This can enhance user experience and make the website more accessible to a global audience.

// Get user's language preference from HTTP headers
$user_language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

// Map user's language preference to supported languages
$supported_languages = array('en', 'es', 'fr');
$default_language = 'en';
$selected_language = in_array($user_language, $supported_languages) ? $user_language : $default_language;

// Include language files based on user's selected language
include_once 'languages/' . $selected_language . '.php';