У меня есть проект .NET Core 2.2
У меня при запуске следующий код
Метод ConfigurationServices
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization();
Метод конфигурации
app.UseStaticFiles();
app.UseCookiePolicy();
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("es-ES"),
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-US"),
// Formatting numbers, dates, etc.
SupportedCultures = supportedCultures,
// UI strings that we have localized.
SupportedUICultures = supportedCultures
});
app.UseStaticFiles();
app.UseStaticFiles();
app.UseMvc();
В моем индексе Page.csHtml
@page
@using Microsoft.AspNetCore.Mvc.Localization
@model IndexModel
@inject IViewLocalizer Localizer
@{
ViewData["Title"] = "Error";
}
<h3>Welcome to ASP.NET Localization</h3>
<p>This is Localization</p>
<h2>@Localizer["Overview"]</h2>
Я использую следующие методы в моем Index.cshtml.cs
private readonly IStringLocalizer<IndexModel> Localizer;
public IndexModel(IStringLocalizer<IndexModel> localizer)
{
Localizer = localizer;
}
Я создал файл ресурсов
\ Resources \ Index.es.resx
В настоящее время у него есть ключ для обзора.
Я загружаю приложение и пытаюсь изменить культуру как
https://localhost:44345/?culture=es-ES
Но строка не меняется, как я ожидал!