星期一, 9月 05, 2005

[轉載]架設多語(繁簡共存)XOOPS網站

原文來自:http://www.meto.com.tw/plog/index.php?op=ViewArticle&articleId=34&blogId=2

不過要注意的是這是給2.2.x用的~~



過去一般的中文網站,大多只會設計一個基礎語言,例如以台灣為主體的,就採用Big5編碼,如果要讓該網站也能夠呈現簡體文字,可以利用PHP的iconv( )函數來達成。



但如果要達到兩岸都能夠同步操作輸入資料,並期使不會亂碼,勢必要找到一個共通的內碼才能達成,那就是UTF-8碼。





也就是說要達成真正繁簡共存共管的Xoops站,網站採用的內碼肯定是要採用UTF-8碼...



此次網站建置,採用的環境是以xoops2.2.2總站UTF-8台灣版為主體,再取用大陸那邊的GB2312語言檔自行以Convertz軟體轉碼為UTF-8,利用xlanguage模組來完成前台語言切換目的。



使用Convertz轉換過程裡,重點是必須將Convertz裡轉碼設定內的「將BOM加入到UTF-8檔案」設定給取消掉,否則會產生在IE瀏覽器中整個網頁畫面向下移一行的Bug。



再來是要將 /language/schinese/global.php檔案修改以下這行:

define('_CHARSET', 'UTF-8');

此設定是讓後台管理能夠切換到正確的語系。



再來就是xlanguage模組的安裝及設定了...



xlanguage有兩大主功能:



一、設定一個基本語言,例如設定Big5碼為基本語言的編碼,其利用iconv( )函數改寫另一xconv( )函數,使Big5UTF-8GB2312,能夠互相轉換,只要設定另一個擴充語言GB2312,並使其擴充語言的基本語言為tchinese(Big5),即可達到轉換目的。



二、可利用語法標籤,達成多國語言的內容自動變換,例:

[TW]這是繁體字[/TW][CN]这是简体字[/CN],即可達到僅顯示一方文字內容的要求。



安裝xlanguage的程序如下:



一、在www/include/common.php內的



// #################### Include site-wide lang file ##################

if ( file_exists(XOOPS_ROOT_PATH."/language/".$xoopsConfig['language']."/global.php") ) {

include_once XOOPS_ROOT_PATH."/language/".$xoopsConfig['language']."/global.php";

} else {

include_once XOOPS_ROOT_PATH."/language/english/global.php";

}



之前加入



include_once XOOPS_ROOT_PATH.'/modules/xlanguage/api.php';



二、在xoops後台中,於xlanguage模組設定如下:



此圖是給只有單向操作並利用xconv( )翻譯的設定方式:

[##_1C|254480.jpg|width="480" height="50"| _##]



此圖是給兩岸雙向操作(多國語系)的設定方式:

[##_1C|080463.jpg|width="480" height="89"| _##]



三、語法標籤內的字碼就是「語言代碼」,它可以使用在主佈景theme.html,各模組的佈景檔內,也可以使用在各個可以輸入的Xoops文字欄位內,非常的方便使用,利用這個語言代碼,連網站的外觀都可以作到多國語系的目的喲。



四、假設再配合xoops2.2.2系統內建的「佈景切換」功能,就可以達到同步切換語系加佈景的要求,我們可以利用自訂區塊輸入以下語法:



繁 體 | 简体



這樣子就能夠同步切換繁簡及meto及smeto兩個佈景了。

沒有留言: