在单独的类库中本地化数据注释

时间:2016-07-28 08:19:37

标签: c# asp.net-core data-annotations .net-core

我们正在尝试为我们的域模型实现本地化,这些域模型存在于我们解决方案中的单独类库项目中。 但是,我们无法使其工作,因为我们的模型数据注释属性根本无法翻译。

项目结构

    • 网络项目
      • 资源文件夹(包含.resx文件。 Ex.App.en.resx )工作正常
    • 类库
      • 域名模型
      • 资源文件夹(包含.resx文件。 Ex.App.en.resx )不起作用

Startup.cs

services.AddMvc()
     .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
     .AddDataAnnotationsLocalization();

注意

本地化在Web项目中起作用,例如它转换视图,控制器。 但是,当我们尝试翻译存在于单独项目中的模型时,它不起作用。

//问候

1 个答案:

答案 0 :(得分:1)

现在不支持翻译单独项目中存在的数据注释,视图,控制器等,而无需自己实现。

解决方案是使用IStringLocalizer,IStringLocalizerFactory编写自己的自定义实现,并在Startup.cs中注册它。 See how StringLocalizer/Factory works.

仅供参考:正在开发Localizer的aspnet团队已经意识到这一点,并且正在研究一种解决方案,以便将来支持这一点。见aspnet/Localization