Einen zentralen Ort für alle Ihre Lokalisierung, ob in Sicht oder Datenannotationen zu haben, ist der beste Ansatz, den ich mir vorstellen kann, und dies, wie ich arbeiten konnte. In Startup.cs Datei, nachdem Sie nuget Pakete für die Lokalisierung Fügen Sie den folgenden Code
services.AddMvc().AddViewLocalization().AddDataAnnotationsLocalization(options =>
options.DataAnnotationLocalizerProvider = (type, factory) => new StringLocalizer<Resources>(factory));
services.Configure<RequestLocalizationOptions>(options => {
var cultures = new[]
{
new CultureInfo("en"),
new CultureInfo("ar")
};
options.DefaultRequestCulture = new RequestCulture("en", "en");
options.SupportedCultures = cultures;
options.SupportedUICultures = cultures;
});
diese Weise wird die DataAnnotationLocalizerProvider wird von den Ressourcen sein. {} Kultur installiert.rex - (Die Ressourcendatei muss einen Zugriffsmodifikator von Kein Code gen haben) - vorausgesetzt, dass keine Ressourcen für die Standardsprache benötigt werden und auf die Ressourcendatei zugreifen können, da kein Code generiert und die Klasse leer ist mit dem gleichen Namen muss erstellt werden.
und in _ViewImports.cshtml Datei injizieren die folgende
@inject IHtmlLocalizer<Resources> Localizer
indem Sie diese jetzt eine globale Variable Localizer in einem der Ansichten für die Lokalisierung Zwecke verwendet werden müssen.

Sie ungerade weitere Informationen über Globalization and localization in ASP.NET Core
Es scheint, dass nicht-Validierung Attribute sind nicht lokalisiert nach diesem neuen asp.net Kernlokalisierungsmechanismus zu finden. Denkst du, dass es möglich ist, es auch für Nichtvalidierungsattribute zu implementieren, oder gibt es einen Grund dafür, dass mvc-Typen Nichtvalidierungsattribute übersprungen haben? – David
Ich stimme zu, es ist ein bisschen seltsam! Ich nehme an, dass es einen Grund geben muss, warum sie sich entschieden haben, aber ich bin mir nicht ganz sicher. Du könntest immer auf GitHub fragen und sehen, was sie sagen. – Sock
Ich bekomme 'Der Typ oder Namespace 'MyResources' konnte nicht gefunden werden. Was vermisse ich? – Lucius