Only translate message if it's not blank

Empty messages doesn't need to be translated (for obvious reasons) and can
cause gettext() to replace with something which is not an empty string.

e.g. Without this, when using a locale it would get the po information (since
it's defined as a translation to "") and put on search for empty parameters.

Change-Id: Ib7a71eeee1d9b0d9d789e3d781f7a9b5f06c4bf6