多语言窗口形式

本文关键字:窗口 语言 | 更新日期: 2023-09-27 18:15:12

我正在开发支持两种语言阿拉伯语和英语的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资源文件,它没有显示表单的标签值。即使选择的语言是阿拉伯语,它也总是只显示英文的标签。

多语言窗口形式

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