ASP .NET Core 1.0 RTM Локализация не работает

Я пытался реализовать локализацию для моего веб-приложения .NET Core 1.0 RTM следующимдокументация microsofts и я просто не могу заставить его работать. У меня проблема в том, что он всегда отображает строки из английского файла ресурсов, независимо от того, как я пытаюсь установить культуру.

Если у кого-то есть 5 минут своего времени, я был бы очень благодарен за ваш вклад.

Вот мой контент Startup.cs, касающийся локализации:

public void ConfigureServices(IServiceCollection services)
{
  ...
  services.AddMvc()
    .AddViewLocalization(LanguageViewLocationExpanderFormat.SubFolder)
    .AddDataAnnotationsLocalization();
  services.AddScoped<LocalizationFilter>();
  services.AddLocalization(options => options.ResourcesPath = "Resources");

  var supportedCultures = new List<CultureInfo>{
     new CultureInfo("en-US"),
     new CultureInfo("sl-SI"),
     new CultureInfo("de-DE"),
     new CultureInfo("hr-HR")
  };
  services.Configure<RequestLocalizationOptions>(options =>
  {
     options.SupportedCultures = supportedCultures;
     options.SupportedUICultures = supportedCultures;
     options.DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US"), 
        new CultureInfo("en-US"));
  });
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env,
   ILoggerFactory loggerFactory)
{
      ...
      var supportedCultures = new List<CultureInfo>{
         new CultureInfo("en-US"),
         new CultureInfo("sl-SI"),
         new CultureInfo("de-DE"),
         new CultureInfo("hr-HR")
      };
      var requestLocalizationOptions = new RequestLocalizationOptions
      {
         SupportedCultures = supportedCultures,
         SupportedUICultures = supportedCultures,
         DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US"), 
            new CultureInfo("en-US"))
       };
       app.UseRequestLocalization(requestLocalizationOptions);
}

И вот как я меняю культуру внутри OnActionExecuting в моем ActionFilter

actionContext.HttpContext.Response.Cookies.Append(
    CookieRequestCultureProvider.DefaultCookieName,
    CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
    new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) });
CultureInfo.CurrentCulture = culture;
CultureInfo.CurrentUICulture = culture;

Я также попытался сделать это на моем контроллере без удачи.

Тогда, по моему мнению, я использую@inject IViewLocalizer Localizer отображать локализованные строки с@Localizer["Name"].

Мои ресурсы находятся в папкеРесурсы / Views / ControllerName вот так:

Ресурсы, / Views / ControllerName / ViewName.en.resxРесурсы / Views / ControllerName / ViewName.sl.resx...

Отображаемая строка всегда из.en Файл ресурса, независимо от того, как я пытаюсь поблагодарить культуру. Я что-то упускаю? Есть ли что-то еще, что я должен сделать? Кажется, у меня проблема с настройкой языка. Основываясь на документации, вы просто должны установить куки сResponse.Cookies.Appendно я тоже пробовал сCultureInfo.CurrentCulture какThread.CurrentThread.CurentCulture больше недоступен

Я действительно не знаю, что мне не хватает. Есть идеи?

Ответы на вопрос(3)

Ваш ответ на вопрос