So I'm having to implement multiple language support on our server by handling the Accept-Language header, and have some questions that aren't really addressed in the RFC: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
So, a client can not only specify multiple languages, but can assign a quality value to each one to denote an order of preference. i.e. from the spec,
Accept-Language: da, en-gb;q=0.8, en;q=0.7
would mean: "I prefer Danish, but will accept British English and other types of English."
First, it seems WTFy to me that you're assigning quality values instead of just a comma-separated ordered list. Makes parsing the thing that much harder because now I have to sort it. And I really don't care whether you like british english .2 more, or .1 more. I only care about the order.
But on to my question: How do I handle (or do I need to handle) languages that have the same quality? i.e.
Accept-Language: da, en
Both would default to a quality of 1. Should they go into an arbitrary order, or the order they were recieved in, or can I just consider that an invalid use case and handle it in the most convenient way for me (ignoring the second one)?