我想本地化我的C#windows窗体应用程序。我通过逐个设置语言和值来处理控件上的字符串,我有form1.en.resx和form1.fr.resx,当我运行它时,我按照预期工作(法语用法语pc英语在英语pc中)。但我无法找到如何为代码中的其他字符串执行此操作。假设我有:
MessageBox.Show("Hello world");
我相信我需要像
这样的东西MessageBox.Show(Resources.Helloworld);
根据pc的语言,它应该像其他控制文本一样选择rigth资源值。做这种事的有什么方法?
我尝试了resharpers Move to resource
选项。但它只移动到项目的资源,因此我无法在其上指定任何语言选项。
任何帮助都将不胜感激。
答案 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 ;
}