Every Translator script contains a main.lua module containing the main() function.
When you start a component, the Translator runs all the code in the main.lua module — this only occurs once when the component starts. When a running component receives a message, only the main() function is called.
This affects the way you use variables as they are initialized at different times depending on where they are declared.
Variables declared outside the main() function are initialized once when the component is started.
Variables declared within the main() function are initialized every time a message is processed by the Translator.