Asp.net core ASP.NET 5(MVC 6)-资源本地化
我花了大约一周的时间试图了解本地化在ASP.NET Core1.0中的工作原理。我已经测试了很多选项,但是我不能让它工作 我已经阅读了中的bug,我已经阅读了所有关于它现在如何工作的文章(,),并且我已经在官方的GitHub存储库中检查并测试了所有关于 我的目标: 我只是想让它像我在ASP.NETMVC5中做的那样工作 我已将Startup.cs配置为: 配置部分: 在我的文件夹资源中,我有.resx文件。我从官方的例子中复制了它,但是没有办法。。。没有错误,只是不工作 如果我测试官方回购协议的本地化示例,它是有效的。但是我不能修改以适应MVC6 我已经在GitHub上为我的代码创建了一个存储库并对其进行了测试。() 有人能帮我吗?我认为很多人都有这些问题Asp.net core ASP.NET 5(MVC 6)-资源本地化,asp.net-core,Asp.net Core,我花了大约一周的时间试图了解本地化在ASP.NET Core1.0中的工作原理。我已经测试了很多选项,但是我不能让它工作 我已经阅读了中的bug,我已经阅读了所有关于它现在如何工作的文章(,),并且我已经在官方的GitHub存储库中检查并测试了所有关于 我的目标: 我只是想让它像我在ASP.NETMVC5中做的那样工作 我已将Startup.cs配置为: 配置部分: 在我的文件夹资源中,我有.resx文件。我从官方的例子中复制了它,但是没有办法。。。没有错误,只是不工作 如果我测试官方回购协议的
谢谢 好吧,我解决了。。。明天我将在GitHub上更新我的示例 我已经创建了一个\u ViewImports,并添加了它:
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
@using System.Threading.Tasks
@using AspNet5Localization
@using AspNet5Localization.Resources
@using Microsoft.AspNet.Mvc.Localization
@using Microsoft.Extensions.Localization
@inject IStringLocalizer<AmazingResource> SR
我不知道这是否是最好的方法,但它是有效的。如果有人能解释最好的方法,请回答这个问题
完整的解决方案工作:
谢谢。这正是我想要的。我尝试运行RC2的示例,但我无法管理。我遇到了与dnx的rc2版本相关的问题。你运行过这个版本吗?还没有。。。我以后再做。我将在新的分支中升级,您可以添加带有数据注释的示例本地化。我尝试了
[Required(ErrorMessageResourceName=“Name_is_Required”,ErrorMessageResourceType=typeof(PersonalInfo))][MaxLength(Constants.MaxNameLength)]公共字符串名{get;set;}
,但它不起作用。令人遗憾的是,经过这么多年的时间和大规模的核心品牌重塑,我们仍然坚持使用这个丑陋的本地化解决方案,涉及.resx文件,但现在又有一个间接层涉及接口和依赖项注入。悲伤,非常悲伤。我很惊讶微软把它留给了开源社区,没有人为此而工作,因为如果有,他们就不配得到他们的薪水…我同意@Vi100,本地化仍然很难看。。。我会等你的
// Add MVC services to the services container.
services
.AddMvc()
.AddViewLocalization(options => options.ResourcesPath = "Resources")
.AddDataAnnotationsLocalization();
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
@using System.Threading.Tasks
@using AspNet5Localization
@using AspNet5Localization.Resources
@using Microsoft.AspNet.Mvc.Localization
@using Microsoft.Extensions.Localization
@inject IStringLocalizer<AmazingResource> SR
@SR["Name"]