2013-09-25 23 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 ; 

     }