我已经实现了一个Windows窗体应用程序,在此应用程序中包含更多用户输入到应用程序。所以目前在设计中我使用英语作为默认语言..所以现在我想给用户提供多语言支持选项..so我们如何在Windows窗体应用程序中实现它?
答案 0 :(得分:1)
您可以尝试使用名为satellite assemblies的标准微软功能。只需设置Localizible = true
格式,然后将Language = FR
设置为法语,即可将其翻译成不同的语言。 IDE将创建多个资源,您将看到每个语言作为exe-file附近的文件夹。要切换语言 - 切换当前文化,然后加载/重新加载表单(通过调用它的构造函数):
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr");
Form1 form = new Form1();
form.ShowDialog();
另一种方法是使用现成的东西(抱歉,不要使用它们)。
最后一种可能性是实现自己的本地化。例如,通过使用反射和自定义转换表。通过这种方式,可以快速切换语言 ,将翻译构建到软件中或创建自己的工具来维护翻译。在过去,我有工具从资源生成文本文件,然后返回,以便能够将文件发送给某人。
分步指南:
label1
添加到form1
,form1.Localizable=true
,form1.Language = fr
并更改label1.Text=FR
,form1.Language
(因此您应该再次看到label1.Text=label1
),form1
上带有“label1”文字,现在转到Program.cs:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// add this line
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr");
Application.Run(new Form1());
再次启动应用程序,您会看到form
上有“FR”文字。
答案 1 :(得分:0)
链接:
http://msdn.microsoft.com/en-us/library/aa289763%28v=vs.71%29.aspx