Your first problem is going to be with accented characters. Most of the components don’t support them (I believe only roImageCanvas does, but I could be mistaken).
You don’t need multiple apps. There’s a couple of ways you could do it, but you’ll have to handle it on your own; there’s no built-in support. You could retrieve the text to display from a server or keep multiple versions of the text within the app and switch between languages.
I tested accented characters and they appear to show as intended on the latest boxes. Arabic or Hebrew characters don’t show at all but perhaps I can dynamically install the required font to make them show. I shall have to investigate this further.
The bigger problem for me at the minute is finding a way to display and handle the “change language” functionality within the app - it would have been great to see how other apps did it but it looks as though I shall have to come up with a bespoke solution.
Basically, the only roku components that support true international character sets are the roImageCanvas and the roScreen, and roScreen is the only one that is certain. The other components, to my knowledge, only support ASCII. You need to load you own TTF or OpenType font to handle languages, and write your own GUI from scratch, using roScreen or roImageCanvas. Look up roFontResource and roFont in the Brightscript 3.0 manual.