Lokalizacja: usunięto klasę ResourceManagerWithCultureStringLocalizer i element członkowski interfejsu WithCulture
Klasa Microsoft.Extensions.Localization.ResourceManagerWithCultureStringLocalizer
i Microsoft.Extensions.Localization.ResourceManagerStringLocalizer.WithCulture
metoda zostały usunięte na platformie .NET 5.
Aby zapoznać się z kontekstem, zobacz aspnet/Announcements#346 i dotnet/aspnetcore#3324. Aby zapoznać się z tą zmianą, zobacz dotnet/aspnetcore#7756.
Wprowadzona wersja
5,0
Stare zachowanie
Klasa ResourceManagerWithCultureStringLocalizer
i metoda są przestarzałe w programie .NET Core 3.0 lub nowszymResourceManagerStringLocalizer.WithCulture
.
Nowe zachowanie
Klasa ResourceManagerWithCultureStringLocalizer
i ResourceManagerStringLocalizer.WithCulture
metoda zostały usunięte na platformie .NET 5. Aby uzyskać spis wprowadzonych zmian, zobacz żądanie ściągnięcia pod adresem dotnet/extensions#2562.
Przyczyna wprowadzenia zmiany
Klasa ResourceManagerWithCultureStringLocalizer
i ResourceManagerStringLocalizer.WithCulture
metoda były często źródłami nieporozumień dla użytkowników lokalizacji. Zamieszanie było szczególnie wysokie podczas tworzenia implementacji niestandardowej IStringLocalizer . Ta klasa i metoda dają konsumentom wrażenie, że IStringLocalizer
wystąpienie ma mieć wartość "per-language, per-resource". W rzeczywistości wystąpienie powinno mieć wartość "na zasób". W czasie wykonywania właściwość określa język, CultureInfo.CurrentUICulture który ma być używany.
Zalecana akcja
Przestań używać ResourceManagerWithCultureStringLocalizer
klasy i ResourceManagerStringLocalizer.WithCulture
metody .
Dotyczy interfejsów API
Microsoft.Extensions.Localization.ResourceManagerWithCultureStringLocalizer
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer.WithCulture