Microsoft Visual Studio International Pack 1.0 SR1————微软的一个类库
地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=15251
Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持。使用该类库提供的类,.NET 开发人员可以更方便的创建支持多文化多语言的软件应用。SR1 包含对 Japanese Kana Conversion Library 和 Japanese Yomi Auto-Completion Library 中软件缺陷的修正。
网上可以找到很多汉字转拼音的类库,但是由于汉语文化的博大精深(多音字太多),所以转换实际效果并不理想。在此收藏记录此微软提供的类库以备不时之需。
该类库的功能概述
Microsoft Visual Studio International Pack 1.0版 包括以下功能:
East Asia Numeric Formatting Library - 支持将小写的数字字符串格式化成简体中文,繁体中文,日文和韩文的大写数字字符串。
Japanese Kana Conversion Library - 支持将日文假名(Kana)转化为另一种日文字符。
Japanese Text Alignment Library - 支持日文特有的一种对齐格式。
Japanese Yomi Auto-Completion Library - 类库支持感知日文输入法的输入自动完成和一个文本框控件的示例。
Korean Auto Complete TextBox Control - 支持韩文输入法的智能感知和输入自动完成的文本框控件。
Simplified Chinese Pin-Yin Conversion Library - 支持获取简体中文字符的常用属性比如拼音,多音字,同音字,笔画数。
Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool - 支持简繁体中文之间的转换。该组件还包含一个Visual Studio集成开发环境中的插件(Add-in)支持简繁体中文资源文件之间的转换。
Visual Studio International Feature Pack 2.0 是对 1.0 版本的扩展,包含一组控件和类库:
Yomigana Framework 包含了类库和控件。
类库:Yomigana 类库容许对串(string)类型加注 Yomigana,同时也支持对一般类型的注解功能,任何实现了IEnumerable接口的对象都可以被串类型和泛型的实例注解。为了简化复杂的注解字符串比较特设计了支持各种日文比较选项的比较类型。
通用的一些类,用泛型实现对一个可枚举的类型注音。
特殊目的的一些类,用以上泛型实现对一个字符串用某种类型中注音。
特殊目的的一些StringAnnotation 类,用以上泛型实现对一个字符串用字符串注音,包括解析和格式化功能。
一个比较器类,使用以上类实现比较字符串。
一个实现了 IEnumerable <string> 的数据结构,把一个字符串分成枚举的字符串段,并用 IEnumerator <string> 输出。
控件:
增强的Ajax/WPF/WinForm 文本框(TextBox)控件 用来根据用户的输入捕获读音。
一个增强的使用Ruby标签的ASP.NET Label控件。
Chinese Text Alignment Class Library and TextBox Controls 包含支持简体中文文本对齐的WinForm 和 WPF 的TextBox控件, 以及供帮助开发人员很容易地按中文文本对齐显示字符串的一个类库。
Chinese Auto Complete Class Library and TextBox Controls 包含支持感知简体中文和繁体中文输入法并自动完成的WinForm 和 WPF 的TextBox控件, 以及供开发人员很容易地向标准控件添加感知输入法并自动完成功能的一个类库。
Korean Auto Complete Class Library and ComboBox Controls 包含支持感知韩语输入法并自动完成的WinForm 和 WPF 的ComboBox控件, 以及供开发人员很容易地向标准控件添加感知输入法并自动完成功能的一个类库。
Numeric Formatting Class Library 包含支持五种语言的数字格式化成文字的类, 2.0 版支持格式化阿拉伯数字为阿拉伯文字。
可见,这个类库在开发国际化程序时是非常实用的。
类库使用
这里贴一篇博客:http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html
实现起来很简单,想不起来过来查。。。。。。
帮助文档部分介绍
汉字转拼音:
成员 | 描述 |
---|---|
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 | 获取这个字符的笔画数。 |
简单使用
添加引用:
using Microsoft.International.Converters.PinYinConverter;
using System.Text;
protected void Button1_Click(object sender, EventArgs e)
{
TextBox2.Text = GetCHtoPY(TextBox1.Text);
}
/// <summary>
/// 汉字字符转换为大写全拼拼音
/// </summary>
/// <param name="Input">指定要转换的字符</param>
public string GetCHtoPY(string Input)
{
string Output = "无效转换";
if (!string.IsNullOrEmpty(Input))
{ StringBuilder str = new StringBuilder();
//遍历用户输入的字符串中的每一个字符
for (int i = 0; i < Input.Length; i++)
{
//判断这个字符是不是合法字符
if (ChineseChar.IsValidChar(Input[i]))
{
//获取该汉字的拼音
ChineseChar chn = new ChineseChar(Input[i]);
if (chn.Pinyins.Count > 0)
{
string py = chn.Pinyins[0].Substring(0, chn.Pinyins[0].Length - 1);
str.Append(py);
}
//for (int j = 0; j < chn.Pinyins.Count; j++)
//{
// TextBox2.Text += "+++" + chn.Pinyins[j] + "++";
//}
}
Output = str.ToString();
}
}
return Output;
}
待续···