I would have an event launch as soon as the scenario starts which determines the desired language assistance. I'd use either use SpecialMessage and then InputBox SE functions to display options and ask for the language, or perhaps even SE_MsgBox and ask if Spanish (in Spanish) is preferred, button options are yes/no/cancel. Yes ends the dialogue choosing Spanish, cancel will default it to English, no will call another SE_MsgBox with the next language, etc. None of this is perfectly elegant, as we don't have a function which can display text AND ask for an answer to the question in that text. Store the language assistance selected in a KeyValue, so it's perm and will be saved.
Existing events will need to then be modified. If they are visible events, the name of the event is usually important to understand and has meaning, so a LUA script inserted to print the translated name of the event to the log, which should also appear on the bottom left message log. It would be a series of nested if/then/else statements based on the value of the KeyValue representing the language selected. As many events do not have LUA code in their action, I would put the LUA code for this in the event conditional, i.e. "If not English then...". I actually have never used a LUA script in an event cause conditional, we obviously want the event to proceed for ALL languages - maybe LUA event conditionals need to be a function, returning true or false. If so, the function can always return true, but while in the function, print additional info based on the language assistance KeyValue. An example would be you might want language assistance during a score event, or whatever.
Further, all LUA event actions would need to be inspected to see if they use Special Message or MsgBox, and have language specific versions be used, rather than the ones printed in default English.
Hope that helps, its not terribly easy, but nor is it difficult to do. This is the most complete method of language assistance I can dream up with available tools.
< Message edited by Dan109 -- 6/17/2017 3:51:45 AM >