Share via


Localização: classe ResourceManagerWithCultureStringLocalizer e membro da interface WithCulture removidos

A classe ResourceManagerWithCultureStringLocalizer e o método WithCulture foram removidos no .NET 5.

Para obter contexto, confira aspnet/Announcements#346 e dotnet/aspnetcore#3324. Para ver discussões sobre essa alteração, confira dotnet/aspnetcore#7756.

Versão introduzida

5,0

Comportamento antigo

A classe ResourceManagerWithCultureStringLocalizer e o método ResourceManagerStringLocalizer.WithCulture estão obsoletos no .NET Core 3.0 e versões posteriores.

Novo comportamento

A classe ResourceManagerWithCultureStringLocalizer e o método ResourceManagerStringLocalizer.WithCulture foram removidos no .NET 5. Para obter um inventário das alterações feitas, confira a solicitação de pull em dotnet/extensions#2562.

Motivo da alteração

A classe ResourceManagerWithCultureStringLocalizer e o método ResourceManagerStringLocalizer.WithCulture eram frequentemente causas de confusão para os usuários de localização. A confusão era especialmente grande ao criar uma implementação IStringLocalizer personalizada. Essa classe e esse método dão aos consumidores a impressão de que a instância IStringLocalizer deve ser criada "por idioma e por recurso". Na realidade, a instância deve ser criada apenas "por recurso". Em tempo de execução, a propriedade CultureInfo.CurrentUICulture determina o idioma a ser usado.

Pare de usar a classe ResourceManagerWithCultureStringLocalizer e o método ResourceManagerStringLocalizer.WithCulture.

APIs afetadas