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

项目结构





网路专案


资源文件夹(包含.resx文件。例如App.en.resx)工作正常

类库


领域模型
资源文件夹(包含.resx文件。例如App.en.resx)不起作用




启动文件

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


注意

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

// 问候

最佳答案

目前尚不支持在单独的项目中转换数据注释,视图,控制器等,而无需您自己实现。

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

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

关于c# - 数据注释在单独的类库中的本地化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38630777/

10-10 15:35