none
Tradução de mensagens de validação RRS feed

  • Pergunta

  • Estou com um problema estranho com ASP .NET MVC,
    estou utilizando o MVC 4 e instalei os pacotes de tradução do MVC para pt-BR.

    O que acontece é que na máquina que utilizo para desenvolver, as mensagens de validação ficam em português corretamente,
    porém quando é realizado o deploy (está com continuos integration) e vai para o servidor, as mensagens de validação passam a ficar
    em inglês novamente.

    O SO de ambas as máquinas está em pt-BR.
    Ja configurei a coltura para pt-BR e a UI culture também.
    Ja tentei habilitar isso no web.config...
    Não sei mais porque isto está ocorrendo.

    alguém ae ja teve este problema? E como resolveu?

    valeu
    segunda-feira, 17 de novembro de 2014 10:14

Todas as Respostas

  • Bom dia Julio,

    Você está utilizando as mensagem fixas no código ou em Global Resource File?

    Abs.


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    segunda-feira, 17 de novembro de 2014 10:22
  • Você está usando "Resources" para as Mensagens? O assembly de Resources está sendo publicado?
    segunda-feira, 17 de novembro de 2014 11:55
  • Bom dia

    As mensagens são as do framework mesmo, por exemplo quando coloco uma anotação [Required] em um campo.
    Na máquina de desenvolvimento a mensagem é exibida assim:
    O campo Nome é obrigatório.

    Já quando em deploy (outra máquina) a mensagem é exibida assim:
    The Nome field is required.

    valeu
    segunda-feira, 17 de novembro de 2014 13:18
  • Isso significa que a Thread da aplicação não está em pt-BR:

    A título de testes force a cultura e confirmará isso.

    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("pt-BR");
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("pt-BR");

    segunda-feira, 17 de novembro de 2014 13:59
  • Ok

    Tenho essas duas linhas no Application_Start() do Global.asax
    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("pt-BR");
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("pt-BR");

    A princípio está correto não?

    valeu
    segunda-feira, 17 de novembro de 2014 15:24
  • Coloque algum log na sua Action que carrega a página e confirme a cultura da Thread:

    System.Threading.Thread.CurrentThread.CurrentCulture

    segunda-feira, 17 de novembro de 2014 15:52
  • Adicionei o 

    System.Threading.Thread.CurrentThread.CurrentCulture

    Para dentro de um comentário html  que me retornou isso:

    <!-- pt-BR  -->

    valeu

    segunda-feira, 17 de novembro de 2014 18:23
  • Honestamente é a primeira vez que vejo isso acontecer. Por favor verifique se o Framework instalado e o idioma de instalação é o mesmo.
    segunda-feira, 17 de novembro de 2014 18:48