In firefox it is possible to add the locales;
English [en]
French [fr]
Etc
Without the country specifics.
Now say if the blogs locale is en-au, we are using http locale as 1st preference, and the user's http locale is [fr] (like above).
Then it will scan for [fr] but not find it as there is no country code.
So the blogs locale will be used instead.
So if the http locale does not include a country specific code, then there is a problem.
I was going to suggest just duplicate it, so fr-fr, but then for arabic, there is no ar-ar.
So yeh....
Yope, the code detecting the browser locale needs a little cleanup.
It should probably handle numeric weighted preferences too.