50 lines
982 B
PHP
50 lines
982 B
PHP
<?php
|
|
|
|
class Language {
|
|
private static $obj;
|
|
public $languageCode;
|
|
protected $keys;
|
|
|
|
protected function __construct($languageCode) {
|
|
$this->languageCode = $languageCode;
|
|
}
|
|
|
|
public function get($key) {
|
|
return array_key_exists($key, $this->keys) ? $this->keys[$key] : $key;
|
|
}
|
|
|
|
public static function getPreferredLanguage() {
|
|
if(isset(self::$obj)) {
|
|
return self::$obj;
|
|
}
|
|
|
|
if (empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
|
|
$language = "en";
|
|
} else {
|
|
$language = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
|
}
|
|
|
|
$languages = array(
|
|
"en",
|
|
"nl"
|
|
);
|
|
|
|
$preferredLanguage = Locale::lookup($languages, $language, true, "en");
|
|
|
|
switch ($preferredLanguage) {
|
|
case "nl":
|
|
self::$obj = require_once("nl.php");
|
|
break;
|
|
case "en":
|
|
default:
|
|
self::$obj = require_once("en.php");
|
|
break;
|
|
}
|
|
|
|
return self::$obj;
|
|
}
|
|
|
|
}
|
|
|
|
$lang = Language::getPreferredLanguage();
|
|
?>
|