1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725
|
<pre>Network Working Group H. Alvestrand
Request for Comments: 3066 Cisco Systems
BCP: 47 January 2001
Obsoletes: <a href="./rfc1766">1766</a>
Category: Best Current Practice
<span class="h1">Tags for the Identification of Languages</span>
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 (2001). All Rights Reserved.
Abstract
This document describes a language tag for use in cases where it is
desired to indicate the language used in an information object, how
to register values for use in this language tag, and a construct for
matching such language tags.
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
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 information.
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.
Also, many types of information processing require knowledge of the
language in which information is expressed in order for that process
to be performed on the information; for example spell-checking,
computer-synthesized speech, Braille, or high-quality print
renderings.
One means of indicating the language used is by labeling the
information content with an identifier for the language that is used
in this information content.
<span class="grey">Alvestrand Best Current Practice [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
This document specifies an identifier mechanism, a registration
function for values to be used with that identifier mechanism, and a
construct for matching against those values.
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [<a href="./rfc2119">RFC 2119</a>].
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. The Language tag</span>
<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a> Language tag syntax</span>
The language tag is composed of one or more parts: A primary language
subtag and a (possibly empty) series of subsequent subtags.
The syntax of this tag in ABNF [<a href="./rfc2234">RFC 2234</a>] is:
Language-Tag = Primary-subtag *( "-" Subtag )
Primary-subtag = 1*8ALPHA
Subtag = 1*8(ALPHA / DIGIT)
The productions ALPHA and DIGIT are imported from <a href="./rfc2234">RFC 2234</a>; they
denote respectively the characters A to Z in upper or lower case and
the digits from 0 to 9. The character "-" is HYPHEN-MINUS (ABNF:
%x2D).
All tags are to be treated as case insensitive; there exist
conventions for capitalization of some of them, but these should not
be taken to carry meaning. For instance, [ISO 3166] recommends that
country codes are capitalized (MN Mongolia), while [ISO 639]
recommends that language codes are written in lower case (mn
Mongolian).
<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a> Language tag sources</span>
The namespace of language tags is administered by the Internet
Assigned Numbers Authority (IANA) [<a href="./rfc2860">RFC 2860</a>] according to the rules
in <a href="#section-3">section 3</a> of this document.
The following rules apply to the primary subtag:
- All 2-letter subtags are interpreted according to assignments found
in ISO standard 639, "Code for the representation of names of
languages" [ISO 639], or assignments subsequently made by the ISO
639 part 1 maintenance agency or governing standardization bodies.
(Note: A revision is underway, and is expected to be released as
<span class="grey">Alvestrand Best Current Practice [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
ISO 639-1:2000)
- All 3-letter subtags are interpreted according to assignments found
in ISO 639 part 2, "Codes for the representation of names of
languages -- Part 2: Alpha-3 code [ISO 639-2]", or assignments
subsequently made by the ISO 639 part 2 maintenance agency or
governing standardization bodies.
- The value "i" is reserved for IANA-defined registrations
- The value "x" is reserved for private use. Subtags of "x" shall
not be registered by the IANA.
- Other values shall not be assigned except by revision of this
standard.
The reason for reserving all other tags is to be open towards new
revisions of ISO 639; the use of "i" and "x" is the minimum we can do
here to be able to extend the mechanism to meet our immediate
requirements.
The following rules apply to the second subtag:
- All 2-letter subtags are interpreted as ISO 3166 alpha-2 country
codes from [ISO 3166], or subsequently assigned by the ISO 3166
maintenance agency or governing standardization bodies, denoting
the area to which this language variant relates.
- Tags with second subtags of 3 to 8 letters may be registered with
IANA, according to the rules in chapter 5 of this document.
- Tags with 1-letter second subtags may not be assigned except after
revision of this standard.
There are no rules apart from the syntactic ones for the third and
subsequent subtags.
Tags constructed wholly from the codes that are assigned
interpretations by this chapter do not need to be registered with
IANA before use.
The information in a subtag may for instance be:
- Country identification, such as en-US (this usage is described in
ISO 639)
- Dialect or variant information, such as en-scouse
<span class="grey">Alvestrand Best Current Practice [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
- Languages not listed in ISO 639 that are not variants of any listed
language, which can be registered with the i-prefix, such as i-
tsolyani
- Region identification, such as sgn-US-MA (Martha's Vineyard Sign
Language, which is found in the state of Massachusetts, US)
This document leaves the decision on what tags are appropriate or not
to the registration process described in <a href="#section-3">section 3</a>.
ISO 639 defines a maintenance agency for additions to and changes in
the list of languages in ISO 639. This agency is:
International Information Centre for Terminology (Infoterm)
P.O. Box 130
A-1021 Wien
Austria
Phone: +43 1 26 75 35 Ext. 312
Fax: +43 1 216 32 72
ISO 639-2 defines a maintenance agency for additions to and changes
in the list of languages in ISO 639-2. This agency is:
Library of Congress
Network Development and MARC Standards Office
Washington, D.C. 20540
USA
Phone: +1 202 707 6237
Fax: +1 202 707 0115
URL: <a href="http://www.loc.gov/standards/iso639">http://www.loc.gov/standards/iso639</a>
The maintenance agency for ISO 3166 (country codes) is:
ISO 3166 Maintenance Agency Secretariat
c/o DIN Deutsches Institut fuer Normung
Burggrafenstrasse 6
Postfach 1107
D-10787 Berlin
Germany
Phone: +49 30 26 01 320
Fax: +49 30 26 01 231
URL: <a href="http://www.din.de/gremien/nas/nabd/iso3166ma/">http://www.din.de/gremien/nas/nabd/iso3166ma/</a>
ISO 3166 reserves the country codes AA, QM-QZ, XA-XZ and ZZ as user-
assigned codes. These MUST NOT be used to form language tags.
<span class="grey">Alvestrand Best Current Practice [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
<span class="h3"><a class="selflink" id="section-2.3" href="#section-2.3">2.3</a> Choice of language tag</span>
One may occasionally be faced with several possible tags for the same
body of text.
Interoperability is best served if all users send the same tag, and
use the same tag for the same language for all documents. If an
application has requirements that make the rules here inapplicable,
the application protocol specification MUST specify how the procedure
varies from the one given here.
The text below is based on the set of tags known to the tagging
entity.
1. Use the most precise tagging known to the sender that can be
ascertained and is useful within the application context.
2. When a language has both an ISO 639-1 2-character code and an ISO
639-2 3-character code, you MUST use the tag derived from the ISO
639-1 2-character code.
3. When a language has no ISO 639-1 2-character code, and the ISO
639-2/T (Terminology) code and the ISO 639-2/B (Bibliographic)
code differ, you MUST use the Terminology code. NOTE: At present,
all languages for which there is a difference have 2-character
codes, and the displeasure of developers about the existence of 2
code sets has been adequately communicated to ISO. So this
situation will hopefully not arise.
4. When a language has both an IANA-registered tag (i-something) and
a tag derived from an ISO registered code, you MUST use the ISO
tag. NOTE: When such a situation is discovered, the IANA-
registered tag SHOULD be deprecated as soon as possible.
5. You SHOULD NOT use the UND (Undetermined) code unless the protocol
in use forces you to give a value for the language tag, even if
the language is unknown. Omitting the tag is preferred.
6. You SHOULD NOT use the MUL (Multiple) tag if the protocol allows
you to use multiple languages, as is the case for the Content-
Language: header.
NOTE: In order to avoid versioning difficulties in applications such
as that of <a href="./rfc1766">RFC 1766</a>, the ISO 639 Registration Authority Joint
Advisory Committee (RA-JAC) has agreed on the following policy
statement:
<span class="grey">Alvestrand Best Current Practice [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
"After the publication of ISO/DIS 639-1 as an International
Standard, no new 2-letter code shall be added to ISO 639-1 unless a
3-letter code is also added at the same time to ISO 639-2. In
addition, no language with a 3-letter code available at the time of
publication of ISO 639-1 which at that time had no 2-letter code
shall be subsequently given a 2-letter code."
This will ensure that, for example, a user who implements "hwi"
(Hawaiian), which currently has no 2-letter code, will not find his
or her data invalidated by eventual addition of a 2-letter code for
that language."
<span class="h3"><a class="selflink" id="section-2.4" href="#section-2.4">2.4</a> Meaning of the language tag</span>
The language tag always defines a language as spoken (or written,
signed or otherwise signaled) by human beings for communication of
information to other human beings. Computer languages such as
programming languages are explicitly excluded. There is no
guaranteed relationship between languages whose tags begin with the
same series of subtags; specifically, they are NOT guaranteed to be
mutually intelligible, although it will sometimes be the case that
they are.
The relationship between the tag and the information it relates to is
defined by the standard describing the context in which it appears.
Accordingly, this section can only give possible examples of its
usage.
- For a single information object, it could be taken as the set of
languages that is required for a complete comprehension of the
complete object.
Example: Plain text documents.
- For an aggregation of information objects, it should be taken as
the set of languages used inside components of that aggregation.
Examples: Document stores and libraries.
- For information objects whose purpose is to provide alternatives,
the set of tags associated with it should be regarded as a hint
that the content is provided in several languages, and that one has
to inspect each of the alternatives in order to find its language
or languages. In this case, a tag with multiple languages does not
mean that one needs to be multi-lingual to get complete
understanding of the document.
Example: MIME multipart/alternative.
<span class="grey">Alvestrand Best Current Practice [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
- In markup languages, such as HTML and XML, language information can
be added to each part of the document identified by the markup
structure (including the whole document itself). For example, one
could write <span lang="FR">C'est la vie.</span> inside a Norwegian
document; the Norwegian-speaking user could then access a French-
Norwegian dictionary to find out what the marked section meant. If
the user were listening to that document through a speech synthesis
interface, this formation could be used to signal the synthesizer
to appropriately apply French text-to-speech pronunciation rules to
that span of text, instead of misapplying the Norwegian rules.
<span class="h3"><a class="selflink" id="section-2.5" href="#section-2.5">2.5</a> Language-range</span>
Since the publication of <a href="./rfc1766">RFC 1766</a>, it has become apparent that there
is a need to define a term for a set of languages whose tags all
begin with the same sequence of subtags.
The following definition of language-range is derived from HTTP/1.1
[<a href="./rfc2616">RFC 2616</a>].
language-range = language-tag / "*"
That is, a language-range has the same syntax as a language-tag, or
is the single character "*".
A language-range matches a language-tag if it exactly equals the tag,
or if it exactly equals a prefix of the tag such that the first
character following the prefix is "-".
The special range "*" matches any tag. A protocol which uses
language ranges may specify additional rules about the semantics of
"*"; for instance, HTTP/1.1 specifies that the range "*" matches only
languages not matched by any other range within an "Accept-Language:"
header.
NOTE: This use of a prefix matching rule does not imply that language
tags are assigned to languages in such a way that it is always true
that if a user understands a language with a certain tag, then this
user will also understand all languages with tags for which this tag
is a prefix. The prefix rule simply allows the use of prefix tags if
this is the case.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. IANA registration procedure for language tags</span>
The procedure given here MUST be used by anyone who wants to use a
language tag not given an interpretation in chapter 2.2 of this
document or previously registered with IANA.
<span class="grey">Alvestrand Best Current Practice [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
This procedure MAY also be used to register information with the IANA
about a tag defined by this document, for instance if one wishes to
make publicly available a reference to the definition for a language
such as sgn-US (American Sign Language).
Tags with a first subtag of "x" need not, and cannot, be registered.
The process starts by filling out the registration form reproduced
below.
----------------------------------------------------------------------
LANGUAGE TAG REGISTRATION FORM
Name of requester :
E-mail address of requester:
Tag to be registered :
English name of language :
Native name of language (transcribed into ASCII):
Reference to published description of the language (book or article):
Any other relevant information:
----------------------------------------------------------------------
The language form must be sent to <ietf-languages@iana.org> for a 2-
week review period before it can be submitted to IANA. (This is an
open list. Requests to be added should be sent to <ietf-languages-
request@iana.org>.)
When the two week period has passed, the language tag reviewer, who
is appointed by the IETF Applications Area Director, either forwards
the request to IANA@IANA.ORG, or rejects it because of significant
objections raised on the list. Note that the reviewer can raise
objections on the list himself, if he so desires. The important
thing is that the objection must be made publicly.
The applicant is free to modify a rejected application with
additional information and submit it again; this restarts the 2-week
comment period.
<span class="grey">Alvestrand Best Current Practice [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
Decisions made by the reviewer may be appealed to the IESG [<a href="./rfc2028">RFC 2028</a>]
under the same rules as other IETF decisions [<a href="./rfc2026">RFC 2026</a>]. All
registered forms are available online in the directory
<a href="http://www.iana.org/numbers.html">http://www.iana.org/numbers.html</a> under "languages".
Updates of registrations follow the same procedure as registrations.
The language tag reviewer decides whether to allow a new registrant
to update a registration made by someone else; in the normal case,
objections by the original registrant would carry extra weight in
such a decision.
There is no deletion of registrations; when some registered tag
should not be used any more, for instance because a corresponding ISO
639 code has been registered, the registration should be amended by
adding a remark like "DEPRECATED: use <new code> instead" to the
"other relevant information" section.
Note: The purpose of the "published description" is intended as an
aid to people trying to verify whether a language is registered, or
what language a particular tag refers to. In most cases, reference
to an authoritative grammar or dictionary of the language will be
useful; in cases where no such work exists, other well known works
describing that language or in that language may be appropriate. The
language tag reviewer decides what constitutes a "good enough"
reference material.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Security Considerations</span>
The only security issue that has been raised with language tags since
the publication of <a href="./rfc1766">RFC 1766</a>, which stated that "Security issues are
believed to be irrelevant to this memo", is a concern with language
ranges used in content negotiation - that they may be used to infer
the nationality of the sender, and thus identify potential targets
for surveillance.
This is a special case of the general problem that anything you send
is visible to the receiving party; it is useful to be aware that such
concerns can exist in some cases.
The evaluation of the exact magnitude of the threat, and any possible
countermeasures, is left to each application protocol.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Character set considerations</span>
Language tags may always be presented using the characters A-Z, a-z,
0-9 and HYPHEN-MINUS, which are present in most character sets, so
presentation of language tags should not have any character set
issues.
<span class="grey">Alvestrand Best Current Practice [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
The issue of deciding upon the rendering of a character set based on
the language tag is not addressed in this memo; however, it is
thought impossible to make such a decision correctly for all cases
unless means of switching language in the middle of a text are
defined (for example, a rendering engine that decides font based on
Japanese or Chinese language may produce suboptimal output when a
mixed Japanese-Chinese text is encountered)
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Acknowledgements</span>
This document has benefited from many rounds of review and comments
in various fora of the IETF and the Internet working groups.
Any list of contributors is bound to be incomplete; please regard the
following as only a selection from the group of people who have
contributed to make this document what it is today.
In alphabetical order:
Glenn Adams, Tim Berners-Lee, Marc Blanchet, Nathaniel Borenstein,
Eric Brunner, Sean M. Burke, John Clews, Jim Conklin, Peter
Constable, John Cowan, Mark Crispin, Dave Crocker, Mark Davis, Martin
Duerst, Michael Everson, Ned Freed, Tim Goodwin, Dirk-Willem van
Gulik, Marion Gunn, Paul Hoffman, Olle Jarnefors, Kent Karlsson, John
Klensin, Alain LaBonte, Chris Newman, Keith Moore, Masataka Ohta,
Keld Jorn Simonsen, Otto Stolz, Rhys Weatherley, Misha Wolf, Francois
Yergeau and many, many others.
Special thanks must go to Michael Everson, who has served as language
tag reviewer for almost the complete period since the publication of
<a href="./rfc1766">RFC 1766</a>, and has provided a great deal of input to this revision.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. Author's Address</span>
Harald Tveit Alvestrand
Cisco Systems
Weidemanns vei 27
7043 Trondheim
NORWAY
Phone: +47 73 50 33 52
EMail: Harald@Alvestrand.no
<span class="grey">Alvestrand Best Current Practice [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. References</span>
[ISO 639] ISO 639:1988 (E/F) - Code for the representation of names
of languages - The International Organization for
Standardization, 1st edition, 1988-04-01 Prepared by
ISO/TC 37 - Terminology (principles and coordination).
Note that a new version (ISO 639-1:2000) is in
preparation at the time of this writing.
[ISO 639-2] ISO 639-2:1998 - Codes for the representation of names of
languages -- Part 2: Alpha-3 code - edition 1, 1998-11-
01, 66 pages, prepared by a Joint Working Group of ISO
TC46/SC4 and ISO TC37/SC2.
[ISO 3166] ISO 3166:1988 (E/F) - Codes for the representation of
names of countries - The International Organization for
Standardization, 3rd edition, 1988-08-15.
[<a id="ref-RFC 1327">RFC 1327</a>] Kille, S., "Mapping between X.400 (1988) / ISO 10021 and
<a href="./rfc822">RFC 822</a>", <a href="./rfc1327">RFC 1327</a>, May 1992.
[<a id="ref-RFC 1521">RFC 1521</a>] Borenstein, N., and N. Freed, "MIME Part One: Mechanisms
for Specifying and Describing the Format of Internet
Message Bodies", <a href="./rfc1521">RFC 1521</a>, September 1993.
[<a id="ref-RFC 2026">RFC 2026</a>] Bradner, S., "The Internet Standards Process -- Revision
3", <a href="https://www.rfc-editor.org/bcp/bcp9">BCP 9</a>, <a href="./rfc2026">RFC 2026</a>, October 1996.
[<a id="ref-RFC 2028">RFC 2028</a>] Hovey, R. and S. Bradner, "The Organizations Involved in
the IETF Standards Process", <a href="https://www.rfc-editor.org/bcp/bcp11">BCP 11</a>, <a href="./rfc2028">RFC 2028</a>, October
1996.
[<a id="ref-RFC 2119">RFC 2119</a>] Bradner, S."Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC 2234">RFC 2234</a>] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", <a href="./rfc2234">RFC 2234</a>, November 1997.
[<a id="ref-RFC 2616">RFC 2616</a>] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", <a href="./rfc2616">RFC 2616</a>, June 1999.
[<a id="ref-RFC 2860">RFC 2860</a>] Carpenter, B., Baker, F. and M. Roberts, "Memorandum of
Understanding Concerning the Technical Work of the
Internet Assigned Numbers Authority", <a href="./rfc2860">RFC 2860</a>, June
2000.
<span class="grey">Alvestrand Best Current Practice [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
Appendix A: Language Tag Reference Material
The Library of Congress, maintainers of ISO 639-2, has made the list
of languages registered available on the Internet.
At the time of this writing, it can be found at
<a href="http://www.loc.gov/standards/iso639-2/langhome.html">http://www.loc.gov/standards/iso639-2/langhome.html</a>
The IANA registration forms for registered language codes can be
found at <a href="http://www.iana.org/numbers.html">http://www.iana.org/numbers.html</a> under "languages".
The ISO 3166 Maintenance Agency has published Web pages at
<a href="http://www.din.de/gremien/nas/nabd/iso3166ma/">http://www.din.de/gremien/nas/nabd/iso3166ma/</a>
Appendix B: Changes from <a href="./rfc1766">RFC 1766</a>
- Email list address changed from ietf-types@uninett.no to ietf-
languages@iana.org
- Updated author's address
- Added language-range construct from HTTP/1.1
- Added use of ISO 639-2 language codes
- Added reference to Library of Congress lists of language codes
- Changed examples to use registered tags
- Added "Any other information" to registration form
- Added description of procedure for updating registrations
- Changed target category for document from standards track to BCP
- Moved the content-language header definition into another document
- Added numbers to the permitted characters in language tags
<span class="grey">Alvestrand Best Current Practice [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc3066">RFC 3066</a> Tags for Identification of Languages January 2001</span>
Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Alvestrand Best Current Practice [Page 13]
</pre>
|