Привет, у меня есть вопрос о файле SharedResources. В этом учебном пособии рассмотрено следующее: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization, и я не уверен, правильно ли я понял.
Я должен создать класс SharedResources.cs, но куда его поместить, и должен ли он быть пустым или мне нужно заполнить его некоторыми данными?
То же самое касается файла ресурсов, должен ли я создать файл SharedResources.da.resx и разместить все мои общие строки? Куда он должен идти?
И когда я использую IHtmlLocalizer<SharedResources>, просто пишу @using и указываю его на пространство имен, в котором находится SharedResources.cs?
Я попытался положить SharedResources.cs и SharedResources.da.resx в папку "Ресурсы" и использовать его для изменения языка сайта на датский язык, но он не работает. Использование выделенного файла ресурсов, такого как Index.da.resx и IViewLocalizer, отлично работает, но IHtmlLocalizer<SharedResources>, похоже, не работает.
Когда я посмотрел пример проекта, связанный в нижней части страницы, я не нашел места, где используется SharedResources, было бы здорово, если бы кто-то обновил его примером.
Вот как я пытался это сделать:
Views/Home/Index.cshtml:
@using Funkipedia.Resources
@using Microsoft.AspNetCore.Mvc.Localization
@inject IHtmlLocalizer<Shared> SharedLocalizer
...
<p>@SharedLocalizer["Hei"]</p>
...
В верхней части ConfigureServices в Startup.cs:
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
  .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
  .AddDataAnnotationsLocalization();
В верхней части Configure в Startup.cs:
var supportedCultures = new List<CultureInfo>
{
       new CultureInfo("nb-NO"),
       new CultureInfo("sv-SE"),
       new CultureInfo("da-DK")
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
       DefaultRequestCulture = new RequestCulture("nb-NO"),
       SupportedCultures = supportedCultures,
       SupportedUICultures = supportedCultures
});
Папка ресурсов содержит пустой класс с именем Shared.cs и Shared.da.resx, который содержит общие строки. Возможно, мне нужно изменить его имя на SharedResources.cs и SharedResources.da.resx?
