提供給所有使用者能即時切換論壇的語系(使用下拉式選單).
ps:供給多種語系選擇時,您必須已安裝該語系檔!
開啟 includes/functions.php
尋找
代碼: 選擇全部
// The following assigns all _common_ variables that may be used at any point in a template.
代碼: 選擇全部
$sql = 'SELECT lang_iso, lang_local_name
FROM ' . LANG_TABLE;
$result = $db->sql_query($sql);
$lang_select = '<select onChange="this.form.submit();" name="lang"><option value="">Select lang</option>';
while ($lang_iso = $db->sql_fetchrow($result))
{
$lang_select .= '<option value="' . $lang_iso['lang_iso'] . '">' . $lang_iso['lang_local_name'] . '</option>';
}
$lang_select .= '</select>';
代碼: 選擇全部
'ROOT_PATH' => $phpbb_root_path,
代碼: 選擇全部
'LANG_SELECT' => $lang_select,
開啟 includes/session.php
尋找
代碼: 選擇全部
global $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache;
代碼: 選擇全部
global $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache, $lang;
$language = $config['default_lang'];
if (isset($_GET['lang']) || isset($_POST['lang']))
{
$lang = isset($_GET['lang']) ? $_GET['lang'] : $_POST['lang'];
$sql = 'SELECT lang_iso
FROM ' . LANG_TABLE . "
WHERE lang_iso = '$lang'";
$result = $db->sql_query($sql);
if( ($result = $db->sql_query($sql)) && ($row = $db->sql_fetchrow($result)) )
{
$this->set_cookie('lang', $lang, time() + 31536000);
}
else
{
$set_time = time() - 31536000;
$this->set_cookie('lang', '', $set_time);
$lang = '';
}
}
elseif (isset($_COOKIE[$config['cookie_name'] . '_lang']))
{
$lang = $_COOKIE[$config['cookie_name'] . '_lang'];
}
if (!Empty($lang))
{
if ($this->data['user_id'] != ANONYMOUS)
{
$this->data['user_lang'] = $lang;
}
$config['default_lang'] = $lang;
}
elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) && $this->data['user_id'] == ANONYMOUS)
{
// Obtain installed language
$installed_languages = array();
$sql = 'SELECT lang_iso FROM ' . LANG_TABLE;
$result = $db->sql_query($sql, 3600);
while ($lang_iso = $db->sql_fetchrow($result))
{
extract($lang_iso);
if (file_exists($phpbb_root_path . 'language/' . $lang_iso . "/common.$phpEx"))
{
$installed_languages[] = $lang_iso;
}
}
$accept_lang_ary = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
foreach ($accept_lang_ary as $accept_lang)
{
if(strlen($accept_lang) > 2)
{
$accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));
}
if (in_array($accept_lang, $installed_languages))
{
$language = $accept_lang;
break;
}
else
{
$accept_lang = $supported_languages[$accept_lang];
if (in_array($accept_lang, $installed_languages))
{
$language = $accept_lang;
break;
}
}
}
$config['default_lang'] = $language;
}
尋找
代碼: 選擇全部
<!-- IF U_PRINT_PM --><li class="rightside"><a href="{U_PRINT_PM}" title="{L_PRINT_PM}" accesskey="p" class="print">{L_PRINT_PM}</a></li><!-- ENDIF -->
代碼: 選擇全部
<li class="rightside"><form action="" method="post">{LANG_SELECT}</form></li>