public function register($user_name, $password, $first_name, $last_name)
 {
     if (!is_null(UserModel::findFirst(array('user_name' => $user_name)))) {
         return UserHandler::ERROR_EXISTS;
     }
     $user = UserModel::create(array('user_name' => $user_name, 'password' => Utilities::hash($password, static::$salt), 'first_name' => $first_name, 'last_name' => $last_name, 'lang' => I18N::lang()));
     $this->_login($user);
     return $user;
 }
 public static function instance($lang = null)
 {
     if ($lang == null || !static::validLang($lang)) {
         $lang = I18N::lang();
     }
     if (static::$instance != null) {
         return static::$instance;
     }
     return static::$instance = new I18n($lang);
 }