Technical Summary
This document describes a syntax, called a language-range, for
specifying items in a user's language preferences, called a language
priority list. It also describes different mechanisms for comparing
and matching these to language tags. Two kinds of matching
mechanisms, filtering and lookup, are defined. Filtering produces a
(potentially empty) set of language tags, whereas lookup produces a
single language tag. Possible applications include language
negotiation or content selection. This document, in combination with
draft-ietf-ltru-registry-14, will become BCP 47, replacing RFC 3066.
Working Group Summary
Working group support for this document is strong. There was one objection
raised during IETF Last Call, related to the scope and applicability of the
work. This objection had previously been considered and rejected in the
working
group.
Protocol Quality
This document was reviewed for the IESG by Ted Hardie. The PROTO shepherd was
Martin Duerst.
Note to RFC Editor
In Section 2:
OLD:
In a language range, each subtag MUST either
be a sequence of ASCII alphanumeric characters or the single
character '*' (%2A, ASTERISK). The character '*' is a "wildcard"
that matches any sequence of subtags. The meaning and uses of
wildcards vary according to the type of language range.
NEW:
In a language range, each subtag MUST either
be a sequence of ASCII alphanumeric characters or the single
character '*' (%x2A, ASTERISK). The character '*' is a "wildcard"
that matches any sequence of subtags. The meaning and uses of
wildcards vary according to the type of language range.
In Section 3.3.2
OLD:
Split both the extended language range and the language tag being
compared into a list of subtags by dividing on the hyphen (%2D)
character. Two subtags match if either they are the same when
compared case-insensitively or the language range's subtag is the
wildcard '*'.
NEW:
Split both the extended language range and the language tag being
compared into a list of subtags by dividing on the hyphen (%x2D)
character. Two subtags match if either they are the same when
compared case-insensitively or the language range's subtag is the
wildcard '*'.