Интернационализация с помощью Seam 2.2.2

У меня есть проект jboss seam 2.2.2, и я впервые использую интернационализацию с этой структурой. Я уже установил языковой стандарт по умолчанию, и использование global messages_XX.properties уже работает. Что ж, этот проект быстро растет, и для лучшей организации и простоты обслуживания я хотел бы, чтобы сообщения были лучше организованы в различных файлах свойств для определенных страниц. упоминание документации Seam по интернационализации это и в конкретном абзаце говорится:

Если вы хотите определить сообщение только для определенной страницы, вы можете указать его в пакете ресурсов с тем же именем, что и идентификатор представления JSF, с удалением начального / и конечного расширения файла. Таким образом, мы могли бы поместить наше сообщение в welcome / hello_en.properties, если бы нам нужно было только отобразить сообщение на /welcome/hello.jsp

Этот абзац можно найти по адресу: http://docs.jboss.org/seam/2.2.2.Final/reference/en-US/html/i18n.html#d0e14166

В документах упоминаются страницы с расширением .jsp, но в моем случае я использую facelets, и у меня есть файл .xhtml, поэтому для моей страницы home.xhtml я создал файл home_pt_BR.properties, который является pt_BR локалью по умолчанию для моего приложения, и я разместили сообщения для этой конкретной страницы в этом файле .properties.

На самом деле этот подход у меня не сработал.

Я также попытался зарегистрировать страницу в faces-config.xml, а также в pages.xml, но опять же, похоже, это не работает.

Итак, как мне настроить Seam для поддержки нескольких файлов пакетов для моего приложения?


person groo    schedule 09.11.2011    source источник


Ответы (1)


Вы можете добавить файлы пакета в components.xml

Например:

<core:resource-loader>
    <core:bundle-names>
        <value>messages</value>
        <value>strings</value>
    </core:bundle-names>
</core:resource-loader>
person arved    schedule 10.11.2011
comment
Я не совсем уверен, что вы предложили, но я рассмотрю этот вариант. Не могли бы вы быть более конкретным? Где я могу указать название пакета? Одно имя пакета для каждого тега значения? - person groo; 10.11.2011
comment
Привет, я ознакомился с предложенным подходом, и на самом деле он не удовлетворяет моим требованиям, так как отслеживать все файлы пакетов в системе в файле conponents.xml было бы непросто и сложно. Я хотел бы использовать подход, основанный на хранении одного файла пакета для каждого файла на каждом языке, например, в документации по швам, которая должна работать. - person groo; 11.11.2011
comment
На самом деле ваше решение не удовлетворяет моим требованиям, но поскольку оно выглядит как единственное решение, я считаю его правильным. Я все еще считаю, что есть другой более простой способ сделать это, или, может быть, я просто неправильно понял документацию по швам по этому поводу. - person groo; 21.12.2011