0

我想本地化我的 C# windows 窗体应用程序。我通过一一设置控件的语言和值来处理控件上的字符串本地化,并且我有 form1.en.resx 和 form1.fr.resx 并且当我运行它时,它可以按预期工作(法语在法语 PC 中的英语在英语 PC 中)。但我不知道如何对代码中的其他字符串执行此操作。假设我有:

MessageBox.Show("Hello world");

我相信我需要类似的东西

MessageBox.Show(Resources.Helloworld);

并且根据电脑的语言,它应该像其他控制文本一样选择正确的资源值。做这种事情的正确方法是什么?

我尝试了 resharpersMove to resource选项。但它只移动到项目的资源,因此我无法在其上指定任何语言选项。

任何帮助,将不胜感激。

4

1 回答 1

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 ;

        }
于 2013-09-25T09:21:50.650 回答