Follow-up to #2570285: Make sure TranslatableMarkup accepts string values only
Follow-up to #2557113: Make t() return a TranslationWrapper object to remove reliance on a static, unpredictable safe list
Problem/Motivation
Empty strings are not valid input for the TranslatableMarkup constructor.
Proposed solution
Fail when input doesn't make sense. Test for empty strings before creating new TranslatableMarkup objects, and leave them as plain strings if they are empty.