And, we leave preview mode when the app goes to the background, so there is no way for the user to switch language and then come back to the app and see an incorrectly localized string.

I know that you inherited this code, but calling get() like this really isn't the right way to do things. If you're going to do it this way you have to add a comment explaining why it is okay to use get() in this case.  I think it would be easier to just switch to using data-l10n-id