原文來自: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兩個佈景了。
arrow
arrow
    全站熱搜

    Erny 發表在 痞客邦 留言(1) 人氣()