Ресурсы для занятий в разных проектах - PullRequest
0 голосов
/ 16 октября 2019

У меня есть два проекта в моем решении. DataAccess - с базовыми моделями для совместного использования в других компонентах, таких как службы и т. Д.

Web - сетевое базовое веб-приложение

Мне нужно использовать локализацию для аннотаций данных - https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-3.0#dataannotations-localization

Но я не знаю, как настроить файл ресурсов в этом случае, или, точнее, сказать, куда его поместить.

Класс размещен там

DataAccess.Core.Product

Со свойствомИмя и пометка

[Display(Name = "Name")]

Я использую этот класс в своих представлениях и веб-проекте в качестве модели представления

@model DataAccess.Core.ProductGroup

с использованием

<label asp-for="Name" class="control-label"></label>

Я попытался поставитьфайл ресурсов для веб-проекта, например

/Resources/DataAccess/Core/Product.cs.resx

, контроллер локализации работает нормально для меня

/Resources/Controllers/ProductController.cs.resx 

и с использованием

IStringLocalizer<ProductGroupsController>

Конфигурация запуска:

services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
 .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
 .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
 .AddDataAnnotationsLocalization()
 .AddSessionStateTempDataProvider();`

var supportedCultures = new[]
{
   new CultureInfo("en-US"),
   new CultureInfo("cs-CZ"),
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
   DefaultRequestCulture = new RequestCulture("en-US"),
   SupportedCultures = supportedCultures,
   SupportedUICultures = supportedCultures
});
...