How do I change the locale that JasperReports uses?

Francisco Fiuza picture Francisco Fiuza · Oct 29, 2008 · Viewed 35.3k times · Source

The windows installed on my machine has the locale en_AU and that's what JasperReports uses. I already tried changing the locale of all users, including the Administrator but it still uses en_AU.

How can I change that locale? Is it possible to change the REPORT_LOCALE parameter on my report?

Answer

waxwing picture waxwing · Apr 21, 2009

The locale is set during execution, not in the JRXML.

Using Java, set the REPORT_LOCALE parameter for the report's parameter map. For example:

InputStream reportTemplate = getReportTemplate();
JRDataSource dataSource = getDataSource();

java.util.Map parameters = getParameters();
java.util.Locale locale = new Locale( "en", "US" );
parameters.put( JRParameter.REPORT_LOCALE, locale );

JasperFillManager.fillReport( reportTemplate, parameters, dataSource );

Using Jaspersoft Studio, open the project properties dialog to the Report Execution area:

Project Properties

Using iReport, set the report locale in the Options window under the "Report execution options" section in the General tab. This will set the report locale when run.