Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note
titleVersion 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:

Code Block

$ 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

Code Block
languagejava
   

You need to change the following List in SyncopeSession (trunk / 1_0_X) from

Code Block

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

to

Code Block
languagejava

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

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

Code Block
languagejava
new Locale("pt", "BR")
    public static final List<Locale> SUPPORTED_LOCALES = Arrays.asList(new Locale[] {
        Locale.ENGLISH, Locale.ITALIAN, Locale.forLanguageTag("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 consoleclient/onsole/src/main/resources/org/apache/syncope/console/

  • copy it in the same place by adding _fr to file name (for example, copy SyncopeApplicationSyncopeConsoleApplication.properties into SyncopeApplicationSyncopeConsoleApplication_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:

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

or, better, if you have JRebel configured:

Code Block
$ 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/Image Removed, 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 thereor send a pull-request.