This has been mentioned in IRC a few times but with the possibility of multiple in-game text languages coming closer to reality there are some other issues that will need to be addressed. The most pressing one I can see is what to do regarding MsgSendUser calls; other languages might need the articles and pronouns moved or removed completely thus would require a different version of MsgSendUser to be used.
So far I'm thinking we add a new UC protocol to send the client's display language to the server (server can store it in a new PFLAG field for the player) and then just use if else statements to pick the right MsgSendUser to use. Luckily only a subset of these message calls will be affected by differences in language, but this still might get klunky if we get more than 3 or 4 full translations going (which might be kind of unlikely). Looking for any better suggestions or comments here.
Another issue is choosing the language in the client - I want to go with a menu option here as I can think of cases where someone with a German or Russian operating system might want to display the English (or other) text for learning purposes or simply because they're used to it that way, so forcing language based on OS might not be the best option. Here I'm thinking we could populate a drop-down menu in the client menu bar with languages that have a translation available (client can keep track of this while loading in the .rsb file). Not 100% sure how to build this yet but unless someone can tell me it's completely impossible, or suggest a better idea this is likely what I will try to do.
Currently the compiler/server/client code works fine, the remaining parts left to work on are these issues and more compiler checks to prevent defining multiple strings of the same language for the same resource.