多语言窗口形式

时间:2011-11-17 14:54:20

标签: c# winforms globalization resource-files

我正在开发支持两​​种语言阿拉伯语和英语的Windows应用程序。我想在运行时更改表单的UI(标签)。用户最初选择的哪种语言应该以该语言显示。为此我设置了以下键

如果用户选择英语

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

如果用户选择阿拉伯语

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

当我在visual studio中运行应用程序时,这很好用。所有表格都根据当前选择的UI文化进行。

但是在机器上安装此应用程序的MSI之后,根据CurrentUICulture资源文件,它没有显示表单的标签值。即使所选语言为阿拉伯语,它也始终以英文显示标签。

1 个答案:

答案 0 :(得分:0)

我通过执行以下步骤找到了此查询的解决方案。 - 实际上在创建应用程序的安装程序时,它会映射资源dll文件夹,因此只在部署项目中添加“project.resources.dll”是不够的。 - 在Application文件夹下添加一个文件夹(名称与bin-> dubug下包含resource.dll的文件夹名称相同),然后在其下添加“project.resources.dll”。 - 它将解决问题 - >如果所选语言是阿拉伯语,所有标签都将以阿拉伯语出现