ASP.NET MVC: проблемы с локализацией (неправильный файл resx для культуры) - PullRequest
4 голосов
/ 11 марта 2010

У меня есть 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 в библиотеке классов ??

Что мне здесь не хватает?

Ответы [ 2 ]

3 голосов
/ 11 марта 2010

У вас есть где-нибудь язык нейтральных ресурсов? Если для него установлено значение "nl" или "nl-NL", любой запрос ресурса, который не найден, в конечном итоге приведет к получению ресурса "nl". Поскольку у вас нет Strings.en-US.resx или Strings.en.resx, установка CurrentUICulture в "en-US" заставит систему использовать нейтральный язык ресурсов.

0 голосов
/ 11 марта 2010

проверьте, не содержит ли ваш web.config тег глобализации с языком, установленным на голландский

или

если вы используете Internet Explorer, перейдите в меню «Инструменты»> «Свойства обозревателя» и нажмите кнопку «Язык», если вместо английского отображается английский, измените его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...