我正在开发一个需要本地化的 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;
请建议我如何进行此操作..