使用附属程序集进行本地化将返回默认语言
本文关键字:返回 默认 语言 本地化 附属程序集 | 更新日期: 2023-09-27 18:30:16
我正在尝试使用附属程序集本地化我的应用程序。我试着关注这个博客: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);
这将返回英语字符串而不是荷兰语字符串。当我调试并查看全局并查看资源管理器正在使用的资源集时,我看到三个资源集:"nl"、"nl-NL"和",这三个资源中都有英文字符串值。
谁能告诉我我做错了什么?
提前谢谢。
我最终发现了问题所在,
问题是生成的用于初始化资源管理器的代码如下所示:
ResourceManager rm = new ResourceManager("LocalizationLab.Global", typeof(Global).Assembly);
经过一番困惑,我发现应该是这样的:
ResourceManager rm = new ResourceManager("Global", typeof(Global).Assembly);
这奏效了!