No programa uso um date format para instanciar um Date. Mas quando
coloco o programa para rodar em uma máquina win2000server em inglês
dá um erro ao instânciar o Date. Um erro de formato, pois ele pega o Locale default.
Como faço pra colocar o locale brasileiro como default ???
Eu dei um System.out.println(Locale.getDefault()); e apareceu English
na máquina que eu falei.
ERROR - Servlet.service() for servlet jsp threw exception
java.text.ParseException: Unparseable date: “01/01/2000”
at java.text.DateFormat.parse(Unknown Source)
at org.apache.jsp.sitecopi.cadastro.equipamento.relatorioEquipamento_jsp._jspService(org.apache.jsp.sitecopi.cadastro.equipamento.relatorioEquipamento_jsp:219)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Locale.setDefault (só que você vai ter de pôr isso em tudo que é lugar)
Como você usa o Tomcat, dá para passar alguma opção de linha de comando para o java.exe para que ele use um locale default diferente - não sei se usar -Duser.country=BR -Duser.language=pt é suficiente ;-).
É questão de mexer em catalina.bat se não me engano.
Se o tomcat está rodando como serviço e ele está usando algum usuário específico da rede, você pode alterar as configurações regionais desse usuário nesse computador, mas acredito que isso não seja muito confiável.
Estou escrvendo uma aplicação desktop, tenho que traduzir as caixas de diálogo, mas na minha instalação da JRE no Fedora c4, não veio o locale pt_BR. Alguém sabe como posso instalar ou baixar???
Se você tem de traduzir aquelas caixas de diálogo do Swing, como o JFileChooser e outras coisas, elas não são automaticamente traduzidas, mesmo reinstalando o seu Linux ou Windows para a língua portuguesa. Procure alguma coisa como “UIManager.put” aqui mesmo no forum.
Meu caso não é bem esse e já até usei em algumas caixas de diálogo, mas a caixa de diálogo que estou tentando traduzir agora (printDialog) é da classe printJob, e acredito eu, que seja necessário usar internacionalização mesmo.
Outra coisa é que lá na pasta do jre lib/locale/ não tem a pasta do locale pt_BR, tem como baixar isso de algum site???
Tou lendo o fonte da classe sun.awt.print.PrintDialog (baixe o fonte completo do JDK - mais conhecido como SCSL JDK Download ou JRL JDK Dowload - , esses fontes não estão em src.zip) e ele diz que puxa as mensagens do resource bundle de nome “sun.awt.print.resources.pdialog”; outra classe (ServiceUI) puxa mais mensagens do resource bundle “sun.print.resources.serviceui”. Ainda outro resource seria “sun.awt.print.resources.printcontrol.properties”. http://forum.java.sun.com/thread.jspa?threadID=332957&messageID=3040418
Fuçando mais um pouco nos fontes, achei os arquivos de mensagens para o PrinterDialog (que ficam em j2se/src/share/classes/sun/awt/print/resources nesses fontes do JDK).
Os arquivos estão lá, mas na verdade não sei como é que dá para incluir um arquivo pdialog_pt_BR.properties na sua aplicação e fazer o PrintDialog ler esse arquivo. Talvez seja só o caso de fazer Locale.setDefault (new Locale (“pt”, “BR”)) e pôr o novo arquivo pdialog_pt_BR.properties no classpath.
thingol vc mencionou em colocar -Duser.country=BR -Duser.language=pt em algum arquivo de conf do tomcat.
Eu nao gostaria de ficar dando Locale.setDefault em todas as action’s do meu projeto.
mas se eu conseguir setar na JVM o meu locale em algum arquivo de conf do JETTY, para ser executado no java.exe
talvez funcione…
Vou identificar esse arquivo
acho que é jettyservice.com
algo assim…
Quero definir meu locale porque no ambiente de produção (que roda SO em portugues) esta com o locale em ingles …
misteriosamente…