| [ Index ] |
PHP Cross Reference of Nuke-Evolution v2.0.5 |
[Summary view] [Print] [Text view]
1 <?php 2 3 /********************************************* 4 CPG Dragonfly™ CMS 5 ******************************************** 6 Copyright (c) 2004 - 2005 by CPG-Nuke Dev Team 7 http://dragonflycms.org 8 9 Dragonfly is released under the terms and conditions 10 of the GNU GPL version 2 or any later version 11 12 $Source: /cvs/html/includes/functions/language.php,v $ 13 $Revision: 9.14 $ 14 $Author: djmaze $ 15 $Date: 2006/01/18 03:16:15 $ 16 **********************************************/ 17 18 /*======================================================================= 19 Nuke-Evolution Basic: Enhanced PHP-Nuke Web Portal System 20 =======================================================================*/ 21 22 /*****[CHANGES]********************************************************** 23 -=[Base]=- 24 Language Selector v3.0.0 12/11/2005 25 -=[Mod]=- 26 Custom Language File v1.0.1 06/02/2005 27 ************************************************************************/ 28 29 if (!defined('NUKE_EVO')) { 30 die("You can't access this file directly..."); 31 } 32 33 global $language, $multilingual; 34 35 // This data was taken from Dragonfly CMS 36 // http://www.dragonflycms.org 37 $browserlang = array( 38 'af' => 'afrikaans', // ISO-8859-1 39 'sq' => 'albanian', // ISO-8859-1 40 'ar' => 'arabic', // 1256 41 'ar-dz' => 'arabic', // algeria 42 'ar-bh' => 'arabic', // bahrain 43 'ar-eg' => 'arabic', // egypt 44 'ar-iq' => 'arabic', // iraq 45 'ar-jo' => 'arabic', // jordan 46 'ar-kw' => 'arabic', // kuwait 47 'ar-lb' => 'arabic', // lebanon 48 'ar-ly' => 'arabic', // libya 49 'ar-ma' => 'arabic', // morocco 50 'ar-om' => 'arabic', // oman 51 'ar-qa' => 'arabic', // qatar 52 'ar-sa' => 'arabic', // Saudi Arabia 53 'ar-sy' => 'arabic', // syria 54 'ar-tn' => 'arabic', // tunisia 55 'ar-ae' => 'arabic', // U.A.E 56 'ar-ye' => 'arabic', // yemen 57 'hy' => 'armenian', 58 'ast' => 'asturian', 59 'eu' => 'basque', 60 'be' => 'belarusian', 61 'bs' => 'bosanski',//bosnian -bosanski is nuke lang name 62 'bg' => 'bulgarian', 63 'ca' => 'catalan', 64 'zh' => 'chinese', 65 'zh-cn' => 'chinese', // China 66 'zh-hk' => 'chinese', // Hong Kong 67 'zh-sg' => 'chinese', // Singapore 68 'zh-tw' => 'chinese', // Taiwan 69 'hr' => 'croatian', // 1250 70 'cs' => 'czech', 71 'da' => 'danish', // ISO-8859-1 72 'dcc' => 'desi', // Deccan, India 73 'nl' => 'dutch', // ISO-8859-1 74 'nl-be' => 'dutch', // Belgium 75 'en' => 'english', 76 'en-au' => 'english', // Australia 77 'en-bz' => 'english', // Belize 78 'en-ca' => 'english', // Canada 79 'en-ie' => 'english', // Ireland 80 'en-jm' => 'english', // Jamaica 81 'en-nz' => 'english', // New Zealand 82 'en-ph' => 'english', // Philippines 83 'en-za' => 'english', // South Africa 84 'en-tt' => 'english', // Trinidad 85 'en-gb' => 'english', // United Kingdom 86 'en-us' => 'english', // United States 87 'en-zw' => 'english', // Zimbabwe 88 'eo' => 'esperanto', 89 'et' => 'estonian', 90 'eu' => 'euraska', // ISO-8859-1 91 'fo' => 'faeroese', 92 'fi' => 'finnish', // ISO-8859-1 93 'fr' => 'french', // ISO-8859-1 94 'fr-be' => 'french', // Belgium 95 'fr-ca' => 'french', // Canada 96 'fr-fr' => 'french', // France 97 'fr-lu' => 'french', // Luxembourg 98 'fr-mc' => 'french', // Monaco 99 'fr-ch' => 'french', // Switzerland 100 'gl' => 'galego', //galician- galego is nuke lang name // ISO-8859-1 101 'ka' => 'georgian', 102 'de' => 'german', // ISO-8859-1 103 'de-at' => 'german', // Austria 104 'de-de' => 'german', // Germany 105 'de-li' => 'german', // Liechtenstein 106 'de-lu' => 'german', // Luxembourg 107 'de-ch' => 'german', // Switzerland 108 'el' => 'greek', // ISO-8859-7 109 'he' => 'hebrew', 110 'hu' => 'hungarian', // ISO-8859-2 111 'is' => 'icelandic', // ISO-8859-1 112 'id' => 'indonesian', // ISO-8859-1 113 'ga' => 'irish', 114 'it' => 'italian', // ISO-8859-1 115 'it-ch' => 'italian', // Switzerland 116 'ja' => 'japanese', 117 'ko' => 'korean', 118 'ko-kp' => 'korean', // North Korea 119 'ko-kr' => 'korean', // South Korea 120 'ku' => 'kurdish', // 1254 121 'lv' => 'latvian', 122 'lt' => 'lithuanian', // 1257 123 'mk' => 'macedonian', // 1251 124 'ms' => 'malayu', 125 'no' => 'norwegian', // ISO-8859-1 126 'nb' => 'norwegian', // bokmal 127 'nn' => 'norwegian', // nynorsk 128 'pl' => 'polish', // ISO-8859-2 129 'pt' => 'portuguese', // 28591, Latin-I, iso-8859-1 130 'pt-br' => 'brazilian', // Brazil 131 'ro' => 'romanian', // 28592, Central Europe, iso-8859-2 132 'ru' => 'russian', // 1251 ANSI 133 'gd' => 'scots gealic', 134 'sr' => 'serbian', 135 'sk' => 'slovak', // 1250 ANSI 136 'sl' => 'slovenian', // 28592, Central Europe, iso-8859-2 137 'es' => 'spanish', // 28591, Latin-I, iso-8859-1 138 'es-ar' => 'spanish', // Argentina 139 'es-bo' => 'spanish', // Bolivia 140 'es-cl' => 'spanish', // Chile 141 'es-co' => 'spanish', // Colombia 142 'es-cr' => 'spanish', // Costa Rica 143 'es-do' => 'spanish', // Dominican Republic 144 'es-ec' => 'spanish', // Ecuador 145 'es-sv' => 'spanish', // El Salvador 146 'es-gt' => 'spanish', // Guatemala 147 'es-hn' => 'spanish', // Honduras 148 'es-mx' => 'spanish', // Mexico 149 'es-ni' => 'spanish', // Nicaragua 150 'es-pa' => 'spanish', // Panama 151 'es-py' => 'spanish', // Paraguay 152 'es-pe' => 'spanish', // Peru 153 'es-pr' => 'spanish', // Puerto Rico 154 'es-es' => 'castellano', // Spain 155 'es-uy' => 'spanish', // Uruguay 156 'es-ve' => 'spanish', // Venezuela 157 'sv' => 'swedish', 158 'sv-fi' => 'swedish', // Finland 159 'sw' => 'swahili', // Kenya and Tanzania 160 'th' => 'thai', // 874 161 'tr' => 'turkish', // 1254 162 'ug' => 'uighur', // ISO-8859-1, 28591 Turkish, Uzbek, China 163 'uk' => 'ukrainian', 164 'vi' => 'vietnamese', 165 'cy' => 'welsh', 166 'xh' => 'xhosa', 167 'yi' => 'yiddish', 168 'zu' => 'zulu' 169 ); 170 171 //To resolve getting the random capital letters ie (English) 172 $language = strtolower($language); 173 $multilingual = intval($multilingual); 174 $currentlang = $language; 175 176 if ($multilingual) { 177 if (isset($_GET['newlang']) && is_lang($_GET['newlang'])) { 178 $currentlang = $_GET['newlang']; 179 } else if (isset($_POST['newlang']) && is_lang($_POST['newlang'])) { 180 $currentlang = $_POST['newlang']; 181 } elseif (isset($_COOKIE['lang']) && is_lang($_COOKIE['lang'])) { 182 $currentlang = $_COOKIE['lang']; 183 } else { 184 $currentlang = detect_lang($browserlang); 185 } 186 if (!is_lang($currentlang)) { 187 $currentlang = $language; 188 } 189 setcookie('lang', $currentlang, time()+31536000); 190 } 191 192 //Fallback 193 if (empty($currentlang)) { 194 $currentlang = 'english'; 195 } 196 197 define('_LANGCODE', array_search($currentlang, $browserlang)); 198 unset($browserlang); 199 200 include_lang($currentlang); 201 202 function is_lang($language) { 203 $maincheck = file_exists(NUKE_LANGUAGE_DIR.'lang-'.$language.'.php'); 204 $admncheck = file_exists(NUKE_ADMIN_DIR.'language/lang-'.$language.'.php'); 205 if($maincheck && $admncheck) { 206 return true; 207 } 208 return false; 209 } 210 211 function include_lang($language) { 212 include_once(NUKE_LANGUAGE_DIR.'lang-'.$language.'.php'); 213 include_once(NUKE_LANGUAGE_DIR.'custom/lang-'.$language.'.php'); 214 if(defined('ADMIN_FILE')) { 215 include_once(NUKE_ADMIN_DIR.'language/lang-'.$language.'.php'); 216 include_once(NUKE_ADMIN_DIR.'language/custom/lang-'.$language.'.php'); 217 } 218 } 219 220 function detect_lang($browserlang) { 221 $http_accept_language = (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : getenv('HTTP_ACCEPT_LANGUAGE'); 222 $accepted_languages = explode(',', strtolower($http_accept_language)); 223 foreach ($accepted_languages as $browser_lang) { 224 $langcode = ($browser_lang[2] == '-') ? substr($browser_lang, 0, 5) : substr($browser_lang, 0, 2); 225 $tmplang = $browserlang[$langcode]; 226 if (is_lang($tmplang)) { 227 return $tmplang; 228 } 229 } 230 return false; 231 } 232 233 function get_lang($module) { 234 global $currentlang, $language; 235 static $included; 236 if(!isset($included)) { 237 $included = array(); 238 } elseif(isset($included[$module])) { 239 return $included[$module]; 240 } 241 if (file_exists(NUKE_MODULES_DIR.$module.'/language/lang-'.$currentlang.'.php')) { 242 $path = NUKE_MODULES_DIR.$module.'/language/lang-'.$currentlang.'.php'; 243 } elseif (file_exists(NUKE_MODULES_DIR.$module.'/language/lang-'.$language.'.php')) { 244 $path = NUKE_MODULES_DIR.$module.'/language/lang-'.$language.'.php'; 245 } elseif (file_exists(NUKE_MODULES_DIR.$module.'/language/lang-english.php')) { 246 $path = NUKE_MODULES_DIR.$module.'/language/lang-english.php'; 247 } else { 248 return $included[$module] = false; 249 } 250 require_once($path); 251 return $included[$module] = true; 252 } 253 254 function lang_list() { 255 static $languages; 256 if (!isset($languages)) { 257 $handle = opendir(NUKE_LANGUAGE_DIR); 258 while (false !== ($file = readdir($handle))) { 259 if (preg_match('/lang-(.*?)\.php/i', $file, $lang)) { 260 $languages[] = $lang[1]; 261 } 262 } 263 closedir($handle); 264 sort($languages); 265 } 266 return $languages; 267 } 268 269 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed Jun 6 11:38:01 2007 | Cross-referenced by PHPXref 0.7 |