Mark's Place

A place for Mark's murmuring, blah, blah, blah, ...

Mark's Place
Watch Timeline
http://blog.markplace.net/marks_place/10/2006/10/27/150

在 UTF8 編碼下的網頁簡繁互轉

Mark Wu 發表於 2006/10/27 10:07 · 靜態連結網址

最近在考慮把 lifetype.org.cn 透過 mod_rewrite 的方式,把網址轉換到 lifetype.org.tw,這樣可以讓更多的大陸朋友能夠來認識 LifeType。但是,首先要解決的問題是,如何做到線上簡繁互換,讓大陸網友能夠使用他們熟悉的簡體環境。

目前有幾個解決的方式:

  • 透過瀏覽器的外掛程式幫忙,做到及時的簡繁互換。例如,IE 下的 Alibabar 與 Firefox 下的新同文堂
  • 透過 Server Side Script 如 PHP,寫一支簡繁轉換的 Gateway,例如在 Jerry 網頁所說的方式。
  • 透過 Client Side Script 如 JavaScript 來作線上轉換,並且透過 Cookie 紀錄是否需要自動轉換成繁體或簡體。如 Joomla AutoIt! 這裡所說的方式。

第一個方式需要使用者自行安裝這些外掛程式,其實不是很方便。第二個方式要改的還不少,而且沒辦法直接使用到 blog, wiki 與 forum 上面。所以決定採用第三種方式,因為唯一的修改就是改模版。

原本很高興以為下載之後就能用,結果在繁體的環境下好像有 Bug。所以把整個程式Debug 並且 Refactoring 了一下,應該可以用在繁體了。有興趣的人請依照下列方式安裝:

<a id="translateLink">簡體</a>

  • 然後,網頁的 </body> 標籤前面加上

<script type="text/javascript" src="http://your-site/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>

共有五個參數可以設定:

  • defaultEncoding:網頁預設語系:1 是繁體中文,2是簡體中文。預設值為 1。
  • translateDelay:延遲翻譯的時間:如果你不是放在 </body> 之前,請設定延遲翻譯時間。如 100 代表 100ms。預設值為 0。
  • cookieDomain:Cookie 網址。這個請務必要設定,沒有預設值。
  • msgToTraditionalChinese:切換至繁體中文的訊息。預設值為 "繁體"。
  • msgToSimplifiedChinese:切換至簡體中文的訊息。預設值為 "簡體"。
  • translateButtonId:簡繁互換連結的 Id。預設值為 "translateLink"。

這樣應該就可以了。不過,要是使用者的瀏覽器不支援 Javascript,那就沒輒了。

PS. 這支程式看起來流傳已久,所以不知道原始作者的釋出版權為何。所以我也沒有加上版權標示。

真實引用網址:

http://blog.markplace.net/trackback.php?id=150

迴響 (35) · 引用 (2) 文章分類: 生活形態?LifeType?

迴響 ↓

«上一篇   1 2
«上一篇   1 2
發表迴響
 authimage