Локализация аннотации данных ядра DotNet возвращает ключ ресурса вместо значения ресурса - PullRequest
0 голосов
/ 07 июня 2019

Мне нужно локализовать сообщение об ошибке аннотации данных в ядре DotNet. Я создал класс SharedResource, но сводка проверки возвращает ключ ресурса вместо значения ресурса.

services.AddRazorPages()
            .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
           .AddDataAnnotationsLocalization(options =>
           {
               options.DataAnnotationLocalizerProvider = (type, factory) =>
                   factory.Create(typeof(SharedResources));
           });

1 Ответ

0 голосов
/ 07 июня 2019

В папке ресурсов вам нужны файлы ресурсов SharedResources, такие как SharedResource.en-US.resx и SharedResource.fi-FI.resx.

Вам также может понадобиться установить ResourcesPath, позвонив

services.AddLocalization(opts => { opts.ResourcesPath = "Resources"; });

и

services.AddMvc()
    .AddViewLocalization(
        LanguageViewLocationExpanderFormat.Suffix,
        opts => { opts.ResourcesPath = "Resources"; })

Также убедитесь, что в текущей культуре пользователя есть файл ресурсов с соответствующими парами ключ-значение.

Дополнительная ссылка

...