Tags for Identifying Languages
RFC 4646

 
Document Type RFC - Best Current Practice (September 2006; Errata)
Obsoleted by RFC 5646
Obsoletes RFC 3066
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 4646 (Best Current Practice)
Telechat date
Responsible AD Scott Hollenbeck
Send notices to randy_presuhn@mindspring.com, duerst@it.aoyama.ac.jp

Email authors IPR References Referenced by Nits Search lists

Network Working Group                                   A. Phillips, Ed.
Request for Comments: 4646                                   Yahoo! Inc.
BCP: 47                                                    M. Davis, Ed.
Obsoletes: 3066                                                   Google
Category: Best Current Practice                           September 2006

                     Tags for Identifying Languages

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 (2005).

Abstract

   This document describes the structure, content, construction, and
   semantics of language tags for use in cases where it is desirable to
   indicate the language used in an information object.  It also
   describes how to register values for use in language tags and the
   creation of user-defined extensions for private interchange.  This
   document, in combination with RFC 4647, replaces RFC 3066, which
   replaced RFC 1766.

Phillips & Davis         Best Current Practice                  [Page 1]
RFC 4646             Tags for Identifying Languages       September 2006

Table of Contents

   1. Introduction ....................................................3
   2. The Language Tag ................................................4
      2.1. Syntax .....................................................4
      2.2. Language Subtag Sources and Interpretation .................7
           2.2.1. Primary Language Subtag .............................8
           2.2.2. Extended Language Subtags ..........................10
           2.2.3. Script Subtag ......................................11
           2.2.4. Region Subtag ......................................11
           2.2.5. Variant Subtags ....................................13
           2.2.6. Extension Subtags ..................................14
           2.2.7. Private Use Subtags ................................16
           2.2.8. Preexisting RFC 3066 Registrations .................16
           2.2.9. Classes of Conformance .............................17
   3. Registry Format and Maintenance ................................18
      3.1. Format of the IANA Language Subtag Registry ...............18
      3.2. Language Subtag Reviewer ..................................24
      3.3. Maintenance of the Registry ...............................24
      3.4. Stability of IANA Registry Entries ........................25
      3.5. Registration Procedure for Subtags ........................29
      3.6. Possibilities for Registration ............................32
      3.7. Extensions and Extensions Registry ........................34
      3.8. Initialization of the Registries ..........................37
   4. Formation and Processing of Language Tags ......................38
      4.1. Choice of Language Tag ....................................38
      4.2. Meaning of the Language Tag ...............................40
      4.3. Length Considerations .....................................41
           4.3.1. Working with Limited Buffer Sizes ..................42
           4.3.2. Truncation of Language Tags ........................43
      4.4. Canonicalization of Language Tags .........................44
      4.5. Considerations for Private Use Subtags ....................45
   5. IANA Considerations ............................................46
      5.1. Language Subtag Registry ..................................46
      5.2. Extensions Registry .......................................47
   6. Security Considerations ........................................48
   7. Character Set Considerations ...................................48
   8. Changes from RFC 3066 ..........................................49
   9. References .....................................................52
      9.1. Normative References ......................................52
      9.2. Informative References ....................................53
   Appendix A. Acknowledgements ......................................55
   Appendix B. Examples of Language Tags (Informative) ...............56

Phillips & Davis         Best Current Practice                  [Page 2]
RFC 4646             Tags for Identifying Languages       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.

   A user's language preferences often need to be identified so that
   appropriate processing can be applied.  For example, the user's
Show full document text