我正在尝试设置一个 Windows 窗体登录屏幕,该屏幕使用用户的语言来设置课程的德语或英语。我已在项目的属性中设置了.resx
文件,但我无法弄清楚为什么表单始终以英文显示。
我回顾了如何在 C# 中使用本地化和如何在 winforms 中制作多语言应用程序,这是我找到有关设置Strings.resx
和Strings.de.resx
文件的信息的地方,但是当我将 UI 语言设置为德语时,文本始终显示为英语。在 LoginForm 属性上,我已Localizable
设置为True
。
由于我希望应用程序使用正确的语言加载屏幕,因此我将所有代码放置在加载事件中:
private void LoginForm_Load(object sender, EventArgs e)
{
// Check system language
CultureInfo Language = CultureInfo.CurrentUICulture;
// Check if system language is set to German or English, and display
// login screen elements as appropriate
if (Language.Name.ToString() == "Deutsch")
{
LoginLabel.Text = Properties.Strings.LoginLabel;
UserLabel.Text = Properties.Strings.UserLabel;
PasswordLabel.Text = Properties.Strings.PasswordLabel;
LoginButton.Text = Properties.Strings.LoginButton;
ExitButton.Text = Properties.Strings.ExitButton;
}
}
我知道我可能错过了一些简单的东西,但我无法弄清楚。如果需要,我可以手动将文本字段设置为德语版本,但.resx如果可能的话,我宁愿将其在文件中分开。
FFIVE