asp.net - 访问不同培养的资源文件

标签 asp.net asp.net-mvc-3 satellite-assembly

我有这种格式的各种语言资源文件: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);      

我得到的错误是:

Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "MyApplication.Resources.MyForm" was correctly embedded or linked into assembly "BallotApplication" at compile time, or that all the satellite assemblies required are loadable and fully signed.

我的资源文件是公开的,Build Action 是“Embedded Resource”。

最佳答案

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

需要是全名I.E de-DE

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

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

应该是

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

其他例子是:

  1. en-US = English US
  2. en-CA = 加拿大英语
  3. en-GB = English Great Britain
  4. fr-CA = 加拿大法语
  5. fr-FR = 法语法国

有关 CultureInfo 的更多信息.

关于asp.net - 访问不同培养的资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630064/

相关文章:

c# - 如何重构 ASP.NET 应用程序

c# - 如何防止 ToString ("0,0") 返回 00

c# - 如何从同一解决方案中的第二个项目的 Controller 派生

asp.net-mvc-3 - 尝试根据 Orchard (NHibernate) 中的枚举保存复选框选择

c# - StaticResource 资源在外部程序集中?

asp.net - 页面指​​令继承属性

c# - 匿名对象内的条件运算符

asp.net - 暂存应用程序错误 : App staging failed in the buildpack compile phase in HWC Buildpack

asp.net - 在 ASP.NET 中覆盖标准程序集中的资源

msbuild - 是什么决定了卫星装配的目标框架版本?