ローカリゼーション:ResourceManagerWithCultureStringLocalizer クラスと WithCulture インターフェイス メンバーを削除

.NET 5 で ResourceManagerWithCultureStringLocalizer クラスと WithCulture メソッドが削除されました。

コンテキストについては、aspnet/Announcements#346dotnet/aspnetcore#3324 を参照してください。 この変更のディスカッションについては、dotnet/aspnetcore#7756 を参照してください。

導入されたバージョン

5.0

以前の動作

ResourceManagerWithCultureStringLocalizer クラスと ResourceManagerStringLocalizer.WithCulture メソッドは、.NET Core 3.0 以降、古い形式となります

新しい動作

ResourceManagerWithCultureStringLocalizer クラスと ResourceManagerStringLocalizer.WithCulture メソッドは、.NET 5 で削除されています。 加えられた変更のインベントリについては、dotnet/extensions#2562 の pull request を参照してください。

変更理由

ResourceManagerWithCultureStringLocalizer クラスと ResourceManagerStringLocalizer メソッドは、ローカライズでユーザーの混乱の原因になることがよくありました。 カスタムの IStringLocalizer 実装を作成する際は、混乱に拍車がかかっていました。 このクラスとメソッドを使用すると、IStringLocalizer インスタンスが "言語ごとで、リソースごと" であるような印象をコンシューマーに与えるのです。 実際には、インスタンスは "リソースごと" のみである必要があります。 実行時に、CultureInfo.CurrentUICulture プロパティによって、使用言語が決定されます。

ResourceManagerWithCultureStringLocalizer クラスと ResourceManagerStringLocalizer.WithCulture メソッドの使用をやめます。

影響を受ける API