Exemplo n.º 1
0
 public static function set_locale()
 {
     self::$curr_locale = setlocale(LC_ALL, 0);
     if (ModuleManager::is_installed('Base_Lang') !== -1) {
         $lang_code = strtolower(Base_LangCommon::get_lang_code());
     } else {
         $lang_code = 'en';
     }
     setlocale(LC_ALL, $lang_code . '_' . strtoupper($lang_code) . '.utf8', $lang_code . '_' . strtoupper($lang_code) . '.UTF-8', $lang_code . '.utf8', $lang_code . '.UTF-8', isset(self::$countries[$lang_code]) ? self::$countries[$lang_code] : null);
     //win32
     setlocale(LC_NUMERIC, 'en_EN.utf8', 'en_EN.UTF-8', 'en_US.utf8', 'en_US.UTF-8', 'C', 'POSIX', 'en_EN', 'en_US', 'en', 'en.utf8', 'en.UTF-8', 'english');
     // detect turkish issues - fixed in php 5.5
     // https://bugs.php.net/bug.php?id=18556
     // http://www.i18nguy.com/unicode/turkish-i18n.html#problem
     if (version_compare(phpversion(), '5.5', '<') && strtolower('I') != 'i') {
         setlocale(LC_CTYPE, 'en_EN.utf8', 'en_EN.UTF-8', 'en_US.utf8', 'en_US.UTF-8', 'C', 'POSIX', 'en_EN', 'en_US', 'en', 'en.utf8', 'en.UTF-8', 'english');
     }
 }