traject 2.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.travis.yml +27 -0
  4. data/.yardopts +3 -0
  5. data/Gemfile +12 -0
  6. data/LICENSE.txt +20 -0
  7. data/README.md +461 -0
  8. data/Rakefile +21 -0
  9. data/bench/bench.rb +30 -0
  10. data/bin/traject +16 -0
  11. data/doc/batch_execution.md +243 -0
  12. data/doc/extending.md +190 -0
  13. data/doc/indexing_rules.md +265 -0
  14. data/doc/other_commands.md +47 -0
  15. data/doc/settings.md +101 -0
  16. data/lib/tasks/load_maps.rake +48 -0
  17. data/lib/traject.rb +11 -0
  18. data/lib/traject/command_line.rb +301 -0
  19. data/lib/traject/csv_writer.rb +34 -0
  20. data/lib/traject/debug_writer.rb +47 -0
  21. data/lib/traject/delimited_writer.rb +110 -0
  22. data/lib/traject/indexer.rb +613 -0
  23. data/lib/traject/indexer/settings.rb +110 -0
  24. data/lib/traject/json_writer.rb +51 -0
  25. data/lib/traject/line_writer.rb +63 -0
  26. data/lib/traject/macros/basic.rb +9 -0
  27. data/lib/traject/macros/marc21.rb +223 -0
  28. data/lib/traject/macros/marc21_semantics.rb +584 -0
  29. data/lib/traject/macros/marc_format_classifier.rb +197 -0
  30. data/lib/traject/marc_extractor.rb +410 -0
  31. data/lib/traject/marc_reader.rb +89 -0
  32. data/lib/traject/mock_reader.rb +97 -0
  33. data/lib/traject/ndj_reader.rb +40 -0
  34. data/lib/traject/null_writer.rb +22 -0
  35. data/lib/traject/qualified_const_get.rb +40 -0
  36. data/lib/traject/solr_json_writer.rb +277 -0
  37. data/lib/traject/thread_pool.rb +161 -0
  38. data/lib/traject/translation_map.rb +267 -0
  39. data/lib/traject/util.rb +52 -0
  40. data/lib/traject/version.rb +3 -0
  41. data/lib/traject/yaml_writer.rb +9 -0
  42. data/lib/translation_maps/lcc_top_level.yaml +26 -0
  43. data/lib/translation_maps/marc_genre_007.yaml +9 -0
  44. data/lib/translation_maps/marc_genre_leader.yaml +22 -0
  45. data/lib/translation_maps/marc_geographic.yaml +589 -0
  46. data/lib/translation_maps/marc_instruments.yaml +102 -0
  47. data/lib/translation_maps/marc_languages.yaml +490 -0
  48. data/test/debug_writer_test.rb +38 -0
  49. data/test/delimited_writer_test.rb +104 -0
  50. data/test/indexer/each_record_test.rb +59 -0
  51. data/test/indexer/macros_marc21_semantics_test.rb +391 -0
  52. data/test/indexer/macros_marc21_test.rb +190 -0
  53. data/test/indexer/macros_test.rb +40 -0
  54. data/test/indexer/map_record_test.rb +209 -0
  55. data/test/indexer/read_write_test.rb +101 -0
  56. data/test/indexer/settings_test.rb +152 -0
  57. data/test/indexer/to_field_test.rb +77 -0
  58. data/test/marc_extractor_test.rb +412 -0
  59. data/test/marc_format_classifier_test.rb +98 -0
  60. data/test/marc_reader_test.rb +110 -0
  61. data/test/solr_json_writer_test.rb +248 -0
  62. data/test/test_helper.rb +90 -0
  63. data/test/test_support/245_no_ab.marc +1 -0
  64. data/test/test_support/880_with_no_6.utf8.marc +1 -0
  65. data/test/test_support/bad_subfield_code.marc +1 -0
  66. data/test/test_support/bad_utf_byte.utf8.marc +1 -0
  67. data/test/test_support/date_resort_to_260.marc +1 -0
  68. data/test/test_support/date_type_r_missing_date2.marc +1 -0
  69. data/test/test_support/date_with_u.marc +1 -0
  70. data/test/test_support/demo_config.rb +155 -0
  71. data/test/test_support/emptyish_record.marc +1 -0
  72. data/test/test_support/escaped_character_reference.marc8.marc +1 -0
  73. data/test/test_support/george_eliot.marc +1 -0
  74. data/test/test_support/hebrew880s.marc +1 -0
  75. data/test/test_support/louis_armstrong.marc +1 -0
  76. data/test/test_support/manufacturing_consent.marc +1 -0
  77. data/test/test_support/manuscript_online_thesis.marc +1 -0
  78. data/test/test_support/microform_online_conference.marc +1 -0
  79. data/test/test_support/multi_era.marc +1 -0
  80. data/test/test_support/multi_geo.marc +1 -0
  81. data/test/test_support/musical_cage.marc +1 -0
  82. data/test/test_support/nature.marc +1 -0
  83. data/test/test_support/one-marc8.mrc +1 -0
  84. data/test/test_support/online_only.marc +1 -0
  85. data/test/test_support/packed_041a_lang.marc +1 -0
  86. data/test/test_support/test_data.utf8.json +30 -0
  87. data/test/test_support/test_data.utf8.marc.xml +2609 -0
  88. data/test/test_support/test_data.utf8.mrc +1 -0
  89. data/test/test_support/test_data.utf8.mrc.gz +0 -0
  90. data/test/test_support/the_business_ren.marc +1 -0
  91. data/test/translation_map_test.rb +225 -0
  92. data/test/translation_maps/bad_ruby.rb +8 -0
  93. data/test/translation_maps/bad_yaml.yaml +1 -0
  94. data/test/translation_maps/both_map.rb +1 -0
  95. data/test/translation_maps/both_map.yaml +1 -0
  96. data/test/translation_maps/default_literal.rb +10 -0
  97. data/test/translation_maps/default_passthrough.rb +10 -0
  98. data/test/translation_maps/marc_040a_translate_test.yaml +1 -0
  99. data/test/translation_maps/properties_map.properties +5 -0
  100. data/test/translation_maps/ruby_map.rb +10 -0
  101. data/test/translation_maps/translate_array_test.yaml +8 -0
  102. data/test/translation_maps/yaml_map.yaml +7 -0
  103. data/traject.gemspec +47 -0
  104. metadata +382 -0
