我正在尝试本地化我的应用程序。我最初是用(标准)或(默认)本地化的英语来编写的(我的Visual Studio是德语的,所以我不确定它的英文叫什么)。
Visual Studio的默认本地化似乎是en-US
,我用de
再次用德语编写了整个内容。
我有两个用于更改语言的按钮,均带有单击事件。事件处理程序如下所示:
private void EnglishButton_Click(object sender, EventArgs e)
{
if(Thread.CurrentThread.CurrentUICulture != CultureInfo.GetCultureInfo("en-US"))
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
this.Controls.Clear();
InitializeComponent();
Application.OpenForms[0].Activate();
this.Activate();
}
}
对于de
,我做了同样的事情,只是使用de
而不是en-US
。
这很好,冻结已修复。但是,有一件我不喜欢的事情:如您在上面所看到的,我需要从窗口中移出焦点并将焦点返回到窗口,否则在切换语言后我无法与窗口进行交互。
对我个人而言,这很好,但是我担心这可能会导致视力障碍人士的烦恼。你怎么看?这样可以吗?还是有更好的方法?