2010-04-22 12 views
2

Я работаю с механизмом отчетности BIRT, и моя текущая задача - внедрить интернационализацию отчетов. Мы используем webviewer для создания и загрузки отчетов в формате PDF. Существует параметр (__locale), который позволяет мне указать язык, который должен использоваться для создания отчета. Пока все работает нормально.Как изменить стандартную локаль в BIRT

Существует еще одно требование, которое я не смог реализовать. Дополнительно к языку, заданному параметром http, также должна быть возможность указать какой-то резервный локаль.

Выполните следующий пример: Есть два файла свойств common_en_US.properties и common_en_GB.properties. Первый используемый язык должен быть en_GB (__locale = en_GB). Все работает нормально, если файл common_en_GB.properties существует. Но я также хотел бы сказать BIRT использовать common_en_US.properties, если файл en_GB не найден, что не работает должным образом.

Я попытался решить эту проблему вручную, установив языковой стандарт Java по умолчанию перед выполнением BIRT, потому что я думал, что BIRT будет использовать механизм Java для разрешения локализованных строк. К сожалению, эта попытка не работает.

Есть ли другой способ сделать то, что я хотел бы сделать? Можно ли вообще что-то сделать?

Большое спасибо! Johannes

ответ

3

Поэтому, когда вы указываете языковой стандарт, BIRT ищет только файл свойств этого локали. Локаль JVM по умолчанию не используется. Когда файл свойств не найден, используется текст по умолчанию, применяемый к элементу управления в конструкторе.

Более фон здесь: BIRT & Internationalization

Так что вы хотите сделать, это создать иерархию районов, которые BIRT не поддерживает. Если вы отправляете свои отчеты вручную (через сервлет или другое POJO), вы можете принудительно ввести код в код через IRunAndRenderTask (существует метод, называемый setLocale)

+0

Обе ссылки не работают. Возможно, https://wiki.eclipse.org/BIRT/FAQ/Internationalization станет хорошей заменой для первой. – kostja

Смежные вопросы