Matching of Language Tags
RFC 4647
Document | Type |
RFC - Best Current Practice
(September 2006; No errata)
Obsoletes RFC 3066
|
|
---|---|---|---|
Authors | Addison Phillips , Mark Davis | ||
Last updated | 2015-10-14 | ||
Stream | Internent Engineering Task Force (IETF) | ||
Formats | plain text html pdf htmlized (tools) htmlized bibtex | ||
Reviews | |||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4647 (Best Current Practice) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Ted Hardie | ||
Send notices to | (None) |
Network Working Group A. Phillips, Ed. Request for Comments: 4647 Yahoo! Inc. BCP: 47 M. Davis, Ed. Obsoletes: 3066 Google Category: Best Current Practice September 2006 Matching of Language Tags Status of This Memo This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document describes a syntax, called a "language-range", for specifying items in a user's list of language preferences. 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 RFC 4646, replaces RFC 3066, which replaced RFC 1766. Phillips & Davis Best Current Practice [Page 1] RFC 4647 Matching of Language Tags September 2006 Table of Contents 1. Introduction ....................................................3 2. The Language Range ..............................................3 2.1. Basic Language Range .......................................4 2.2. Extended Language Range ....................................4 2.3. The Language Priority List .................................5 3. Types of Matching ...............................................6 3.1. Choosing a Matching Scheme .................................6 3.2. Implementation Considerations ..............................7 3.3. Filtering ..................................................8 3.3.1. Basic Filtering .....................................9 3.3.2. Extended Filtering .................................10 3.4. Lookup ....................................................12 3.4.1. Default Values .....................................14 4. Other Considerations ...........................................15 4.1. Choosing Language Ranges ..................................15 4.2. Meaning of Language Tags and Ranges .......................16 4.3. Considerations for Private-Use Subtags ....................17 4.4. Length Considerations for Language Ranges .................17 5. Security Considerations ........................................17 6. Character Set Considerations ...................................17 7. References .....................................................18 7.1. Normative References ......................................18 7.2. Informative References ....................................18 Appendix A. Acknowledgements ......................................19 Phillips & Davis Best Current Practice [Page 2] RFC 4647 Matching of Language Tags September 2006 1. Introduction Human beings on our planet have, past and present, used a number of languages. There are many reasons why one would want to identify the language used when presenting or requesting information. Applications, protocols, or specifications that use language identifiers, such as the language tags defined in [RFC4646], sometimes need to match language tags to a user's language preferences. This document defines a syntax (called a language range (Section 2)) for specifying items in the user's list of language preferences (called a language priority list (Section 2.3)), as well as several schemes for selecting or filtering sets of language tags by comparing the language tags to the user's preferences. Applications, protocols, or specifications will have varying needs and requirements that affect the choice of a suitable matching scheme. This document describes how to indicate a user's preferences using language ranges, three schemes for matching these ranges to a set of language tags, and the various practical considerations that apply to implementing and using these schemes. This document, in combination with [RFC4646], replaces [RFC3066], which replaced [RFC1766]. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. The Language Range Language tags [RFC4646] are used to help identify languages, whether spoken, written, signed, or otherwise signaled, for the purpose ofShow full document text