3 include_once($path_to_root . "/lang/installed_languages.inc");
4 include_once($path_to_root . "/includes/lang/gettext.php");
9 var $code; // eg. ar_EG, en_GB
10 var $encoding; // eg. UTF-8, CP1256, ISO8859-1
11 var $dir; // Currently support for Left-to-Right (ltr) and
12 // Right-To-Left (rtl)
14 function language($name, $code, $encoding)
18 $this->encoding = $encoding;
22 function get_language_dir()
24 return "lang/" . $this->code;
28 function get_current_language_dir()
30 $lang = $_SESSION['language'];
31 return "lang/" . $lang->code;
34 function set_language($code)
36 if (isset($_SESSION['languages'][$code]) &&
37 $_SESSION['language'] != $_SESSION['languages'][$code])
39 $_SESSION['language'] = $_SESSION['languages'][$code];
44 function get_stylesheet()
46 return 'lang/' . $_SESSION['language']->code . '/stylesheet.css';
50 * This method loads an array of language objects into a session variable
51 * called $_SESSIONS['languages']. Only supported languages are added.
53 function load_languages()
55 global $installed_languages;
57 $_SESSION['languages'] = array();
59 foreach ($installed_languages as $lang)
61 $l = new language($lang['name'],$lang['code'],$lang['encoding']);
62 if (isset($lang['rtl']))
64 $_SESSION['languages'][$l->code] = $l;
67 if (!isset($_SESSION['language']))
68 $_SESSION['language'] = $_SESSION['languages']['en_GB'];
74 // this is to fix the "back-do-you-want-to-refresh" issue - thanx PHPFreaks
75 header("Cache-control: private");
77 // Page Initialisation
78 if (!isset($_SESSION['languages']))
80 language::load_languages();
83 $lang = $_SESSION['language'];
87 get_text::set_language($lang->code, $lang->encoding);
88 //get_text::add_domain("wa", $path_to_root . "/lang");
89 get_text::add_domain($lang->code, $path_to_root . "/lang");
91 if (!function_exists("_"))
95 $retVal = get_text::gettext($text);
102 function _set($key,$value)
104 get_text::set_var($key,$value);
107 function redirect($msg)
109 // header("Location: $_SERVER['PHP_SELF']."");
113 echo "<title>Changing Languages</title>";
114 echo '<meta http-equiv="refresh" content="0;url=' . $_SERVER['PHP_SELF'] . '">';
119 echo $msg . " " . $_SERVER['PHP_SELF'];