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, copySyncopeConsoleApplication.properties
intoSyncopeConsoleApplication_fr.properties
, or using another example, for Portuguese translations for each*_it.properties
file found underclient/console/src/main/resources/org/apache/syncope/console/
, copy it in the same place by adding_pt_BR
to file name (for example, copySyncopeConsoleApplication.properties
intoSyncopeConsoleApplication_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 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.