StringResourceModel API seems to suggest it's possible to use it without a Component reference using the following approach:
Unfortunately the above will fail with an exception if the message uses the MessageFormat approach and one of the parameters
is a number, since the locale field in StringResourceModel won't be initialized, and will then be passed as null to new MessageFormat(value, locale) at line 514 of StringResourceFormat.
I'm using the following crude workaround:
but boy, this looks ugly... Creating a custom subclass that does locale loading in the
constructor would look better, but still quite ugly...