Assign language to locations
If a customer lands on the shop from France, have the default language as France.
The default currency switches to Euros, but then the customer must find a menu to send it to French language. Why? When the shop is already doing one of the related jobs when they enter.
It might not be specific to everywhere, but using "Zones" admin can specify optionally, that 10 countries selected by admin should by default switch to "languages installed list". If 4 languages are present, then for example.
Spain / Latin America > Spanish language
United Arab Emirates > Arabic language
Several key advantages are met with this. First, the customer is landing on a site in their language most likely, so they are more likely to stay on the website and more likely to buy something.
Default English language may not be understood, or they might not know something can be shipped to their location at all.
Why do half the job in selecting the currency for specified country and then not showing the language when its installed and the customer is from this country?
Admin can assign depending on how they want, just like how zones works where you can select countries into shipping zones.
One step further is to add new "Blocks" which would be specific to a country. For example you may have a specific shipping promotion you dont want the whole world to see. Although this is possible adjusting the code, a default behaviour would be easier in the admin to add. This could be within "Banners" module.