JSF UI Framework

How to Force Locale

Updated: July 17, 2023

You can force the locale by removing other locales support. This is done in the deployment-fragment.xml file of your plugin.

"Sample extract of deployment-fragment.xml replacing other bundles' contributions to faces-config.xml"

<require>org.nuxeo.ecm.platform.lang.ext</require>
<extension target="faces-config#APPLICATION_LOCALE" mode="replace">
  <locale-config>
    <default-locale>en_US</default-locale>
    <supported-locale>en_US</supported-locale>
  </locale-config>
  <message-bundle>messages</message-bundle>
</extension>

The mode="replace" attribute will replace all the previously contributed <extension target="faces-config#APPLICATION_LOCALE">.

So you have to carefully make your plugin being deployed after any other bundle contributing a locale-config. In the above sample, this is ensured by the require parameter.

This configuration applies on JSF pages and will not change the default locale on the login page which only depends on the browser configuration.

If you'd like to force locale on the login page, you should override the page at /login.jsp and force the locale there, by adding the following line at the beginning of the file, just after the <html> tag, for instance:

<fmt:setLocale value="fr" />