It seems that DVD specification uses some deprecated version of ISO 639-1 for setting language codes, which messes up the language selection dropdown box in SE's Import Vobsub dialog. What happens is the track with the unknown code takes the Language name of the following track, which ripples down the rest of the list pulling all other track names out of sync, and the final track then gets marked as "Unknown language". Here's a sample file with Hebrew (iw) being the offender.
I compared the list of language codes used by the DVD spec (see p. 186 here or p. 525 here) with the current ISO 639-1 and these are the differences:
DVD code
ISO 639-1
Language name
Change notice
in
id
Indonesian
changed 1989-03-11
iw
he
Hebrew
changed 1989-03-11
ji
yi
Yiddish
changed 1989-03-11
jw
jv
Javanese
“jw” published in error; withdrawn in favor of “jv”, 2001-08-13
mo
ro
Romanian
“mo” for Moldavian has been withdrawn, recommending “ro” also for Moldavian, 2008-11-03
sh
bs
Bosnian
Serbo-Croatian was deprecated in 2000 in favor of separate codes for each individual language (Serbian, Croatian, and then Bosnian was added), 2000-02-18 [since Serbian and Croatian were already present in the old DVD code list it’s probably best to map it to Bosnian]
And here's the full list of DVD codes in case someone needs it for future reference:
Language name
Code
Hex
Decimal
Native name
Abkhaz
ab
6162
24930
аҧсуа бызшәа, аҧсшәа
Afar
aa
6161
24929
Afaraf
Afrikaans
af
6166
24934
Afrikaans
Albanian
sq
7371
29553
Shqip
Amharic
am
616D
24941
አማርኛ
Arabic
ar
6172
24946
العربية
Armenian
hy
6879
26745
Հայերեն
Assamese
as
6173
24947
অসমীয়া
Aymara
ay
6179
24953
aymar aru
Azerbaijani
az
617A
24954
azərbaycan dili
Bashkir
ba
6261
25185
башҡорт теле
Basque
eu
6575
25973
euskara, euskera
Belarusian
be
6265
25189
беларуская мова
Bengali, Bangla
bn
626E
25198
বাংলা
Bihari
bh
6268
25192
भोजपुरी
Bislama
bi
6269
25193
Bislama
Breton
br
6272
25202
brezhoneg
Bulgarian
bg
6267
25191
български език
Burmese
my
6D79
28025
ဗမာစာ
Catalan
ca
6361
25441
català
Chinese
zh
7A68
31336
中文 (Zhōngwén), 汉语, 漢語
Corsican
co
636F
25455
corsu, lingua corsa
Croatian
hr
6872
26738
hrvatski jezik
Czech
cs
6373
25459
čeština, český jazyk
Danish
da
6461
25697
dansk
Dutch
nl
6E6C
28268
Nederlands, Vlaams
Dzongkha
dz
647A
25722
རྫོང་ཁ
English
en
656E
25966
English
Esperanto
eo
656F
25967
Esperanto
Estonian
et
6574
25972
eesti, eesti keel
Faroese
fo
666F
26223
føroyskt
Fijian
fj
666A
26218
vosa Vakaviti
Finnish
fi
6669
26217
suomi, suomen kieli
French
fr
6672
26226
français, langue française
Galician
gl
676C
26476
galego
Georgian
ka
6B61
27489
ქართული
German
de
6465
25701
Deutsch
Greek
el
656C
25964
ελληνικά
Guaraní
gn
676E
26478
Avañe'ẽ
Gujarati
gu
6775
26485
ગુજરાતી
Hausa
ha
6861
26721
(Hausa) هَوُسَ
Hebrew
iw
6977
26999
עברית
Hindi
hi
6869
26729
हिन्दी, हिंदी
Hungarian
hu
6875
26741
magyar
Icelandic
is
6973
26995
Íslenska
Indonesian
in
696E
26990
Bahasa Indonesia
Interlingua
ia
6961
26977
Interlingua
Interlingue
ie
6965
26981
Originally called Occidental; then Interlingue after WWII
It seems that DVD specification uses some deprecated version of ISO 639-1 for setting language codes, which messes up the language selection dropdown box in SE's Import Vobsub dialog. What happens is the track with the unknown code takes the Language name of the following track, which ripples down the rest of the list pulling all other track names out of sync, and the final track then gets marked as "Unknown language". Here's a sample file with Hebrew (iw) being the offender.
I compared the list of language codes used by the DVD spec (see p. 186 here or p. 525 here) with the current ISO 639-1 and these are the differences:
[since Serbian and Croatian were already present in the old DVD code list it’s probably best to map it to Bosnian]
And here's the full list of DVD codes in case someone needs it for future reference: