Как выбрать пакет ресурсов в зависимости от выбранной локали в adf?

у меня есть шаблон .jspx с заголовком, содержимым и нижним колонтитулом

<jsp:root xmlns:jsp = "http://java.sun.com/JSP/Page" version = "2.1"
          xmlns:f = "http://java.sun.com/jsf/core"
          xmlns:c = "http://java.sun.com/jsp/jstl/core"
          xmlns:af = "http://xmlns.oracle.com/adf/faces/rich"
          xmlns:tr = "http://myfaces.apache.org/trinidad"
          xmlns:rah = "http://xmlns.oracle.com/webcenter/resourcehandler"
          xmlns:wcdc = "http://xmlns.oracle.com/webcenter/spaces/taglib">

и у меня есть 2 файла свойств ar.properties и en.properties. в нижнем колонтитуле у меня есть сообщение об авторских правах который будет отображаться в зависимости от выбранной локали

так я сделал это

 <af:outputFormatted value = " جميع الحقوق محفوظة "  rendered = "#{facesContext.ELContext.locale eq 'ar'}" />
 <af:outputFormatted value = "all right reserved "  rendered = "#{facesContext.ELContext.locale eq 'en'}" />

и это работает нормально, но этот способ неэффективен, потому что мне придется дублировать каждую метку на всей странице.

я пытался поставить

<c:set var = "bundle" value = "{#facesContext.ELContext.locale eq 'en' ? {adfBundle['com.en']} : {adfBundle['com.ar']}}" />

и использовал только одну выходную метку

<af:outputFormatted value = "#{bundle.copyright}"  />

но это дает мне предупреждение, что эталонный пакет не найден как это исправить

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
445
1

Ответы 1

Как описано в еще не подтвержденном ответе на ваш предыдущий вопрос (Не могу отобразить outputText в зависимости от моей переменной systemLocal)

Вы можете следовать этой простой для чтения документации о том, как создать пакет локализации: https://docs.oracle.com/cd/E15051_01/web.1111/b31973/af_global.htm#ADFUI433

Вы правы, используя свой второй подход с пакетами, чтобы иметь переводимую ценность. Если у вас есть предупреждение «эталонный пакет не найден», это означает, что вы пропустили часть, в которой вы должны определить пакет в свойствах вашего проекта.

См. 21.2.1 Как установить параметры набора ресурсов:

After you have created a project, you can set resource bundle options in the Project Properties dialog.

To set resource bundle options for a project:

In the Application Navigator, double-click the project.

In the Project Properties dialog, select Resource Bundle to display the resource bundle options, as shown in Figure 21-3.

Figure 21-3 Project Properties Resource Bundle dialog

Project Properties Resource Bundle. If you want JDeveloper to automatically generate a default resource file, select Automatically Synchronize Bundle.

Select one of the following resource bundle file options:

One Bundle Per Project - configured in a file named .properties.

One Bundle Per Page - configured in a file named .properties.

Multiple Shared Bundles.

Select the resource bundle type from the dropdown list:

XML Localization Interchange File Format (XLIFF) Bundle

List Resource Bundle

Properties Bundle

Click OK.

Другие вопросы по теме