Im using a global variable like you said, that only changes in options screen, and i have a dictionary that has all text, for example:
OptionS is the name of the entry for "options" in spanish, OptionsE is the name of the entry for "options" in english, and my global variable is called LANG and have "S" value or "E" value, then i use this:
Text.SetText -> Dic.Get("Options" & LANG)