If a gadget try to use a message as soon as it starts its execution, the translated text is not available. Take a look at the example above. Its definition is at
and includes "messages":["about"]. Nonetheless, when it prints the value of mw.msg('about'), I get "<about>". A few seconds later, if I use mw.msg('about') again, it return the correct value: "About".
I tested on Ubuntu 12.04 using Google Chrome 21.0.1180.57. Same problem on Firefox 14.0.1.
Screenshot of the console after the two attempts to get the translated message