What are some best practices for using Smarty Templateengine in PHP to handle multiple languages on a website?

When using Smarty Template engine in PHP to handle multiple languages on a website, it's best practice to store language strings in separate language files and then load the appropriate language file based on the user's language preference. This allows for easy maintenance and updating of language strings without having to modify the actual template files.

// Load the appropriate language file based on user's language preference
$language = 'english'; // Default language
if(isset($_SESSION['language'])) {
    $language = $_SESSION['language'];
}

// Include the language file
include('languages/'.$language.'.php');

// Assign language strings to Smarty template variables
$smarty->assign('welcome_message', $lang['welcome_message']);
$smarty->assign('about_us', $lang['about_us']);
$smarty->assign('contact_us', $lang['contact_us']);