Exemplo n.º 1
0
 /**
  * getter for actual site language
  *
  * @param	string	$lang	language shortcut
  * @return	Language
  */
 public static function getLanguage($lang = NULL)
 {
     $languageRepository = new LanguageRepository(TRUE);
     $language = NULL;
     // ak nemame zadany lang
     if ($lang === NULL) {
         // zistime ci je prihlaseny user a ci ma nastaveny nejaky jazyk
         $loggedUser = LoggedUser::whoIsLogged();
         if ($loggedUser) {
             $lang = $loggedUser['language'];
             if ($lang) {
                 $language = $languageRepository->getOneById($lang);
             }
         }
         // TODO nejaka lokalizacia podla goeip
         // ak stale nemame jazyk, pozrieme sa do url
         if (!$language) {
             $lang = Utils::get('language');
             if ($lang) {
                 $language = $languageRepository->getOneByShortcut($lang);
             } else {
                 // ak nemame zadane nic, vratime anglictinu
                 $language = $languageRepository->getOneByShortcut('sk');
             }
         }
         if (!$language) {
             throw new Exception('Language "' . $lang . '" doesn\'t exist.');
         }
     } else {
         $language = $languageRepository->getOneByShortcut($lang);
     }
     return $language;
 }
Exemplo n.º 2
0
 /**
  * Filters the locale and returns the user admin language of the current user, if set.
  *
  * @since   3.0.0
  * @wp-hook locale
  *
  * @param string $locale The current locale.
  *
  * @return string The (filtered) locale.
  */
 public function filter_locale($locale)
 {
     $user_language = $this->language_repository->get_user_language();
     return $user_language ?: (string) $locale;
 }