使用本地化和语言属性我已经翻译了我的 Form1。
在 Form1_Load 事件中,我想为标签、按钮等设置文本......
private void Form1_Load(object sender, EventArgs e)
{
SetLanguage();
}
SetLanguage 方法:
private void SetLanguage()
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("de");
System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(Form1));
button1.Text = rm.GetString("button1.Text");
linkLabel1.Text = rm.GetString("linkLabel1.Text");
checkBox1.Text = rm.GetString("checkBox1.Text");
}
但它不起作用,它总是选择“默认/后备”英文字符串(但设置了 de CultureInfo)。我完全不知道出了什么问题......我在一个新的示例应用程序中使用了相同的代码,它在这个小示例应用程序中工作。但在我的实际应用程序中它不起作用。
还明确告诉 ressourcemanager 使用什么文化会返回英文字符串而不是德文:
MessageBox.Show(rm.GetString("button1.Text", new System.Globalization.CultureInfo("de")));
有任何想法吗?