Last change: 2007-10-15
ISO-Tables

Description
Oh yes, iso-3166 and iso-639 are so obvious standards, one might
think. This I thought when I tried to compile a comprehensive table
for PApp. However, the actual situation is more
complex: There are different versions of each standard containing
different data sets that make it impossible to compile a comprehensive
table that contains all the information.
So I wrote a script that compiles whatever documents available
electronically into two database tables named iso3166 and
iso639.
The iso3166 table consists of the alpha3 (three letter) codes, the alpha2
(two letter codes), the english country/region name and the UNSD numeric
country/region code.
The iso639 table consists of the alpha3t (three letter terminology code,
ISO 639-2/T), alpha3b (three letter bibliographic code, ISO 639-2/B),
alpha2 (the two-letter ISO 639:1988 language code), the english language
name and the language family, where applicable. For new applications I'd
like to recommend the alpha3t (ISO 639-2/T) codeset.
Request
I am trying to compile translations of these tables (the
language/family/country/region strings) into other languages (all
languages except english and french). I am especially interested in
translations of each language name into it's own (local) language, if
applicable (e.g. "german" => "Deutsch").
If you can provide translations that I haven't provided yet, please send
them to Marc Lehmann <pcg@goof.com> for inclusion on this page.
Also, if you find errors/omissions or inconsistencies in these tables I'd
also be glad to hear about them ;)
Sources
I used the following sources to compile these tables (the compilation
script is available on request only, it's too much of a hack):

Availablility
The following data files are plain text files (whatever that means). The
format is tab-seperated lines, i.e. "field1 tab[0x09] field2
tab[0x09] field3 lf[0x0a]". Empty records do exist. The
translation files currently use a modified po format but will switch to
XML sometime in the future.
ISO3166 (alpha3, alpha2, name, code):
- charset utf-8
- charset iso-8859-1
- mysql create statement for the above
- translation tables for short names
- translation tables for full names
ISO639 (alpha3t, alpha3b, alpha2, name, family):
- charset utf-8
- charset iso-8859-1
- mysql create statement for the above
- translation tables
LOCALE (name, langs, countries, charsets):
- common locale information
- mysql create statement for the above


Any questions/hints/critics? Contact the author of this page!