What are the differences between an automatic and manual language switcher in PHP?

When implementing a language switcher in PHP, there are two main approaches: automatic and manual. An automatic language switcher detects the user's preferred language based on browser settings or other factors, while a manual language switcher allows the user to manually select their preferred language. To implement an automatic language switcher, you can use the $_SERVER['HTTP_ACCEPT_LANGUAGE'] variable to determine the user's preferred language and set the appropriate language for your website. Here is a simple example of an automatic language switcher in PHP:

// Get the user's preferred language from the browser settings
$preferredLanguage = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

// Set the available languages for your website
$availableLanguages = ['en', 'es', 'fr'];

// Check if the preferred language is available, otherwise default to English
if (in_array($preferredLanguage, $availableLanguages)) {
    $selectedLanguage = $preferredLanguage;
} else {
    $selectedLanguage = 'en';
}

// Set the language for the website
// You can include language files or set a session variable here
echo "Selected language: " . $selectedLanguage;