How can a class be implemented in PHP to handle language translation based on user preferences?
To handle language translation based on user preferences in PHP, you can create a Translation class that loads language files based on the user's preferred language. The class should have methods to set the user's language preference and retrieve translated strings based on keys.
class Translation {
private $language;
public function __construct($defaultLanguage) {
$this->language = $defaultLanguage;
}
public function setLanguage($language) {
$this->language = $language;
}
public function translate($key) {
$translations = include 'lang/' . $this->language . '.php';
return isset($translations[$key]) ? $translations[$key] : $key;
}
}
// Example usage
$translator = new Translation('en');
$translator->setLanguage('fr');
echo $translator->translate('hello'); // Bonjour