no but some thoughts:
i prefix this saying that i am someone that essentially speaks only 1 language... however i do like messing with stuff. i have seen the same when forcing my glados voice to speak other languages. it seems to garble it a bit.
I also have messed with getting different language models to speak english. to see how they do and how the accent comes across. and during that messing around i discovered that some models are better than others are surviving the language swap so i would suggest you try a few models and see what works. maybe your 2nd language model moves to english better than the english model to 2nd language
auto "code switching" could be interesting if only an edge case. i havent tried but a hacky approach might look something like.
maybe you could add a script for "changing language" and tell the llm in the prompt to call it. which would then change the pipeline. but then that would only work from the next call.
although perhaps call the script with a target language and the actual responce. then return a blank so orginal pipeline finishes and then the script can tts.speak the responce.
or tell it to directly call a "respond in german" script if the text is german and then return blank. orginal pipeline ends and you can tts.speak with a specified model in the script.