redesign PBD::LocaleGuard to work correctly (i.e. not break translations)