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.

Przestań używać ResourceManagerWithCultureStringLocalizer klasy i ResourceManagerStringLocalizer.WithCulture metody .

Dotyczy interfejsów API

  • Microsoft.Extensions.Localization.ResourceManagerWithCultureStringLocalizer
  • Microsoft.Extensions.Localization.ResourceManagerStringLocalizer.WithCulture