Language Instructions
ILIAS Language Concept
The ILIAS language implementation uses a two-level concept with text files for each language in the "lang" directory and loaded languages in the database. For every language there is a file for ILIAS itself and a language file for the setup of ILIAS. Additionally, a local language file for specific terminologies can be created and offered within an installation. Since ILIAS 3.9 an extended language maintenance feature is offered in ILIAS to improve and simplify the language maintenance and translation of new language entries.
When running ILIAS all language entries of the user interface are read from database given that the language has been installed before. To install a new language (english language is installed by default) it has to be loaded in the database. All data for each language resides in one language file with the corresponding international abbreviation for that language in its file name. The file name format is ilias_[language code].lang
(language codes referring to ISO 639-1 Alpha-2 code lists.). The language entries itself use language specific codings like "Western" or "Simplified Chinese".
Language files in ILIAS are encoded in UTF-8 which allows cross coding content like English interface and Chinese content! When you edit ILIAS language files, please use an editor which supports UTF-8 perfectly to avoid damaging the lang files!
Before importing the data into the database each file will be checked by ILIAS for consistence and errors. This avoids the problem of corrupted script files and furthermore simplifies the developing process. When a new language is added to ILIAS we don't have to touch any exisiting code but just put the new language file in the ILIAS lang directory. The system will automatically detect and install the new language on demand.
Important note for developers
If you want to add, delete or change language variables, this must be done at least in the english language file. The file ilias_en.lang defines the master set of language variables. Every night a service program called the "Language Manager" adjusts the variables of the other language files to the set of the english language file.
Please also note, that if you are developing new code and add language variables to a language file, this won't directly affect the user interface due to the 2-level approach explained above. You have to execute the language update within the ILIAS administration. This will write all entries of the language file into the database.