automatic language detection on the mac

macOS & Mac Apps

hi there everyone i'm a multi lingual user so i come across pages that has 2 languages in the page voice over on the mac doesn't seem to detect the second language of choice automatically like on the iPhone it works like a dream but on the mac its hopeless. or if there is a solution to it that would be great!
note: if u didn't understand what i mean please ask me for more explanations



Submitted by Apple Khmer on Monday, February 23, 2015

I'm in the same boat as you. I think one reason Mac OS can't automatically switch between language voices is because of dictionaries. IOS has the dictionaries of the languages of the language voices whereas Mac doesn't. Gee! I'd love for my Mac to automatically switch between English and Thai language voices, but I don't think that will happen anytime soon. Although there may be a quicker way to toggle between language voices with out having to go through the Voice Over utility menu.

Submitted by Riss on Monday, February 23, 2015

In reply to by Apple Khmer

thanks for your reply, that's how i usually do it with switching voices manually by pressing control option command left right up and down arrows to get to it, but it would be nice if they add this feature, we should all write to apple support and tell them about that cheers mate

Yeah, but that only lets me mess with the default voices. I use the Thai voice in the contents voices and I have to go the longer way than Control+Option+Command+arrows to manually toggle back and forth.

Well, manually toggling back and forth on Mac is not too much of a hasle for me. I'm just waiting for Khmer text to speech to be available for Mac. It is already available for WINDOWS.

Submitted by Lielle ben simon on Tuesday, February 24, 2015

Club AppleVis Member

Hi! I know that osx system doesn't including swich languages. I know person that developer sumting like this, but it's not ready. It's has bing pade on the appstore for mac.

Submitted by arnold on Friday, April 22, 2016

you can use automator and keyboard shortcuts. i followed these steps and it works great!!!.
note: i use 2 languages, dutch is my main, and i use english as second, i use the karen voice.
i actually only had to make a shortcut for karen. if i use option escape my default voice speaks. when i use my own made shortcut in this case (ctrl option cmd + k) it starts speaking in english.
so this pretty much works as on the iPad, only i have to choose which language, but you don't have to go true acceblility options to change the voices any more

these are the instructions i found online and followed:

Open Automator, choose Service, Service receives selected text, drag action "Speak Text" to build worklow select Voice (for example: Ryan Speaking) Save

Repeat with different voices.

(The Services List can be edited/cleaned up with Service Scrubber Application and partly under System Preferences > Keyboard > Keyboard Shortcuts > Services)

Edit: Now that you have two or more Voices under the Services Menu, you can go to: System Preferences > Keyboard > Keyboard Shortcuts > Application Shortcuts and create a new Shortcut for each voice.

So far, it works like this on my machine (OS 10.6.8): Default System Voice: Ryan (Infovox) Shortcut Selected in Speech Pref to Control+S. This starts and stops English text.

The German voice I have assigned Control+Y (Yannick voice from Lion OS). Control+Y starts German voice for German selected text; which can be stopped by clicking the main start/stop shortcut twice, here Control+S+S. The reason for twice is because pressing it once starts the English voice over the German voice. That's the best I could come up so far. Make sure the shortcuts don't conflict with other shortcuts. You will notice that the additional shortcut allows you to start several voice threads, talking over each other plus the default system voice, which drives up processor activity, but no problem if one remembers to stop the speaking by double-executing of the shortcut for the default voice.

Not sure if this works system-wide, but works in my browsers, Mail, and the BookReader app I'm using.

Edit 2: I have noticed that when activating a secondary text-to-speech voice via the Automator Service the Automator Runner process drives up processor activity to above 100% with fans speeding up. Not sure if there is a solution to this.

Submitted by Apple Khmer on Saturday, April 23, 2016

Right now, the only screen reades that will do that aer the ones for WINDOWS like NVDA and JAWS. For Apple, it is only possible with IOS Voice Over. There is a way to do it with just the infovox voices for Mac, but I don't have the instructions on me. YThey are on thissite though.

Submitted by Riss on Saturday, April 23, 2016

In reply to by Apple Khmer

I think when they release Siri for Mac this problem will be solved

Submitted by arnold on Thursday, May 19, 2016

yeah but then i have to purchase additional software. I like the builtin voice from apple.
for me the solution i found works very well. I can switch voices very easy. i made multiple shortcuts for different voices now and it works great for me.

Submitted by Ekaj on Wednesday, January 2, 2019

Hi all. I don't really have a need for any other languages on here, although I took German, Spanish and Latin and I know a tiny bit of French. But just a bit ago as I was downloading an audio book from BARD, I decided to switch to Automatic Language detection in VoiceOver just to see if it worked. I'm running the latest build of OS Mojave on a mid-2013 MBA. So I went to the Foreign Language Collection on BARD, and VO actually did switch to a few of the localized voices but only to read out each language sub-category. Bruce read the actual entries for each title. He doesn't seem to have a very good command of anything but English, lol! But reading this thread has me curious, so when I have more time I'll read up on this a bit. After all, I enjoy playing around with all these voices and speech synths.

Hi Arnold,

This sounds like the solution although now (2020) I am not sure where to find certain steps...
Will you help?

I don't know what tou mean with "choose Service" after opening Automator,
And then after, "Service receives selected text"

I tried it without that step and just added the "Speak Text" action/function, to the main window and then selected the voice I want and saved it as .app
I then went to the keyboard settings and made a keyboard shortcut to that app but when hitting the shortcut, nothing happens...


Submitted by Adam Samec on Tuesday, November 24, 2020


I don't believe automatic language switching in VoiceOver, or whichever screen reader whatsoever for that matter, will ever be reliable. Instead, I would welcome a truly quick and simple way of toggling between two preconfigured languages manually using just a single keyboard shortcut. A positive side of JAWS on Windows is that such a single key language toggle can be programmed when using JAWS scripts.

Another very useful behaviour of JAWS on Windows, which I am missing in VoiceOver, is that it remembers the speech settings per each application. Put simply, one can have, e.g., English voice set in Microsoft Word and French in Google Chrome, and as one switches between these two apps. the voice language switches along.

Kind regards