原文來自: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兩個佈景了。
沒有留言:
張貼留言