datatracker.ietf.org
Sign in
Version 5.4.0, 2014-04-22
Report a bug

Tags for Identifying Languages
RFC 4646

Document type: RFC - Best Current Practice (September 2006; Errata)
Obsoleted by RFC 5646
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 4646 (Best Current Practice)
Responsible AD: Scott Hollenbeck
Send notices to: randy_presuhn@mindspring.com, duerst@it.aoyama.ac.jp

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

[include full document text]