【问题标题】:Why does my Localizable WinForm only show the English view?为什么我的 Localizable WinForm 只显示英文视图?
【发布时间】: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


【解决方案1】:

要更改 UI 文化,您必须设置:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-MX");

我认为这应该可以解决您的问题。

有关详细信息,请阅读 MSDN 中的 this page

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多