What are best practices for setting a default language in PHP applications?

Setting a default language in PHP applications is important for providing a consistent user experience. One common approach is to use the Accept-Language header sent by the browser to determine the user's preferred language. If the header is not set or the preferred language is not supported, a default language can be used instead.

// Get the Accept-Language header from the browser
$acceptLanguage = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

// Parse the header to extract the preferred language
$preferredLanguage = substr($acceptLanguage, 0, 2);

// Define an array of supported languages
$supportedLanguages = ['en', 'fr', 'es'];

// Set the default language if the preferred language is not supported
if (!in_array($preferredLanguage, $supportedLanguages)) {
    $preferredLanguage = 'en';
}

// Use the preferred language in your application
echo "Preferred language: " . $preferredLanguage;