datatracker.ietf.org
Sign in
Version 5.12.0.p2, 2015-03-02
Report a bug

Matching of Language Tags
RFC 4647

Document type: RFC - Best Current Practice (September 2006; No errata)
Obsoletes RFC 3066
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 4647 (Best Current Practice)
Responsible AD: Ted Hardie
Send notices to: ltru-chairs@ietf.org

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",

[include full document text]