Addons

HOWTO: Force Locale - JSF UI

Updated: March 18, 2024

JSF UI Deprecation
This requires to have the JSF UI addon installed on your server that is deprecated since Nuxeo Platform LTS 2019.
Please refer to the Web UI documentation.

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" />