Are there best practices for handling language preferences on a website with multiple language options using PHP?

When handling language preferences on a website with multiple language options using PHP, it is best practice to store the user's language preference in a session variable. This allows the website to remember the user's selected language across different pages. Additionally, you can use PHP to dynamically load the appropriate language files based on the user's preference.

// Start or resume a session
session_start();

// Set the user's language preference
if(isset($_GET['lang'])) {
    $_SESSION['lang'] = $_GET['lang'];
}

// Include the language file based on the user's preference
if(isset($_SESSION['lang'])) {
    include 'languages/' . $_SESSION['lang'] . '.php';
} else {
    include 'languages/english.php'; // Default language
}