Lokalisierung: ResourceManagerWithCultureStringLocalizer-Klasse und WithCulture-Schnittstellenmember entfernt
Die Microsoft.Extensions.Localization.ResourceManagerWithCultureStringLocalizer
-Klasse und Microsoft.Extensions.Localization.ResourceManagerStringLocalizer.WithCulture
-Methode wurden in .NET 5 entfernt.
Weitere Informationen finden Sie unter aspnet/Announcements#346 und dotnet/aspnetcore#3324. Diese Änderung wird unter dotnet/aspnetcore#7756 behandelt.
Eingeführt in Version
5.0
Altes Verhalten
Die ResourceManagerWithCultureStringLocalizer
-Klasse und die ResourceManagerStringLocalizer.WithCulture
-Methode gelten in .NET Core 3.0 und höher als veraltet.
Neues Verhalten
Die Klasse ResourceManagerWithCultureStringLocalizer
und die Methode ResourceManagerStringLocalizer.WithCulture
wurden in .NET 5 entfernt. Eine Übersicht über die vorgenommenen Änderungen finden Sie im Pull Request unter dotnet/extensions#2562.
Grund für die Änderung
Die ResourceManagerWithCultureStringLocalizer
-Klasse und ResourceManagerStringLocalizer.WithCulture
-Methode sorgten bei den Benutzer*innen der Lokalisierung oft für Verwirrung. Das galt insbesondere für die Erstellung einer benutzerdefinierten IStringLocalizer-Implementierung. Diese Klasse und Methode erwecken bei Benutzern den Eindruck, dass eine IStringLocalizer
-Instanz pro Sprache und pro Ressource gilt. Tatsächlich sollte die Instanz nur pro Ressource gelten. Zur Laufzeit bestimmt die CultureInfo.CurrentUICulture-Eigenschaft die zu verwendende Sprache.
Empfohlene Aktion
Verwenden Sie die ResourceManagerWithCultureStringLocalizer
-Klasse und die ResourceManagerStringLocalizer.WithCulture
-Methode nicht mehr.
Betroffene APIs
Microsoft.Extensions.Localization.ResourceManagerWithCultureStringLocalizer
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer.WithCulture