Version warning

Content of this page applies to Apache Syncope >= 2.0.X

Let's take an example: consider that you want to add support for French language in the admin console UI.

Get sources

Checkout project sources from ASF GIT or fork the GitHub mirror.

Initial build

From inside the directory where you have checked out the sources:

$ mvn -PskipTests,all

Add support for new Locale

Change the following in client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleApplication.java from

       public static final List<Locale> SUPPORTED_LOCALES = Collections.unmodifiableList(Arrays.asList(
            new Locale[] {
                Locale.ENGLISH, Locale.ITALIAN, new Locale("pt", "BR")
            }));

to

    public static final List<Locale> SUPPORTED_LOCALES = Collections.unmodifiableList(Arrays.asList(
            new Locale[] {
                Locale.ENGLISH, Locale.ITALIAN, new Locale("pt", "BR"), Locale.FRENCH
            }));

If your language is not in the default Java set of locale constants, it is possible to add it as shown above for Brazilian Portuguese.

new Locale("pt", "BR")

Add actual translations

The admin console is a plain Apache Wicket web application, empowering Wicket's i18n support: see all details about this mechanism.

Basically, for each *_it.properties file found under client/onsole/src/main/resources/org/apache/syncope/console/

  • copy it in the same place by adding _fr to file name (for example, copy SyncopeConsoleApplication.properties into SyncopeConsoleApplication_fr.properties, or using another example, for Portuguese translations for each *_it.properties file found under client/console/src/main/resources/org/apache/syncope/console/, copy it in the same place by adding _pt_BR to file name (for example, copy SyncopeConsoleApplication.properties into SyncopeConsoleApplication_pt_BR.properties
  • edit the newly added files by translating all messages to French or to corresponding language.

Check the (partial) result

In order to check if you are doing well, from inside the directory where you have checked out the sources:

$ cd client/console
$ mvn clean install
$ cd ../../fit/console-reference
$ mvn -Pdebug

or, better, if you have JRebel configured:

$ cd fit/console-reference
$ export REBEL_HOME=/opt/jrebel # or wherever your JRebel installation is
$ mvn -Pjrebel

You should now be able to browse the admin console at http://localhost:9080/syncope-console/, choose 'French' from the dropdown on the login form and see if the provided translation is working.

Finalize

Once done with latest two items above, you are ready to either commit your work (if you have rights) or file an issue on JIRA and attach a patch or send a pull-request.

  • No labels