That will change the prompts, but not the voicemail greetings as the OP requested. You can of course set the channel language by any convenient way, I obviously prefer mine as it does it globally and there is less GUI’ness involved (Thank good-ness for that, any old Brits around here to get that ? )
I came up with this method to dynamically hard-link the greetings from a language specific vmail box to the standard default one. Just add to /etc/asterisk/extensions_override_freePBX.conf
exten => s,1,Set(VMLANGEXIST=${SHELL([ -d "/${ASTSPOOLDIR}/voicemail/${TOLOWER(${CHANNEL(language)})}/${ARG1}" ] && echo -n $? || echo -n "no such directory ${TOLOWER(${CHANNEL(language)})} "})
exten => s,n,Set(UPDATED=${IF($[ "${VMLANGEXIST}" = "0" ]?${SHELL(ln -f /${ASTSPOOLDIR}/voicemail/${TOLOWER(${CHANNEL(language)})}/${ARG1}/*.wav -t /${ASTSPOOLDIR}/voicemail/default/${ARG1}/ && echo -n $? )})})
exten => s,n,Set(UPDATED=${IF($[ "${VMLANGEXIST}" = "0" ]?${SHELL(ln -f /${ASTSPOOLDIR}/voicemail/${TOLOWER(${CHANNEL(language)})}/${ARG1}/*.WAV -t /${ASTSPOOLDIR}/voicemail/default/${ARG1}/ && echo -n $? )})})
exten => s,n,Set(UPDATED=${IF($[ "${VMLANGEXIST}" = "0" ]?${SHELL(ln -f /${ASTSPOOLDIR}/voicemail/${TOLOWER(${CHANNEL(language)})}/${ARG1}/*.gsm -t /${ASTSPOOLDIR}/voicemail/default/${ARG1}/ && echo -n $? )})})
exten => s,n,Set(VMCONTEXT=${DB(AMPUSER/${ARG1}/voicemail)})
exten => s,n,GotoIf($["foo${VMCONTEXT}" = "foo"]?200:300)
exten => s,200,Set(VMCONTEXT=default)
exten => s,300,noop()
It is totally benign unless you have that /var/spool/asterisk/voicemail/(your_language) directory.
At your convenience, create that /var/spool/asterisk/voicemail/(your_language) directory thusly . . . from the GUI, change the voicemail context of the relevant vmail box to each language you want to use , including your base language “en” (my “base” language) , “it”, “de” , “en_gb” etc and record the language specific greetings etc. (*97, then option 0, then 1 2 and 3 . . . ), when done return the voicemail context to “default”. You can add more later , but remember to return it to “default”.
a couple of quirks I ran into, yes it has to be “en_gb” NOT “en_GB” as the php code lowercases the voicemail context and no you can’t use *.{wav,WAV,gsm}" for the globbing because asterisk throws up on curly things in the wrong place (as do I ), and you only need lines that match your "record = " line in voicemail.conf
Obviously don’t do this if you don’t understand it.