More work on internationalisation

Switch to using xgettext.  Underlining now done based on length of
translated strings.  Don't translate empty strings.