Emirates - which prides itself on its multi-lingual international cabin crew, always announces the languages spoken by the crew as part of their on-board announcements.
Despite the variety of their crew; often it is the case that the cabin crew members do not speak the language of the destination country; but they speak a large variety. On a recent flight from Kuwait to Dubai, the crew spoke Slovak, Russian, Mandarin, English, French (but no Arabic).
On a flight from Kuwait to Karachi (Pakistan, native language Urdu) - none of the crew spoke Urdu.
If its so on a large, 100% international airline like Emirates - I would think on airlines that have international and domestic operations it is even less likely; and even more so on smaller airlines.
It is definitely nice to have as a language barrier is a common headache for cabin crew; I have seen them struggle with passenger (often times other passengers that speak the language had to assist).
As this goes directly towards the safety of the flight - many airlines have started to dub their safety announcements in the majority language of the destination country/area.
Recently on a Flydubai flight to Karachi, I was surprised (I actually said hah!) when upon landing the standard "please remain seated till the seat belt sign has been turned off" announcement was recorded and played back in Urdu.
I do not believe it is mandatory or required by law (if it were, then for each flight - the safety cards and signage would also have to be written in the majority language - as it also goes directly towards safety).
I have seen though, if an airline uses a particular aircraft on a specific routing - then they do change the signage for that particular country-pair (Saudia - the flag carrier for Saudi Arabia has done this in the past on their 747).