Globalização de exceções de adesão não está ocorrendo ... O que fazer?
-
06-07-2019 - |
Pergunta
Eu estou usando o SqlMembershipProvider para realizar o gerenciamento de usuários do meu site ASP.NET. Em particular, as necessidades do site para ser multi-lingual (globalizada!).
Quando eu criar usuários que a utilizam de Membership.CreateUser boa que eu recebo exceções para coisas como e-mails duplicados, duplicado nomes de usuários etc. Mas o que eu quero é re-uso que texto de exceção por tê-lo localizado na cultura do thread atual.
Eu sou positivo que eu estou definindo a cultura segmento interface do usuário atual corretamente, etc desde que todos os outros recursos de globalização são totalmente funcionais.
Eu estava sob a impressão de todos os textos exceção do .NET Framework foram globalizado. Não são eles ???
Em particular, eu estou testando para francês. Acho que já instalou com sucesso o francês .NET 3.5 SP1 pacote de idioma (mas não certo - existe uma maneira de verificar !?) seguindo as instruções do aqui .
É talvez o caso que apenas as exceções System.Web.Security.Membership não são localizados? Ou estou faltando uma etapa de configuração do ambiente?
Qualquer ajuda seria ótimo.
Andrew.
Solução
As mensagens de exceção não são localizados.
Você deve localizá-los sua auto usando os códigos de erro:
Public Shared Function ErrorCodeToString( _
ByVal createStatus As MembershipCreateStatus) As String
Select Case createStatus
Case MembershipCreateStatus.DuplicateUserName
Return Resources.Resource.Account_DuplicateUserName
Case MembershipCreateStatus.DuplicateEmail
Return Resources.Resource.Account_DuplicateEmail
...
este link MSDN para uma lista completa dos códigos de status.