You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ResourceManagerWithCultureStringLocalizer class and WithCulture interface member marked Obsolete and will be removed
The ResourceManagerWithCultureStringLocalizer class and WithCulture interface member are often sources of confusion for users of Localization, especially if they want to create their own IStringLocalizer implementation. These items give the user the impression that we expect an IStringLocalizer instance to be "per-language, per-resource", when actually they should only be "per-resource", with the language searched for determined by the CultureInfo.CurrentUICulture at execution time. To remove this source of confusion and to avoid APIs which we don't want users to use we will be obsoleting these in 3.0.0-preview3, and they will be removed in a future release (4.0 or above).
API represented a use case which is not recommended, and leads to confusion about the design of Localization.
Recommended action
If you are using this we recommend that you use ResourceManagerStringLocalizer instead, and let the culture be set by the CurrentCulture. If that is not an option You may create a copy of ResourceManagerWithCultureStringLocalizer in your own repo and use that.
ResourceManagerWithCultureStringLocalizer class and WithCulture interface member marked Obsolete and will be removed
The ResourceManagerWithCultureStringLocalizer class and WithCulture interface member are often sources of confusion for users of Localization, especially if they want to create their own
IStringLocalizer
implementation. These items give the user the impression that we expect anIStringLocalizer
instance to be "per-language, per-resource", when actually they should only be "per-resource", with the language searched for determined by theCultureInfo.CurrentUICulture
at execution time. To remove this source of confusion and to avoid APIs which we don't want users to use we will be obsoleting these in 3.0.0-preview3, and they will be removed in a future release (4.0 or above).For context, see here.
See dotnet/aspnetcore#7756 for discussion.
Version introduced
3.0
Old behavior
Methods were not
Obsolete
.New behavior
Methods are marked
Obsolete
.Reason for change
API represented a use case which is not recommended, and leads to confusion about the design of Localization.
Recommended action
If you are using this we recommend that you use ResourceManagerStringLocalizer instead, and let the culture be set by the CurrentCulture. If that is not an option You may create a copy of ResourceManagerWithCultureStringLocalizer in your own repo and use that.
Category
Affected APIs
Issue metadata
The text was updated successfully, but these errors were encountered: