Как поручить AEM искать конкретные переводы комплекта ресурсов - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть два сайта, и кодовая база одинакова.

SiteA SiteB

приложения / компания / компонента

Как выбрать разные переводы пакетов ресурсов для SiteA, SiteB в i18n?

Спасибо, Шри

1 Ответ

0 голосов
/ 12 апреля 2019

Не могли бы вы быть конкретным, это для переводов на стороне сервера или на стороне клиента? Для переводов на стороне клиента у меня возникла проблема с OTB ResourceBundleExportServlet, подробно здесь .

слинг: базовое имя путь:

  1. Добавьте свойство sling: basename для mix: языковой узел. Скажите слинг: basename = "siteA"
  2. Передайте базовое имя во время поиска пакета. request.getResourceBundle ("siteA", локаль);
  3. Это вернет ключи только от определенного базового имени.

Экспортер пользовательских пакетов на стороне клиента:

  1. Хранить отдельные словари для SiteA и SiteB. Например: / apps / company / sitea / i18n, / apps / company / siteb / i18n.
  2. Если разделение словаря невозможно, сохраните номенклатуру в ярлыках для идентификации сайта. Например, все метки должны иметь префикс siteA / siteA. Например, siteA.click здесь, siteB.clickhere
  3. Создание собственного сервлета, похожего на ResourceBundleExportServlet. Сохраните путь как /libs/company/i18n/dict.
  4. Пользовательский сервлет будет проверять siteA или siteB на slingrequest и возвращать только соответствующие метки. Фильтрация меток на основе пути к словарю (шаг 1) или префикса (шаг 2)
  5. Создать наложение для /libs/clientlibs/granite/utils/source/I18n.js. Измените urlPrefix на

    var urlPrefix = "/libs/company/i18n/dict.";

  6. Теперь поиск на стороне клиента i18n будет извлекать записи из пользовательского экспортера, а не из OTB-экспортера

Resolver на стороне сервера:

  1. Чтобы различать метки sitea или siteb, нам нужен шаг 1 или 2 сверху.
  2. Как только мы узнаем, как идентифицировать метки, специфичные для сайта, нам понадобится только вспомогательная утилита, которая проверяет сайт по запросу и разрешает из определенного словаря или префикса

Надеюсь, это поможет.

...