API vs GUI language code inconsistency or how to best use ISO 639-3?
First I needed to find a source of ISO-639-3 to import in MySQL. I found this one at the SIL website 
I used phpmyadmin to import the table, used \t as column delimiter and used iso_639_3 as table name
I used phpmyadmin to discover that (in my case?) the language option_group_id equals 78. Just search for a language for instance Dutch and you will find the row with the value.
Knowing this value you can now delete all default language options:

DELETE FROM civicrm_option_value WHERE option_group_id = 78
Alternatively you can also deactivate them:

UPDATE civicrm_option_value SET is_active=0 WHERE option_group_id = 78
I used this query to import all languages in active state:

SET @weight := 0;
INSERT INTO civicrm_option_value ( option_group_id, label, value, name, weight, is_active )
SELECT 78, Inverted_Name, Id, Id, (@weight := @weight + 1 ), 1
FROM iso_639_3
ORDER BY Inverted_Name ASC
Alternatively I found that this query allows me to import all iso-639-3  options but only a subset activated:

SET @weight := 0;
INSERT INTO civicrm_option_value ( option_group_id, label, value, name, weight, is_active )
SELECT 78, Inverted_Name, Id, Id, (@weight := @weight + 1 ), (SELECT Id IN('nld','eng','fra','deu','ita','por','spa'))
FROM iso_639_3 iso
ORDER BY Inverted_Name ASC