如何本地化Windows窗体中的内联字符串?

时间:2013-09-25 09:12:21

标签: c# localization windows-forms-designer

我想本地化我的C#windows窗体应用程序。我通过逐个设置语言和值来处理控件上的字符串,我有form1.en.resx和form1.fr.resx,当我运行它时,我按照预期工作(法语用法语pc英语在英语pc中)。但我无法找到如何为代码中的其他字符串执行此操作。假设我有:

MessageBox.Show("Hello world");

我相信我需要像

这样的东西
MessageBox.Show(Resources.Helloworld);

根据pc的语言,它应该像其他控制文本一样选择rigth资源值。做这种事的有什么方法?

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分: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 ;

        }