我在ASP.NET核心MVC网站上工作,本地化在Controller和View中运行良好,但我对DataAnnotation的本地化有误:
我的默认语言,如果英语和我的资源文件名如下:" Index.fr.resx" 。
如果需要法语的traduction,则使用traduction,否则返回字符串键(键是英文),
但是对于DataAnnotation,traduction工作得很好但是当需要英语时,网站显示错误:
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Intranet.Resources.ViewModels.News.Add.resources" was correctly embedded or linked into assembly
但找到该文件是因为转录工作,对于Controller或View的本地化,如果需要英语,关键字符串会被返回并且运行良好,有什么想法吗?
Add.fr.resx:
Title => Titre
Add.cs
[Display(Name = nameof(Resources.ViewModels.News.Add.Title), ResourceType = typeof(Resources.ViewModels.News.Add))]
public String Title { get; set; }
Startup.cs
services.AddMvc(
config =>
{
config.Filters.Add<ActionFilter>();
})
.AddViewLocalization(options => options.ResourcesPath = "Resources")
.AddDataAnnotationsLocalization();
答案 0 :(得分:0)
似乎没有可能在模型中进行显示属性的本地化,所以我只是在视图中做到了:
placeholder="@Localizer[Html.DisplayNameFor(x => x.Title)]"