【问题标题】:ASP.NET MVC: Localization issues (wrong resx file for culture)ASP.NET MVC:本地化问题(文化的错误 resx 文件)
【发布时间】:2010-03-11 22:24:48
【问题描述】:

我有一个Strings.resx 和一个Strings.nl.resx 文件。 第一个包含英语字符串,另一个包含荷兰语字符串。它们是C# Class Library 项目的一部分:Module

 public static string testString()
 {          
      //I Force the culture to always be english
       Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
       Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
       return Strings.Hello;
 }

当我通过简单的Console Application 给他们打电话时,它可以工作:

  Console.WriteLine(Module.testString()); //English string gets returned

当我在 ASP.NET MVC 应用程序中执行相同操作时,我得到的是荷兰语版本...

    public ActionResult testCulture()
    {
        return Content(Module.testString()); //Dutch string gets returned..?!
    }

我使用的是荷兰语 Windows,所以任何自动设置都将是荷兰语。但是当文化在类库中被硬编码为 en-us 时,如何获得不同的字符串??

我在这里缺少什么?

【问题讨论】:

    标签: c# asp.net-mvc localization


    【解决方案1】:

    您是否在任何地方指定了中性资源语言?如果将其设置为"nl""nl-NL",则任何对未找到资源的请求最终都会获取"nl" 资源。由于您没有Strings.en-US.resxStrings.en.resx,将CurrentUICulture 设置为"en-US" 将使系统使用中性资源语言。

    【讨论】:

      【解决方案2】:

      检查您的 web.config 是否没有将语言设置为荷兰语的全球化标签

      如果您使用 Internet Explorer,请转到工具 > 互联网选项并单击语言按钮,如果它在英语之前显示荷兰语,请更改它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-06
        • 2017-08-10
        • 1970-01-01
        • 2013-06-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多