Google is institutionally incapable of understanding that some people can speak multiple languages. Only reliable solution I found is to create one account for each language and restrict the number of available languages to just that one in:
https://www.google.com/preferences?lang=1
YouTube is the worst offender these days. I get Portuguese videos auto-dubbed to English and vice-versa even though I can understand both and with no way to disable other than account switching.
It also can't tell Portuguese from Spanish in search queries.