【发布时间】:2015-12-18 15:13:45
【问题描述】:
我有一个 WinForm,我在其中启用了 Localizable。我将语言更改为en-US 并保存。然后我将语言更改为es-MX 将我所有的标签、列标题和按钮文本更改为西班牙语并保存。我现在可以在两个表单之间来回切换。
我运行了这个程序,英文视图就很好了。我编辑了该表单的代码隐藏,并将以下行放在表单构造函数的末尾:
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX");
我再次运行程序,仍然出现英文视图。我的OnLoad 方法中有一个Debug 语句,它写入了当前的文化,它显示es-MX。我错过了哪一步?
【问题讨论】:
-
“最后”为时已晚,它必须出现在 InitializeComponent() 调用之前。更好的是,在您的 Main() 方法中。您还必须设置 CurrentUICulture。并且不要因为它已经在墨西哥用户的机器上正确设置。
-
我将文化设置移到构造函数的顶部。我无法通过 OnLoad 方法让它工作。我现在只是测试,我知道用户工作站的设置应该是语言设置的基础。
标签: c# winforms localization