Presumably when a caller dials in, they are presented with a DR that allows them to select the language of their choice. One way might be to have the selection point to a different grouping of extensions on a multi-extension capable phone. In other words, have one physical phone with 3 extensions established, say 111, 211 and 311 for language 1, language 2 and language 3 respectively. The downside to the approach is that if they are on extension in one language, then it is still possible that a DR could send a call to the same physical phone on a different extension which would cause the phone to ring.
Another alternative might be to explore custom ring tones such that a different tone is established for each.
You might also explore using DID numbers with naming rules up front to isolate the languages from the very beginning. What I am unsure of however is if the naming rule is carried throughout the call handling., but you might experiment and see.