为什么本地化不起作用

时间:2017-11-26 19:13:25

标签: c# .net winforms localization

我尝试编写简单的C#项目来测试本地化的工作方式。 我做了这里的写作。

https://apps.twitter.com/

我想我在问题/ 1142802中使用相同的内容。 但它在我的演示项目中不起作用。 我无法解释原因。 这就是我附上Demo项目的原因。

我有两个FRA和RUS语言的资源文件。

尝试使用下一个代码切换语言

private void rbFra_Click(object sender, EventArgs e)
{
  System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("fr-Fr");
  Thread.CurrentThread.CurrentUICulture = cultureInfo;
  Thread.CurrentThread.CurrentCulture = cultureInfo;

  textBox1.Text = Properties.Resources.String1;
}

private void rgEng_Click(object sender, EventArgs e)
{
  System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-US");
  Thread.CurrentThread.CurrentUICulture = cultureInfo;
  Thread.CurrentThread.CurrentCulture = cultureInfo;

  textBox1.Text = Properties.Resources.String1;
}

private void rbRus_Click(object sender, EventArgs e)
{
  System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ru-RU");
  Thread.CurrentThread.CurrentUICulture = cultureInfo;
  Thread.CurrentThread.CurrentCulture = cultureInfo;

  textBox1.Text = Properties.Resources.String1;
}

但结果总是用英语。

我认为Thread.CurrentThread.CurrentUICulture = ...应强制重新加载资源文件,String1从加载的资源返回文本。

这是DemoProject How to use localization in C#

https://yadi.sk/d/4zEWVhso3Q4eqV

enter image description here

enter image description here

enter image description here

0 个答案:

没有答案