Microsoft Visual Studio International Feature Pack 2.0
下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=7D1DF9CE-4AEE-467F-996E-BEC826C5DAA2&displaylang=zh-cn
Microsoft Visual Studio International Feature Pack 2.0
Visual Studio International Feature Pack 2.0 包含一组控件和类库,设计用来帮助.NET开发人员创建国际化程序。
Visual Studio International Feature Pack 2.0 是对 1.0 版本( 1.0 版的产品名是 Microsoft Visual Studio International Pack 1.0 SR1) 的扩展,包含一组控件和类库,设计用来帮助.NET开发人员创建国际化程序。
下载完毕后,进行解压,里面有7个msi文件,其中:CHSPinYinConv.msi就是汉字拼音相关的,CHTCHSConv.msi是进行简体与繁体进行相互转换的,值安装这2个msi即可。安装完毕后,需要在VS里添加引用,分别引用:C:\Program Files\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library下和C:\Program Files\Microsoft Visual Studio International Pack\Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool下的dll即可使用。下面是一个汉字“孟”的测试例子:
C# 代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.International.Converters.PinYinConverter;
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
using System.Collections.ObjectModel;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ChineseChar chineseChar = new ChineseChar('孟');
Response.Write("<h2>关于汉字 “孟” 的相关信息:</h2>");
Response.Write("<li>“孟”笔画数:" + ChineseChar.GetStrokeNumber('孟'));
Response.Write("<li>“孟”是否是多音字: " + chineseChar.IsPolyphone);
ReadOnlyCollection<string> pinyin = chineseChar.Pinyins;
Response.Write("<li>“孟”所有拼音:");
foreach (string pin in pinyin)
{
Response.Write(pin + ",");
}
char[] ChineseChars;
Response.Write("<li>所有拼音 MENG1 的汉字<br/>");
ChineseChars = ChineseChar.GetChars("MENG1");
Response.Write("共" + ChineseChars.Length.ToString() + "个,分别是:");
for (int i = 0; i < ChineseChars.Length; i++)
{
Response.Write(ChineseChars[i] + ",");
}
Response.Write("<li>所有拼音 MENG2 的汉字 <br/>");
ChineseChars = ChineseChar.GetChars("MENG2");
Response.Write("共" + ChineseChars.Length.ToString() + "个,分别是:");
for (int i = 0; i < ChineseChars.Length; i++)
{
Response.Write(ChineseChars[i]);
}
Response.Write("<li>所有拼音 MENG3 的汉字<br/>");
ChineseChars = ChineseChar.GetChars("MENG3");
Response.Write("共" + ChineseChars.Length.ToString() + "个,分别是:");
for (int i = 0; i < ChineseChars.Length; i++)
{
Response.Write(ChineseChars[i]);
}
Response.Write("<li>所有拼音 MENG2 的汉字<br/>");
ChineseChars = ChineseChar.GetChars("MENG4");
Response.Write("共" + ChineseChars.Length.ToString() + "个,分别是:");
for (int i = 0; i < ChineseChars.Length; i++)
{
Response.Write(ChineseChars[i]);
}
Response.Write("<li>所有拼音 MENG5 的汉字<br/>");
ChineseChars = ChineseChar.GetChars("MENG5");
Response.Write("共" + ChineseChars.Length.ToString() + "个,分别是:");
for (int i = 0; i < ChineseChars.Length; i++)
{
Response.Write(ChineseChars[i]);
}
String simText = "欢迎光临【孟子E章】";
String traText = ChineseConverter.Convert(simText, ChineseConversionDirection.SimplifiedToTraditional);
Response.Write("<li>繁简转换测试:" + traText);
}
}
得到的结果是:
关于汉字 “孟” 的相关信息:
“孟”笔画数:8
“孟”是否是多音字: True
“孟”所有拼音:MENG4,MENG5,,,,,,,
所有拼音 MENG1 的汉字
共4个,分别是:擝,濛,矇,蒙,
所有拼音 MENG2 的汉字
共45个,分别是:儚冡夣嫇尨幪庬懜懞掹曚朦橗檬氋氓溕濛獴甍甿盟瞢矇矒礞艨莔萌蒙蕄虻蝱鄳鄸雺霚霿靀顭饛鯍鸏鹲鼆
所有拼音 MENG3 的汉字
共16个,分别是:勐幪懜懵猛瓾矇艋蒙蜢蠓錳锰鯭黽鼆
所有拼音 MENG2 的汉字
共6个,分别是:夢夣孟懜梦霥
所有拼音 MENG5 的汉字
共61个,分别是:儚冡勐夢夣嫇孟尨幪庬懜懞懵掹擝曚朦梦橗檬氋氓溕濛猛獴瓾甍甿盟瞢矇矒礞艋艨莔萌蒙蕄虻蜢蝱蠓鄳鄸錳锰雺霚霥霿靀顭饛鯍鯭鸏鹲黽鼆
繁简转换测试:歡迎光臨【孟子E章】
不过:有几个方面主要注意:
不清楚这个工具参照的是哪个汉字标准,SDK上也没有看到说明,“孟”这个字在字典中并不是多音字;
拼音后面的1,2,3,4,5猜测应当是声调标记:阴平,阳平,上声,去声,轻声。具体是否是有待查证;
中文简体与中文繁体之间的转换比较简单,下面就是一个将简体转换成繁体的代码:
C# 代码
String simText = "欢迎光临【孟子E章】";
String traText = ChineseConverter.Convert(simText, ChineseConversionDirection.SimplifiedToTraditional);
Response.Write("<li>繁简转换测试:" + traText);
下面是Microsoft.International.Converters.PinYinConverter.ChineseChar类的成员:
封装了简体中文的读音和笔画等基本信息。
成员类型 成员 描述
ChineseCharNew(Char) ChineseChar类的构造函数。
ChineseCharacter 获取这个汉字字符。
CompareStrokeNumber(Char) 将给出的字符和实例字符的笔画数进行比较。
静态成员 GetCharCount(Int16) 检索具有指定笔画数的字符个数。
静态成员 GetChars(String) 获取给定拼音的所有同音字。
静态成员 GetChars(Int16) 检索具有指定笔画数的所有字符串。
静态成员 GetHomophoneCount(String) 检索具有指定拼音的字符数。
静态成员 GetStrokeNumber(Char) 检索指定字符的笔画数。
HasSound(String) 识别字符是否有指定的读音。
IsHomophone(Char) 识别给出的字符是否是实例字符的同音字。
静态成员 IsHomophone(Char, Char) 识别给出的两个字符是否是同音字。
IsPolyphone 获取这个字符是否是多音字。
静态成员 IsValidChar(Char) 识别给出的字符串是否是一个有效的汉字字符。
静态成员 IsValidPinyin(String) 识别给出的拼音是否是一个有效的拼音字符串。
静态成员 IsValidStrokeNumber(Int16) 识别给出的笔画数是否是一个有效的笔画数。
PinyinCount 获取这个字符的拼音个数。
Pinyins 获取这个字符的拼音。
StrokeNumber 获取这个字符的笔画数。
< type="text/javascript">
其他信息请参与随机安装的chm帮助文件。