Localisation : Suppression de la classe ResourceManagerWithCultureStringLocalizer et du membre de l’interface WithCulture

La classe ResourceManagerWithCultureStringLocalizer et la méthode WithCulture ont été supprimées dans .NET 5.

Pour plus de contexte, consultez aspnet/Announcements#346 et dotnet/aspnetcore#3324. Pour plus d’informations sur ce problème, consultez dotnet/aspnetcore#7756.

Version introduite

5,0

Ancien comportement

La classe ResourceManagerWithCultureStringLocalizer et la méthode ResourceManagerStringLocalizer.WithCulture sont obsolètes dans .NET Core 3.0 (et versions ultérieures).

Nouveau comportement

La classe ResourceManagerWithCultureStringLocalizer et la méthode ResourceManagerStringLocalizer.WithCulture ont été supprimées dans .NET 5. Pour obtenir un inventaire des modifications apportées, consultez la demande de tirage (pull request) qui se trouve à l’adresse dotnet/extensions#2562.

Raison du changement

La classe ResourceManagerWithCultureStringLocalizer et la méthode ResourceManagerStringLocalizer.WithCulture étaient souvent sources de confusion pour les utilisateurs de la localisation. Le risque de méprise était particulièrement élevé en cas de création d’une implémentation IStringLocalizer personnalisée. Cette classe et cette méthode donnent aux consommateurs l’impression qu’une instance IStringLocalizer est censée être « par langue et par ressource ». En réalité, les instances ne doivent être que « par ressource ». À l’exécution, la propriété CultureInfo.CurrentUICulture détermine la langue à utiliser.

Arrêtez d’utiliser la classe ResourceManagerWithCultureStringLocalizer et la méthode ResourceManagerStringLocalizer.WithCulture.

API affectées