Do you mean: tell one language from another one? If so, forget it: practically impossible.
If you simply want to use speech recognition with different languages, you need to use specific recognizer capable of using specific culture, this one:
System.Speech.Recognition.SpeechRecognitionEngine
.
See:
http://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognitionengine.aspx[
^]. You will need a separate instance of this class per culture.
Attention! This class required a thread with thread apartment state
System.Threading.ApartmentState.MTA
. If you run it in the thread with MTA it will show wrong exception, non-informative and misleading (probably a bug). If your application thread is STA (like in WPF), you will need to run recognition in a separate thread.
You cannot use
System.Speech.Recognition.SpeechRecognizer
with the same functionality except multiple cultures, it will work only with default one.
—SA