One text to speech is going to be best.
Some thoughts, I believe if you change screens, you need a separate text to speech for each screen.
However, if you use a single screen, with lots of buttons, you can use a single text to speech to control the activities of all the buttons on the screen. For example
In the Button1.Click
Text to speech1.Speak
message Button1.Text
In the Button2.Click
Text to speech1.Speak
message Button2.Text or what you want
or something like that. Have you experiments with setting
set TextToSpeech1.Country to and
Language to blocks? You might be able to get some interesting results. You have to use the language/country codes here:
http://ai2.appinventor.mit.edu/reference/components/media.html#TextToSpeech I have not attempted this. It won't provide a translation, but it might allow the Speak to speak in the language of the text too? Does it? I actually do not know.
If there are still changing screen issues, consider using a SINGLE screen, many buttons and a screen layout, sometimes, hide buttons, other times display buttons. You might not have to use multiple screens to get your app to make language flash cards or whatever you are attempting.
What do you put in your when TexttoSpeech1.AfterSpeaking block? perhaps the close screen block should go here? ...something to think about if you have to have multiple screens.
Have fun. Please share the results of your experiments.
Regards,
Steve