data = array(); // Default language en_US $filename = PATH_LANGUAGES.'en_US.json'; if(file_exists($filename)) { parent::__construct($filename, false); $this->en_US = $this->db; } // User language $filename = PATH_LANGUAGES.$language.'.json'; if(file_exists($filename)) { parent::__construct($filename, false); $this->data = $this->db['language-data']; } unset($this->db['language-data']); } public function getLanguageList() { $files = glob(PATH_LANGUAGES.'*.json'); $tmp = array(); foreach($files as $file) { $t = new dbJSON($file, false); $native = $t->db['language-data']['native']; $locale = basename($file, '.json'); $tmp[$locale] = $native; } return $tmp; } // Return the translation, if the translation does'n exist then return the English translation. public function get($string) { $key = Text::lowercase($string); $key = Text::replace(' ', '-', $key); if(isset($this->db[$key])) return $this->db[$key]; // If the key is not translated then return the English translation. return $this->en_US[$key]; } public function g($string) { return $this->get($string); } // Print the translation. public function p($string) { echo $this->get($string); } public function add($array) { $this->db += $array; } }