3

My problem is how to add new language like thailand language in liferay 7. When I inspect the existing flag I see that the image is not png but it is svg, but I can't add new language with icon. In this page.jsp I see that the constructor of image is automatically generated.

This code describes the generation of svg image

<svg class="lexicon-icon lexicon-icon-<%= image %>" role="img" title="<%= HtmlUtil.escapeAttribute(LanguageUtil.get(resourceBundle, label)) %>" <%= InlineUtil.buildDynamicAttributes(dynamicAttributes) %>>
    <use xlink:href="<%= Validator.isNotNull(src) ? src : themeDisplay.getPathThemeImages() + "/lexicon/icons.svg" %>#<%= image %>" />
</svg>
abarisone
  • 3,707
  • 11
  • 35
  • 54

1 Answers1

0

Assuming that you have followed all the steps in this Liferay blog, adding the flag in Liferay 7 requires:

  1. Create a new theme, or modify existing theme to :

    • add your flag file in SVG format as images\lexicon\flags-xx-YY.svg (where xx-YY is your locale, case-sensitive)
    • open the file icons.svg in the same folder and add your flag SVG elements as a symbol among the other symbol elements: </symbol><symbol id="xx-yy" viewBox="0 0 512 512"> <rect y="64" fill="#B0BEC9" width="512" height="384"/> <rect x="16" y="80" width="480" height="352" fill="#fff"/> <rect ..... /> <circle .... /> </symbol><symbol id="zh-cn" viewBox="0 0 512 512">

      1. Deploy, or re-deploy, the theme and choose it as the active theme for the pages you want.

      2. Clear the browser cache if needed.

Akber Choudhry
  • 1,755
  • 16
  • 24