コード例 #1
0
ファイル: Translatable.php プロジェクト: racontemoi/shibuichi
 /**
  * Choose the language the site is currently on.
  * If $_GET['locale'] is set, then it will use that language, and store it in the session.
  * Otherwise it checks the session for a possible stored language, either from namespace to the site_mode
  * ('site' or 'cms'), or for a 'global' language setting. 
  * The final option is the member preference.
  * 
  * @todo Re-implement cookie and member option
  * 
  * @uses Director::get_site_mode()
  * @param $langsAvailable array A numerical array of languages which are valid choices (optional)
  * @return string Selected language (also saved in $current_locale).
  */
 static function choose_site_locale($langsAvailable = array())
 {
     $siteMode = Director::get_site_mode();
     // either 'cms' or 'site'
     if (self::$current_locale) {
         return self::$current_locale;
     }
     if (isset($_GET['locale']) && !$langsAvailable || isset($_GET['locale']) && in_array($_GET['locale'], $langsAvailable)) {
         // get from GET parameter
         self::set_current_locale($_GET['locale']);
     } else {
         self::set_current_locale(self::default_locale());
     }
     return self::$current_locale;
 }
コード例 #2
0
	/**
	 * Set the reading language, either namespaced to 'site' (website content)
	 * or 'cms' (management backend).
	 * 
	 * @param string $lang New reading language.
	 */
	static function set_reading_lang($lang) {
		$key = (Director::get_site_mode()) ? 'lang.' . Director::get_site_mode() : 'lang.global';
		Session::set($key, $lang);
		self::$reading_lang = $lang;
	}