我有以这种格式的各种语言资源文件: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”中,或者所有所需的附属程序集都是可加载和完全签名的。
我的资源文件是公共的,构建操作是“嵌入式资源”。
答案 0 :(得分:2)
您的资源文件已正确命名,但是,您没有设置完整且正确的CultureInfo
。
它必须是全名I.E de-DE
完整代码分解为语言(de
)部分和国家/地区(DE
)部分,由-
连字符分隔。
ci = new System.Globalization.CultureInfo("de");
应该是
ci = new System.Globalization.CultureInfo("de-DE");
其他例子如下:
en-US
=英文US en-CA
=英语加拿大en-GB
=英国英国fr-CA
=法国加拿大fr-FR
=法国法国有关CultureInfo的更多信息。