在单独的类库中本地化数据注释
我们正在尝试为我们的域模型实现本地化,这些域模型存在于我们解决方案中的单独的类库项目中。 但是,我们无法使其工作,因为我们的模型数据注释属性根本没有被翻译。
项目结构
- 解
- 网络项目
- 资源文件夹(包含.resx文件。 例如App.en.resx )工作正常
- 类库
- 领域模型
- 资源文件夹(包含.resx文件。 例如App.en.resx )不起作用
- 网络项目
Startup.cs
services.AddMvc() .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix) .AddDataAnnotationsLocalization();
注意
本地化在Web项目中工作,例如它转换视图,控制器。 但是,当我们尝试翻译存在于单独项目中的模型时,它不起作用。
// 问候
目前没有支持翻译单独项目中存在的数据注释,视图,控制器等,而无需自己实现。
解决方案是使用IStringLocalizer,IStringLocalizerFactory编写自己的自定义实现,并在Startup.cs中注册它。 了解StringLocalizer / Factory的工作原理。
仅供参考:正在开发Localizer的aspnet团队已经意识到这一点,并且正在开发一种解决方案,以支持将来。 请参阅aspnet / Localization
- 从.net标准库中读取appsettings.json
- 使用.net core编码问题2
- 调用AddUserAsync .NET Core 2.0时出现PlatformNotSupportedexception
- 按键表达存储静态filter
- .NET Core中的Assembly.GetEntryAssembly()相当于什么?
- 将Env Conn字符串注入.NET Core 2.0 w / EF Core DbContext中的不同类lib比启动prj并实现IDesignTimeDbContextFactory
- 通过WSDL创建动态SOAP客户端
- 如何在.NET Core中修改文件访问控制
- 加密.NET Core中的字符串