draft-ietf-ltru-registry-06.txt   draft-ietf-ltru-registry-07.txt 
Network Working Group A. Phillips, Ed. Network Working Group A. Phillips, Ed.
Internet-Draft Quest Software Internet-Draft Quest Software
Expires: December 25, 2005 M. Davis, Ed. Expires: December 26, 2005 M. Davis, Ed.
IBM IBM
June 23, 2005 June 24, 2005
Tags for Identifying Languages Tags for Identifying Languages
draft-ietf-ltru-registry-06 draft-ietf-ltru-registry-07
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 25, 2005. This Internet-Draft will expire on December 26, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
This document describes the structure, content, construction, and This document describes the structure, content, construction, and
semantics of language tags for use in cases where it is desirable to semantics of language tags for use in cases where it is desirable to
indicate the language used in an information object. It also indicate the language used in an information object. It also
skipping to change at page 2, line 16 skipping to change at page 2, line 16
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. The Language Tag . . . . . . . . . . . . . . . . . . . . . . . 4 2. The Language Tag . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Language Subtag Sources and Interpretation . . . . . . . . 6 2.2 Language Subtag Sources and Interpretation . . . . . . . . 6
2.2.1 Primary Language Subtag . . . . . . . . . . . . . . . 7 2.2.1 Primary Language Subtag . . . . . . . . . . . . . . . 7
2.2.2 Extended Language Subtags . . . . . . . . . . . . . . 9 2.2.2 Extended Language Subtags . . . . . . . . . . . . . . 9
2.2.3 Script Subtag . . . . . . . . . . . . . . . . . . . . 10 2.2.3 Script Subtag . . . . . . . . . . . . . . . . . . . . 10
2.2.4 Region Subtag . . . . . . . . . . . . . . . . . . . . 11 2.2.4 Region Subtag . . . . . . . . . . . . . . . . . . . . 11
2.2.5 Variant Subtags . . . . . . . . . . . . . . . . . . . 12 2.2.5 Variant Subtags . . . . . . . . . . . . . . . . . . . 12
2.2.6 Extension Subtags . . . . . . . . . . . . . . . . . . 13 2.2.6 Extension Subtags . . . . . . . . . . . . . . . . . . 14
2.2.7 Private Use Subtags . . . . . . . . . . . . . . . . . 15 2.2.7 Private Use Subtags . . . . . . . . . . . . . . . . . 15
2.2.8 Pre-Existing RFC 3066 Registrations . . . . . . . . . 15 2.2.8 Pre-Existing RFC 3066 Registrations . . . . . . . . . 15
2.2.9 Classes of Conformance . . . . . . . . . . . . . . . . 15 2.2.9 Classes of Conformance . . . . . . . . . . . . . . . . 16
3. Registry Format and Maintenance . . . . . . . . . . . . . . . 17 3. Registry Format and Maintenance . . . . . . . . . . . . . . . 18
3.1 Format of the IANA Language Subtag Registry . . . . . . . 17 3.1 Format of the IANA Language Subtag Registry . . . . . . . 18
3.2 Maintenance of the Registry . . . . . . . . . . . . . . . 22 3.2 Maintenance of the Registry . . . . . . . . . . . . . . . 23
3.3 Stability of IANA Registry Entries . . . . . . . . . . . . 23 3.3 Stability of IANA Registry Entries . . . . . . . . . . . . 25
3.4 Registration Procedure for Subtags . . . . . . . . . . . . 27 3.4 Registration Procedure for Subtags . . . . . . . . . . . . 28
3.5 Possibilities for Registration . . . . . . . . . . . . . . 30 3.5 Possibilities for Registration . . . . . . . . . . . . . . 31
3.6 Extensions and Extensions Namespace . . . . . . . . . . . 31 3.6 Extensions and Extensions Namespace . . . . . . . . . . . 33
3.7 Initialization of the Registry . . . . . . . . . . . . . . 34 3.7 Initialization of the Registry . . . . . . . . . . . . . . 36
4. Formation and Processing of Language Tags . . . . . . . . . . 38 4. Formation and Processing of Language Tags . . . . . . . . . . 37
4.1 Choice of Language Tag . . . . . . . . . . . . . . . . . . 38 4.1 Choice of Language Tag . . . . . . . . . . . . . . . . . . 37
4.2 Meaning of the Language Tag . . . . . . . . . . . . . . . 40 4.2 Meaning of the Language Tag . . . . . . . . . . . . . . . 39
4.3 Length Considerations . . . . . . . . . . . . . . . . . . 41 4.3 Length Considerations . . . . . . . . . . . . . . . . . . 40
4.3.1 Working with Limited Buffer Sizes . . . . . . . . . . 41 4.3.1 Working with Limited Buffer Sizes . . . . . . . . . . 40
4.3.2 Truncation of Language Tags . . . . . . . . . . . . . 43 4.3.2 Truncation of Language Tags . . . . . . . . . . . . . 42
4.4 Canonicalization of Language Tags . . . . . . . . . . . . 43 4.4 Canonicalization of Language Tags . . . . . . . . . . . . 42
4.5 Considerations for Private Use Subtags . . . . . . . . . . 45 4.5 Considerations for Private Use Subtags . . . . . . . . . . 44
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 47 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46
5.1 Language Subtag Registry . . . . . . . . . . . . . . . . . 46
5.2 Extensions Registry . . . . . . . . . . . . . . . . . . . 47
6. Security Considerations . . . . . . . . . . . . . . . . . . . 48 6. Security Considerations . . . . . . . . . . . . . . . . . . . 48
7. Character Set Considerations . . . . . . . . . . . . . . . . . 49 7. Character Set Considerations . . . . . . . . . . . . . . . . . 49
8. Changes from RFC 3066 . . . . . . . . . . . . . . . . . . . . 50 8. Changes from RFC 3066 . . . . . . . . . . . . . . . . . . . . 50
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.1 Normative References . . . . . . . . . . . . . . . . . . . 54 9.1 Normative References . . . . . . . . . . . . . . . . . . . 53
9.2 Informative References . . . . . . . . . . . . . . . . . . 55 9.2 Informative References . . . . . . . . . . . . . . . . . . 54
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 56 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 55
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 57 A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 56
B. Examples of Language Tags (Informative) . . . . . . . . . . . 58 B. Examples of Language Tags (Informative) . . . . . . . . . . . 57
C. Example Registry . . . . . . . . . . . . . . . . . . . . . . . 61 Intellectual Property and Copyright Statements . . . . . . . . 60
Intellectual Property and Copyright Statements . . . . . . . . 64
1. Introduction 1. Introduction
Human beings on our planet have, past and present, used a number of 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 languages. There are many reasons why one would want to identify the
language used when presenting or requesting information. language used when presenting or requesting information.
User's language preferences often need to be identified so that User's language preferences often need to be identified so that
appropriate processing can be applied. For example, the user's appropriate processing can be applied. For example, the user's
language preferences in a Web browser can be used to select Web pages language preferences in a Web browser can be used to select Web pages
skipping to change at page 11, line 15 skipping to change at page 11, line 15
5. There MUST be at most one script subtag in a language tag and the 5. There MUST be at most one script subtag in a language tag and the
script subtag SHOULD be omitted when it adds no distinguishing script subtag SHOULD be omitted when it adds no distinguishing
value to the tag or when the primary language subtag's record value to the tag or when the primary language subtag's record
includes a Supress-Script field listing the applicable script includes a Supress-Script field listing the applicable script
subtag. subtag.
Example: "sr-Latn" represents Serbian written using the Latin script. Example: "sr-Latn" represents Serbian written using the Latin script.
2.2.4 Region Subtag 2.2.4 Region Subtag
Region subtags are used to indicate regional or geographical Region subtags are used to indicate linguistic variations associated
variations that define a language or its dialects. The following with or appropriate to a specific country, territory, or region.
rules apply to the region subtags: Typically, a region subtag is used to indicate regional dialects or
usage, or region-specific spelling conventions. A region subtag can
also be used to indicate that content is expressed in a way that is
appropriate for use throughout a region; for instance, Spanish
content tailored to be useful throughout Latin America.
1. The region subtag defines language variations used in a specific The following rules apply to the region subtags:
region, geographic, or political area. Region subtags MUST
follow any language, extended language, or script subtags and 1. Region subtags MUST follow any language, extended language, or
MUST precede all other subtags. script subtags and MUST precede all other subtags.
2. All two character subtags following the primary subtag were 2. All two character subtags following the primary subtag were
defined in the IANA registry according to the assignments found defined in the IANA registry according to the assignments found
in [ISO3166]--"Codes for the representation of names of countries in [ISO3166]--"Codes for the representation of names of countries
and their subdivisions - Part 1: Country codes"--alpha-2 country and their subdivisions - Part 1: Country codes"--alpha-2 country
codes or assignments subsequently made by the ISO 3166 codes or assignments subsequently made by the ISO 3166
maintenance agency or governing standardization bodies. maintenance agency or governing standardization bodies.
3. All three character subtags consisting of digit (numeric) 3. All three character subtags consisting of digit (numeric)
characters following the primary subtag were defined in the IANA characters following the primary subtag were defined in the IANA
skipping to change at page 12, line 42 skipping to change at page 12, line 46
correspond to codes reserved by ISO 3166 for private use. These correspond to codes reserved by ISO 3166 for private use. These
codes MAY be used for private use region subtags (instead of codes MAY be used for private use region subtags (instead of
using a private-use subtag sequence). Please refer to using a private-use subtag sequence). Please refer to
Section 4.5 for more information on private use subtags. Section 4.5 for more information on private use subtags.
"de-CH" represents German ('de') as used in Switzerland ('CH'). "de-CH" represents German ('de') as used in Switzerland ('CH').
"sr-Latn-CS" represents Serbian ('sr') written using Latin script "sr-Latn-CS" represents Serbian ('sr') written using Latin script
('Latn') as used in Serbia and Montenegro ('CS'). ('Latn') as used in Serbia and Montenegro ('CS').
"es-419" represents Spanish ('es') as used in the UN-defined Latin "es-419" represents Spanish ('es') appropriate to the UN-defined
America and Caribbean region ('419'). Latin America and Caribbean region ('419').
2.2.5 Variant Subtags 2.2.5 Variant Subtags
Variant subtags are used to indicate additional, well-recognized Variant subtags are used to indicate additional, well-recognized
variations that define a language or its dialects which are not variations that define a language or its dialects which are not
covered by other available subtags. The following rules apply to the covered by other available subtags. The following rules apply to the
variant subtags: variant subtags:
1. Variant subtags are not associated with any external standard. 1. Variant subtags are not associated with any external standard.
Variant subtags and their meanings are defined by the Variant subtags and their meanings are defined by the
skipping to change at page 22, line 34 skipping to change at page 23, line 34
field-value is 'language'. This field MAY appear at most one time in field-value is 'language'. This field MAY appear at most one time in
a record. This field indicates a script used to write the a record. This field indicates a script used to write the
overwhelming majority of documents for the given language and which overwhelming majority of documents for the given language and which
therefore adds no distinguishing information to a language tag. It therefore adds no distinguishing information to a language tag. It
helps ensure greater compatibility between the language tags helps ensure greater compatibility between the language tags
generated according to the rules in this document and language tags generated according to the rules in this document and language tags
and tag processors or consumers based on RFC 3066. For example, and tag processors or consumers based on RFC 3066. For example,
virtually all Icelandic documents are written in the Latin script, virtually all Icelandic documents are written in the Latin script,
making the subtag 'Latn' redundant in the tag "is-Latn". making the subtag 'Latn' redundant in the tag "is-Latn".
For examples of registry entries and their format, see Appendix C.
3.2 Maintenance of the Registry 3.2 Maintenance of the Registry
Maintenance of the registry requires that as codes are assigned or Maintenance of the registry requires that as codes are assigned or
withdrawn by ISO 639, ISO 15924, ISO 3166, and UN M.49, the Language withdrawn by ISO 639, ISO 15924, ISO 3166, and UN M.49, the Language
Subtag Reviewer will evaluate each change, determine whether it Subtag Reviewer will evaluate each change, determine whether it
conflicts with existing registry entries, and submit the information conflicts with existing registry entries, and submit the information
to IANA for inclusion in the registry. If an change takes place and to IANA for inclusion in the registry. If an change takes place and
the Language Subtag Reviewer does not do this in a timely manner, the Language Subtag Reviewer does not do this in a timely manner,
then any interested party MAY use the procedure in Section 3.4 to then any interested party MAY use the procedure in Section 3.4 to
register the appropriate update. register the appropriate update.
skipping to change at page 23, line 18 skipping to change at page 24, line 17
'redundant': see Section 3.7 for more information. 'redundant': see Section 3.7 for more information.
RFC 3066 tags that were deprecated prior to the adoption of this RFC 3066 tags that were deprecated prior to the adoption of this
document are part of the list of grandfathered tags and their document are part of the list of grandfathered tags and their
component subtags were not included as registered variants (although component subtags were not included as registered variants (although
they remain eligible for registration). For example, the tag "art- they remain eligible for registration). For example, the tag "art-
lojban" was deprecated in favor of the language subtag 'jbo'. lojban" was deprecated in favor of the language subtag 'jbo'.
The Language Subtag Reviewer MUST ensure that new subtags meet the The Language Subtag Reviewer MUST ensure that new subtags meet the
requirements in Section 4.1 or submit an appropriate alternate subtag requirements in Section 4.1 or submit an appropriate alternate subtag
as described in that section. If a change or addition to the as described in that section. When either a change or addition to
registry is needed, the Language Subtag Reviewer will prepare the the registry is needed, the Language Subtag Reviewer MUST prepare the
complete record, including all fields, and forward it to IANA for complete record, including all fields, and forward it to IANA for
insertion into the registry. If this represents a new subtag, then insertion into the registry.
the message will indicate that this represents an INSERTION of a
record. If this represents a change to an existing subtag, then the If record represents a new subtag that does not currently exist in
message MUST indicate that this represents a MODIFICATION, as shown the registry, then the message's subject line MUST include the word
in the following example: "INSERT". If the record represents a change to an existing subtag,
then the subject line of the message MUST include the word "MODIFY".
The message MUST contain both the record for the subtag being
inserted or modified and the new File-Date record. Here is an
example of what the body of the message might contain:
LANGUAGE SUBTAG MODIFICATION LANGUAGE SUBTAG MODIFICATION
File-Date: 2005-01-02 File-Date: 2005-01-02
%% %%
Type: variant Type: variant
Subtag: nedis Subtag: nedis
Description: Natisone dialect Description: Natisone dialect
Description: Nadiza dialect Description: Nadiza dialect
Added: 2003-10-09 Added: 2003-10-09
Prefix: sl Prefix: sl
skipping to change at page 27, line 20 skipping to change at page 28, line 24
Only subtags of type 'language' and 'variant' will be considered for Only subtags of type 'language' and 'variant' will be considered for
independent registration of new subtags. Handling of subtags needed independent registration of new subtags. Handling of subtags needed
for stability and subtags necessary to keep the registry synchronized for stability and subtags necessary to keep the registry synchronized
with ISO 639, ISO 15924, ISO 3166, and UN M.49 within the limits with ISO 639, ISO 15924, ISO 3166, and UN M.49 within the limits
defined by this document are described in Section 3.2. Stability defined by this document are described in Section 3.2. Stability
provisions are described in Section 3.3. provisions are described in Section 3.3.
This procedure MAY also be used to register or alter the information This procedure MAY also be used to register or alter the information
for the "Description", "Comments", "Deprecated", or "Prefix" fields for the "Description", "Comments", "Deprecated", or "Prefix" fields
in a subtag's record as described in Figure 9. Changes to all other in a subtag's record as described in Section 3.3. Changes to all
fields in the IANA registry are NOT permitted. other fields in the IANA registry are NOT permitted.
Registering a new subtag or requesting modifications to an existing Registering a new subtag or requesting modifications to an existing
tag or subtag starts with the requester filling out the registration tag or subtag starts with the requester filling out the registration
form reproduced below. Note that each response is not limited in form reproduced below. Note that each response is not limited in
size so that the request can adequately describe the registration. size so that the request can adequately describe the registration.
The fields in the "Record Requested" section SHOULD follow the The fields in the "Record Requested" section SHOULD follow the
requirements in Section 3.1. requirements in Section 3.1.
LANGUAGE SUBTAG REGISTRATION FORM LANGUAGE SUBTAG REGISTRATION FORM
1. Name of requester: 1. Name of requester:
skipping to change at page 29, line 27 skipping to change at page 30, line 48
The applicant is free to modify a rejected application with The applicant is free to modify a rejected application with
additional information and submit it again; this restarts the two additional information and submit it again; this restarts the two
week comment period. week comment period.
Decisions made by the reviewer MAY be appealed to the IESG [RFC2028] Decisions made by the reviewer MAY be appealed to the IESG [RFC2028]
under the same rules as other IETF decisions [RFC2026]. under the same rules as other IETF decisions [RFC2026].
All approved registration forms are available online in the directory All approved registration forms are available online in the directory
http://www.iana.org/numbers.html under "languages". http://www.iana.org/numbers.html under "languages".
Updates or changes to existing records, including previous Updates or changes to existing records follow the same procedure as
registrations, follow the same procedure as new registrations. The new registrations. The Language Subtag Reviewer decides whether
Language Subtag Reviewer decides whether there is consensus to update there is consensus to update the registration following the two week
the registration following the two week review period; normally review period; normally objections by the original registrant will
objections by the original registrant will carry extra weight in carry extra weight in forming such a consensus.
forming such a consensus.
Registrations are permanent and stable. Once registered, subtags Registrations are permanent and stable. Once registered, subtags
will not be removed from the registry and will remain a valid way in will not be removed from the registry and will remain a valid way in
which to specify a specific language or variant. which to specify a specific language or variant.
Note: The purpose of the "Description" in the registration form is Note: The purpose of the "Description" in the registration form is
intended as an aid to people trying to verify whether a language is intended as an aid to people trying to verify whether a language is
registered or what language or language variation a particular subtag registered or what language or language variation a particular subtag
refers to. In most cases, reference to an authoritative grammar or refers to. In most cases, reference to an authoritative grammar or
dictionary of that language will be useful; in cases where no such dictionary of that language will be useful; in cases where no such
skipping to change at page 34, line 39 skipping to change at page 36, line 22
truncated subtags. truncated subtags.
When a language tag is to be used in a specific, known, protocol, it When a language tag is to be used in a specific, known, protocol, it
is RECOMMENDED that that the language tag not contain extensions not is RECOMMENDED that that the language tag not contain extensions not
supported by that protocol. In addition, note that some protocols supported by that protocol. In addition, note that some protocols
MAY impose upper limits on the length of the strings used to store or MAY impose upper limits on the length of the strings used to store or
transport the language tag. transport the language tag.
3.7 Initialization of the Registry 3.7 Initialization of the Registry
Upon publication of this document as a BCP, the Language Subtag Adoption of this document will REQUIRE an initial version of the
Registry MUST be created and populated with the initial set of registry containing the various subtags initially valid in a language
subtags. This includes converting the entries from the existing IANA tag. This collection of subtags, along with a description of the
language tag registry defined by RFC 3066 to the new format. This process used to create it, is described by [initial-registry].
section defines the process for defining the new registry and
performing the conversion of the old registry.
The impact on the IANA maintainers of the registry of this conversion
will be a small increase in the frequency of new entries. The
initial set of records represents no impact on IANA, since the work
to create it will be performed externally (as defined in this
section). Future work will be limited to inserting or replacing
whole records preformatted for IANA by the Language Subtag Reviewer.
The initial registry will be created by the LTRU working group.
Using the instructions in this document, the working group will
prepare an Informational RFC by creating a series of Internet-Drafts
containing the prototype registry according to the rules in Sections
4.2.2 and 4.2.3 and subject to IESG review as described in Section
6.1.1 of [RFC2026].
When the Internet-Draft containing the prototype registry has been
approved by the IESG for publication as an RFC, the document will be
forwarded to IANA, which will post the contents of the new registry
on-line.
Tags in the RFC 3066 registry that are not deprecated that consist
entirely of subtags that are defined by this document and which have
the correct form and format for tags defined by this document are
superseded by this document. Such tags MUST be placed in records of
type 'redundant' in the registry. For example, "zh-Hant" is now
defined by this document because 'zh' is an ISO 639-1 code and 'Hant'
is an ISO 15924 code and both are defined in the registry.
Tags in the RFC 3066 registry that contain one or more subtags that
do not match the valid registration pattern or which are not
otherwise defined by this document MUST have records of type
'grandfathered' created in the registry. These records cannot become
type 'redundant' except by revision of this document, but MAY have a
'Deprecated' and 'Preferred-Value' field added to them if a subtag
assignment or combination of assignments renders the tag obsolete.
Tags in the RFC 3066 registry that have a notation that they are
deprecated MUST be maintained as grandfathered entries. The record
for the grandfathered entry MUST contain a 'Deprecated' field with
the most appropriate date that can be determined for when the RFC
3066 record was deprecated. The 'Comments' field SHOULD contain the
reason for the deprecation. The 'Preferred-Value' field MAY contain
a tag that replaces the value. For example, the tag "art-lojban" is
deprecated and will be placed in the grandfathered section. It's
'Deprecated' field will contain the deprecation date (in this case
"2003-09-02") and the 'Preferred-Value' field the value "jbo".
The remaining tags in the RFC 3066 registry are not deprecated, have
a format consistent with language tags as defined by this document,
but contain subtags which are not defined by ISO 639, ISO 15924, or
ISO 3166. These subtags are consistent with registration as
variants. The initial registry SHALL contain appropriate variant
records for the following subtags, and registered RFC 3066 tags
containing these subtags MUST be entered into the initial registry as
type 'redundant':
1901 (use with Prefix: de)
1996 (use with Prefix: de)
nedis (use with Prefix: sl)
rozaj (use with Prefix: sl)
All remaining RFC 3066 registered tags MUST be entered into the
initial registry in records of type 'grandfathered'. Interested
parties MAY use the registration process in Section 3.4 in an attempt
to register the variant subtags not already present in the registry.
If all of the subtags in the original tag become fully defined by the
resulting registrations, then the original tag is superseded by this
document. Such tags MUST have their record changed from type
'grandfathered' to type 'redundant' in the registry. Note that
previous approval of a tag under RFC 3066 is no guarantee of approval
of a variant subtag under this document. The existing RFC 3066 tag
maintains its validity, but the original reason for its registration
might have become obsolete. For example, the subtag 'boont' could be
registered, resulting in the change of the grandfathered tag "en-
boont" to type redundant in the registry.
There MUST be a reasonable period in which the community can comment
on the proposed list entries, which SHALL be no less than four weeks
in length. At the completion of this period, the chair(s) will
notify iana@iana.org and the ltru and ietf-languages mail lists that
the task is complete and forward the necessary materials to IANA for
publication.
Registrations that are in process under the rules defined in RFC 3066
MAY be completed under the former rules, at the discretion of the
language tag reviewer. Any new registrations submitted after the
request for conversion of the registry MUST be rejected. New
registrations completed under RFC 3066 SHALL be entered into the
initial registry using the rules defined just above.
All existing RFC 3066 language tag registrations will be maintained
in perpetuity.
Users of tags that are grandfathered SHOULD consider registering
appropriate subtags in the IANA subtag registry (but are NOT REQUIRED
to).
UN numeric codes assigned to 'macro-geographical (continental)' MUST
be defined in the IANA registry and made valid for use in language
tags. These codes MUST be added to the initial version of the
registry. The UN numeric codes for 'economic groupings' or 'other
groupings', and the alphanumeric codes in Appendix X of the UN
document MUST NOT be added to the registry. The UN numeric codes for
countries or areas not associated with an assigned ISO 3166 alpha-2
code MUST NOT be added to the initial version of the registry. These
values MAY be registered by individuals using the process defined in
Section 3.4 and according to the rules in Section 3.3.
When creating records for ISO 639, ISO 15924, ISO3166, and UN M.49
codes, the following criteria SHALL be applied to the inclusion,
preferred value, and deprecation of codes:
For each standard, the date of the standard referenced in RFC 1766 is Registrations that are in process under the rules defined in
selected as the starting date. Codes that were valid on that date in [RFC3066] when this document is adopted MAY be completed under the
the selected standard are added to the registry. Codes that were former rules, at the discretion of the language tag reviewer. Any
previously assigned by but which were vacated or withdrawn before new registrations submitted after the adoption of this document MUST
that date are not added to the registry. For each successive change be rejected.
to the standard, any additional assignments are added to the
registry. Values that are withdrawn are marked as deprecated, but
not removed. Changes in meaning or assignment of a subtag are
permitted during this process (for example, the ISO 3166 code 'CS'
was originally assigned to 'Czechoslovakia' and is now assigned to
'Serbia and Montenegro'). This continues up to the date that this
document was adopted. The resulting set of records is added to the
registry. Future changes or additions to this portion of the
registry are governed by the provisions of this document.
4. Formation and Processing of Language Tags 4. Formation and Processing of Language Tags
This section addresses how to use the information in the registry This section addresses how to use the information in the registry
with the tag syntax to choose, form and process language tags. with the tag syntax to choose, form and process language tags.
4.1 Choice of Language Tag 4.1 Choice of Language Tag
One is sometimes faced with the choice between several possible tags One is sometimes faced with the choice between several possible tags
for the same body of text. for the same body of text.
skipping to change at page 47, line 16 skipping to change at page 46, line 16
This section deals with the processes and requirements necessary for This section deals with the processes and requirements necessary for
IANA to undertake to maintain the subtag and extension registries as IANA to undertake to maintain the subtag and extension registries as
defined by this document and in accordance with the requirements of defined by this document and in accordance with the requirements of
[RFC2434]. [RFC2434].
The impact on the IANA maintainers of the two registries defined by The impact on the IANA maintainers of the two registries defined by
this document will be a small increase in the frequency of new this document will be a small increase in the frequency of new
entries or updates. entries or updates.
Upon adoption of this document, the process described in Section 3.7 5.1 Language Subtag Registry
will be used to generate the initial Language Subtag Registry. The
initial set of records represents no impact on IANA, since the work Upon adoption of this document, the registry will be initialized by a
to create it will be performed externally (as defined in that companion document: [initial-registry]. The criteria and process for
section). The new registry will be listed under "Language Tags" at selecting the initial set of records is described in that document.
<http://www.iana.org/numbers.html>. The existing directory of The initial set of records represents no impact on IANA, since the
registration forms and RFC 3066 registrations will be relabeled as work to create it will be performed externally.
"Language Tags (Obsolete)" and maintained (but not added to or
modified). The new registry MUST be listed under "Language Tags" at
<http://www.iana.org/numbers.html>, replacing the existing
registrations defined by [RFC3066]. The existing set of registration
forms and RFC 3066 registrations will be relabeled as "Language Tags
(Obsolete)" and maintained (but not added to or modified).
Future work on the Language Subtag Registry will be limited to Future work on the Language Subtag Registry will be limited to
inserting or replacing whole records preformatted for IANA by the inserting or replacing whole records preformatted for IANA by the
Language Subtag Reviewer as described in Section 3.2 of this Language Subtag Reviewer as described in Section 3.2 of this
document. Each record will be sent to iana@iana.org with a subject document. This simplifies IANA's work by limiting it to placing the
line indicating whether the enclosed record is an insertion (of a new text in the appropriate location in the registry.
record) or a replacement of an existing record which has a Type and
Subtag (or Tag) field that exactly matches the record sent. Records Each record will be sent to iana@iana.org with a subject line
cannot be deleted from the registry. indicating whether the enclosed record is an insertion of a new
record (indicated by the word "INSERT" in the subject line) or a
replacement of an existing record (indicated by the word "MODIFY" in
the subject line). Records MUST NOT be deleted from the registry.
IANA MUST place any inserted or modified records into the appropriate
section of the language subtag registry, grouping the records by
their "Type" field. Inserted records MAY be placed anywhere in the
appropriate section; there is no guarantee of the order of the
records beyond grouping them together by 'Type'. Modified records
MUST overwrite the record they replace.
Included in any request to insert or modify records MUST be a new
File-Date record. This record MUST be placed first in the registry.
In the event that the File-Date record present in the registry has a
later date then the record being inserted or modified, the existing
record MUST be preserved.
5.2 Extensions Registry
The Language Tag Extensions registry will also be generated and sent The Language Tag Extensions registry will also be generated and sent
to IANA as described in Section 3.6. This registry can contain at to IANA as described in Section 3.6. This registry can contain at
most 35 records and thus changes to this registry are expected to be most 35 records and thus changes to this registry are expected to be
very infrequent. very infrequent.
Future work by IANA on the Language Tag Extensions Registry is Future work by IANA on the Language Tag Extensions Registry is
limited to two cases. First, the IESG MAY request that new records limited to two cases. First, the IESG MAY request that new records
be inserted into this registry from time to time. These requests be inserted into this registry from time to time. These requests
will include the record to insert in the exact format described in will include the record to insert in the exact format described in
skipping to change at page 52, line 21 skipping to change at page 52, line 21
region subtags respectively. region subtags respectively.
o Adds a well-defined extension mechanism. o Adds a well-defined extension mechanism.
o Defines an extended language subtag, possibly for use with certain o Defines an extended language subtag, possibly for use with certain
anticipated features of ISO 639-3. anticipated features of ISO 639-3.
Ed Note: The following items are provided for the convenience of Ed Note: The following items are provided for the convenience of
reviewers and will be removed from the final document. reviewers and will be removed from the final document.
Changes between draft-ietf-ltru-registry-05 and this version are: Changes between draft-ietf-ltru-registry-06 and this version are:
o Changes to the initial population rules to pre-register four
subtags. This included changing all the variant examples to use
just those four subtags (nedis, rozaj, 1996, and 1901) in
appropriate ways. It also includes substandtial wordsmithing of
the rules on handling RFC 3066 grandfathered/redundant
registrations (A.Phillips)
o Rewrote the introduction to use "tag" instead of many (long,
convoluted) synonyms and to generally simplify the text. (thread
of #944) (M.Duerst, A.Phillips)
o Added an introduction to Section 2 (moved from Section 4.2).
(M.Duerst)
o Reorganized the resulting Section 4.2. o Modified the rules for creating the initial-registry draft to
require purposefully omitted by eligible codes to be listed
(#1034)(R.Presuhn)
o Divided Section 4.3 by added two subsections, moving paragraphs to o Removed the example registry. The initial-registry draft is a
fit into the proper sub-section. Made the actual requirements better example. Added an informative reference to that document.
into a list so that they would be very visible. (I.McDonald) (A.Phillips)
o Added the processing instruction symrefs='yes' (F.Ellermann) o Modified the introduction to Section 2.2.4 and changed the use of
"as used in" for some examples to clarify how UN M.49 codes and
other larger regional codes are related to language tags.
(K.Broome, P.Constable)
o Moved Length Considerations from Section 2.1 to Section 4.3. Some o Removed nearly all of the text from Section 3.7 to [initial-
text was moved or reorganized as a result and a small change was registry]. A bit of new glue text pointing to that document was
made in Section 4.1 (Choice) to ensure that no information was added. (F.Ellermann)
lost. (A.Phillips)
o Added a small description of each subtag type to the sub-section o Updated the Section 5 section to reflect the removal of most of
on each subtag in Section 2.1. (F.Charles) the text in Section 3.7 and to generally clean it up. This
o Modified the restriction on using extended language subtags in includes breaking it into subsections. (A.Phillips)
Section 2.2.2 so that it is clearer. (J.Cowan)
9. References 9. References
9.1 Normative References 9.1 Normative References
[ISO639-1] [ISO639-1]
International Organization for Standardization, "ISO 639- International Organization for Standardization, "ISO 639-
1:2002, Codes for the representation of names of languages 1:2002, Codes for the representation of names of languages
-- Part 1: Alpha-2 code", ISO Standard 639, 2002, <ISO -- Part 1: Alpha-2 code", ISO Standard 639, 2002, <ISO
639-1>. 639-1>.
skipping to change at page 55, line 36 skipping to change at page 54, line 36
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet:
Timestamps", RFC 3339, July 2002. Timestamps", RFC 3339, July 2002.
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
Text on Security Considerations", BCP 72, RFC 3552, Text on Security Considerations", BCP 72, RFC 3552,
July 2003. July 2003.
9.2 Informative References 9.2 Informative References
[initial-registry]
Ewell, D., Ed., "Initial Language Subtag Registry",
June 2005, <http://www.ietf.org/internet-drafts/
draft-ietf-ltru-initial-registry-00.txt>.
[iso639.principles] [iso639.principles]
ISO 639 Joint Advisory Committee, "ISO 639 Joint Advisory ISO 639 Joint Advisory Committee, "ISO 639 Joint Advisory
Committee: Working principles for ISO 639 maintenance", Committee: Working principles for ISO 639 maintenance",
March 2000, March 2000,
<http://www.loc.gov/standards/iso639-2/ <http://www.loc.gov/standards/iso639-2/
iso639jac_n3r.html>. iso639jac_n3r.html>.
[record-jar] [record-jar]
Raymond, E., "The Art of Unix Programming", 2003. Raymond, E., "The Art of Unix Programming", 2003.
skipping to change at page 57, line 20 skipping to change at page 56, line 20
The contributors to RFC 3066 and RFC 1766, the precursors of this The contributors to RFC 3066 and RFC 1766, the precursors of this
document, made enormous contributions directly or indirectly to this document, made enormous contributions directly or indirectly to this
document and are generally responsible for the success of language document and are generally responsible for the success of language
tags. tags.
The following people (in alphabetical order) contributed to this The following people (in alphabetical order) contributed to this
document or to RFCs 1766 and 3066: document or to RFCs 1766 and 3066:
Glenn Adams, Harald Tveit Alvestrand, Tim Berners-Lee, Marc Blanchet, Glenn Adams, Harald Tveit Alvestrand, Tim Berners-Lee, Marc Blanchet,
Nathaniel Borenstein, Eric Brunner, Sean M. Burke, M.T. Carrasco Nathaniel Borenstein, Karen Broome, Eric Brunner, Sean M. Burke, M.T.
Benitez, Jeremy Carroll, John Clews, Jim Conklin, Peter Constable, Carrasco Benitez, Jeremy Carroll, John Clews, Jim Conklin, Peter
John Cowan, Mark Crispin, Dave Crocker, Martin Duerst, Frank Constable, John Cowan, Mark Crispin, Dave Crocker, Martin Duerst,
Ellerman, Michael Everson, Doug Ewell, Ned Freed, Tim Goodwin, Dirk- Frank Ellerman, Michael Everson, Doug Ewell, Ned Freed, Tim Goodwin,
Willem van Gulik, Marion Gunn, Joel Halpren, Elliotte Rusty Harold, Dirk-Willem van Gulik, Marion Gunn, Joel Halpren, Elliotte Rusty
Paul Hoffman, Scott Hollenbeck, Richard Ishida, Olle Jarnefors, Kent Harold, Paul Hoffman, Scott Hollenbeck, Richard Ishida, Olle
Karlsson, John Klensin, Alain LaBonte, Eric Mader, Ira McDonald, Jarnefors, Kent Karlsson, John Klensin, Alain LaBonte, Eric Mader,
Keith Moore, Chris Newman, Masataka Ohta, Randy Presuhn, George Ira McDonald, Keith Moore, Chris Newman, Masataka Ohta, Randy
Rhoten, Markus Scherer, Keld Jorn Simonsen, Thierry Sourbier, Otto Presuhn, George Rhoten, Markus Scherer, Keld Jorn Simonsen, Thierry
Stolz, Tex Texin, Andrea Vine, Rhys Weatherley, Misha Wolf, Francois Sourbier, Otto Stolz, Tex Texin, Andrea Vine, Rhys Weatherley, Misha
Yergeau and many, many others. Wolf, Francois Yergeau and many, many others.
Very special thanks must go to Harald Tveit Alvestrand, who Very special thanks must go to Harald Tveit Alvestrand, who
originated RFCs 1766 and 3066, and without whom this document would originated RFCs 1766 and 3066, and without whom this document would
not have been possible. Special thanks must go to Michael Everson, not have been possible. Special thanks must go to Michael Everson,
who has served as language tag reviewer for almost the complete who has served as language tag reviewer for almost the complete
period since the publication of RFC 1766. Special thanks to Doug period since the publication of RFC 1766. Special thanks to Doug
Ewell, for his production of the first complete subtag registry, and Ewell, for his production of the first complete subtag registry, and
his work in producing a test parser for verifying language tags. his work in producing a test parser for verifying language tags.
Appendix B. Examples of Language Tags (Informative) Appendix B. Examples of Language Tags (Informative)
skipping to change at page 59, line 16 skipping to change at page 58, line 16
Latin script as used in Italy. Note that this tag is NOT Latin script as used in Italy. Note that this tag is NOT
RECOMMENDED because subtag 'sl' has a Suppress-Script value of RECOMMENDED because subtag 'sl' has a Suppress-Script value of
'Latn') 'Latn')
Language-Region: Language-Region:
de-DE (German for Germany) de-DE (German for Germany)
en-US (English as used in the United States) en-US (English as used in the United States)
es-419 (Spanish for Latin America and Caribbean region using the es-419 (Spanish appropriate for the Latin America and Caribbean
UN region code) region using the UN region code)
Private-use subtags: Private-use subtags:
de-CH-x-phonebk de-CH-x-phonebk
az-Arab-x-AZE-derbend az-Arab-x-AZE-derbend
Extended language subtags (examples ONLY: extended languages MUST be Extended language subtags (examples ONLY: extended languages MUST be
defined by revision or update to this document): defined by revision or update to this document):
skipping to change at page 61, line 5 skipping to change at page 60, line 5
de-419-DE (two region tags) de-419-DE (two region tags)
a-DE (use of a single character subtag in primary position; note a-DE (use of a single character subtag in primary position; note
that there are a few grandfathered tags that start with "i-" that that there are a few grandfathered tags that start with "i-" that
are valid) are valid)
ar-a-aaa-b-bbb-a-ccc (two extensions with same single letter ar-a-aaa-b-bbb-a-ccc (two extensions with same single letter
prefix) prefix)
Appendix C. Example Registry
Example Registry
File-Date: 2005-04-18
%%
Type: language
Subtag: aa
Description: Afar
Added: 2004-07-06
%%
Type: language
Subtag: ab
Description: Abkhazian
Added: 2004-07-06
%%
Type: language
Subtag: ae
Description: Avestan
Added: 2004-07-06
%%
Type: language
Subtag: ar
Description: Arabic
Added: 2004-07-06
Suppress-Script: Arab
Comment: Arabic text is usually written in Arabic script
%%
Type: language
Subtag: qaa..qtz
Description: PRIVATE USE
Added: 2004-08-01
Comment: Use private use codes in preference
to the x- singleton for primary language
Comment: This is an example of two comments.
%%
Type: script
Subtag: Arab
Description: Arabic
Added: 2004-07-06
%%
Type: script
Subtag: Armn
Description: Armenian
Added: 2004-07-06
%%
Type: script
Subtag: Bali
Description: Balinese
Added: 2004-07-06
%%
Type: script
Subtag: Batk
Description: Batak
Added: 2004-07-06
%%
Type: region
Subtag: AA
Description: PRIVATE USE
Added: 2004-08-01
%%
Type: region
Subtag: AD
Description: Andorra
Added: 2004-07-06
%%
Type: region
Subtag: AE
Description: United Arab Emirates
Added: 2004-07-06
%%
Type: region
Subtag: AX
Description: &#xC5;land Islands
Added: 2004-07-06
Comments: The description shows a Unicode escape
for the letter A-ring.
%%
Type: region
Subtag: 001
Description: World
Added: 2004-07-06
%%
Type: region
Subtag: 002
Description: Africa
Added: 2004-07-06
%%
Type: region
Subtag: 003
Description: North America
Added: 2004-07-06
%%
Type: variant
Subtag: 1901
Description: Traditional German
orthography
Added: 2004-09-09
Prefix: de
Comment: <shows continuation>
%%
Type: variant
Subtag: nedis
Description: Nadiza dialect
Description: Natisone dialect
Added: 2003-10-09
Prefix: sl
%%
Type: grandfathered
Tag: art-lojban
Description: Lojban
Added: 2001-11-11
Canonical: jbo
Deprecated: 2003-09-02
%%
Type: grandfathered
Tag: en-GB-oed
Description: English, Oxford English Dictionary spelling
Added: 2003-07-09
%%
Type: grandfathered
Tag: i-ami
Description: 'Amis
Added: 1999-05-25
%%
Type: grandfathered
Tag: i-bnn
Description: Bunun
Added: 1999-05-25
%%
Type: redundant
Tag: az-Arab
Description: Azerbaijani in Arabic script
Added: 2003-05-30
%%
Type: redundant
Tag: az-Cyrl
Description: Azerbaijani in Cyrillic script
Added: 2003-05-30
%%
Figure 9: Example of the Registry Format
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
 End of changes. 

This html diff was produced by rfcdiff 1.24, available from http://www.levkowetz.com/ietf/tools/rfcdiff/