User experience with multilanguage website

It's a really bad idea to guess at a language preference regardless of where the data comes from.

As a general rule the viewer's language preference should take priority. If you don't respect this rule, at best you'll annoy a viewer who has to work harder to understand something. At worst you'll make your site completely un-usable for that person.

There really aren't pro's to letting a system decision, or other data setting determine a language, especially when it impacts the entire interface. Instead, you should provide a consistent option (header or footer) to change localization settings AND respect that for at least the entire session.

As a side note: This sounds like a request based on perceived problems and solutions. I would dig to find the real problem and then brainstorm other solutions that don't involve forced language changes. I would also talk to users and get real data. Don't let the business dictate how users want to interact.