= "i18n_$spip_lang"; if (!$GLOBALS[$var]) charger_langue($spip_lang); $text = $GLOBALS[$var][$code]; if (!is_array($args)) return $text; while (list($name, $value) = each($args)) $text = str_replace ("@$name@", $value, $text); return $text; } function traduire_nom_langue($lang) { $codes_langues = array( 'aa' => "Afar", 'ab' => "Abkhazian", 'af' => "Afrikaans", 'am' => "Amharic", 'ar' => "العربية", 'as' => "Assamese", 'ay' => "Aymara", 'az' => "Азәрбајҹан", 'ba' => "Bashkir", 'be' => "Беларускі", 'bg' => "български", 'bh' => "Bihari", 'bi' => "Bislama", 'bn' => "Bengali; Bangla", 'bo' => "Tibetan", 'br' => "Breton", 'ca' => "català", 'co' => "Corsican", 'cpf' => "Kréol réyoné", 'cpc' => "Kreyòl", 'cs' => "čeština", 'cy' => "Welsh", 'da' => "dansk", 'de' => "Deutsch", 'dz' => "Bhutani", 'el' => "ελληνικά", 'en' => "English", 'eo' => "Esperanto", 'es' => "Español", 'et' => "eesti", 'eu' => "euskara", 'fa' => "فارسى", 'fi' => "suomi", 'fj' => "Fiji", 'fo' => "føroyskt", 'fr' => "français", 'fy' => "Frisian", 'ga' => "Irish", 'gd' => "Scots Gaelic", 'gl' => "galego", 'gn' => "Guarani", 'gu' => "Gujarati", 'ha' => "Hausa", 'he' => "עברית", 'hi' => "हिंदी", 'hr' => "hrvatski", 'hu' => "magyar", 'hy' => "Armenian", 'ia' => "Interlingua", 'id' => "Bahasa Indonesia", 'ie' => "Interlingue", 'ik' => "Inupiak", 'is' => "íslenska", 'it' => "italiano", 'iu' => "Inuktitut", 'ja' => "日本語", 'jw' => "Javanese", 'ka' => "ქართული", 'kk' => "Қазащb", 'kl' => "Greenlandic", 'km' => "Cambodian", 'kn' => "Kannada", 'ko' => "한국어", 'ks' => "Kashmiri", 'ku' => "Kurdish", 'ky' => "Kirghiz", 'la' => "Latin", 'ln' => "Lingala", 'lo' => "Laothian", 'lt' => "lietuvių", 'lv' => "latviešu", 'mg' => "Malagasy", 'mi' => "Maori", 'mk' => "македонски јазик", 'ml' => "Malayalam", 'mn' => "Mongolian", 'mo' => "Moldavian", 'mr' => "मराठी", 'ms' => "Bahasa Malaysia", 'mt' => "Maltese", 'my' => "Burmese", 'na' => "Nauru", 'ne' => "Nepali", 'nl' => "Nederlands", 'no' => "norsk", 'oc' => "Occitan", 'om' => "(Afan) Oromo", 'or' => "Oriya", 'pa' => "Punjabi", 'pl' => "polski", 'ps' => "Pashto, Pushto", 'pt' => "Português", 'qu' => "Quechua", 'rm' => "Rhaeto-Romance", 'rn' => "Kirundi", 'ro' => "română", 'ru' => "русский", 'rw' => "Kinyarwanda", 'sa' => "संस्कृत", 'sd' => "Sindhi", 'sg' => "Sangho", 'sh' => "Serbo-Croatian", 'si' => "Sinhalese", 'sk' => "slovenčina", 'sl' => "slovenski", 'sm' => "Samoan", 'sn' => "Shona", 'so' => "Somali", 'sq' => "shqipe", 'sr' => "српски", 'ss' => "Siswati", 'st' => "Sesotho", 'su' => "Sundanese", 'sv' => "svenska", 'sw' => "Kiswahili", 'ta' => "தமிழ்", 'te' => "Telugu", 'tg' => "Tajik", 'th' => "ไทย", 'ti' => "Tigrinya", 'tk' => "Turkmen", 'tl' => "Tagalog", 'tn' => "Setswana", 'to' => "Tonga", 'tr' => "Türkçe", 'ts' => "Tsonga", 'tt' => "Татар", 'tw' => "Twi", 'ug' => "Uighur", 'uk' => "україньска", 'ur' => "ٱردو", 'uz' => "U'zbek", 'vi' => "Tiếng Việt", 'vo' => "Volapuk", 'wo' => "Wolof", 'xh' => "Xhosa", 'yi' => "Yiddish", 'yo' => "Yoruba", 'za' => "Zhuang", 'zh' => "中文", 'zu' => "Zulu"); $r = $codes_langues[$lang]; if (!$r) $r = $lang; return $r; } // // Afficher un menu de selection de langue // function menu_langues() { global $couleur_foncee; $langues = explode(',', $GLOBALS['all_langs']); if (count($langues) <= 1) return; if (!$couleur_foncee) $couleur_foncee = '#044476'; $lien = $GLOBALS['clean_link']; $lien->delVar('var_lang'); $lien = $lien->getUrl(); $amp = (strpos(' '.$lien,'?') ? '&' : '?'); $ret = "
"; return $ret; } // menu dans l'espace public function gerer_menu_langues() { global $var_lang; if ($var_lang) { if (changer_langue($var_lang)) { spip_setcookie('spip_lang', $var_lang, time() + 365 * 24 * 3600); } } } // // Selection de langue haut niveau // function utiliser_langue_site() { changer_langue($GLOBALS['langue_site']); } function utiliser_langue_visiteur() { if (!regler_langue_navigateur()) utiliser_langue_site(); if ($GLOBALS['auteur_session']['lang']) changer_langue($GLOBALS['auteur_session']['lang']); } // // Initialisation // function init_langues() { global $all_langs, $flag_ecrire, $langue_site; $all_langs = lire_meta('langues_proposees'); $langue_site = lire_meta('langue_site'); if (!$all_langs || !$langue_site || $flag_ecrire) { $d = opendir($flag_ecrire ? "lang" : "ecrire/lang"); while ($f = readdir($d)) { if (ereg('^spip_([a-z]{2,3})\.php3?$', $f, $regs)) $toutes_langs[] = $regs[1]; } closedir($d); sort($toutes_langs); $all_langs = join(',', $toutes_langs); if (defined("_ECRIRE_INC_META")) ecrire_meta('langues_proposees', $all_langs); if (!$langue_site) { // Initialisation : le francais par defaut, sinon la premiere langue trouvee if (ereg(',fr,', ",$all_langs,")) $langue_site = 'fr'; else list(, $langue_site) = each($toutes_langs); if (defined("_ECRIRE_INC_META")) ecrire_meta('langue_site', $langue_site); } } } init_langues(); utiliser_langue_site(); ?>