When the system starts up the I18nManager
checks which languages are available. This is done in the method
doInitAvailableLanguages(). The following
sources are searched for i18n Files:
In development mode: on the application
and brasato source path (brasato.src in
olat.properties must be configured)
WebappHelper.getBrasatoSourcePath(): the
brasato source path.
WebappHelper.getSourcePath(): the
application source
The languages found there are considered to be translatable. Normally this is only DE and EN.
In translation mode: on the translation
directories (is.translation.server,
i18n.application.src.dir and
i18n.brasato.src.dir must be configured
accordingly)
The languages found there are considered to be translatable. This means that they can be translated with the translation tool with read/write access
In the jar libraries
webapp/WEB-INF/lib/*.jar: each jar file
is searched for */_i18n/* directories, e.g. in
olatcore_i18n_all-SNAPSHOT.jar and
olat3_i18n_all-SNAPSHOT.jar but also in
your custom jar files
The languages found here are not translatable, read only.
In the optional language packs directory (language packs uploaded in the language configuration)
olatdata/customizing/lang/packs/
The languages found here are not translatable, read only.
In the language customizing directory (files created with the customizing tool)
olatdata/customizing/lang/overlay/
The languages found here are translatable, read/write. However, these are only language overlays, not real languages.
The I18nManager processes the steps above and adds each found language file to the internal map. The first hit counts, a second hit for the same language and bundle in another source will be ignored.