共用方式為


測試當地語系化的應用程式

現在,您終於可以開始測試已當地語系化的應用程式。測試當地語系化時最常用的方法,需要為每個要測試的文化特性,準備一台執行當地語系化版作業系統的電腦。這可能需要很多台電腦,視應用程式的發佈範圍而定。另一個方法是安裝 Windows 2000 多語系使用者介面 (Multilingual User Interface,MUI) 版本,它內建支援多種語言,而且可以重新設定電腦,不必安裝新的作業系統。雖然這種方法可能適用於某些開發案例,但是 MUI 版 Windows 2000 的發佈並不廣泛。

大部分開發人員會選擇變更現用執行緒的 CurrentThread.CurrentUICulture 屬性,來模擬不同的文化特性。這個教學課程前面介紹的幾個範例中的命令列引數,影響了載入的資源。這種程式碼是很直接的。首先必須傳入所需文化特性標記,這可以用程式碼來執行,請參閱 WorldCalc.cs 檔案中的下列 Visual C# 程式碼。

public static void Main(string[] args) {
   string strCulture = "";
   if (args.Length == 1) {
         strCulture = args[0];
   }
   Application.Run(new VersioningDemo(strCulture));
} 

接著,類別建構函式使用文化特性標記來建立 CultureInfo,並且將它指定給目前執行的執行緒,請參閱下列程式碼。

public VersioningDemo(string culture) {
  if (culture != "") 
      try {
          Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
      }
      catch (ArgumentException e){
          MessageBox.Show(this, e.Message, "Bad command-line argument");
      }
  InitializeComponent();
}

WorldCalc.vb 檔案中的同等 Visual Basic 程式碼,稍有不同。Visual Basic 不允許將參數傳給 Main,因而必須改用 GetCommandLineArgs 方法,請參閱下列程式碼。

<System.STAThreadAttribute()> _
Public Shared Sub Main()
   Dim args() As String = System.Environment.GetCommandLineArgs()
   Dim strCulture As String = ""
   If args.Length = 2 Then
      strCulture = args(1)
   End If
   Application.Run(New VersioningDemo(strCulture))
End Sub 'Main

下列程式碼顯示出對應的 Visual Basic 類別建構函式 New,更接近同等的 Visual C#。

Public Sub New(culture As String)
   If culture <> "" Then
      try 
         Thread.CurrentThread.CurrentUICulture = New CultureInfo(culture)
      catch e as ArgumentException
         MessageBox.Show(Me, e.Message, "Bad command-line argument")
      end try
   End If 
   InitializeComponent()
End Sub 'New

這個方法能讓開發人員測試當地語系化的大部分資源,不必另外設定多台電腦。