ISO language codes versus country codes

Havard Hjulstad
Thu, 16 May 2002 11:00:32 +0200

There are many historical reasons and constraints that have lead to
differences between ISO 639 (language identifiers) and ISO 3166 (country
identifiers). During the first stage of the revision of ISO 639:1988 it was
investigated whether it would be feasible to coordinate the new version with
ISO 3166. Although there were advantages, the disadvantages and problems for
all ISO 639 users were deemed to clearly outweigh the advantages. A large
number of changes would have had to be done, including changing identifiers
to different identifiers that previously had different meanings. All in all
this was clearly unacceptable.

In some cases there is a clear correspondence between country and language,
but in most cases language borders and the borders between countries do not
overlap. In the vast majority of cases language and country cannot be
identified in "one scoop" anyway. To identify languages you use ISO 639; to
identify countries you use ISO 3166. The two are different; just different.
Also bear in mind that there are easily 20-30 times as many languages as
there are countries.

Havard Hjulstad
(convener of ISO/TC37/SC2/WG1; project editor of ISO 639-1)

-----Original Message-----
[]On Behalf Of Sean M. Burke
Sent: 16. mai 2002 00:33
Subject: ISO language codes versus country codes

Recently I've been trying my hand at software localization by getting
friends and friends-of-friends to help me localize the open-source program
Namp (a.k.a. Apache::MP3 -- <>)
into various languages.  Along the way, I've discovered that many people
don't know the language tag for their own language, because they (falsely)
assume it to be the same as the country code.  Consider jp/ja for
Japan/Japanese, cz/cs, cn/zh, my/ms, si/sl, ua/uk, se/sv, etc.

My question, and it is a historical one, is:
How did these differences come to be?

Sean M. Burke

Ietf-languages mailing list