值得期待的 Microsoft Visual Studio International Pack

值得期待的 Microsoft Visual Studio International Pack

Microsoft Visual Studio International Pack 1.0 版 Beta1

Microsoft Visual Studio International Pack 1.0 版 (2008/04/10)

概觀

.NET 程式開發人員要建立一個全球化的應用程式, 必須有各式各樣不同文化及語系上的不同功能. Visual Studio International Pack 中包括了一組類別庫以滿足這樣的需求. Visual Studio International Pack 1.0版本針對亞洲的四個不同語系, 提供了以下七個不同的元件來加強 .NET Framework 在全球化(globalization)功能上的支援.
  • 東亞語系數字格式化類別庫 - 可以將數值資料格式化成中文繁體, 中文簡體, 日文以及韓文的數值大寫字串.
  • 日文 Kana 轉換類別庫 - 可以將 Kana 字元組轉換至其他日文的表示方法.
  • 日文文字對齊類別庫 - 可以在應用程式中產生出日文特有的文字對齊字串.
  • 日文 Yomi 自動完成類別庫 - 提供一個類別庫及 TextBox 控制項範例以支援可感應日文輸入法的自動完成功能.
  • 韓文自動完成TextBox 控制項- 提供一個 TextBox 控制項以支援可感應韓文輸入法的自動完成及 Intellisense 功能.
  • 簡體中文拼音轉換類別庫 - 可幫助應用程式取得簡體中文字元的拼音及筆劃等資訊.
  • 中文繁簡轉換類別庫及 Add-In 工具 - 可幫助應用程式轉換中文繁體字串至中文簡體, 或是由簡至繁體. 此元件也包括了一個 Visual Studio 的 Add-In 工具, 可以將資源檔中的字串做繁簡轉換. 讓使用者快速的開發出兩岸三地的應用程式.

雖然不太想談政治,但是會不會是因為是台灣拼音方式太多又不統一(通用拼音、漢語拼音),所以微軟不打算做 "繁體"中文拼音轉換類別庫

實驗其中 EastAsiaNumericFormatter 類別

  1. EastAsiaNumericFormatter.FormatWithCulture ( "L", 123456.789, null, new CultureInfo( "zh-tw" ) );
  2. // 拾貳萬參仟肆佰伍拾陸點柒捌玖
  3. EastAsiaNumericFormatter.FormatWithCulture ( "Ln", 123456.789, null, new CultureInfo( "zh-tw" ) );
  4. // 十二萬三千四百五十六.七八九
  5. EastAsiaNumericFormatter.FormatWithCulture ( "Lc", 123456.789, null, new CultureInfo( "zh-tw" ) );
  6. // 拾貳萬參仟肆佰伍拾陸點柒捌
  7. EastAsiaNumericFormatter.FormatWithCulture ( "L", 10002.03, null, new CultureInfo( "zh-tw" ) );
  8. // 壹萬零貳點零參
  9. EastAsiaNumericFormatter.FormatWithCulture ( "Ln", 10002.03, null, new CultureInfo( "zh-tw" ) );
  10. // 一萬○二.○三
  11. EastAsiaNumericFormatter.FormatWithCulture ( "Lc", 10002.03, null, new CultureInfo( "zh-tw" ) );
  12. // 壹萬零貳點零參


實驗 ChineseConverter 類別作簡繁轉換,比起之前用 Word 作簡繁轉換 果然輕鬆愉快多了。

  1. using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
  2. private void button1_Click( object sender, EventArgs e)
  3. {
  4.   // 繁轉簡: 光碟 -> 光盘
  5.   // 滑鼠 -> 鼠标
  6.   // 硬碟 -> 硬盘
  7.   // 試算表 -> 电子表格
  8.   // 生物資訊 -> 生物信息
  9.   // 警察 -> 警察
  10.   // 公安 -> 公安
  11. textBox1.Text = ChineseConverter.Convert (textBox1.Text, ChineseConversionDirection.TraditionalToSimplified );
  12. // 簡轉繁:
  13. // textBox1.Text = ChineseConverter.Convert(textBox1.Text, ChineseConversionDirection.SimplifiedToTraditional);
  14. }


ChineseConverter 類別說明檔中:
如果使用者系統中安裝了 Microsoft Office 提供的轉換引擎,這個類別就會叫用他,否則將使用 Windows API 進行轉換。與 Windows API 簡單的字對字轉換不同,Microsoft Office 2007 的繁體/簡體轉換引擎可以按詞對詞轉換,大大提高了轉換的品質。 (所以骨子裡還是需要 Word 來幫忙,才會有好的翻譯品質)