And also make it easy on the site to change languages. Just because my OS is in US English, doesn't mean that I don't prefer certain sites to be in other languages when I choose to. Many of us are multilingual.
That should not be the business of the site, but of the browser. It is precisely what Accept-Language is for. The site should respect the header, allowing circumvention should be a very low accessibility priority.
The site should respect explicit user actions. A get request to a /en/ domain, or a button click to a language icon should result changing to that language. Respecting implicit preferences that are more likely than not be just plain wrong anyways should be a very low priority, ideally shouldn't be done at all.