How can I change the language for dictation on the fly?
Solution 1:
You could either edit property lists that store the setting and reopen the DictationIM process:
#!/bin/bash
k="com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier"
if [[ "$(defaults read $k)" == en-US ]]; then
defaults write $k fr-FR
defaults write com.apple.assistant "Session Language" fr-FR
else
defaults write $k en-US
defaults write com.apple.assistant "Session Language" en-US
fi
killall -HUP DictationIM
Or use UI scripting:
tell application "System Preferences"
reveal anchor "Dictation" of pane "com.apple.preference.speech"
end tell
tell application "System Events" to tell process "System Preferences"
tell pop up button 1 of tab group 1 of window 1
click
if value is "English (United States)" then
click menu item "French" of menu 1
else
click menu item "English (United States)" of menu 1
end if
end tell
end tell
quit application "System Preferences"
Both scripts are copied from my answer to How to use applescript to toggle the language setting of new dictation tool (10.8) - Stack Overflow.
Solution 2:
Well, when I want to change languages, I just click on the name of the current language in the little dictation widget and get a menu:
Clarification: the menu will only show you the languages you have enabled in the Dictation preference pane. So by default it only shows the main language of the O.S. installation.
Solution 3:
check this http://fouquet.me/apps/dictationswitcher/ is very nice. I Hope this help