天天看點

微軟提供對漢語拼音的強大更新支援--Microsoft Visual Studio International Pack

下載下傳位址:

http://www.microsoft.com/downloads/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2-99AEE642FC10&displaylang=zh-cn

概述

Visual Studio International Pack 包含一組類庫,該類庫擴充了.NET Framework對全球化軟體開發的支援。使用該類庫提供的類,.NET 開發人員可以更友善的建立支援多文化多語言的軟體應用。 該軟體包1.0版提供下面七個元件以增強.NET Framework對全球化軟體應用開發的支援。

  • 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)支援簡繁體中文資源檔案之間的轉換。

釋出的SR1中修正了 Japanese Kana Conversion Library 和 Japanese Yomi Auto-Completion Library 中的軟體缺陷, 其他庫中沒有改動。

系統要求

  • 支援的作業系統: Windows Server 2003 R2 (32-Bit x86); Windows Vista Service Pack 1; Windows XP Service Pack 3
  • 所需軟體: Microsoft Visual Studio 2005 或者 Microsoft Visual Studio 2008, Microsoft .NET Framework 2.0, Microsoft Office 2007 (使用Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool 進行簡繁體中文之間的轉換時需要安裝該元件)

    說明

    1. 請下載下傳Visual Studio International Pack 1.0 SR1 壓縮檔案(zip), 解壓後可以發現7個MSI安裝檔案。

    2. 運作所需元件的MSI檔案安裝該元件。

2009年3月31日,微軟釋出了 Microsoft Visual Studio International Pack 1.0 SR1。Visual Studio International Pack 包含一組類庫,該類庫擴充了.NET Framework對全球化軟體開發的支援。使用該類庫提供的類,.NET 開發人員可以更友善的建立支援多文化多語言的軟體應用。下載下傳位址是:http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn  該軟體包1.0版提供下面七個元件以增強.NET Framework對全球化軟體應用開發的支援。

下載下傳完畢後,進行解壓,裡面有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[i]);

    Response.Write("<li>所有拼音 MENG3 的漢字<br/>");

    ChineseChars = ChineseChar.GetChars("MENG3");

    Response.Write("<li>所有拼音 MENG2 的漢字<br/>");

    ChineseChars = ChineseChar.GetChars("MENG4");

    Response.Write("<li>所有拼音 MENG5 的漢字<br/>");

    ChineseChars = ChineseChar.GetChars("MENG5");

    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章】

 不過:有幾個方面主要注意:

  1. 不清楚這個工具參照的是哪個漢字标準,SDK上也沒有看到說明,“孟”這個字在字典中并不是多音字;
  2. 拼音後面的1,2,3,4,5猜測應當是聲調标記:陰平,陽平,上聲,去聲,輕聲。具體是否是有待查證;

中文簡體與中文繁體之間的轉換比較簡單,下面就是一個将簡體轉換成繁體的代碼:

String simText = "歡迎光臨【孟子E章】";

String traText = ChineseConverter.Convert(simText, ChineseConversionDirection.SimplifiedToTraditional);

Response.Write("<li>繁簡轉換測試:" + traText);

成員類型 成員 描述
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 擷取這個字元的筆畫數。