I wrote config-merge for a similar use case... It merges configs/strings, and was easy enough to wire in the selected language with a component based on React Context with a useStrings component, and shimmed out a getStrings (which will get the current context outside react context, like action creators or reducers).
https://www.npmjs.com/package/@tracker1/config-merge