Liferay 7 динамического контента с разными значениями для разных идентификаторов языка?

Я создал структуру Liferay 7 с полем "Объяснение".

Вот веб-контент, использующий эту структуру:

<?xml version="1.0"?>
<root available-locales="en_US" default-locale="en_US">
  <dynamic-element name="Text" type="text_area" index-type="text" instance-id="vjsj">
    <dynamic-content language-id="en_US">
      <![CDATA[<p>Hello!</p>]]>
    </dynamic-content>
  </dynamic-element>
</root>

Я заметил, что четвертая строка имеет language-id="en_US" приписывать.
Означает ли это, что я мог бы добавить локализации этого поля (через JournalArticle.setContent), как показано ниже, и автоматическое отображение объяснения на французском языке для французских читателей в пользовательском интерфейсе Liferay?

<?xml version="1.0"?>
<root available-locales="en_US" default-locale="en_US">
  <dynamic-element name="Text" type="text_area" index-type="text" instance-id="vjsj">
    <dynamic-content language-id="en_US">
      <![CDATA[<p>Hello!</p>]]>
    </dynamic-content>
    <dynamic-content language-id="fr_FR">
      <![CDATA[<p>Bonjour !</p>]]>
    </dynamic-content>
  </dynamic-element>
</root>

В отличие от заголовка и резюме JournalArticle, я не вижу маленьких флажков ни в одном из полей, выпущенных структурой, поэтому я не уверен, поддерживается ли такой XML.

1 ответ

Решение

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

В общем, Liferay кодирует все языки в один XML. Указывает, какие языки содержатся в корне. Фактический перевод затем кодируется для каждого поля и языкового кода.

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