简体转繁体或者繁体转简体

最近在JavaEye上面看了一篇求助简繁体的转换问题,居然有人说不能告诉你,我晕,小弟不材,写一个出来共享一下;

package com.jatula.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

/**
* 繁体中文转简体中文
* @author jatula
*
*/

public class TrandtionalToSimplified {
private static Map<Character, Character> CHAR_MAP = new HashMap<Character, Character>();
static {
STMapInitialize();
}

/**
* 初始化CHAR_MAP里面的数据
*/
public static void STMapInitialize() {
try {
URL mapf = TrandtionalToSimplified.class.getResource("st.map");
InputStream mapInput = mapf.openStream();
BufferedReader mapbf = new BufferedReader(new InputStreamReader(
mapInput, "utf-8"));
String rline;
while ((rline = mapbf.readLine()) != null) {
CHAR_MAP.put(rline.charAt(1), rline.charAt(0));
}
mapInput.close();
} catch (IOException e) {
e.printStackTrace();
throw new ExceptionInInitializerError("没有找到资源文件st.map");
}
}

/**
* 这是一个把繁体字符串转换简体字符串
*
* @param source
* 要进行转换的繁体字符串
* @return 返回转换后的简体字符串
*/
public static String DoTrandtionalToSimplified(String source) {
if (source == null) {
return null;
}
StringBuffer result = new StringBuffer();
try {
for (int i = 0; i < source.length(); i++) {
char tmp = source.charAt(i);
if (CHAR_MAP.containsKey(tmp)) {
result.append(CHAR_MAP.get(tmp));
} else {
result.append(tmp);
}
}
} catch (NullPointerException e) {
STMapInitialize();
return DoTrandtionalToSimplified(source);
}
return result.toString();
}

public static void main(String[] args) {
TrandtionalToSimplified tts = new TrandtionalToSimplified();
String tto = tts.DoTrandtionalToSimplified("叢叢叢叢");
System.out.println(tto);
}
}

对照表的大伙就自已加吧,如果做到这步大家都不满意,也没有办法了;嘻嘻;

业業
丛叢

像上面那样列一列就OK了,没什么!
换个角度想,简体转繁体也就一样了;
st.map是一个对照对文件,努力点手动加一下;
模仿语言包式的简繁转换功能插件,轻松实现繁体简体互换,很方便,只有一个JS文件。Std_StranJF.js文件只支持GB2312码,big52gb.js支持utf-8。   一、将繁简互换JS文件上传至空间:   如果您调用的是,则将繁简互换JS文件(Std_StranJF.Js)上传至网站的js目录中。当然您也可以上传至网站的其他何地方,如根目录下。如果上传在网站根目录下,则要将调用代码改成:   二、页面调用的方法:   在您的网站中请按以下方法添加以下的代码:   1. 在页面中加上以下链接:   繁体中文   这个是每个页面中显示进行简繁转换的链接,您可以放在页面顶部,如顶部的导航处。   如果您用的是默认的动易模板,则进入网站后台,依次点击“系统设置”->“自定义标签管理”->“2006海蓝”->“{$MY_动易2006海蓝首页顶}”->点击“修改”链接,在出现的自定义标签内容页面中,找到“{$ShowChannel} {$Rss}{$Wap}”,修改成“{$ShowChannel} |繁体中文|{$Rss}{$Wap}”即可。当然您也可以放在任何您想要放置的地方。   2. 在页面中放以下代码:      这个是每个页面中要调用繁体简体互换的JS代码,您放在页面底部,如前面。   如果您用的是默认的动易模板,则进入网站后台,依次点击“系统设置”->“自定义标签管理”->“2006海蓝”->“{$MY_动易2006海蓝网页底}”->点击“修改”链接,在出现的自定义标签内容页面中,找到“”,修改成“”即可。当然您也可以放在任何您想要放置的地方。   小提示:您也可以不修改自定义标签,而是通过系统模板批量替换功能来添加以上的代码。但利用修改模板的自定义标签内容更方便。在修改了自定义标签后要记得更新您网站的缓存。若您开启了网站的生成功能,则在添加了代码后要生成全部相关的页面。   三、繁简互换JS文件参数的修改:   您可以进一步修改繁简互换JS文件(Std_StranJF.Js)以达到您想要的效果。请以记事本打开修改Std_StranJF.Js文件:   var Default_isFT = 0 //默认是否繁体,0-简体,1-繁体   var StranIt_Delay = 50 //翻译延时毫秒(设这个的目的是让网页先流畅的显现出来)   同时如果您的网站中有本文件中没有放入的繁体简体互换的内容,则可以在本文件中进一步添加与扩充,以满足您的应用需求。   小提示:本插件同时可用于论坛等需要进行繁简互换的地方。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值