Aviation English is the universal language for air traffic control. Pilots and air traffic controllers are supposed to have a minimum level of proficiency.
Now, air traffic controllers and pilots within a specific non-English speaking country like Mexico will generally speak their native language even though they can communicate in English. Most flights in Mexico are handled in Spanish though they’ll switch to English for an English speaker. (This isn’t universally true as air traffic control will be handled largely in English in India for instance.)
One criticism of the dual language approach is that while an air traffic controller and pilot will understand each other, other pilots lose some degree of situational awareness if they do not understand the conversation. (Here’s one incident where “use of two languages for radio communications” led one crew to be unaware that another aircraft was about to take off.)
On the other hand, even conducting air traffic control entirely in English doesn’t generate total understanding either because of local dialect (failing to conform to formal Aviation English) or because of insufficient proficiency. Aviation English requires use of very specific words.
Poor communication has led to major incidents even apart from language barriers.
On the other hand, non-native English speakers are sometimes just more direct such as this China Eastern pilot returning to Sydney upon discovering that his aircraft had a major hole in its engine cowling on the port side. (HT: Live and Let’s Fly)
— Flight (@flightorg) June 11, 2017
The China Eastern pilot simply described his engine number one as being “fooked.” Or perhaps he said ‘fault’ by I certainly prefer to think it’s the former.