Как получить IViewLocalizer для другой страницы в net ядре? - PullRequest
0 голосов
/ 26 марта 2020

У меня есть несколько страниц, используемых для разных видов. Например:

Page.cshtml
Page.amp.cshtml
Page.mobile.cstml
...

Все ресурсы идентичны на этих страницах, но для внедрения IViewLocalizer используются разные файлы ресурсов:

Page.en.resx
Page.amp.en.resx
...

Нет смысла дублировать строку ресурсов. И нет смысла перемещать такие строки в локализаторе общих строк. Создание локализатора строк для каждой страницы - тоже не лучшая идея. Идея состоит в том, чтобы сохранить Page.en.resx и использовать его в Page.amp и Page.mobile. Но я не могу найти способ сделать это. Единственное, что я придумал, - это использовать ресурсы для базового класса C# (PageModel) и поместить всю строку в ViewData. Или поместите локализатор в модель.

Есть ли способ принудительной загрузки ресурсов для другой страницы?

1 Ответ

0 голосов
/ 14 апреля 2020

Я нашел способ сделать это. Я заменил

@inject IViewLocalizer Localizer

на

@inject IStringLocalizer<PageModel> Localizer

и переименовал Page.en.resx в PageModel.en.resx (вместе с перемещением в соответствующую папку для своего пространства имен.

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