A text of an application, such as a label, a menu item or a message, is stored as a resource code instead of as text. A resource code is written `{res:<key>}`, such as `{res:itgen_description}`, and the repository holds the translation of the key in every language of the application. A product replaces the resource code by the translation in the language of the user. A message can carry parameters. A rule raises `{res:<key>?<parameter 1>&<parameter 2>}`, and the parameters take the places marked in the translation. A key without a translation is shown as the key itself, which makes a missing translation easy to spot. How translations are maintained is described in [[Invantive Studio/Translations|Translations]] and [[Invantive Studio/Translation Workbench|Translation Workbench]].