For example, the following might be part of a German language definition:
yes Ja no Nein cancel Abbrechen error Fehler register_complete Danke für die Registrierung.
This allows the developer to parse the language file into a token-indexed array such as a Dictionary collection. In order to run on a particular language, the language definition file is loaded into the application and the code uses the individual tokens to display the message.
MessageBox.Show(Language["register_complete"]);
However, when we're working with an anti-malware application, we need to consider security as well. What if an attacker were to modify the language definition file to show a different message and convince the user to do something detrimental? As such, we need to secure the language file with a digital signature to prove its authenticity. This can be done with the same RSA keypair we use for storing definitions.