ietf-822
[Top] [All Lists]

Re: A spec for showing language in MIME headers

1993-11-11 11:52:31
Ohta-san writes:

The country name is useful to disambiguate english between several
countries but not so useful in general as the most of the not-so-famous
languages are used within a single country.

I agree that most language variant distinctions can't be
expressed by a country code. It's because of this that I
advocate IANA registration also of variant codes. Country _is_
usable for other languages than English, though:

fr-FR, fr-CH, fr-CA, fr-BE (French in France, Switzerland, Canada, Belgium)

ge-DE, ge-CH, ge-AT (German in Germany, Switzerland, Austria)

sv-SE, sv-FI (Swedish in Sweden and Finland)

Different forms of Spanish aren't easily indicated by country
codes, though, and the two most important forms of Norwegian not
at all.

Another reason for retaining the possibility to qualify a
language by country in the Content-Language: header is that this
method is already employed in existing standards. It is used in
X/Open locale names. ISO 639, section 4.4, says:

   Country symbols (the alpha-2 symbols from ISO 3166) may be
   combined with language symbols to denote the area in which a
   term is used ...
   - - -
   Examples:
      - - -
      2) en GB flame-proof; en US explosion-proof
         fr antide'flagrant
         it antideflagrante
         de explosionsgeschu"tzt

For example, how can you measure the difference between en-cockney, en-au,
current en-gb and en-gb 300 years ago?

That's not necessary. If a strong enough need to distinguish
Cockney English is felt, it should be possible to register a
variant code for it, to be used together with "en", with IANA.
Registration doesn't imply standardization.

Without a single doctrine, how can IANA recognize something is
"cleary-redundant"? I think it inappropriate to expect IANA judge highly
pedantic and political issues.

Only if IANA can convince the person who wants to register a new
language code that an ISO or IANA code for that language already
exists, should registration be stopped. Someone may e.g. want to
register a code for the language "Provenc,al", not realizing
that this language is called "Occitan" in ISO 639 and is already
given the code "oc".

Also, it is impractical to use country codes. They are quite unstable
that it can not be used without time stamp. Also, 3166 can not be used
to currently-non-existing countries.

This is correct. According to ISO 3166, section 6:

   A Maintenance Agency has been established with the following
   functions:

   a) to add and to eliminate entities and assign codes as
      needed, in accordance with the rules provided;

   b) to advise users regarding applications of the codes;

   c) to update and disseminate lists of entities, codes and
      their definitions;

   d) to maintain a reference list of all country codes used and
      their period of use.

   The following criteria shall be observed by the Maintenance
   Agency for additions to, deletions from and other alterations
   to the entity list of this International Standard, and for
   reservations of codes:

   6.1 Additions

   Additions to the lists of entities shall be based on
   information from the Statistical Office of the United Nations
   or on request, stating the actual requirement for
   international exchange. In the latter case, the Maintenance
   Agency shall decide upon the addition. Codes will be
   allocated accordingly.

   6.2 Deletions

   Deletions from the list of entities shall primarily be based
   on information from the Statistical Office of the United
   Nations or upon request with justification. The Maintenance
   Agency shall decide upon the deletion.

   6.3 Alterations

   Alterations in the name of an entity shall primarily be based
   on information from the Statistical Office of the United
   Nations. The Maintenance Agency shall endeavour to maintain
   stability in the code list to the extent possible. However,
   the Maintenance Agency may assign new codes when requested
   and required.

   6.4 Reservation of codes

   A list of reserved codes is kept by the Maintenance Agency
   Secretariat and will be distributed on request. Reservations
   may be made in the following cases:

   6.4.1   Former codes should not be used during a period of at
   least five years after a change. THe exact period is
   determined in each case on the basis of the extent to which
   the previous code was used.

   6.4.2   For an indeterminate period, certain code
   designations existing at the time of publication of this
   International Standard but differing from those established
   in the Standard should not be used for designating other
   entities. This applies to:

   -- Country designations reported under the Conventions on
   Road Traffic (1949 and 1968);

   -- Codes allocated by the World Intellectual Property
   Organization for specific purposes.

   -- Identification marking code for freight containers (see
   ISO 6346).

   Code designations to which this provision applies should be
   specified and should not be re-allocated during a period of
   at least five years after the date when the entities or
   organizations concerned have adopted the ISO 3166 country
   codes to replace them.

   6.4.3   Codes may be reserved exceptionally for entities for
   which the Maintenance Agency has not found reasons for
   inclusion in the entity list, but for which an exchange
   requirement exists. Before such codes are reserved approval
   of the relevant entity authority must be obtained.

   6.4.4   Before a reallocation of a former or reserved code
   can take place, the Maintenance Agency will consult with the
   entity authority or agency on whose behalf the code was
   reserved and attention should be given to difficulties which
   might arise from the reallocation.

Considering the limited name space for country codes -- 2ALPHA
-- these rules seem to me to be perfectly reasonable and well
adapted to practical realities. Still country codes are not
eternal and immutable. Therefore we could prescribe that the
country code, when used in a Content-Language: header field,
must be supplemented with the year of its allocation if, and
only if, it is a reused code.

/Olle