This is a problem with the underlying JSTL implementation used on the Roller JSP pages and I am able to reproduce the error outside of Roller with a simple JSP page. JSTL is picking the wrong locale. Roller uses the latest JSTL implementation, so the proper course of action here is to report a bug to the JSTL developers and, if possible, create a work-around for Roller.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:setBundle basename="ApplicationResources" />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<title><fmt:message key="error.title.404" /></title>
Only the Roller editor/admin page is effected by this bug, not blog pages which use Servlet API directly.
This seems like a pretty minor issue, do "real users" really put Relative Quality Factors in their Accept-Langauge header?