Mapping from Ethnologue 14 to ISO 639-2

SIL provides a mapping table from Ethnologue 14 to ISO 639-2 codes. Using this table a mapping from old Ethnologue codes to ISO 639 can be made.

This table has its limitations but can provide some additional usage: First of all no mapping to ISO 639-3 exists. (update, see: Updating Ethnologue codes from the 14th Edition to the 15th Edition) Thus a mapping from code in Ethnologue 14 to ISO 639 may lose some information. If a code in Ethnologue isn't encoded in ISO 639, it will be mapped to its language family with a collective code. Furthermore the mapping might have not been updated to included the latest ISO 639-2 codes, so additional codes might not be mapped to. But this information can be helpful on how to actualy map a single language to a collective code in ISO 639-2, even if a ISO 639-3 code is present.

The code table can't be choosen directly on the site, but it can be found over this direct link.

The following code can be useful for loading this table into MySQL:

CREATE TABLE MAPPING_ETHNO14_ISO_639_2 (
    Part2BT char(3) NOT NULL,
    Ethno14 char(3) NOT NULL,
    INDEX (Ethno14),
    INDEX (Part2BT)
)

LOAD DATA LOCAL INFILE 'all_639-2.tab' INTO TABLE 
MAPPING_ETHNO14_ISO_639_2 FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\r\n';

Furthermore when making this mapping, the language names might be useful. They can be found in the regular table under the site's download section: LanguageCodes.tab

Here is the code for MySQL:

CREATE TABLE LanguageCodes (
   LangID      char(3) NOT NULL,        -- Three-letter code
   CountryID   char(2) NOT NULL,        -- Main country where used 
   LangStatus  char(1) NOT NULL,        -- L(iving), N(early extinct),
                                        -- E(xtinct)
   Name        varchar(75) collate utf8_general_ci NOT NULL,
                                        -- Primary name in that country 
   PRIMARY KEY (LangID)
)

LOAD DATA LOCAL INFILE 'LanguageCodes.tab' INTO TABLE 
LanguageCodes FIELDS TERMINATED BY '\t' LINES 
TERMINATED BY '\r\n';