@@ -0,0 +1,102 @@
1
+ # Mapping of Instrument Codes from 048 to User Friendly Term
2
+
3
+ ba: Horn
4
+ bb: Trumpet
5
+ bc: Cornet
6
+ bd: Trombone
7
+ be: Tuba
8
+ bf: Baritone horn
9
+ bn: Brass, Unspecified
10
+ bu: Brass, Unknown
11
+ by: Brass, Ethnic
12
+ bz: Brass, Other
13
+ ca: Choruses, Mixed
14
+ cb: Chorus, Women's
15
+ cc: Choruses, Men's
16
+ cd: Choruses, Children's
17
+ cn: Choruses, Unspecified
18
+ cu: Chorus, Unknown
19
+ cy: Choruses, Ethnic
20
+ ea: Synthesizer
21
+ eb: Electronic Tape
22
+ ec: Computer
23
+ ed: Ondes Martinot
24
+ en: Electronic, Unspecified
25
+ eu: Electronic, Unknown
26
+ ez: Electronic, Other
27
+ ka: Piano
28
+ kb: Organ
29
+ kc: Harpsichord
30
+ kd: Clavichord
31
+ ke: Continuo
32
+ kf: Celeste
33
+ kn: Keyboard, Unspecified
34
+ ku: Keyboard, Unknown
35
+ ky: Keyboard, Ethnic
36
+ kz: Keyboard, Other
37
+ oa: Full orchestra
38
+ ob: Chamber orchestra
39
+ oc: String orchestra
40
+ od: Band
41
+ oe: Dance orchestra
42
+ of: Brass band
43
+ # some weird as hell thing where ruby YAML parser changes 'on' to true, wtf, grr.
44
+ 'on': Larger ensemble, Unspecified
45
+ ou: Larger ensemble, Unknown
46
+ oy: Larger ensemble, Ethnic
47
+ oz: Larger ensemble, Other
48
+ pa: Timpani
49
+ pb: Xylophone
50
+ pc: Marimba
51
+ pd: Drum
52
+ pn: Percussion, Unspecified
53
+ pu: Percussion, Unknown
54
+ py: Percussion, Ethnic
55
+ pz: Percussion, Other
56
+ sa: Violin
57
+ sb: Viola
58
+ sc: Violoncello
59
+ sd: Double bass
60
+ se: Viol
61
+ sf: Viola d'amore
62
+ sg: Viola da gamba
63
+ sn: Bowed Strings, Unspecified
64
+ su: Bowed Strings, Unknown
65
+ sy: Bowed Strings, Ethnic
66
+ sz: Bowed Strings, Other
67
+ ta: Harp
68
+ tb: Guitar
69
+ tc: Lute
70
+ td: Mandolin
71
+ tn: Plucked Strings, Unspecified
72
+ tu: Plucked Strings, Unknown
73
+ ty: Plucked Strings, Ethnic
74
+ tz: Plucked Strings, Other
75
+ va: Soprano voice
76
+ vb: Mezzo soprano voice
77
+ vc: Alto voice
78
+ vd: Tenor voice
79
+ ve: Baritone voice
80
+ vf: Bass voice
81
+ vg: Counter tenor voice
82
+ vh: High voice
83
+ vi: Medium voice
84
+ vj: Low voice
85
+ vn: Voices, Unspecified
86
+ vu: Voices, Unknown
87
+ vy: Voices, Ethnic
88
+ wa: Flute
89
+ wb: Oboe
90
+ wc: Clarinet
91
+ wd: Bassoon
92
+ we: Piccolo
93
+ wf: English horn
94
+ wg: Bass clarinet
95
+ wh: Recorder
96
+ wi: Saxophone
97
+ wn: Woodwinds, Unspecified
98
+ wu: Woodwinds, Unknown
99
+ wy: Woodwinds, Ethnic
100
+ wz: Woodwinds, Other
101
+ zn: Unspecified instruments
102
+ zu: Unknown
@@ -0,0 +1,490 @@
1
+ # Map Language Codes (in 008[35-37], 041) to User Friendly Term
2
+
3
+ # ???: null
4
+ aar: Afar
5
+ abk: Abkhaz
6
+ ace: Achinese
7
+ ach: Acoli
8
+ ada: Adangme
9
+ ady: Adygei
10
+ afa: Afroasiatic (Other)
11
+ afh: Afrihili (Artificial language)
12
+ afr: Afrikaans
13
+ ajm: Aljamia
14
+ aka: Akan
15
+ akk: Akkadian
16
+ alb: Albanian
17
+ ale: Aleut
18
+ alg: Algonquian (Other)
19
+ amh: Amharic
20
+ ang: English, Old (ca. 450-1100)
21
+ apa: Apache languages
22
+ ara: Arabic
23
+ arc: Aramaic
24
+ arg: Aragonese Spanish
25
+ arm: Armenian
26
+ arn: Mapuche
27
+ arp: Arapaho
28
+ art: Artificial (Other)
29
+ arw: Arawak
30
+ asm: Assamese
31
+ ast: Bable
32
+ ath: Athapascan (Other)
33
+ aus: Australian languages
34
+ ava: Avaric
35
+ ave: Avestan
36
+ awa: Awadhi
37
+ aym: Aymara
38
+ aze: Azerbaijani
39
+ bad: Banda
40
+ bai: Bamileke languages
41
+ bak: Bashkir
42
+ bal: Baluchi
43
+ bam: Bambara
44
+ ban: Balinese
45
+ baq: Basque
46
+ bas: Basa
47
+ bat: Baltic (Other)
48
+ bej: Beja
49
+ bel: Belarusian
50
+ bem: Bemba
51
+ ben: Bengali
52
+ ber: Berber (Other)
53
+ bho: Bhojpuri
54
+ bih: Bihari
55
+ bik: Bikol
56
+ bin: Edo
57
+ bis: Bislama
58
+ bla: Siksika
59
+ bnt: Bantu (Other)
60
+ bos: Bosnian
61
+ bra: Braj
62
+ bre: Breton
63
+ btk: Batak
64
+ bua: Buriat
65
+ bug: Bugis
66
+ bul: Bulgarian
67
+ bur: Burmese
68
+ cad: Caddo
69
+ cai: Central American Indian (Other)
70
+ cam: Khmer
71
+ car: Carib
72
+ cat: Catalan
73
+ cau: Caucasian (Other)
74
+ ceb: Cebuano
75
+ cel: Celtic (Other)
76
+ cha: Chamorro
77
+ chb: Chibcha
78
+ che: Chechen
79
+ chg: Chagatai
80
+ chi: Chinese
81
+ chk: Truk
82
+ chm: Mari
83
+ chn: Chinook jargon
84
+ cho: Choctaw
85
+ chp: Chipewyan
86
+ chr: Cherokee
87
+ chu: Church Slavic
88
+ chv: Chuvash
89
+ chy: Cheyenne
90
+ cmc: Chamic languages
91
+ cop: Coptic
92
+ cor: Cornish
93
+ cos: Corsican
94
+ cpe: Creoles and Pidgins, English-based (Other)
95
+ cpf: Creoles and Pidgins, French-based (Other)
96
+ cpp: Creoles and Pidgins, Portuguese-based (Other)
97
+ cre: Cree
98
+ crh: Crimean Tatar
99
+ crp: Creoles and Pidgins (Other)
100
+ cus: Cushitic (Other)
101
+ cze: Czech
102
+ dak: Dakota
103
+ dan: Danish
104
+ dar: Dargwa
105
+ day: Dayak
106
+ del: Delaware
107
+ den: Slave
108
+ dgr: Dogrib
109
+ din: Dinka
110
+ div: Divehi
111
+ doi: Dogri
112
+ dra: Dravidian (Other)
113
+ dua: Duala
114
+ dum: Dutch, Middle (ca. 1050-1350)
115
+ dut: Dutch
116
+ dyu: Dyula
117
+ dzo: Dzongkha
118
+ efi: Efik
119
+ egy: Egyptian
120
+ eka: Ekajuk
121
+ elx: Elamite
122
+ eng: English
123
+ enm: English, Middle (1100-1500)
124
+ epo: Esperanto
125
+ esk: Eskimo languages
126
+ esp: Esperanto
127
+ est: Estonian
128
+ eth: Ethiopic
129
+ ewe: Ewe
130
+ ewo: Ewondo
131
+ fan: Fang
132
+ fao: Faroese
133
+ far: Faroese
134
+ fat: Fanti
135
+ fij: Fijian
136
+ fin: Finnish
137
+ fiu: Finno-Ugrian (Other)
138
+ fon: Fon
139
+ fre: French
140
+ fri: Frisian
141
+ frm: French, Middle (ca. 1400-1600)
142
+ fro: French, Old (ca. 842-1400)
143
+ fry: Frisian
144
+ ful: Fula
145
+ fur: Friulian
146
+ gaa: Ga
147
+ gae: Scottish Gaelic
148
+ gag: Galician
149
+ gal: Oromo
150
+ gay: Gayo
151
+ gba: Gbaya
152
+ gem: Germanic (Other)
153
+ geo: Georgian
154
+ ger: German
155
+ gez: Ethiopic
156
+ gil: Gilbertese
157
+ gla: Scottish Gaelic
158
+ gle: Irish
159
+ glg: Galician
160
+ glv: Manx
161
+ gmh: German, Middle High (ca. 1050-1500)
162
+ goh: German, Old High (ca. 750-1050)
163
+ gon: Gondi
164
+ gor: Gorontalo
165
+ got: Gothic
166
+ grb: Grebo
167
+ grc: Greek, Ancient (to 1453)
168
+ gre: Greek, Modern (1453- )
169
+ grn: Guarani
170
+ gua: Guarani
171
+ guj: Gujarati
172
+ gwi: Gwich'in
173
+ hai: Haida
174
+ hat: Haitian French Creole
175
+ hau: Hausa
176
+ haw: Hawaiian
177
+ heb: Hebrew
178
+ her: Herero
179
+ hil: Hiligaynon
180
+ him: Himachali
181
+ hin: Hindi
182
+ hit: Hittite
183
+ hmn: Hmong
184
+ hmo: Hiri Motu
185
+ hun: Hungarian
186
+ hup: Hupa
187
+ iba: Iban
188
+ ibo: Igbo
189
+ ice: Icelandic
190
+ ido: Ido
191
+ iii: Sichuan Yi
192
+ ijo: Ijo
193
+ iku: Inuktitut
194
+ ile: Interlingue
195
+ ilo: Iloko
196
+ ina: Interlingua (International Auxiliary Language Association)
197
+ inc: Indic (Other)
198
+ ind: Indonesian
199
+ ine: Indo-European (Other)
200
+ inh: Ingush
201
+ int: Interlingua (International Auxiliary Language Association)
202
+ ipk: Inupiaq
203
+ ira: Iranian (Other)
204
+ iri: Irish
205
+ iro: Iroquoian (Other)
206
+ ita: Italian
207
+ jav: Javanese
208
+ jpn: Japanese
209
+ jpr: Judeo-Persian
210
+ jrb: Judeo-Arabic
211
+ kaa: Kara-Kalpak
212
+ kab: Kabyle
213
+ kac: Kachin
214
+ kal: Kalatdlisut
215
+ kam: Kamba
216
+ kan: Kannada
217
+ kar: Karen
218
+ kas: Kashmiri
219
+ kau: Kanuri
220
+ kaw: Kawi
221
+ kaz: Kazakh
222
+ kbd: Kabardian
223
+ kha: Khasi
224
+ khi: Khoisan (Other)
225
+ khm: Khmer
226
+ kho: Khotanese
227
+ kik: Kikuyu
228
+ kin: Kinyarwanda
229
+ kir: Kyrgyz
230
+ kmb: Kimbundu
231
+ kok: Konkani
232
+ kom: Komi
233
+ kon: Kongo
234
+ kor: Korean
235
+ kos: Kusaie
236
+ kpe: Kpelle
237
+ kro: Kru
238
+ kru: Kurukh
239
+ kua: Kuanyama
240
+ kum: Kumyk
241
+ kur: Kurdish
242
+ kus: Kusaie
243
+ kut: Kutenai
244
+ lad: Ladino
245
+ lah: Lahnda
246
+ lam: Lamba
247
+ lan: Occitan (post-1500)
248
+ lao: Lao
249
+ lap: Sami
250
+ lat: Latin
251
+ lav: Latvian
252
+ lez: Lezgian
253
+ lim: Limburgish
254
+ lin: Lingala
255
+ lit: Lithuanian
256
+ lol: Mongo-Nkundu
257
+ loz: Lozi
258
+ ltz: Letzeburgesch
259
+ lua: Luba-Lulua
260
+ lub: Luba-Katanga
261
+ lug: Ganda
262
+ lui: Luiseno
263
+ lun: Lunda
264
+ luo: Luo (Kenya and Tanzania)
265
+ lus: Lushai
266
+ mac: Macedonian
267
+ mad: Madurese
268
+ mag: Magahi
269
+ mah: Marshallese
270
+ mai: Maithili
271
+ mak: Makasar
272
+ mal: Malayalam
273
+ man: Mandingo
274
+ mao: Maori
275
+ map: Austronesian (Other)
276
+ mar: Marathi
277
+ mas: Masai
278
+ max: Manx
279
+ may: Malay
280
+ mdr: Mandar
281
+ men: Mende
282
+ mga: Irish, Middle (ca. 1100-1550)
283
+ mic: Micmac
284
+ min: Minangkabau
285
+ mis: Miscellaneous languages
286
+ mkh: Mon-Khmer (Other)
287
+ mla: Malagasy
288
+ mlg: Malagasy
289
+ mlt: Maltese
290
+ mnc: Manchu
291
+ mni: Manipuri
292
+ mno: Manobo languages
293
+ moh: Mohawk
294
+ mol: Moldavian
295
+ mon: Mongolian
296
+ mos: Moore
297
+ mul: Multiple languages
298
+ mun: Munda (Other)
299
+ mus: Creek
300
+ mwr: Marwari
301
+ myn: Mayan languages
302
+ nah: Nahuatl
303
+ nai: North American Indian (Other)
304
+ nap: Neapolitan Italian
305
+ nau: Nauru
306
+ nav: Navajo
307
+ nbl: Ndebele (South Africa)
308
+ nde: Ndebele (Zimbabwe)
309
+ ndo: Ndonga
310
+ nds: Low German
311
+ nep: Nepali
312
+ new: Newari
313
+ nia: Nias
314
+ nic: Niger-Kordofanian (Other)
315
+ niu: Niuean
316
+ nno: Norwegian (Nynorsk)
317
+ nob: Norwegian (Bokmal)
318
+ nog: Nogai
319
+ non: Old Norse
320
+ nor: Norwegian
321
+ nso: Northern Sotho
322
+ nub: Nubian languages
323
+ nya: Nyanja
324
+ nym: Nyamwezi
325
+ nyn: Nyankole
326
+ nyo: Nyoro
327
+ nzi: Nzima
328
+ oci: Occitan (post-1500)
329
+ oji: Ojibwa
330
+ ori: Oriya
331
+ orm: Oromo
332
+ osa: Osage
333
+ oss: Ossetic
334
+ ota: Turkish, Ottoman
335
+ oto: Otomian languages
336
+ paa: Papuan (Other)
337
+ pag: Pangasinan
338
+ pal: Pahlavi
339
+ pam: Pampanga
340
+ pan: Panjabi
341
+ pap: Papiamento
342
+ pau: Palauan
343
+ peo: Old Persian (ca. 600-400 B.C.)
344
+ per: Persian
345
+ phi: Philippine (Other)
346
+ phn: Phoenician
347
+ pli: Pali
348
+ pol: Polish
349
+ pon: Ponape
350
+ por: Portuguese
351
+ pra: Prakrit languages
352
+ pro: Provencal (to 1500)
353
+ pus: Pushto
354
+ que: Quechua
355
+ raj: Rajasthani
356
+ rap: Rapanui
357
+ rar: Rarotongan
358
+ roa: Romance (Other)
359
+ roh: Raeto-Romance
360
+ rom: Romani
361
+ rum: Romanian
362
+ run: Rundi
363
+ rus: Russian
364
+ sad: Sandawe
365
+ sag: Sango (Ubangi Creole)
366
+ sah: Yakut
367
+ sai: South American Indian (Other)
368
+ sal: Salishan languages
369
+ sam: Samaritan Aramaic
370
+ san: Sanskrit
371
+ sao: Samoan
372
+ sas: Sasak
373
+ sat: Santali
374
+ scc: Serbian
375
+ sco: Scots
376
+ scr: Croatian
377
+ sel: Selkup
378
+ sem: Semitic (Other)
379
+ sga: Irish, Old (to 1100)
380
+ sgn: Sign languages
381
+ shn: Shan
382
+ sho: Shona
383
+ sid: Sidamo
384
+ sin: Sinhalese
385
+ sio: Siouan (Other)
386
+ sit: Sino-Tibetan (Other)
387
+ sla: Slavic (Other)
388
+ slo: Slovak
389
+ slv: Slovenian
390
+ sma: Southern Sami
391
+ sme: Northern Sami
392
+ smi: Sami
393
+ smj: Lule Sami
394
+ smn: Inari Sami
395
+ smo: Samoan
396
+ sms: Skolt Sami
397
+ sna: Shona
398
+ snd: Sindhi
399
+ snh: Sinhalese
400
+ snk: Soninke
401
+ sog: Sogdian
402
+ som: Somali
403
+ son: Songhai
404
+ sot: Sotho
405
+ spa: Spanish
406
+ srd: Sardinian
407
+ srr: Serer
408
+ ssa: Nilo-Saharan (Other)
409
+ sso: Sotho
410
+ ssw: Swazi
411
+ suk: Sukuma
412
+ sun: Sundanese
413
+ sus: Susu
414
+ sux: Sumerian
415
+ swa: Swahili
416
+ swe: Swedish
417
+ swz: Swazi
418
+ syr: Syriac
419
+ tag: Tagalog
420
+ tah: Tahitian
421
+ tai: Tai (Other)
422
+ taj: Tajik
423
+ tam: Tamil
424
+ tar: Tatar
425
+ tat: Tatar
426
+ tel: Telugu
427
+ tem: Temne
428
+ ter: Terena
429
+ tet: Tetum
430
+ tgk: Tajik
431
+ tgl: Tagalog
432
+ tha: Thai
433
+ tib: Tibetan
434
+ tig: Tigre
435
+ tir: Tigrinya
436
+ tiv: Tiv
437
+ tkl: Tokelauan
438
+ tli: Tlingit
439
+ tmh: Tamashek
440
+ tog: Tonga (Nyasa)
441
+ ton: Tongan
442
+ tpi: Tok Pisin
443
+ tru: Truk
444
+ tsi: Tsimshian
445
+ tsn: Tswana
446
+ tso: Tsonga
447
+ tsw: Tswana
448
+ tuk: Turkmen
449
+ tum: Tumbuka
450
+ tup: Tupi languages
451
+ tur: Turkish
452
+ tut: Altaic (Other)
453
+ tvl: Tuvaluan
454
+ twi: Twi
455
+ tyv: Tuvinian
456
+ udm: Udmurt
457
+ uga: Ugaritic
458
+ uig: Uighur
459
+ ukr: Ukrainian
460
+ umb: Umbundu
461
+ # und: Undetermined
462
+ urd: Urdu
463
+ uzb: Uzbek
464
+ vai: Vai
465
+ ven: Venda
466
+ vie: Vietnamese
467
+ vol: Volapuk
468
+ vot: Votic
469
+ wak: Wakashan languages
470
+ wal: Walamo
471
+ war: Waray
472
+ was: Washo
473
+ wel: Welsh
474
+ wen: Sorbian languages
475
+ wln: Walloon
476
+ wol: Wolof
477
+ xal: Kalmyk
478
+ xho: Xhosa
479
+ yao: Yao (Africa)
480
+ yap: Yapese
481
+ yid: Yiddish
482
+ yor: Yoruba
483
+ ypk: Yupik languages
484
+ zap: Zapotec
485
+ zen: Zenaga
486
+ zha: Zhuang
487
+ znd: Zande
488
+ zul: Zulu
489
+ zun: Zuni
490
+ # zxx: null