When I want to extend my chatbot to another language will I need to run a separate server for each language or is there a way to have a single web server that directs requests to one of several chatbots depending on language selected?
No need to have multiple bots
Take a look at this: Mutlilingual bot (capturing user input and intercepting bot's output for translation) - #2 by ChrisRahme
If you don’t want to capture the language using a custom component, you can ask the user to select a language themselves via buttons. That means, whatever language they speak, the chatbot will always reply in the same language as the user chose.
As far as I know bots nowdays is coded with a possibility to have multiply languages in their codes. So no, you do not need multiple bots
As far as I can see, you need one bot per language if you want to use Rasa X and many pipeline components. I read about mixing NLU examples from different languages to detect intents, but I am not sure how the performance for this is compared to one-language training data. Also, entity extraction may suffer/not work well unless you focus on one language.
I guess, it is possible to solve the issue with heavy modification of the NLU pipeline - though, if it would be easy, there would be a demo project already. Since the multi-language issue is common and frequently asked, I suggest adding something about it to the Rasa Open documentation.