您在這裡

一個簡繁轉換實作

Naana's 的頭像
Naana 在 2010-04-06 (二) 14:25 發表

在當今 google 翻譯 能翻譯簡繁的情形下,不知還有沒有人對簡繁轉換有需求?

我們的網站以繁體架設,後來想提供簡單的簡體版,
與這個需求很接近
http://drupalchina.org/node/2734
我們參考他的做法
首先以 multi_cove.js 來轉換,但一直有小bug,
後來改以 Mark 的 tw_cn.js ( http://blog.markplace.net/marks_place/10/2006/10/27/150/page/2 )
再加小小修改

最後實現的情形是以 javascript 配合 php,當大陸網友 (瀏覽器語言 zh-cn ) 第一次進入時
會看到轉換過的簡體網頁(僅字的轉換,沒有詞的轉換),繁體使用者第一次進入可以看到原本的
繁體網頁;當使用者換過語言後會以 cookie 記錄下來,因此瀏覽其他頁面或下次瀏覽不用再切換,
也解決了 firefox中,網頁中有插入影片、flash時,會 timeout 的問題

涓滴細流、野人獻曝,僅提供我們的做法供大家參考

一、在page.tpl.php中

1 在想放 轉換link 的地方 加入

[简体]

2 在 < /body > 前加入 javascript:

<?php if (strtoupper(substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,5)) == "ZH-CN") : ?>
var targetEncoding = ( getCookie(targetEncodingCookie) == null ? 2 : getCookie(targetEncodingCookie) );
<?php else: ?>
var targetEncoding = ( getCookie(targetEncodingCookie) == null ? defaultEncoding : getCookie(targetEncodingCookie) );
<?php endif; ?>

var cookieDomain = "http://yourdomain";
translateInitilization();

二、小修改 tw_cn.js:
( Mark 的 tw_cn.js 可在下面網址找到
http://blog.markplace.net/marks_place/10/2006/10/27/150/page/2 )



if( "||BR|HR|TEXTAREA|".indexOf( "|"+obj.tagName+"|" ) > 0

改為

if( "||BR|HR|TEXTAREA|SCRIPT|EMBED|OBJECT|".indexOf( "|"+obj.tagName+"|" ) > 0

三、將 tw_cn.js 放到網站上 (ex:www根目錄)

完成

(歡迎參觀 http://www.jiguangtemple.org )