想以不同URL string, 來選擇將要載入phpBB的語言
如
index.php?lang=english --> English
index.php?lang=chinese_traditional --> 繁體中文
可以嗎?
[問題] 在URL選擇語言...可以嗎?
版主: 版主管理群
首先這個方法會很麻煩
英文字碼和中文字碼是不一樣的
你要裝應該是utf-8
這樣子從中文英文才不會有問題
而且我建議你裝crlin大的外掛
他有寫這類型的外掛
英文字碼和中文字碼是不一樣的
你要裝應該是utf-8
這樣子從中文英文才不會有問題
而且我建議你裝crlin大的外掛
他有寫這類型的外掛
目前狀態
GoKo Music進度: 10%
問個問題不要緊,可是沒有發文格式、問題不夠詳細情況,難道要用猜嗎?
新手必讀
[教學] 基本認識、學習、隨我架設phpBB的新手通 -更新至2.0.22
問問題的技巧
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44340
MOD安裝教學及轉碼
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=22832
GoKo Music進度: 10%
問個問題不要緊,可是沒有發文格式、問題不夠詳細情況,難道要用猜嗎?
新手必讀
[教學] 基本認識、學習、隨我架設phpBB的新手通 -更新至2.0.22
問問題的技巧
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44340
MOD安裝教學及轉碼
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=22832
Re: [問題] 在URL選擇語言...可以嗎?
不會不行,但是一來這樣做會很麻煩 (使用者要輸入的 URL 會變長),二來修改的技巧和內容是屬於 MOD 的範圍...foonchan 寫:想以不同URL string, 來選擇將要載入phpBB的語言
如
index.php?lang=english --> English
index.php?lang=chinese_traditional --> 繁體中文
可以嗎?
其實這個問題沒想像的複雜的,修改的幅度也很小
function.php
searching in function init_userprefs()
在之前插入一行
這樣就可以達到你的第一步需求
當然如果你想"保留"這個選項,或許你會想把 $_GET['lang'] 丟到 cookie or session
如果只是單頁的功能,那就可以省掉了
至於 jwxinst 所提的字碼問題
在不考慮轉碼的前提下,簡單的將其他的語系的編碼改一下就可以了
例如 lang_english/lang_main.php 中的
$lang['ENCODING'] = 'iso-8859-1';
改為
$lang['ENCODING'] = 'big5';
如果你的原始編碼是 big5 的話,或是也套用於其他的編碼
只不過這只對沒有特殊字元的語系有用
若已是 utf8 編碼或是考慮做額外的轉碼動作,那麼這些都不在考慮範圍內了
function.php
searching in function init_userprefs()
代碼: 選擇全部
if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx)) )
{
$board_config['default_lang'] = 'english';
}
代碼: 選擇全部
$board_config['default_lang'] = (!empty($_GET['lang'])) ? $_GET['lang'] : $board_config['default_lang'];
這樣就可以達到你的第一步需求
當然如果你想"保留"這個選項,或許你會想把 $_GET['lang'] 丟到 cookie or session
如果只是單頁的功能,那就可以省掉了
至於 jwxinst 所提的字碼問題
在不考慮轉碼的前提下,簡單的將其他的語系的編碼改一下就可以了
例如 lang_english/lang_main.php 中的
$lang['ENCODING'] = 'iso-8859-1';
改為
$lang['ENCODING'] = 'big5';
如果你的原始編碼是 big5 的話,或是也套用於其他的編碼
只不過這只對沒有特殊字元的語系有用
若已是 utf8 編碼或是考慮做額外的轉碼動作,那麼這些都不在考慮範圍內了
喔ethan大, 不是說直接從英文顯示big5的中文會有亂碼嗎@@
(沒有啦, 只是想問一下
)
(沒有啦, 只是想問一下
目前狀態
GoKo Music進度: 10%
問個問題不要緊,可是沒有發文格式、問題不夠詳細情況,難道要用猜嗎?
新手必讀
[教學] 基本認識、學習、隨我架設phpBB的新手通 -更新至2.0.22
問問題的技巧
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44340
MOD安裝教學及轉碼
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=22832
GoKo Music進度: 10%
問個問題不要緊,可是沒有發文格式、問題不夠詳細情況,難道要用猜嗎?
新手必讀
[教學] 基本認識、學習、隨我架設phpBB的新手通 -更新至2.0.22
問問題的技巧
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44340
MOD安裝教學及轉碼
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=22832
亂碼只是瀏灠器指定的編碼與資料的實際編碼不對應造成
所以即使用英文語系,但是將編碼指定跟資料相同的就不會有問題
這就你把中文語系的內容,重打成英文是一樣的
英文語系最單純,只有 26 個英文字,不管哪種字型都會有這些字
所以即使不始語系檔做轉碼,也不會有問題
如果像西文、俄文、韓文、日文這種有特殊字元或雙位元語系的
當然如果只這樣指定的話,語系統的內容就會有亂碼產生了
這樣就會需要將語系檔先行轉換編碼,但是再遇到的便是掉字的問題
所以這就是選擇 utf8 用處之一囉
丟個 demo (utf8)
http://www.creativecrap.com/bbs/
http://www.creativecrap.com/bbs/?lang=english
所以即使用英文語系,但是將編碼指定跟資料相同的就不會有問題
這就你把中文語系的內容,重打成英文是一樣的
英文語系最單純,只有 26 個英文字,不管哪種字型都會有這些字
所以即使不始語系檔做轉碼,也不會有問題
如果像西文、俄文、韓文、日文這種有特殊字元或雙位元語系的
當然如果只這樣指定的話,語系統的內容就會有亂碼產生了
這樣就會需要將語系檔先行轉換編碼,但是再遇到的便是掉字的問題
所以這就是選擇 utf8 用處之一囉
丟個 demo (utf8)
http://www.creativecrap.com/bbs/
http://www.creativecrap.com/bbs/?lang=english
[外掛] 我想问一下
ethan说到
丟個 demo (utf8)
http://www.creativecrap.com/bbs/
http://www.creativecrap.com/bbs/?lang=english
但是我都点了一下,怎么好像看不到语言的转换
丟個 demo (utf8)
http://www.creativecrap.com/bbs/
http://www.creativecrap.com/bbs/?lang=english
但是我都点了一下,怎么好像看不到语言的转换
sorry 之前升級的時候想說這個主題已經結束了,就直接改掉了
2.0.21 這部份有點變更
同樣是改 function.php
searching in function init_userprefs()
在後面新增
demo 的位置同上
2.0.21 這部份有點變更
同樣是改 function.php
searching in function init_userprefs()
代碼: 選擇全部
}
}
else
{
$default_lang = phpbb_ltrim(basename(phpbb_rtrim($board_config['default_lang'])), "'");
}
代碼: 選擇全部
$default_lang = (!empty($_GET['lang'])) ? $_GET['lang'] : $default_lang;
[外掛] 我再想问一下
我在一个simple_chinese页面使用了?lang_english,但是到其他页面的时候,还是显示原来的simple_chinese
可以在其他页面也一样是english吗?
以下语句:
if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx)) )
{
$board_config['default_lang'] = 'english';
}
在function.php中有两个地方,是不是两个地方都需要改动呢?
可以在其他页面也一样是english吗?
以下语句:
if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx)) )
{
$board_config['default_lang'] = 'english';
}
在function.php中有两个地方,是不是两个地方都需要改动呢?


