Network Working Group D. Ewell, Ed.
Request for Comments: 5645 Consultant
Category: Informational September 2009
Update to the Language Subtag Registry
Abstract
This memo defines the procedure used to update the IANA Language
Subtag Registry, in conjunction with the publication of RFC 5646, for
use in forming tags for identifying languages.
Status of This Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Updating the Registry . . . . . . . . . . . . . . . . . . . . 2
2.1. Starting Point . . . . . . . . . . . . . . . . . . . . . . 2
2.2. New Language Subtags . . . . . . . . . . . . . . . . . . . 4
2.3. Modified Language Subtags . . . . . . . . . . . . . . . . 5
2.4. New Region Subtags . . . . . . . . . . . . . . . . . . . . 6
2.5. Grandfathered and Redundant Tags . . . . . . . . . . . . . 6
2.6. Preferred-Value Changes . . . . . . . . . . . . . . . . . 9
2.7. Additional Changes . . . . . . . . . . . . . . . . . . . . 9
3. Updated Registry Contents . . . . . . . . . . . . . . . . . . 10
4. Security Considerations . . . . . . . . . . . . . . . . . . . 10
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1. Normative References . . . . . . . . . . . . . . . . . . . 11
6.2. Informative References . . . . . . . . . . . . . . . . . . 12
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 13
Ewell Informational [Page 1]
RFC 5645 Update to the Language Subtag Registry September 2009
1. Introduction
[RFC4646] provides for a Language Subtag Registry and describes its
format. The initial contents of the registry and rules for
determining them are specified in [RFC4645].
[RFC5646] expands on [RFC4646] by adding support for approximately
7,500 new primary and extended language subtags based on [ISO639-3]
and [ISO639-5] alpha-3 code elements, and seven new region subtags
based on [ISO3166-1] exceptionally reserved code elements. This memo
describes the process of updating the registry to include these
additional subtags and to make secondary changes to the registry that
result from adding the new subtags and from other decisions made by
the Language Tag Registry Update (LTRU) Working Group.
In writing this document, a complete replacement of the contents of
the Language Subtag Registry was provided to the Internet Assigned
Numbers Authority (IANA) to record the necessary updates.
The format of the Language Subtag Registry as well as the definition
and intended purpose of each of the fields are described in
[RFC5646].
The registry is expected to change over time, as new subtags are
registered and existing subtags are modified or deprecated. The
process of updating the registry is described in Section 3 of
[RFC5646].
Many of the subtags defined in the Language Subtag Registry are based
on code elements defined in [ISO639-1], [ISO639-2], [ISO639-3],
[ISO639-5], [ISO3166-1], [ISO15924], and [UN_M.49]. The registry is
not a mirror of the code lists defined by these standards and should
not be used as one.
2. Updating the Registry
This section describes the process for determining the updated
contents of the Language Subtag Registry.
2.1. Starting Point
The version of the Language Subtag Registry that was current at the
time of IESG approval of this memo served as the starting point for
this update. This version was created according to the process
described in [RFC4645] and maintained according to the process
described in [RFC4646].
Ewell Informational [Page 2]
RFC 5645 Update to the Language Subtag Registry September 2009
The source data for [ISO639-3] used for this update consisted of
three files, available from the official site of the ISO 639-3
Registration Authority. (Note that this file is updated from time to
time. The version used in the preparation of this memo was the one
in place on February 24, 2009.)
o [iso-639-3_20090210] is a list of all language code elements in
[ISO639-3], including the alpha-3 code element and reference name
for each code element. For example, the entry for the Dari
language contained the code element 'prs' and the name "Dari"
(among other information).
o [iso-639-3_Name_Index_20090210] is a list containing all names
associated with each language according to [ISO639-3], including
both inverted and non-inverted forms where appropriate. An
"inverted" name is one that is altered from the usual English-
language order by moving adjectival qualifiers to the end, after
the main language name and separated by a comma. A code element
may have more than one entry in this file; the reference name and
its inverted form are usually, but not always, given in the first
entry. For example, this file contained an entry for the code
element 'prs' with the name "Dari" (twice) and another entry with
the names "Eastern Farsi" and "Farsi, Eastern".
o [iso-639-3-macrolanguages_20090120] is a list of all alpha-3 code
elements for languages that are encompassed by a macrolanguage in
[ISO639-3], together with the alpha-3 code element for the
macrolanguage. For example, a line containing the code elements
'fas' and 'prs' indicated that the macrolanguage "Persian"
encompasses the individual language "Dari". (Note that these
alpha-3 code elements may not have corresponded directly to
subtags in the registry, which uses 2-letter subtags derived from
[ISO639-1] when possible.)
The source data for [ISO639-5] used for this update consisted of one
file, available from the official site of the ISO 639-5 Registration
Authority. (Note that this file is updated from time to time. The
version used in the preparation of this memo was the one in place on
February 24, 2009.)
o [iso639-5.tab.txt] is a list of all language code elements in
[ISO639-5], including the alpha-3 code elements and English name
for each code element. For example, this file includes an entry
containing the code element 'ira' and the name "Iranian languages"
(among other information).
Ewell Informational [Page 3]
RFC 5645 Update to the Language Subtag Registry September 2009
Language code elements that were already retired in all of the source
standards prior to IESG approval of this memo were not listed in
these files and, consequently, were not considered in this update.
The values of the File-Date field, the Added date for each new subtag
record, and the Deprecated date for each existing grandfathered or
redundant tag deprecated by this update were set to a date as near as
practical to the date this memo was approved for publication by IESG.
2.2. New Language Subtags
For each language in [ISO639-3] that was not already represented by a
language subtag in the Language Subtag Registry, a new language
subtag was added to the registry, using the [ISO639-3] code element
as the value for the Subtag field and using each of the non-inverted
[ISO639-3] names as a separate Description field. The [ISO639-3]
reference name is represented by the first Description field.
If the language was encompassed by one of the [ISO639-3]
macrolanguages 'ar' (Arabic), 'kok' (Konkani), 'ms' (Malay), 'sw'
(Swahili), 'uz' (Uzbek), or 'zh' (Chinese), as determined by
[iso-639-3-macrolanguages_20090120], an extended language subtag was
also added, with the primary language subtag of the macrolanguage as
the value for the Prefix field. These macrolanguage subtags were
already present in the Language Subtag Registry and were chosen
because they were determined by the LTRU Working Group to have been
used to represent a single dominant language as well as the
macrolanguage as a whole, making the extended language mechanism
suitable for languages encompassed by the macrolanguage.
If the name of the language included the word "Sign", an extended
language subtag was added, with the string "sgn" as the value for the
Prefix field. This is a special case that treats the existing
primary language subtag for "Sign languages" as if it were a
macrolanguage encompassing all sign languages.
All extended language subtags were added with a Preferred-Value equal
to the corresponding primary language subtag.
If the language was encompassed by a macrolanguage, as determined by
[iso-639-3-macrolanguages_20090120], a Macrolanguage field was added
for the encompassed language, with a value equal to the subtag of the
macrolanguage. (Note that 'sgn' is defined as a "collection code" by
[ISO639-3] and hence is not included in that standard; therefore, no
Macrolanguage field was added for sign language subtags.)
If the language was assigned a "Scope" value of 'M' (Macrolanguage)
in [iso-639-3_20090210], a Scope value of "macrolanguage" was added
Ewell Informational [Page 4]
RFC 5645 Update to the Language Subtag Registry September 2009
for the language. Otherwise, if the language was assigned a "Scope"
value of 'S' (Special), a Scope value of "special" was added. Most
languages in [ISO639-3] have scope 'I' (Individual) and thus were not
assigned a Scope value in the registry.
For each language in [iso639-5.tab.txt] that was not already
represented by a language subtag in the Language Subtag Registry, a
new language subtag was added to the registry, using the [ISO639-5]
code element as the value for the Subtag field and using the "English
name" field as the Description field. Each of these languages was
assigned a Scope value of "collection" in the registry.
All subtags were added to the registry maintaining alphabetical order
within each type of subtag: all 2-letter "language" subtags first,
then all 3-letter "language" subtags, and finally all "extlang"
subtags. Some existing records were moved to ensure this order.
2.3. Modified Language Subtags
For each language in [ISO639-3] that was already represented by a
language subtag in the Language Subtag Registry, Description fields
were added as necessary to reflect all non-inverted names listed for
that language in [iso-639-3_Name_Index_20090210]. Any existing
Description fields that reflected inverted names or that represented
a strict subset of the information provided by the [ISO639-3] name
were deleted. An example of the latter was the name "Ainu" for the
subtag 'ain', which provided less information than the [ISO639-3]
name "Ainu (Japan)".
The order of Description fields was adjusted to ensure that the
reference name from [ISO639-3] was listed first, followed by other
names from [ISO639-3] in the order presented by that standard,
followed by any other names already existing in the registry. In
some cases, this resulted in a reordering of Description fields for
existing entries, even when no new values were added.
For each language that was encompassed by a macrolanguage in
[ISO639-3], a Macrolanguage field was added, with a value equal to
the subtag of the macrolanguage.
For each language in [iso639-5.tab.txt] that was already represented
in the Language Subtag Registry, the Description field was adjusted
as necessary to match the "English name" field in [iso639-5.tab.txt].
Names in inverted form were rearranged to remove the inversion. Each
of these languages was assigned a Scope value of "collection".
Existing language subtags whose code elements were assigned prior to
the publication of [ISO639-3] or [ISO639-5] and that were identified
by the [ISO639-3] Registration Authority as representing collections
Ewell Informational [Page 5]
RFC 5645 Update to the Language Subtag Registry September 2009
were also assigned a Scope value of "collection", even though they
are not listed as such in [iso639-5.tab.txt].
Note in particular that the change from [ISO639-2] names such as
"Afro-Asiatic (Other)" to [ISO639-5] names such as "Afro-Asiatic
languages" implies a broadening of scope for some of these subtags,
designated "remainder groups" in [ISO639-5]. While
[iso639-5.tab.txt] includes a field indicating which code elements
are designated as "groups" or "remainder groups" in [ISO639-2],
[RFC5646] does not make this distinction, and consequently this field
was not used in updating the Language Subtag Registry.
A Scope value of "private-use" was added for the unique record with
Subtag value 'qaa..qtz'. This record has a Description of "Private
use" (changed from "PRIVATE USE") and corresponds to a range of code
elements that is reserved for private use in [ISO639-2]. The
Description fields for script and region private-use subtags were
also capitalized as "Private use".
2.4. New Region Subtags
[RFC5646] expands the scope of region subtags by adding subtags based
on code elements defined as "exceptionally reserved" in [ISO3166-1].
These code elements are reserved by the ISO 3166 Maintenance Agency
"at the request of national ISO member bodies, governments and
international organizations". At the time of IESG approval of this
memo, ISO 3166/MA had defined nine exceptionally reserved code
elements, all of which were added to the Language Subtag Registry
except for the following:
o 'FX' (Metropolitan France) was already present in the Language
Subtag Registry because it was an assigned [ISO3166-1] code
element from 1993 to 1997, but was deprecated with a Preferred-
Value of "FR".
o 'UK' (United Kingdom) was not added because it is associated with
the same UN M.49 code (826) as the existing region subtag 'GB'.
[RFC5646], Section 3.4, item 15 (D) states that a new region
subtag is not added to the Language Subtag Registry if it carries
the same meaning as an existing region subtag.
2.5. Grandfathered and Redundant Tags
As stated in [RFC5646], "grandfathered" and "redundant" tags are
complete tags in the Language Subtag Registry that were registered
under [RFC1766] or [RFC3066] and remain valid. Grandfathered tags
cannot be generated from a valid combination of subtags, while
redundant tags can be.
Ewell Informational [Page 6]
RFC 5645 Update to the Language Subtag Registry September 2009
Under certain conditions, registration of a subtag under [RFC5646]
may cause a grandfathered tag to be reclassified as redundant. It
may also enable the creation of a generative tag with the same
meaning as a grandfathered or redundant tag; in that case, the
grandfathered or redundant tag is marked as Deprecated, and the
generative tag (including the new subtag) becomes its Preferred-
Value.
As a result of adding the new subtags in this update, each of the
following grandfathered tags became composable, were reclassified as
redundant, and were deprecated with the indicated generative tag
serving as the Preferred-Value:
zh-cmn (Preferred-Value: cmn)
zh-cmn-Hans (Preferred-Value: cmn-Hans)
zh-cmn-Hant (Preferred-Value: cmn-Hant)
zh-gan (Preferred-Value: gan)
zh-wuu (Preferred-Value: wuu)
zh-yue (Preferred-Value: yue)
The following grandfathered tags were deprecated, with the indicated
generative tag serving as the Preferred-Value:
i-ami (Preferred-Value: ami)
i-bnn (Preferred-Value: bnn)
i-pwn (Preferred-Value: pwn)
i-tao (Preferred-Value: tao)
i-tay (Preferred-Value: tay)
i-tsu (Preferred-Value: tsu)
zh-hakka (Preferred-Value: hak)
zh-min (no Preferred-Value; see below)
zh-min-nan (Preferred-Value: nan)
zh-xiang (Preferred-Value: hns)
Ewell Informational [Page 7]
RFC 5645 Update to the Language Subtag Registry September 2009
The tag "zh-min", originally registered under [RFC1766], is a special
case: it represents a small class of Chinese languages, but is not a
true macrolanguage. The string "min" could not ever be used to tag
these languages since the [ISO639-3] code element 'min' is assigned
to an individual language (Minangkabau) that is not related to
Chinese ('zh'). Because it is not believed to represent a useful
linguistic entity for tagging purposes, it was deprecated without a
Preferred-Value.
The following grandfathered and redundant sign language tags were
deprecated, with the indicated generative tag serving as the
Preferred-Value:
sgn-BE-FR (Preferred-Value: sfb)
sgn-BE-NL (Preferred-Value: vgt)
sgn-BR (Preferred-Value: bzs)
sgn-CH-DE (Preferred-Value: sgg)
sgn-CO (Preferred-Value: csn)
sgn-DE (Preferred-Value: gsg)
sgn-DK (Preferred-Value: dsl)
sgn-ES (Preferred-Value: ssp)
sgn-FR (Preferred-Value: fsl)
sgn-GB (Preferred-Value: bfi)
sgn-GR (Preferred-Value: gss)
sgn-IE (Preferred-Value: isg)
sgn-IT (Preferred-Value: ise)
sgn-JP (Preferred-Value: jsl)
sgn-MX (Preferred-Value: mfs)
sgn-NI (Preferred-Value: ncs)
sgn-NL (Preferred-Value: dse)
sgn-NO (Preferred-Value: nsl)
Ewell Informational [Page 8]
RFC 5645 Update to the Language Subtag Registry September 2009
sgn-PT (Preferred-Value: psr)
sgn-SE (Preferred-Value: swl)
sgn-US (Preferred-Value: ase)
sgn-ZA (Preferred-Value: sfs)
No change was made to the Description field(s) for any of the
grandfathered or redundant tags. For example, the redundant tag
"sgn-US" continues to carry the Description "American Sign Language".
The sign language tags registered prior to [RFC4646] remain an
exception to the general principle that the meaning of a non-
grandfathered tag can be derived from its component subtags.
In previous versions of the registry, grandfathered tags that had
been deprecated as a result of adding an ISO 639-based language
subtag included a Comments field, with a value of the form "replaced
by ISO code xxx", where 'xxx' represented the new language subtag.
These comments duplicated the information contained within the
Preferred-Value field and were deleted as part of this update. No
changes were made to other Comments fields.
2.6. Preferred-Value Changes
[RFC5646], Section 3.1.7 provides for the value of Preferred-Value
fields to be updated as necessary to reflect changes in one of the
source standards. Accordingly, the Preferred-Value fields for the
following deprecated tags were changed:
i-hak (changed from zh-hakka to hak)
zh-guoyu (changed from zh-cmn to cmn)
This makes it unnecessary for consumers of the Language Subtag
Registry to follow a "chain" of Preferred-Values in order to arrive
at a non-deprecated subtag.
2.7. Additional Changes
For consistency with the handling of alternative names in language
subtags, Description fields for script subtags taken from [ISO15924]
that represent alternative names were converted to multiple
Description fields. For example, the Description "Han (Hanzi, Kanji,
Hanja)" was converted to four separate Description fields. Some
Description fields for script subtags contained parenthetical
material that was explanatory, rather than identifying alternative
names; these fields were not altered.
Ewell Informational [Page 9]
RFC 5645 Update to the Language Subtag Registry September 2009
This situation does not apply to region subtags taken from
[ISO3166-1] and [UN_M.49] because those standards do not provide
freely available alternative names for code elements.
Description fields in inverted form for script and region subtags
were rearranged to remove the inversion, for consistency with the
handling of language subtags in Sections 2.2 and 2.3. For example,
the Description field "Korea, Republic of" was changed to "Republic
of Korea".
The capitalization of the Subtag fields for certain grandfathered and
redundant tags (sgn-BE-fr, sgn-BE-nl, sgn-CH-de, and yi-latn) was
modified to conform with the capitalization conventions described in
[RFC5646], Section 2.1.1. This has no effect on the validity or
meaning of these tags.
The Description field for subtag 'sgn' was capitalized as "Sign
languages" to match the capitalization used for other languages in
[ISO639-5], even though this capitalization does not exactly match
that used for code element 'sgn' in any of the ISO 639 parts.
The Deprecated field for the region subtag TP was modified from 2002-
11-15 to 2002-05-20, to correct a clerical error. The corrected date
reflects the actual date the code element TP was withdrawn in
[ISO3166-1].
The order of fields within records in the registry was adjusted as
necessary to match the order in which these fields are described in
[RFC5646], Section 3.1.2. This ordering is not required by [RFC5646]
and may not necessarily be reflected in future additions or
modifications to the registry.
3. Updated Registry Contents
IANA has updated the Language Subtag Registry according to the
provided replacement contents. The replacement content was listed in
the working draft of this document, but was deleted prior to
publication as an RFC to avoid potential confusion with the registry
itself. The Language Subtag Registry is available from the IANA
website, .
4. Security Considerations
For security considerations relevant to the Language Subtag Registry
and the use of language tags, see [RFC5646].
Ewell Informational [Page 10]
RFC 5645 Update to the Language Subtag Registry September 2009
5. IANA Considerations
IANA has updated the Language Subtag Registry, which can be found via
. For details on the procedures for the format
and ongoing maintenance of this registry, see RFC 5646.
6. References
6.1. Normative References
[ISO639-3] International Organization for Standardization, "ISO 639-
3:2007. Codes for the representation of names of
languages - Part 3: Alpha-3 code for comprehensive
coverage of languages", February 2007.
[ISO639-5] International Organization for Standardization, "ISO 639-
5:2008. Codes for the representation of names of
languages -- Part 5: Alpha-3 code for language families
and groups", May 2008.
[RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for
Identifying Languages", RFC 5646, September 2009.
[iso-639-3-macrolanguages_20090120]
International Organization for Standardization, "ISO
639-3 Macrolanguage Mappings", January 2009, .
[iso-639-3_20090210]
International Organization for Standardization, "ISO
639-3 Code Set", February 2009,
.
[iso-639-3_Name_Index_20090210]
International Organization for Standardization, "ISO
639-3 Language Names Index", February 2009,
.
[iso639-5.tab.txt]
International Organization for Standardization, "ISO
639-5 code list, Tab-delimited text", February 2009,
.
Ewell Informational [Page 11]
RFC 5645 Update to the Language Subtag Registry September 2009
6.2. Informative References
[ISO15924] International Organization for Standardization, "ISO
15924:2004. Information and documentation -- Codes for
the representation of names of scripts", January 2004.
[ISO3166-1] International Organization for Standardization, "ISO
3166- 1:2006. Codes for the representation of names of
countries and their subdivisions -- Part 1: Country
codes", November 2006.
[ISO639-1] International Organization for Standardization, "ISO 639-
1:2002. Codes for the representation of names of
languages -- Part 1: Alpha-2 code", July 2002.
[ISO639-2] International Organization for Standardization, "ISO 639-
2:1998. Codes for the representation of names of
languages -- Part 2: Alpha-3 code", October 1998.
[RFC1766] Alvestrand, H., "Tags for the Identification of
Languages", RFC 1766, March 1995.
[RFC3066] Alvestrand, H., "Tags for the Identification of
Languages", RFC 3066, January 2001.
[RFC4645] Ewell, D., "Initial Language Subtag Registry", RFC 4645,
September 2006.
[RFC4646] Phillips, A. and M. Davis, "Tags for Identifying
Languages", BCP 47, RFC 4646, September 2006.
[UN_M.49] Statistics Division, United Nations, "Standard Country or
Area Codes for Statistical Use", Revision 4 (United
Nations publication, Sales No. 98.XVII.9, June 1999.
Ewell Informational [Page 12]
RFC 5645 Update to the Language Subtag Registry September 2009
Appendix A. Acknowledgements
This memo is a collaborative work of the Language Tag Registry Update
(LTRU) Working Group. All of its members have made significant
contributions to this memo and to its predecessor, [RFC4645].
Specific contributions to this memo were made by Stephane Bortzmeyer,
John Cowan, Mark Davis, Martin Duerst, Frank Ellermann, Debbie
Garside, Kent Karlsson, Gerard Lang, Addison Phillips, Randy Presuhn,
and CE Whitehead.
Author's Address
Doug Ewell (editor)
Consultant
EMail: doug@ewellic.org
URI: http://www.ewellic.org
Ewell Informational [Page 13]