Wie kann ich Name
in Display
Attribut lokalisieren? Zum Beispiel:Wie lokalisiere Anzeigeattribut in Asp.Net Core 1.0.0?
[Display(Name = "Library name")]
public string LibraryName { get; set; }
Was soll ich mit diesem Attribut zu tun?
Wie kann ich Name
in Display
Attribut lokalisieren? Zum Beispiel:Wie lokalisiere Anzeigeattribut in Asp.Net Core 1.0.0?
[Display(Name = "Library name")]
public string LibraryName { get; set; }
Was soll ich mit diesem Attribut zu tun?
ASP.NET Core 1.0 unterstützt keine vordefinierte Lokalisierung basierend auf dem neu eingeführten Lokalisierungsansatz für das Display
-Attribut. Eine Möglichkeit besteht darin, den Ansatz vor ASP.NET Core 1.0 für die Lokalisierung mit Ressourcendateien zu verwenden. Ich habe ein einfaches Demo-Projekt implementiert, das zeigt, wie das Anzeigeattribut hier lokalisiert wird. https://github.com/feradz/ASPNetCoreLocalization/wikiDataAnnotations.resx
wird zur Lokalisierung des Display
Attributs verwendet.
Bei diesem Ansatz darf der Anzeigename keine Sonderzeichen und Leerzeichen enthalten. Zum Beispiel kann der Anzeigename nicht Library name
, aber es kann Anfang August 2016 Lokalisierung wurde viel einfacher LibraryName
[Display(Name="LibraryName", ResourceType = typeof(Resources.DataAnnotations))]
public string LibraryName { get; set; }
Von NET Framework 4.6.2 veröffentlicht.
Behalten Sie Ihre Ansichtsmodellklasse mit den Primärsprachdatenanmerkungen in Englisch, z.
public class ContactInfo
{
[Required(ErrorMessage = "Your email address is invalid")]
[Display(Name = "User Email")]
public int Email { get; set; }
[Required(ErrorMessage = "Your phone number is invalid")]
[Display(Name = "User Phone")]
public int Phone { get; set; }
}
ein App_LocalResources
Erstellen und Ressourcendateien mit der Konvention DataAnnotation.Localization.{locale}.resx
zum Beispiel hinzufügen für chinesische DataAnnotation.Localization.zh.resx
oder DataAnnotation.Localization.jp.resx
für japanische
dann für den englischen Anmerkungstext in Ihrem Viewmodel z.B. "User Phone"
[Display(Name = "User Phone")]
einen Eintrag für den gleichen englischen Text in jeder Datei Sprachressource erstellen Sie Ihre Website
Lesen Sie mehr here über diese Änderung in .net 4.6.2
Ich habe ausgeschlossen, die Kultur zu bestimmen, die der Sprachdatei entspricht, da dies ziemlich tief gehen kann. Sie können mehr darüber lesen in this blog post und in der ASP.NET documentation Website
Bitte, können Sie dazu mit ASP.NET Core 1.0 Beispiel geben. Ich habe es nie geschafft, willkürliche Zeichenfolgen als Anzeigename zu verwenden. – feradz
Aus meiner Sicht sind diese Verbesserungen für ASP.NET und nicht für ASP.NET Core. – MDummy
Ich bin downvoting, da das OP explizit nach einem .NET Core-basierten Szenario fragte – superjos
Ich weiß nicht warum, aber es funktioniert nicht. Ich habe alles wie vorgeschlagen gemacht, aber nichts passiert. –
Kompiliert und wird das Beispiel aus dem Github korrekt ausgeführt? – feradz
Ich werde es am Montag versuchen! –