WordPress在UTF-8编码下的网页简繁转换

嗯,大家看我页面右边栏有个“简体 -> 繁體”的链接,点一下,整个页面就会变成繁体字,并且在浏览本站的其它页面时,系统也都会自动做简体到繁体的转换。

程序原作者不详,现在使用的这个版本经过Mark的修改,而我是从水煮鱼得到的二手货。

首先,网页本身必须是UTF-8编码,而不是GBK、GB2312或者Big5。

用户的浏览器要支持JavaScript。

1. 下载文件tw_cn.js;

  tw_cn.js (18.9 KiB, 1,734 hits)


2. 打开文件,对前几行有标注的变量进行更改(貌似不改也可以?程序会把第5步添加的代码作为外部参数);
3. 上传文件tw_cn.js到网站目录;
4. 修改模板,在你想要显示简繁转换按钮的地方加上代码:

<a id="translateLink">简体 -> 繁體</a>

5. 打开主题模板的footer.php文件,在</body>之前添加如下代码:

<script type="text/javascript" src="http://blog.fivestone.info/tw_cn.js"></script> //js程序的位置
<script type="text/javascript">
var defaultEncoding = 0; //默认是否繁体,0-简体,1-繁体
var translateDelay = 0; //延迟时间,若不在网页最后运行,要设定延迟翻译时间,如100表示100ms
var cookieDomain = "http://blog.fivestone.info"; //Cookie地址,一定要设定,通常为你的网址
var msgToTraditionalChinese = "简体 -> 繁體"; //默认切换为繁体时显示的中文字符
var msgToSimplifiedChinese = "繁體 -> 简体"; //默认切换为简体时显示的中文字符
var translateButtonId = "translateLink"; //默认互换id
translateInitilization();
</script>

刚装上的时候有问题,转换的时间很长,然后警告程序无响应。后来发现和我右边栏上达芬奇计划的公益广告,在网页中嵌入<object>的代码有关。我不太懂JavaScript,不知道为什么会有这样的冲突。估计那些喜欢在页面上嵌入背景音乐或flash的孩子们,可能也有类似的问题。于是我只是简单地在tw_cn.js文件的第35行,加上

if( obj.tagName == "OBJECT" )
continue;

使程序跳过<object>类型的代码,不做处理。本站提供的tw_cn.js,是我修改后的版本。