Как сделать локализацию?
Добавлено: 19 ноя 2019, 15:24
Добрый день!
Как сделать локализацию отчётов при экспорте отчётов?
Мы используем Reports.Java в своём проекте для экспорта отчётов в pdf, word и т.д. вот таким образом:
StiReport report = StiSerializeManager.deserializeReport(<шаблон отчёта>);
report.render();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
switch (format)
{
case "html":
StiExportManager.exportHtml(report,outputStream);
response.setContentType("text/html");
break;
case "pdf":
StiExportManager.exportPdf(report,outputStream);
response.setContentType("application/pdf");
response.addHeader("Content-disposition", "attachment; filename=report.pdf");
break;
case "doc":
StiExportManager.exportWord2007(report,outputStream);
response.setContentType("application/msword");
response.addHeader("Content-disposition", "attachment; filename=report.docx");
break;
case "xls":
StiExportManager.exportExcel2007(report,outputStream);
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-disposition", "attachment; filename=report.xlsx");
break;
}
Если указать перед report.render() культуру:
String cultureName = "ru-RU";
report.localizeReport(cultureName);
То в runtime возникает ошибка:
Can't find globalized strings for culture ru-RU
Пробовал делать вот так:
StiOptions.Configuration.setDirectoryLocalization(<путь к файлам локализации>);
StiOptions.Configuration.setLocalization("ru-RU.xml");
Но не нашёл нигде метода загрузки локализации LoadLocaliztion.
Как всё-таки сделать локализацию?
Как сделать локализацию отчётов при экспорте отчётов?
Мы используем Reports.Java в своём проекте для экспорта отчётов в pdf, word и т.д. вот таким образом:
StiReport report = StiSerializeManager.deserializeReport(<шаблон отчёта>);
report.render();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
switch (format)
{
case "html":
StiExportManager.exportHtml(report,outputStream);
response.setContentType("text/html");
break;
case "pdf":
StiExportManager.exportPdf(report,outputStream);
response.setContentType("application/pdf");
response.addHeader("Content-disposition", "attachment; filename=report.pdf");
break;
case "doc":
StiExportManager.exportWord2007(report,outputStream);
response.setContentType("application/msword");
response.addHeader("Content-disposition", "attachment; filename=report.docx");
break;
case "xls":
StiExportManager.exportExcel2007(report,outputStream);
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-disposition", "attachment; filename=report.xlsx");
break;
}
Если указать перед report.render() культуру:
String cultureName = "ru-RU";
report.localizeReport(cultureName);
То в runtime возникает ошибка:
Can't find globalized strings for culture ru-RU
Пробовал делать вот так:
StiOptions.Configuration.setDirectoryLocalization(<путь к файлам локализации>);
StiOptions.Configuration.setLocalization("ru-RU.xml");
Но не нашёл нигде метода загрузки локализации LoadLocaliztion.
Как всё-таки сделать локализацию?