[ Index ] |
|
Code source de Zen Cart E-Commerce Shopping Cart 1.3.7.1 |
1 <?php 2 /** 3 * language Class. 4 * 5 * @package classes 6 * @copyright Copyright 2003-2006 Zen Cart Development Team 7 * @copyright Portions Copyright 2003 osCommerce 8 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0 9 * @version $Id: language.php 3041 2006-02-15 21:56:45Z wilt $ 10 */ 11 if (!defined('IS_ADMIN_FLAG')) { 12 die('Illegal Access'); 13 } 14 /** 15 * language Class. 16 * Class to handle language settings for customer viewing 17 * 18 * @package classes 19 */ 20 class language extends base { 21 var $languages, $catalog_languages, $browser_languages, $language; 22 23 function language($lng = '') { 24 global $db; 25 $this->languages = array('ar' => array('ar([-_][[:alpha:]]{2})?|arabic', 'arabic', 'ar'), 26 'bg-win1251' => array('bg|bulgarian', 'bulgarian-win1251', 'bg'), 27 'bg-koi8r' => array('bg|bulgarian', 'bulgarian-koi8', 'bg'), 28 'ca' => array('ca|catalan', 'catala', 'ca'), 29 'cs-iso' => array('cs|czech', 'czech-iso', 'cs'), 30 'cs-win1250' => array('cs|czech', 'czech-win1250', 'cs'), 31 'da' => array('da|danish', 'danish', 'da'), 32 'de' => array('de([-_][[:alpha:]]{2})?|german', 'german', 'de'), 33 'el' => array('el|greek', 'greek', 'el'), 34 'en' => array('en([-_][[:alpha:]]{2})?|english', 'english', 'en'), 35 'es' => array('es([-_][[:alpha:]]{2})?|spanish', 'spanish', 'es'), 36 'et' => array('et|estonian', 'estonian', 'et'), 37 'fi' => array('fi|finnish', 'finnish', 'fi'), 38 'fr' => array('fr([-_][[:alpha:]]{2})?|french', 'french', 'fr'), 39 'gl' => array('gl|galician', 'galician', 'gl'), 40 'he' => array('he|hebrew', 'hebrew', 'he'), 41 'hu' => array('hu|hungarian', 'hungarian', 'hu'), 42 'id' => array('id|indonesian', 'indonesian', 'id'), 43 'it' => array('it|italian', 'italian', 'it'), 44 'ja-euc' => array('ja|japanese', 'japanese-euc', 'ja'), 45 'ja-sjis' => array('ja|japanese', 'japanese-sjis', 'ja'), 46 'ko' => array('ko|korean', 'korean', 'ko'), 47 'ka' => array('ka|georgian', 'georgian', 'ka'), 48 'lt' => array('lt|lithuanian', 'lithuanian', 'lt'), 49 'lv' => array('lv|latvian', 'latvian', 'lv'), 50 'nl' => array('nl([-_][[:alpha:]]{2})?|dutch', 'dutch', 'nl'), 51 'no' => array('no|norwegian', 'norwegian', 'no'), 52 'pl' => array('pl|polish', 'polish', 'pl'), 53 'pt-br' => array('pt[-_]br|brazilian portuguese', 'brazilian_portuguese', 'pt-BR'), 54 'pt' => array('pt([-_][[:alpha:]]{2})?|portuguese', 'portuguese', 'pt'), 55 'ro' => array('ro|romanian', 'romanian', 'ro'), 56 'ru-koi8r' => array('ru|russian', 'russian-koi8', 'ru'), 57 'ru-win1251' => array('ru|russian', 'russian-win1251', 'ru'), 58 'sk' => array('sk|slovak', 'slovak-iso', 'sk'), 59 'sk-win1250' => array('sk|slovak', 'slovak-win1250', 'sk'), 60 'sr-win1250' => array('sr|serbian', 'serbian-win1250', 'sr'), 61 'sv' => array('sv|swedish', 'swedish', 'sv'), 62 'th' => array('th|thai', 'thai', 'th'), 63 'tr' => array('tr|turkish', 'turkish', 'tr'), 64 'uk-win1251' => array('uk|ukrainian', 'ukrainian-win1251', 'uk'), 65 'zh-tw' => array('zh[-_]tw|chinese traditional', 'chinese_big5', 'zh-TW'), 66 'zh' => array('zh|chinese simplified', 'chinese_gb', 'zh')); 67 68 69 $this->catalog_languages = array(); 70 $languages_query = "select languages_id, name, code, image, directory 71 from " . TABLE_LANGUAGES . " 72 order by sort_order"; 73 74 $languages = $db->Execute($languages_query); 75 76 while (!$languages->EOF) { 77 $this->catalog_languages[$languages->fields['code']] = array('id' => $languages->fields['languages_id'], 78 'name' => $languages->fields['name'], 79 'image' => $languages->fields['image'], 80 'code' => $languages->fields['code'], 81 'directory' => $languages->fields['directory']); 82 $languages->MoveNext(); 83 } 84 $this->browser_languages = ''; 85 $this->language = ''; 86 87 $this->set_language($lng); 88 } 89 90 function set_language($language) { 91 if ( (zen_not_null($language)) && (isset($this->catalog_languages[$language])) ) { 92 $this->language = $this->catalog_languages[$language]; 93 } else { 94 $this->language = $this->catalog_languages[DEFAULT_LANGUAGE]; 95 } 96 } 97 98 function get_browser_language() { 99 $this->browser_languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); 100 101 for ($i=0, $n=sizeof($this->browser_languages); $i<$n; $i++) { 102 reset($this->languages); 103 while (list($key, $value) = each($this->languages)) { 104 if (eregi('^(' . $value[0] . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) { 105 $this->language = $this->catalog_languages[$key]; 106 break 2; 107 } 108 } 109 } 110 } 111 } 112 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 16:45:43 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |