2013-09-25 24 views
0

我想本地化我的C#窗體表單應用程序。我通過逐一設置語言和值來處理控件上的字符串本地化,並且我有form1.en.resx和form1.fr.resx,並且當我運行它時按我的預期工作(法語在法語pc中,英語爲pc )。但我無法知道我將如何爲代碼中的其他字符串執行此操作。比方說,我有:如何本地化Windows窗體字符串中的內嵌字符串?

MessageBox.Show("Hello world"); 

我相信我需要這樣的東西

MessageBox.Show(Resources.Helloworld); 

而且根據其他控制文本做到這一點應選擇分辯資源價值PC的語言。做這種事的方法是什麼?

我試過resharpers Move to resource選項。但它只是移動到項目的資源,因此我無法指定任何語言選項。

任何幫助,將不勝感激。

+0

[此鏈接] [1]是真的是我一直在尋找。謝謝。 [1]:http://stackoverflow.com/questions/1142802/how-to-use-localization-in-c-sharp –

回答

0

你可以嘗試這樣的事:

public enum myResource 
    { 
     HelloWorld, 
     ByeWorld 
    } 



public string GetText(myResource someRes) 
     { 
      string sText = ""; 
      switch (someRes) 
      { 
       case someRes.HelloWorld: 
        sText = "Hello World"; 
        break; 
       case someRes.ByeWorld: 
        sText = "ByeWorld"; 
        break; 
       default: 
        sText = "Empty..."; 
        break; 
      } 

      return sText ; 

     }