Add argument 'lang' to allow setting language without having to set ENV/setlocale()
Hackety hack: begin to split into widgets