Do you speak IT documentation? English is and will remain the standard language in the domain of information technology. But as diversity enriches, i-doit supports several languages. Among other things, we will show you how to adjust existing translations in this article.
Support new languages
i-doit can not be expanded with additional languages without getting into the source code. We would be pleased to hear from you if there are any efforts to translate i-doit into another language.
Automatic Language according to Browser Setting#
When sending a request to a web server, web browsers usually also forward the preferred languages of the user. This information is analyzed by i-doit during login so that i-doit is represented to the user in the respective language automatically. You can influence this behaviour at Administration → User settings → Presentation → Select language by browser.
Change of Language#
During working with i-doit it is possible for every user to switch to another language. You can change the language by selecting the corresponding flag of the country in the admin box in top right corner of the web GUI.
Language per User#
When the user logs in for the first time (initial login) in i-doit, the English interface is displayed by default. Each user can set the language to be used as standard individually. This can be carried out under Administration → User settings → User language.
It is important to set the right value in order to receive, for example, e-mail notifications in the desired language since the e-mail templates are multilingual.
Texts to be translated are represented by so-called language constants within the source code and the databases. Example for the object type Room:
Only the language constant LC__CMDB__OBJTYPE__ROOM is in the source code/ in the databases. The user, however, receives the matching translation ("Room" or "Raum") in the web GUI of i-doit. Language constants can be identified by the fact that they only contain capital letters (A-Z), underscores (_) and in some cases numbers (0-9). They always begin with the LC__ prefix.
With a server call in the browser i-doit uses translation tables. These are located in the installation path of i-doit at
src/lang. There is an abbreviation for each language, for example, de for German, en for English).
|Example file for custom adjustments to the German language (is ignored for the web GUI)
|Custom adjustments to the German language (optional)
|Custom adjustments to the English language (optional)
If you want to edit the translation then use Administration → Data view → Language profiles configuration.
The changes to the files src/lang/
The language constant LC__EXAMPLE becomes "Example translation".
The custom files are not only suitable for new translations but also for overwriting existing ones.
In order to provide users with just one language it can help to replace unnecessary language files. If you want to provide i-doit only in English, for example, you carry out the following actions in the command line:
1 2 3 4 5 6 7
Generally, any text of the web GUI can be translated. If you want to find out which language constant is used, it may help to look for translations in the language constants in many cases.
Multilingual Object Type Groups#
The language constants are located in the row named isys_obj_type_group__title of the table called isys_obj_type_group in the tenant database. If a new object-type group is created, the value can be converted to a language constant in the database. An existing object-type group should not be renamed in the database. Instead the respective language constant should be translated anew in the custom files.
Multilingual Object Types#
An object type can be set as localized at Administration → CMDB settings → Object type configuration → [Object type group] → Language constant / Title. This applies both to standard object types as well as custom object types.
Multilingual Object Titles#
If the concerned category is a standard category, you can overwrite the language constant in the custom files.
In case of custom categories, the category title is tied to a language constant which is translated in the custom files.
The default attributes are translated via the language files. The language constants are located in the source code and should therefore not be adjusted.
Attributes in custom categories can be translated with a language constant.