我使用下面的短文添加了多语言。
例如,当您添加德语时,您将拥有以下文件: formMain.resx formMain.de-DE.resx formMain.Designer.cs formMain.cs
在第一个文件中,您将拥有中性语言的资源,如字符串、图像、..
因此,现在您还需要为代码中使用的字符串添加资源。添加一个新的资源文件并将其命名为 formMain.Strings.resx 然后我将为每个应该翻译的字符串输入名称、值对。当您添加资源文件时,它会自动输入,因为在每次关闭 resx 设计器时都会自动重新生成另一个名为 formMain.Strings.Designer.cs 的文件。
添加另一个名为 formMain.Strings.de-DE.resx 的资源。从以前的资源中添加相同的名称键,然后用对应的德语单词更改值。现在要从源访问创建的资源,它将是这样的。
MessageBox.Show(formMain_Strings.SameStringName);
但是,我已将我的语言更改为泰语。当我在 VS 中运行我的应用程序时,一切正常。
但是,一旦我添加了一个安装项目并安装在客户端机器上,它就不会将语言更改为泰语,而只会保留默认语言。
因此,我已将资源文件和 th-TH dll 添加到项目设置中。我仍然遇到同样的问题。
Packaging file 'Lang.Strings.resx'...
Packaging file 'MultiLanguage.resources.dll'...
Packaging file 'MultiLanguage.exe'...
Packaging file 'Lang.Strings.th-TH.resx'...
因为在 Visual Studio 中运行时一切正常。安装后我需要做些什么才能让它运行。我拥有的每个文件的所有属性都保留默认值。
非常感谢,
=========
static void Main()
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("th-TH");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}