Lokalisering: ResourceManagerWithCultureStringLocalizer-klassen och WithCulture-gränssnittsmedlemmen har tagits bort
Klassen Microsoft.Extensions.Localization.ResourceManagerWithCultureStringLocalizer
och Microsoft.Extensions.Localization.ResourceManagerStringLocalizer.WithCulture
metoden togs bort i .NET 5.
Sammanhang finns i aspnet/Announcements#346 och dotnet/aspnetcore#3324. Information om den här ändringen finns i dotnet/aspnetcore#7756.
Version introducerad
5,0
Gammalt beteende
Klassen ResourceManagerWithCultureStringLocalizer
och metoden är föråldrade i .NET Core 3.0 och senareResourceManagerStringLocalizer.WithCulture
.
Nytt beteende
Klassen ResourceManagerWithCultureStringLocalizer
och ResourceManagerStringLocalizer.WithCulture
metoden har tagits bort i .NET 5. En inventering av de ändringar som gjorts finns i pull-begäran på dotnet/extensions#2562.
Orsak till ändringen
Klassen ResourceManagerWithCultureStringLocalizer
och ResourceManagerStringLocalizer.WithCulture
metoden var ofta förvirringskällor för lokaliseringsanvändare. Förvirringen var särskilt stor när du skapade en anpassad IStringLocalizer implementering. Den här klassen och metoden ger konsumenterna intrycket att en IStringLocalizer
instans förväntas vara "per språk, per resurs". I verkligheten bör instansen bara vara "per resurs". Vid körning avgör egenskapen CultureInfo.CurrentUICulture vilket språk som ska användas.
Rekommenderad åtgärd
Sluta använda ResourceManagerWithCultureStringLocalizer
klassen och ResourceManagerStringLocalizer.WithCulture
metoden.
Berörda API:er
Microsoft.Extensions.Localization.ResourceManagerWithCultureStringLocalizer
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer.WithCulture