不翻译

时间:2018-05-31 09:21:40

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

我在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();

1 个答案:

答案 0 :(得分:0)

似乎没有可能在模型中进行显示属性的本地化,所以我只是在视图中做到了:

placeholder="@Localizer[Html.DisplayNameFor(x => x.Title)]"