這幾天在找網站的簡繁互換方案,讓優格網的所有頁面都能夠產生簡體頁面的顯示,而且要考量的是utf8編碼下的網頁簡繁轉換,而不是網路上已經有很多方案的big5轉cn,也因此有考慮過很多方式。比方說下面這些:
1、設置一個新網域cn.yblog.org,讓這邊的php程式執行的都是簡體文字頁面的資料,可以是不同程式讀取相同資料庫,顯示簡體或繁體字,也可以讓資料庫有2份不同的簡繁內容,透過同一個程式叫出來顯示。
2、將資料庫維持一份,設置不同的語言程式檔案,把顯示和資料的部份分開。
3、配置資料庫轉換的方法,讓資料庫轉好之後才送出簡繁的資料來。
4、將資料送出前,透過外部wrapper的程式把輸出的資料轉換編碼。
5、以簡單的簡繁轉換表格,做實時轉換演算,可以寫在php由伺服器端處理,也可以寫在java script,由使用者端的電腦來處理。
尋覓了許久後,覺得用java script的方式最簡單,其中測試過一種方式,但耗費的使用者處理器資源過高,再找了一下後,發現2006年由Mark兄找到並修改過,由Lyeem提出的解決方案,就覺得先用這個,再慢慢找更好的方式。
Mark做的方式簡單改寫如下:
下載Mark修改過的1-136.zip。
解開後上傳到的網站上,例如 http://網站名稱/tw_cn.js
在希望放上「簡繁互轉」的連結的地方加上
<a id="translateLink">簡體</a>然後,網頁的 </body> 標籤前面加上
<script type="text/javascript" src="http://網站名稱//tw_cn.js"></script>
<script type="text/javascript">
var defaultEncoding = 1;
var translateDelay = 0;
var cookieDomain = "http://your-site";
var msgToTraditionalChinese = "繁體";
var msgToSimplifiedChinese = "簡體";
var translateButtonId = "translateLink";
translateInitilization();
</Script>
Mark這樣做的好處是,讓需要看簡體網頁的用戶,點選了網頁上顯示的「簡體」連結後,就寫入一項cookie資訊到瀏覽器中該網站的cookie上,使用者瀏覽該網站的每一頁時就自動地讀取頁面標籤指定的tw_cn.js,然後透過使用者電腦的處理器自動執行簡繁轉換,將特定字元做即時的變換。
這樣一來,就不需要每次點選頁面,都還要按一次簡繁的轉換連結。
目前先這樣試試看,配置於優格網的首頁上方,以及本部落格永遠的真田幸村頁面上方,如果有更好的簡繁解決方案,也歡迎各位的提供。