ASP.NET本地化 - 使用默认资源

时间:2010-03-26 11:45:36

标签: asp.net localization resources

考虑到以下设置,我遇到了麻烦:

  • 操作系统是Windows 7英语,格式是德语(德国),位置是德国
  • 我的应用程序(MVC2,.NET 4)包含2个资源文件,Labels.resx(包含德语内容)和Labels.en.resx(包含英文内容)
  • CurrentCulture和CurrentUICulture很早就设置为de-DE(通过初始化控制器)

但是框架选择使用Labels.en.resx而不是使用我期望的,默认的。那么为什么后备机制在这里不起作用呢?有什么想法吗?

2 个答案:

答案 0 :(得分:1)

似乎是与ASP.NET 4.0相关的错误。在针对3.5编译项目时,所有工作都按预期进行。

答案 1 :(得分:0)

看起来后备的工作方式有点不同。

如果您将浏览器语言设置为例如。

Polish (pl), English GB (en-GB), English (en)

并且您有相应的资源文件+默认资源文件(例如Literals.pl.resx,Literals.en-GB.resx,Literals.en.resx,Literals.resx) 后备机制将会:

  • Literals.pl.resx - > Literals.resx(如果您在浏览器中首先使用波兰语)
  • Literals.en-GB.resx - > Literals.en.resx - > Literals.resx(如果您的浏览器首先使用英语GB)

后备适用于语言环境,而非语言。