我尝试使用附属程序集本地化我的应用程序。 我试图关注此博客:http://msdn.microsoft.com/en-us/library/21a15yht(v=vs.110).aspx
我创建了两个文件,一个文件名为" Global.resx"使用英文字符串,第二个文件的名称为" Global.nl-NL.resx"用荷兰语串。
在此之后,我使用resgen从荷兰文件创建了一个.resources文件。使用al.exe,我创建了一个名为LocalizationLab.resources.dll的.dll,并将其存储在以下文件夹中:/ bin / debug / nl-NL。
在我的应用程序中,我将CurrentUICulture设置为nl-NL。我用Global.test调用该字符串。见下面的
Thread.CurrentThread.CurrentUICulture = new CultureInfo("nl-NL");
Console.WriteLine(Global.Test);
这将返回英文字符串而不是荷兰字符串。当我调试并查看Global并观察资源管理器正在使用的资源集时,我看到三个资源集:" nl"," nl-NL"和""他们三个都有英文字符串值。
谁能告诉我我做错了什么?
提前致谢。
答案 0 :(得分:0)
我最终发现了问题所在,
问题是生成的资源管理器初始化代码如下:
ResourceManager rm = new ResourceManager("LocalizationLab.Global", typeof(Global).Assembly);
经过一番疑惑,我发现它应该是这样的:
ResourceManager rm = new ResourceManager("Global", typeof(Global).Assembly);
哪个有效!