Content Language Headers
RFC 3282

Document Type RFC - Draft Standard (May 2002; No errata)
Obsoletes RFC 1766
Was draft-alvestrand-content-language (individual in app area)
Author Harald Alvestrand 
Last updated 2015-10-14
Stream IETF
Formats plain text html pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 3282 (Draft Standard)
Action Holders
Consensus Boilerplate Unknown
Telechat date
Responsible AD Patrik Fältström
IESG note Approved
Responsible: Finished
Send notices to (None)
Network Working Group                                      H. Alvestrand
Request for Comments: 3282                                 Cisco Systems
Obsoletes: 1766                                                 May 2002
Category: Standards Track

                       Content Language Headers

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.


   This document defines a "Content-language:" header, for use in cases
   where one desires to indicate the language of something that has RFC
   822-like headers, like MIME body parts or Web documents, and an
   "Accept-Language:" header for use in cases where one wishes to
   indicate one's preferences with regard to language.

1. Introduction

   There are a number of languages presently or previously used by human
   beings in this world.

   A great number of these people would prefer to have information
   presented in a language which they understand.

   In some contexts, it is possible to have information available in
   more than one language, or it might be possible to provide tools
   (such as dictionaries) to assist in the understanding of a language.

   In other cases, it may be desirable to use a computer program to
   convert information from one format (such as plaintext) into another
   (such as computer-synthesized speech, or Braille, or high-quality
   print renderings).

Alvestrand                  Standards Track                     [Page 1]
RFC 3282                Content Language Headers                May 2002

   A prerequisite for any such function is a means of labelling the
   information content with an identifier for the language that is used
   in this information content, such as is defined by [TAGS].  This
   document specifies a protocol element for use with protocols that use
   RFC 822-like headers for carrying language tags as defined in [TAGS].

   The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in [RFC 2119].

2. The Content-language header

   The "Content-Language" header is intended for use in the case where
   one desires to indicate the language(s) of something that has RFC
   822-like headers, such as MIME body parts or Web documents.

   The RFC 822 EBNF of the Content-Language header is:

      Content-Language = "Content-Language" ":" 1#Language-tag

   In the more strict RFC 2234 ABNF:

      Content-Language = "Content-Language" ":" [CFWS] Language-List
      Language-List = Language-Tag [CFWS]
                         *("," [CFWS] Language-Tag [CFWS])

   The Content-Language header may list several languages in a comma-
   separated list.

   The CFWS construct is intended to function like the whitespace
   convention in RFC 822, which means also that one can place
   parenthesized comments anywhere in the language sequence, or use
   continuation lines.  A formal definition is given in RFC 2822

   In keeping with the tradition of RFC 2822, a more liberal "obsolete"
   grammar is also given:

      obs-content-language = "Content-Language" *WSP ":"
                              [CFWS] Language-List

   Like RFC 2822, this specification says that conforming
   implementations MUST accept the obs-content-language syntax, but MUST
   NOT generate it; all generated headers MUST conform to the Content-
   Language syntax.

Alvestrand                  Standards Track                     [Page 2]
RFC 3282                Content Language Headers                May 2002

2.1 Examples of Content-language values

   Voice recording from Liverpool downtown

      Content-type: audio/basic
      Content-Language: en-scouse

   Document in Mingo, an American Indian language which does not have an
   ISO 639 code:

      Content-type: text/plain
      Content-Language: i-mingo

   A English-French dictionary

      Content-type: application/dictionary
      Content-Language: en, fr (This is a dictionary)

   An official European Commission document (in a few of its official

      Content-type: multipart/alternative
      Content-Language: da, de, el, en, fr, it

   An excerpt from Star Trek

      Content-type: video/mpeg
      Content-Language: i-klingon

3. The Accept-Language header

   The "Accept-Language" header is intended for use in cases where a
   user or a process desires to identify the preferred language(s) when
   RFC 822-like headers, such as MIME body parts or Web documents, are

   The RFC 822 EBNF of the Accept-Language header is:
Show full document text