Text surfaces should automatically update text set from key when language is changed
Current behavior of a text surface that has its text set using the method text_surface:set_text_key(key)
is that the text is simply set one time to the localized string in the current language, equivalent to text_surface:set_text(sol.language.get_string(key))
.
A better implementation would be to update each active text surface with a new localized string whenever the language is changed. Text surfaces with text set using the method text_surface:set_text(text)
would not need to be updated when the language is changed.
I envision the engine keeping track of a list of text surfaces to be updated whenever the language is changed, and text surfaces would be added to that list when the set_text_key() method is called. They would then be removed from the list if the method set_text() is called.
Discussion from forums: http://forum.solarus-games.org/index.php/topic,1253.0.html