Как сделать локализацию?
Как сделать локализацию?
Добрый день!
Как сделать локализацию отчётов при экспорте отчётов?
Мы используем 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.
Как всё-таки сделать локализацию?
Re: Как сделать локализацию?
Здравствуйте,
Извините за задержку с ответом. Необходимо дополнильное время для анализа проблема, о результатах дадим знать.
Спасибо.
Извините за задержку с ответом. Необходимо дополнильное время для анализа проблема, о результатах дадим знать.
Спасибо.
Re: Как сделать локализацию?
Здравствуйте.
Ошибка показывает, что такая культура ru-RU отсутствует в отчете в списке культур.
Воспользуйтесь https://www.stimulsoft.com/ru/blog/arti ... in-reports
Ошибка показывает, что такая культура ru-RU отсутствует в отчете в списке культур.
Воспользуйтесь https://www.stimulsoft.com/ru/blog/arti ... in-reports
Re: Как сделать локализацию?
Добрый день!
Мы изначально по этой инструкции и действовали.
В приложенном шаблоне установлены следующие настройки глобализации:
1) Добавлены две культуры:
Русский (Россия) (ru-RU) и Английский (США) (en-US)
2) Свойство Text5.Text в культуре "Русский (Россия) (ru-RU)" имеет значение "РУССКИЙ",
в культуре "Английский (США) (en-US)" имеет значение "ENGLISH".
При запуске шаблона на просмотр из дизайнера
а) с явно установленной культурой отчета "ru-RU" на результирующей форме видим:
Тестовая форма 26 ноября 2019
б) с явно установленной культурой отчета "en-US" на результирующей форме видим:
Тестовая форма 26 November 2019
При запуске при генерации отчета на основании шаблона из приложения java на linux
а) с явно установленной культурой отчета "ru-RU" на результирующей форме видим:
РУССКИЙ 26 November 2019
б) с явно установленной культурой отчета "en-US" на результирующей форме видим:
РУССКИЙ 26 November 2019
Прошу объяснить описанное поведение системы.
Почему при запуске из дизайнера не изменяется Text5.Text?
Почему при запуске в приложении нет реакции на явно указанную культуру "en-US", и нет соотв. названия месяца культуре "ru-RU"?
Мы изначально по этой инструкции и действовали.
В приложенном шаблоне установлены следующие настройки глобализации:
1) Добавлены две культуры:
Русский (Россия) (ru-RU) и Английский (США) (en-US)
2) Свойство Text5.Text в культуре "Русский (Россия) (ru-RU)" имеет значение "РУССКИЙ",
в культуре "Английский (США) (en-US)" имеет значение "ENGLISH".
При запуске шаблона на просмотр из дизайнера
а) с явно установленной культурой отчета "ru-RU" на результирующей форме видим:
Тестовая форма 26 ноября 2019
б) с явно установленной культурой отчета "en-US" на результирующей форме видим:
Тестовая форма 26 November 2019
При запуске при генерации отчета на основании шаблона из приложения java на linux
а) с явно установленной культурой отчета "ru-RU" на результирующей форме видим:
РУССКИЙ 26 November 2019
б) с явно установленной культурой отчета "en-US" на результирующей форме видим:
РУССКИЙ 26 November 2019
Прошу объяснить описанное поведение системы.
Почему при запуске из дизайнера не изменяется Text5.Text?
Почему при запуске в приложении нет реакции на явно указанную культуру "en-US", и нет соотв. названия месяца культуре "ru-RU"?
- Вложения
-
- Report_ObjectZones.mrt
- (4.77 КБ) 549 скачиваний
Re: Как сделать локализацию?
Здравствуйте.
Для автоматической локализации в дизайнере установите опцию "Автоматически переводить при запуске отчета" в True.
В используйте:
report.setCulture("ru-RU");
report.localizeReport("ru-RU");
перед report.render();
исправления в Яве будут доступны со следующего релиза.
Для автоматической локализации в дизайнере установите опцию "Автоматически переводить при запуске отчета" в True.
В используйте:
report.setCulture("ru-RU");
report.localizeReport("ru-RU");
перед report.render();
исправления в Яве будут доступны со следующего релиза.
Re: Как сделать локализацию?
Здравствуйте!
Ещё вопрос.
Подскажите, пожалуйста, какая маска используется при отображении значения поля типа datetime, в том случае, если его формат явно не определяется и при построении отчета используется явно заданная культура?
Ещё вопрос.
Подскажите, пожалуйста, какая маска используется при отображении значения поля типа datetime, в том случае, если его формат явно не определяется и при построении отчета используется явно заданная культура?
Re: Как сделать локализацию?
Здравствуйте.
MM/dd/yyyy hh:mm:ss a
MM/dd/yyyy hh:mm:ss a