我花了差不多8个小时来寻找一个如何摆脱那个怪异的例外的答案。我有一个C#应用程序,需要本地化为多种语言。我正在使用父级语言名称作为资源文件,例如对于英语,我的resX文件是lang.en.resx
,而捷克语是lang.cs.resx
。所以我对en-US,en-GB等语言变体并不感兴趣。
我的应用程序的默认命名空间是GSMMaster,我的应用程序是GSMMaster。我的资源管理器构造如下:
if (!_autoDetectLanguage)
_currentCulture = CultureInfo.CreateSpecificCulture(_selectedLanguage);
else
_currentCulture = CultureInfo.GetCultureInfo(CultureInfo.CurrentCulture.Name);
_rManager = new ResourceManager("GSMMaster.lang", Assembly.GetExecutingAssembly());
我有两个resX文件:捷克语和英语。捷克的工作很好,但英国人抛出了这个例外。 到目前为止,我已经尝试了所有我没有找到运气的选项。有没有人有这种行为的经验?一种语言资源有效,第二种没有?或者,是否有一些关于如何创建这些文件的传统方法?
非常感谢。