To obtain the strings and generate the gettext localization template, the text has to be in the main body.

Previously, the modal elements' markup laid in a template inside a script element. This markup was only injected in the page when a modal dialog shows up. This conveniently hides the markup until they are needed, however, it also makes the markup unparsable to the gettext template extractor.  

The workaround to make is to put the markup in the main html, and hide it.