如何在Winforms中制作多语言应用

我有一个应用程序,需要在该应用程序中使用两种语言(例如,英语和阿拉伯语),但是我不知道该怎么做。有人可以帮我吗?我需要C#Windows窗体中的一些示例。



哔哔one
浏览 512回答 3
3回答

江户川乱折腾

在某些情况下,使用资源文件可能会更容易。将新的资源文件添加到Visual Studio中的项目。例如。en.resx对于英语,fr.resx对于法语。打开资源文件,在字符串中,命名您的字符串,然后在值单元格中放置其他翻译。例如:next station的在值en.resx就是next station但fr.resx可以Prochaine station。在代码中,用于public static ResourceManager rm = new ResourceManager("WindowsFormsApp1.en_local", Assembly.GetExecutingAssembly()); 选择语言资源。当您需要向应用程序输出任何字符串时,请使用function GetString(),例如label1.Text = rm.GetString("welcome");

开心每一天1111

wwjih123的答案中缺少一些内容。在VS2017中首先,首先在项目根文件夹(不在Resources文件夹中)中创建资源。命名为lang_en,lang_tr,lang_fr等...2-然后对象属性窗口将“生成”操作保留为“嵌入式资源”在lang_tr.resx文件的3边添加土耳其语的新字符串lbl_error和值“ Hata”(无论您喜欢什么)4-在类内部定义变量为:    ResourceManager res_man;    // declare Resource manager to access to specific cultureinfo在InitializeComponent()之后进行5 in类初始化;Console.WriteLine("You are speaking {0}", System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName);res_man = new ResourceManager("MyApp.lang_"+ System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName, Assembly.GetExecutingAssembly());lblError.Text = res_man.GetString("lbl_error");如果您的ui语言是土耳其语,它将自动加载lang_tr.resx,如果是英语,则将加载lang_en.resx文件,依此类推...祝好运
打开App,查看更多内容
随时随地看视频慕课网APP