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協助檔案。