public static function find_uri() { parent::find_uri(); if (preg_match('~^[a-z]{2}(?=/|$)~i', Router::$current_uri, $matches) and isset($matches[0])) { $lang = strtolower($matches[0]); if (array_key_exists($lang, Kohana::config('locale.languages'))) { Router::$language = $lang; Router::$current_uri = substr(Router::$current_uri, 3); } } }
private static function _extract_language() { $default_language = Config::get('DEFAULT_LANGUAGE'); $available_languages = explode(',', Config::get('AVAILABLE_LANGUAGES')); $tentative_language = self::$parts[0]; if ($tentative_language != $default_language && in_array($tentative_language, $available_languages)) { array_shift(self::$parts); self::$language = $tentative_language; } else { self::$language = $default_language; } }
public static function set_language($language) { self::$language = $language; if ($language == 'en') { setlocale(LC_ALL, 'en_US'); } else { if ($language == 'nl') { setlocale(LC_ALL, 'nl_BE'); } else { if ($language == 'fr') { setlocale(LC_ALL, 'fr_FR'); } else { if ($language == 'de') { setlocale(LC_ALL, 'de_DE'); } } } } date_default_timezone_set("Europe/Brussels"); }
public static function parse($uri) { self::$action = Config::get('default_action'); self::$controller = Config::get('default_controller'); self::$language = Config::get('default_language'); self::$id = Config::get('default_id'); $uri_elements = self::url_to_array($uri); if (count($uri_elements)) { //if (strtolower(current($uri_elements) != 'admiin')) { if (in_array(strtolower(current($uri_elements)), Config::get('languages'))) { self::$language = strtolower(current($uri_elements)); array_shift($uri_elements); } //}else { // array_shift($uri_elements); //} $url = implode('/', $uri_elements); self::find_alias($url); /** if(current($uri_elements)){ self::$controller = ucfirst(strtolower(current($uri_elements))); array_shift($uri_elements); } if(current($uri_elements)){ self::$action = strtolower(current($uri_elements)); array_shift($uri_elements); } if(current($uri_elements)){ self::$params = $uri_elements; } **/ } }