The model you are serving was only trained on English to German data so it can only translate from English to German.
To achieve what you are asking, you should first train models for other language pairs and then have a external system (non available in OpenNMT) that auto-detects the language and invokes the correct model.
What does it mean by external systems (non available in OpenNMT) to auto detect the
input languages ? Please give me some hints regarding this external system.