Visual Studio International Feature Pack 2.0 是對 1.0 版本( 1.0
版的產品名是 Microsoft Visual Studio International Pack 1.0 SR1)
的擴充,包含一組控制項和類庫,設計用來協助.NET開發人員建立國際化程式。
- Chinese Text Alignment Class Library and
TextBox Controls 包含支援簡體中文文本對齊的WinForm 和 WPF 的TextBox控制項,
以及供協助開發人員很容易地按中文文本對齊顯示字串的一個類庫。
- Chinese Auto
Complete Class Library and TextBox Controls
包含支援感知簡體中文和繁體中文IME並自動完成的WinForm 和 WPF 的TextBox控制項,
以及供開發人員很容易地向標準控制項添加感知IME並自動完成功能的一個類庫。
- Korean Auto
Complete Class Library and ComboBox Controls 包含支援感知韓語IME並自動完成的WinForm 和
WPF 的ComboBox控制項, 以及供開發人員很容易地向標準控制項添加感知IME並自動完成功能的一個類庫。
- Numeric Formatting Class Library 包含支援五種語言的數字格式化成文字的類, 2.0 版支援格式化阿拉伯數字為阿拉伯文字。
- Yomigana Framework 包含了類庫和控制項
- 類庫:
- 通用目的的一些類,用泛型實現對一個可枚舉的類型注音。
- 特殊目的的一些類,用以上泛型實現對一個字串用某種類型中注音。
- 特殊目的的一些StringAnnotation 類,用以上泛型實現對一個字串用字串注音,包括解析和格式化功能。
- 一個比較子類,使用以上類實現比較字串。
- 一個實現了 IEnumerable <string> 的資料結構,把一個字串分成枚舉的字串段,的資料結構,把一個字串分成枚舉的字串段,並用 IEnumerator <string> 輸出。
- 控制項:
- 加強的Ajax/WPF/WinForm textboxes 用來根據使用者的輸入捕獲讀音。
- 一個加強的使用Ruby標籤的ASP.NET Label。
- 使用範例程式碼
- ————————————————————————
using System;
using Microsoft.International.Formatters;
using System.Globalization;
namespace HanZiToPinYinAndNumberToHanZi2._0
{
/// <summary>
/// 工具類
/// </summary>
public class AndersUntils
{
/// <summary>
/// 數字轉化成漢字
/// 911轉化的還是有問題(玖佰拾壹)
/// 正確的應為(玖佰壹拾壹)
/// 原因是這個類庫中有一行處理整數十這一位時過慮掉了10這種情況,呵呵
/// </summary>
/// <param name="number"></param>
public static void ConvertNumberToHanZi(double number)
{
Console.WriteLine("開始轉化..........");
string strConvertResult = "";
//1.0的寫法(小數點後兩位而且沒有四捨五入機制)
EastAsiaNumericFormatter eastAsiaNumericFormatter = new EastAsiaNumericFormatter();
strConvertResult = string.Format(new EastAsiaNumericFormatter(), "{0:Lc}", number);
//2.0的寫法(小數點後面三位有了四捨五入的機制)
strConvertResult = InternationalNumericFormatter.FormatWithCulture("L", number, null, new CultureInfo("zh-CHS"));
Console.WriteLine("數字" + number.ToString() + "的大寫形式為:" + strConvertResult);
Console.WriteLine("處理結束,按任意鍵退出程式.....");
Console.ReadLine();
}
}
static class Program
{
/// <summary>
/// 應用程式的主進入點。
/// </summary>
[STAThread]
static void Main()
{
// 處理數字和漢字之間的轉化
AndersUntils.ConvertNumberToHanZi(789111.23456789);
// textBox的對齊的控制(個人認為沒嘛特別之處)
// Application.Run(new Form1());
// 測試自感應程式的的應用
// Application.Run(new Form3());
// 自動翻譯(日文的還差強人意,韓文的就翻譯不出來了)
// Application.Run(new Form4());
}
}
}