本地化:ResourceManagerWithCultureStringLocalizer 类和 WithCulture 接口成员已删除
.NET 5 删除了 ResourceManagerWithCultureStringLocalizer 类和 WithCulture 方法。
有关上下文,请参阅 aspnet/Announcements#346 和 dotnet/aspnetcore#3324。 有关此更改的讨论,请参阅 dotnet/aspnetcore#7756。
引入的版本
5.0
旧行为
ResourceManagerWithCultureStringLocalizer
类和 ResourceManagerStringLocalizer.WithCulture
方法在 .NET Core 3.0 及更高版本中已过时。
新行为
.NET 5 中删除了 ResourceManagerWithCultureStringLocalizer
类和 ResourceManagerStringLocalizer.WithCulture
方法。 有关所做更改的清单,请参阅 dotnet/extensions#2562 上的拉取请求。
更改原因
ResourceManagerWithCultureStringLocalizer 类和 ResourceManagerStringLocalizer.WithCulture 方法通常会让本地化用户混淆。 创建自定义 IStringLocalizer 实现时,混淆尤其严重。 这个类和方法给使用者的印象是 IStringLocalizer
实例应“按语言、按资源”。 实际上,实例应该仅“按资源”。 在运行时,CultureInfo.CurrentUICulture 属性确定要使用的语言。
建议操作
停止使用 ResourceManagerWithCultureStringLocalizer
类和 ResourceManagerStringLocalizer.WithCulture
方法。
受影响的 API
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