Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Well, 3a is always set, so there is no reason ever to fall back into 3b, 3c, 3d, or 4 (unless you are supporting non-mainstream browsers, what does make sense, but the advice is much less wrong than your comment implies).


> 3a is always set, so there is no reason ever to fall back

It would appear so on first glance, but consider that sometimes, the 3a value is useless, and some home-brew analytics will reveal that; so you can think about whether to not take the value into consideration for the locale. Unfortunately, the real world is messy like that. :(

Examples:

• browser was never configured because the user does not know how, or even that the capability exists, and hence does not reflect the true intention of the user

• browser configuration could not be changed for technical or social reasons

• browser is hardened against finger-printing


Nothing lower on your list can be changed more easily than accept language. So, if it is wrong, anything lower has a high likelihood of being wrong too. That' why your #1 and 2 are important.

And you have no means of knowing that the accept language is wrong anyway. But it's always there (for mainstream browsers), and more trustworthy than the lower options. You won't have the chance of falling back into them. (A non configured browser has that header set, and you don't know if the browser user can change it or is lying.)


Not ignoring values from 3a is exactly what this discussion is about. Stop second guessing the user's settings.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: