3

我有这种格式的各种语言资源文件:MyApplication\Resources\MyForm\Index.resx

我可以访问当前培养的资源文件。但是,如果我想找到一个不同的文化资源文件(比如,Index.de.resx),我正在努力寻找一种方法来获得它。

ci = new System.Globalization.CultureInfo("de");
rm = new ResourceManager("MyApplication.Resources.MyForm", Assembly.GetExecutingAssembly());
lg = rm.GetString("Lang", ci);      

我得到的错误说:

找不到适合指定区域性或中性区域性的任何资源。确保“MyApplication.Resources.MyForm”在编译时被正确嵌入或链接到程序集“BallotApplication”中,或者所有所需的附属程序集都是可加载的并且是完全签名的。

我的资源文件是公开的,构建操作是“嵌入式资源”。

4

1 回答 1

2

您的资源文件已正确命名,但是,您没有设置完整且正确的CultureInfo.

必须是全名IEde-DE

完整的代码分为语言 ( de) 部分和国家 ( DE) 部分,用-连字符分隔。

ci = new System.Globalization.CultureInfo("de");

应该

ci = new System.Globalization.CultureInfo("de-DE");

其他例子是:

  1. en-US= 英语美国
  2. en-CA= 加拿大英语
  3. en-GB= 英语大不列颠
  4. fr-CA= 法属加拿大
  5. fr-FR= 法国 法国

有关CultureInfo的更多信息。

于 2012-11-29T17:14:47.873 回答