2

我正在开发一个需要本地化的 WinForm 应用程序。如果我尝试将表单的 Localizable 属性设置为 True 并为所有语言设置文本,那么一切正常。

我想要的是将所有语言资源文件保存在一个单独的文件夹中(每个表单一个文件)。

-Project
   -Resources
      -Language
          frmFirstForm.en-US.resx
          frmFirstForm.en-GB.resx
          frmSecondForm.en-US.resx
          frmSecondForm.en-GB.resx
   frmFirst.cs
   frmSecond.cs

在我的资源文件中,我定义了所有字符串,如下所示:

**Key              Value**
lblName          Name
lblAddress       Address
.....

关键是我的控件名称,我还将在资源文件中保留表单特定的字符串。现在的问题是当我编译解决方案时,它会生成语言文件,但在运行应用程序时它只显示默认值。我什至不知道是否加载了本地化资源文件。此外,虽然我已经指定了两个单独的表单文件,但是在编译系统时只为项目的每种语言生成一个资源文件(意味着 FirstForm 和 SecondForm 没有单独的资源文件)。

有没有办法根据指定的本地化线程更改表单控件?

我已经在我的主应用程序 Program.cs 文件中添加了以下行:

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;

请建议我如何进行此操作..

4

1 回答 1

1

@Ashish:正是你想要的!!!!

于 2013-08-20T12:02:52.363 回答