@cyanheads/openalex-mcp-server 0.7.16 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/AGENTS.md +48 -33
  2. package/CLAUDE.md +48 -33
  3. package/Dockerfile +98 -33
  4. package/README.md +23 -16
  5. package/changelog/0.8.x/0.8.0.md +38 -0
  6. package/changelog/0.9.x/0.9.0.md +48 -0
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/mcp-server/prompts/definitions/literature-review.prompt.js +1 -1
  10. package/dist/mcp-server/prompts/definitions/research-landscape.prompt.js +1 -1
  11. package/dist/mcp-server/tools/definitions/analyze-trends.tool.d.ts +28 -3
  12. package/dist/mcp-server/tools/definitions/analyze-trends.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/analyze-trends.tool.js +57 -10
  14. package/dist/mcp-server/tools/definitions/analyze-trends.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/citation-graph.tool.d.ts +62 -5
  16. package/dist/mcp-server/tools/definitions/citation-graph.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/citation-graph.tool.js +100 -52
  18. package/dist/mcp-server/tools/definitions/citation-graph.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/describe-fields.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/describe-fields.tool.js +34 -4
  21. package/dist/mcp-server/tools/definitions/describe-fields.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/resolve-name.tool.d.ts +38 -2
  23. package/dist/mcp-server/tools/definitions/resolve-name.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/resolve-name.tool.js +176 -41
  25. package/dist/mcp-server/tools/definitions/resolve-name.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/search-entities.tool.d.ts +75 -4
  27. package/dist/mcp-server/tools/definitions/search-entities.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/search-entities.tool.js +169 -73
  29. package/dist/mcp-server/tools/definitions/search-entities.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/render-budget.d.ts +4 -2
  31. package/dist/mcp-server/tools/render-budget.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/render-budget.js +4 -2
  33. package/dist/mcp-server/tools/render-budget.js.map +1 -1
  34. package/dist/mcp-server/tools/render-entity-record.d.ts +12 -1
  35. package/dist/mcp-server/tools/render-entity-record.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/render-entity-record.js +23 -8
  37. package/dist/mcp-server/tools/render-entity-record.js.map +1 -1
  38. package/dist/mcp-server/tools/response-budget.d.ts +160 -0
  39. package/dist/mcp-server/tools/response-budget.d.ts.map +1 -0
  40. package/dist/mcp-server/tools/response-budget.js +489 -0
  41. package/dist/mcp-server/tools/response-budget.js.map +1 -0
  42. package/dist/services/openalex/budget.d.ts +3 -1
  43. package/dist/services/openalex/budget.d.ts.map +1 -1
  44. package/dist/services/openalex/budget.js +3 -1
  45. package/dist/services/openalex/budget.js.map +1 -1
  46. package/dist/services/openalex/field-catalog.json +50 -1
  47. package/dist/services/openalex/filter-values.d.ts +46 -0
  48. package/dist/services/openalex/filter-values.d.ts.map +1 -0
  49. package/dist/services/openalex/filter-values.js +294 -0
  50. package/dist/services/openalex/filter-values.js.map +1 -0
  51. package/dist/services/openalex/iso-codes.json +1565 -0
  52. package/dist/services/openalex/openalex-service.d.ts +181 -16
  53. package/dist/services/openalex/openalex-service.d.ts.map +1 -1
  54. package/dist/services/openalex/openalex-service.js +593 -141
  55. package/dist/services/openalex/openalex-service.js.map +1 -1
  56. package/dist/services/openalex/provider-text.d.ts +13 -5
  57. package/dist/services/openalex/provider-text.d.ts.map +1 -1
  58. package/dist/services/openalex/provider-text.js +799 -51
  59. package/dist/services/openalex/provider-text.js.map +1 -1
  60. package/dist/services/openalex/types.d.ts +1 -1
  61. package/dist/services/openalex/types.js +1 -1
  62. package/package.json +16 -13
  63. package/server.json +10 -24
@@ -0,0 +1,1565 @@
1
+ {
2
+ "source": "Debian iso-codes v4.20.1 (https://salsa.debian.org/iso-codes-team/iso-codes): data/iso_3166-1.json, data/iso_639-2.json; plus the country names OpenAlex displays (OPENALEX_COUNTRY_NAMES in scripts/generate-iso-codes.ts)",
3
+ "countries": {
4
+ "alpha3": {
5
+ "ABW": "AW",
6
+ "AFG": "AF",
7
+ "AGO": "AO",
8
+ "AIA": "AI",
9
+ "ALA": "AX",
10
+ "ALB": "AL",
11
+ "AND": "AD",
12
+ "ARE": "AE",
13
+ "ARG": "AR",
14
+ "ARM": "AM",
15
+ "ASM": "AS",
16
+ "ATA": "AQ",
17
+ "ATF": "TF",
18
+ "ATG": "AG",
19
+ "AUS": "AU",
20
+ "AUT": "AT",
21
+ "AZE": "AZ",
22
+ "BDI": "BI",
23
+ "BEL": "BE",
24
+ "BEN": "BJ",
25
+ "BES": "BQ",
26
+ "BFA": "BF",
27
+ "BGD": "BD",
28
+ "BGR": "BG",
29
+ "BHR": "BH",
30
+ "BHS": "BS",
31
+ "BIH": "BA",
32
+ "BLM": "BL",
33
+ "BLR": "BY",
34
+ "BLZ": "BZ",
35
+ "BMU": "BM",
36
+ "BOL": "BO",
37
+ "BRA": "BR",
38
+ "BRB": "BB",
39
+ "BRN": "BN",
40
+ "BTN": "BT",
41
+ "BVT": "BV",
42
+ "BWA": "BW",
43
+ "CAF": "CF",
44
+ "CAN": "CA",
45
+ "CCK": "CC",
46
+ "CHE": "CH",
47
+ "CHL": "CL",
48
+ "CHN": "CN",
49
+ "CIV": "CI",
50
+ "CMR": "CM",
51
+ "COD": "CD",
52
+ "COG": "CG",
53
+ "COK": "CK",
54
+ "COL": "CO",
55
+ "COM": "KM",
56
+ "CPV": "CV",
57
+ "CRI": "CR",
58
+ "CUB": "CU",
59
+ "CUW": "CW",
60
+ "CXR": "CX",
61
+ "CYM": "KY",
62
+ "CYP": "CY",
63
+ "CZE": "CZ",
64
+ "DEU": "DE",
65
+ "DJI": "DJ",
66
+ "DMA": "DM",
67
+ "DNK": "DK",
68
+ "DOM": "DO",
69
+ "DZA": "DZ",
70
+ "ECU": "EC",
71
+ "EGY": "EG",
72
+ "ERI": "ER",
73
+ "ESH": "EH",
74
+ "ESP": "ES",
75
+ "EST": "EE",
76
+ "ETH": "ET",
77
+ "FIN": "FI",
78
+ "FJI": "FJ",
79
+ "FLK": "FK",
80
+ "FRA": "FR",
81
+ "FRO": "FO",
82
+ "FSM": "FM",
83
+ "GAB": "GA",
84
+ "GBR": "GB",
85
+ "GEO": "GE",
86
+ "GGY": "GG",
87
+ "GHA": "GH",
88
+ "GIB": "GI",
89
+ "GIN": "GN",
90
+ "GLP": "GP",
91
+ "GMB": "GM",
92
+ "GNB": "GW",
93
+ "GNQ": "GQ",
94
+ "GRC": "GR",
95
+ "GRD": "GD",
96
+ "GRL": "GL",
97
+ "GTM": "GT",
98
+ "GUF": "GF",
99
+ "GUM": "GU",
100
+ "GUY": "GY",
101
+ "HKG": "HK",
102
+ "HMD": "HM",
103
+ "HND": "HN",
104
+ "HRV": "HR",
105
+ "HTI": "HT",
106
+ "HUN": "HU",
107
+ "IDN": "ID",
108
+ "IMN": "IM",
109
+ "IND": "IN",
110
+ "IOT": "IO",
111
+ "IRL": "IE",
112
+ "IRN": "IR",
113
+ "IRQ": "IQ",
114
+ "ISL": "IS",
115
+ "ISR": "IL",
116
+ "ITA": "IT",
117
+ "JAM": "JM",
118
+ "JEY": "JE",
119
+ "JOR": "JO",
120
+ "JPN": "JP",
121
+ "KAZ": "KZ",
122
+ "KEN": "KE",
123
+ "KGZ": "KG",
124
+ "KHM": "KH",
125
+ "KIR": "KI",
126
+ "KNA": "KN",
127
+ "KOR": "KR",
128
+ "KWT": "KW",
129
+ "LAO": "LA",
130
+ "LBN": "LB",
131
+ "LBR": "LR",
132
+ "LBY": "LY",
133
+ "LCA": "LC",
134
+ "LIE": "LI",
135
+ "LKA": "LK",
136
+ "LSO": "LS",
137
+ "LTU": "LT",
138
+ "LUX": "LU",
139
+ "LVA": "LV",
140
+ "MAC": "MO",
141
+ "MAF": "MF",
142
+ "MAR": "MA",
143
+ "MCO": "MC",
144
+ "MDA": "MD",
145
+ "MDG": "MG",
146
+ "MDV": "MV",
147
+ "MEX": "MX",
148
+ "MHL": "MH",
149
+ "MKD": "MK",
150
+ "MLI": "ML",
151
+ "MLT": "MT",
152
+ "MMR": "MM",
153
+ "MNE": "ME",
154
+ "MNG": "MN",
155
+ "MNP": "MP",
156
+ "MOZ": "MZ",
157
+ "MRT": "MR",
158
+ "MSR": "MS",
159
+ "MTQ": "MQ",
160
+ "MUS": "MU",
161
+ "MWI": "MW",
162
+ "MYS": "MY",
163
+ "MYT": "YT",
164
+ "NAM": "NA",
165
+ "NCL": "NC",
166
+ "NER": "NE",
167
+ "NFK": "NF",
168
+ "NGA": "NG",
169
+ "NIC": "NI",
170
+ "NIU": "NU",
171
+ "NLD": "NL",
172
+ "NOR": "NO",
173
+ "NPL": "NP",
174
+ "NRU": "NR",
175
+ "NZL": "NZ",
176
+ "OMN": "OM",
177
+ "PAK": "PK",
178
+ "PAN": "PA",
179
+ "PCN": "PN",
180
+ "PER": "PE",
181
+ "PHL": "PH",
182
+ "PLW": "PW",
183
+ "PNG": "PG",
184
+ "POL": "PL",
185
+ "PRI": "PR",
186
+ "PRK": "KP",
187
+ "PRT": "PT",
188
+ "PRY": "PY",
189
+ "PSE": "PS",
190
+ "PYF": "PF",
191
+ "QAT": "QA",
192
+ "REU": "RE",
193
+ "ROU": "RO",
194
+ "RUS": "RU",
195
+ "RWA": "RW",
196
+ "SAU": "SA",
197
+ "SDN": "SD",
198
+ "SEN": "SN",
199
+ "SGP": "SG",
200
+ "SGS": "GS",
201
+ "SHN": "SH",
202
+ "SJM": "SJ",
203
+ "SLB": "SB",
204
+ "SLE": "SL",
205
+ "SLV": "SV",
206
+ "SMR": "SM",
207
+ "SOM": "SO",
208
+ "SPM": "PM",
209
+ "SRB": "RS",
210
+ "SSD": "SS",
211
+ "STP": "ST",
212
+ "SUR": "SR",
213
+ "SVK": "SK",
214
+ "SVN": "SI",
215
+ "SWE": "SE",
216
+ "SWZ": "SZ",
217
+ "SXM": "SX",
218
+ "SYC": "SC",
219
+ "SYR": "SY",
220
+ "TCA": "TC",
221
+ "TCD": "TD",
222
+ "TGO": "TG",
223
+ "THA": "TH",
224
+ "TJK": "TJ",
225
+ "TKL": "TK",
226
+ "TKM": "TM",
227
+ "TLS": "TL",
228
+ "TON": "TO",
229
+ "TTO": "TT",
230
+ "TUN": "TN",
231
+ "TUR": "TR",
232
+ "TUV": "TV",
233
+ "TWN": "TW",
234
+ "TZA": "TZ",
235
+ "UGA": "UG",
236
+ "UKR": "UA",
237
+ "UMI": "UM",
238
+ "URY": "UY",
239
+ "USA": "US",
240
+ "UZB": "UZ",
241
+ "VAT": "VA",
242
+ "VCT": "VC",
243
+ "VEN": "VE",
244
+ "VGB": "VG",
245
+ "VIR": "VI",
246
+ "VNM": "VN",
247
+ "VUT": "VU",
248
+ "WLF": "WF",
249
+ "WSM": "WS",
250
+ "YEM": "YE",
251
+ "ZAF": "ZA",
252
+ "ZMB": "ZM",
253
+ "ZWE": "ZW"
254
+ },
255
+ "numeric": {
256
+ "100": "BG",
257
+ "104": "MM",
258
+ "108": "BI",
259
+ "112": "BY",
260
+ "116": "KH",
261
+ "120": "CM",
262
+ "124": "CA",
263
+ "132": "CV",
264
+ "136": "KY",
265
+ "140": "CF",
266
+ "144": "LK",
267
+ "148": "TD",
268
+ "152": "CL",
269
+ "156": "CN",
270
+ "158": "TW",
271
+ "162": "CX",
272
+ "166": "CC",
273
+ "170": "CO",
274
+ "174": "KM",
275
+ "175": "YT",
276
+ "178": "CG",
277
+ "180": "CD",
278
+ "184": "CK",
279
+ "188": "CR",
280
+ "191": "HR",
281
+ "192": "CU",
282
+ "196": "CY",
283
+ "203": "CZ",
284
+ "204": "BJ",
285
+ "208": "DK",
286
+ "212": "DM",
287
+ "214": "DO",
288
+ "218": "EC",
289
+ "222": "SV",
290
+ "226": "GQ",
291
+ "231": "ET",
292
+ "232": "ER",
293
+ "233": "EE",
294
+ "234": "FO",
295
+ "238": "FK",
296
+ "239": "GS",
297
+ "242": "FJ",
298
+ "246": "FI",
299
+ "248": "AX",
300
+ "250": "FR",
301
+ "254": "GF",
302
+ "258": "PF",
303
+ "260": "TF",
304
+ "262": "DJ",
305
+ "266": "GA",
306
+ "268": "GE",
307
+ "270": "GM",
308
+ "275": "PS",
309
+ "276": "DE",
310
+ "288": "GH",
311
+ "292": "GI",
312
+ "296": "KI",
313
+ "300": "GR",
314
+ "304": "GL",
315
+ "308": "GD",
316
+ "312": "GP",
317
+ "316": "GU",
318
+ "320": "GT",
319
+ "324": "GN",
320
+ "328": "GY",
321
+ "332": "HT",
322
+ "334": "HM",
323
+ "336": "VA",
324
+ "340": "HN",
325
+ "344": "HK",
326
+ "348": "HU",
327
+ "352": "IS",
328
+ "356": "IN",
329
+ "360": "ID",
330
+ "364": "IR",
331
+ "368": "IQ",
332
+ "372": "IE",
333
+ "376": "IL",
334
+ "380": "IT",
335
+ "384": "CI",
336
+ "388": "JM",
337
+ "392": "JP",
338
+ "398": "KZ",
339
+ "400": "JO",
340
+ "404": "KE",
341
+ "408": "KP",
342
+ "410": "KR",
343
+ "414": "KW",
344
+ "417": "KG",
345
+ "418": "LA",
346
+ "422": "LB",
347
+ "426": "LS",
348
+ "428": "LV",
349
+ "430": "LR",
350
+ "434": "LY",
351
+ "438": "LI",
352
+ "440": "LT",
353
+ "442": "LU",
354
+ "446": "MO",
355
+ "450": "MG",
356
+ "454": "MW",
357
+ "458": "MY",
358
+ "462": "MV",
359
+ "466": "ML",
360
+ "470": "MT",
361
+ "474": "MQ",
362
+ "478": "MR",
363
+ "480": "MU",
364
+ "484": "MX",
365
+ "492": "MC",
366
+ "496": "MN",
367
+ "498": "MD",
368
+ "499": "ME",
369
+ "500": "MS",
370
+ "504": "MA",
371
+ "508": "MZ",
372
+ "512": "OM",
373
+ "516": "NA",
374
+ "520": "NR",
375
+ "524": "NP",
376
+ "528": "NL",
377
+ "531": "CW",
378
+ "533": "AW",
379
+ "534": "SX",
380
+ "535": "BQ",
381
+ "540": "NC",
382
+ "548": "VU",
383
+ "554": "NZ",
384
+ "558": "NI",
385
+ "562": "NE",
386
+ "566": "NG",
387
+ "570": "NU",
388
+ "574": "NF",
389
+ "578": "NO",
390
+ "580": "MP",
391
+ "581": "UM",
392
+ "583": "FM",
393
+ "584": "MH",
394
+ "585": "PW",
395
+ "586": "PK",
396
+ "591": "PA",
397
+ "598": "PG",
398
+ "600": "PY",
399
+ "604": "PE",
400
+ "608": "PH",
401
+ "612": "PN",
402
+ "616": "PL",
403
+ "620": "PT",
404
+ "624": "GW",
405
+ "626": "TL",
406
+ "630": "PR",
407
+ "634": "QA",
408
+ "638": "RE",
409
+ "642": "RO",
410
+ "643": "RU",
411
+ "646": "RW",
412
+ "652": "BL",
413
+ "654": "SH",
414
+ "659": "KN",
415
+ "660": "AI",
416
+ "662": "LC",
417
+ "663": "MF",
418
+ "666": "PM",
419
+ "670": "VC",
420
+ "674": "SM",
421
+ "678": "ST",
422
+ "682": "SA",
423
+ "686": "SN",
424
+ "688": "RS",
425
+ "690": "SC",
426
+ "694": "SL",
427
+ "702": "SG",
428
+ "703": "SK",
429
+ "704": "VN",
430
+ "705": "SI",
431
+ "706": "SO",
432
+ "710": "ZA",
433
+ "716": "ZW",
434
+ "724": "ES",
435
+ "728": "SS",
436
+ "729": "SD",
437
+ "732": "EH",
438
+ "740": "SR",
439
+ "744": "SJ",
440
+ "748": "SZ",
441
+ "752": "SE",
442
+ "756": "CH",
443
+ "760": "SY",
444
+ "762": "TJ",
445
+ "764": "TH",
446
+ "768": "TG",
447
+ "772": "TK",
448
+ "776": "TO",
449
+ "780": "TT",
450
+ "784": "AE",
451
+ "788": "TN",
452
+ "792": "TR",
453
+ "795": "TM",
454
+ "796": "TC",
455
+ "798": "TV",
456
+ "800": "UG",
457
+ "804": "UA",
458
+ "807": "MK",
459
+ "818": "EG",
460
+ "826": "GB",
461
+ "831": "GG",
462
+ "832": "JE",
463
+ "833": "IM",
464
+ "834": "TZ",
465
+ "840": "US",
466
+ "850": "VI",
467
+ "854": "BF",
468
+ "858": "UY",
469
+ "860": "UZ",
470
+ "862": "VE",
471
+ "876": "WF",
472
+ "882": "WS",
473
+ "887": "YE",
474
+ "894": "ZM",
475
+ "004": "AF",
476
+ "008": "AL",
477
+ "010": "AQ",
478
+ "012": "DZ",
479
+ "016": "AS",
480
+ "020": "AD",
481
+ "024": "AO",
482
+ "028": "AG",
483
+ "031": "AZ",
484
+ "032": "AR",
485
+ "036": "AU",
486
+ "040": "AT",
487
+ "044": "BS",
488
+ "048": "BH",
489
+ "050": "BD",
490
+ "051": "AM",
491
+ "052": "BB",
492
+ "056": "BE",
493
+ "060": "BM",
494
+ "064": "BT",
495
+ "068": "BO",
496
+ "070": "BA",
497
+ "072": "BW",
498
+ "074": "BV",
499
+ "076": "BR",
500
+ "084": "BZ",
501
+ "086": "IO",
502
+ "090": "SB",
503
+ "092": "VG",
504
+ "096": "BN"
505
+ },
506
+ "names": {
507
+ "afghanistan": "AF",
508
+ "albania": "AL",
509
+ "algeria": "DZ",
510
+ "american samoa": "AS",
511
+ "andorra": "AD",
512
+ "angola": "AO",
513
+ "anguilla": "AI",
514
+ "antarctica": "AQ",
515
+ "antigua and barbuda": "AG",
516
+ "argentina": "AR",
517
+ "armenia": "AM",
518
+ "aruba": "AW",
519
+ "australia": "AU",
520
+ "austria": "AT",
521
+ "azerbaijan": "AZ",
522
+ "bahamas": "BS",
523
+ "bahrain": "BH",
524
+ "bangladesh": "BD",
525
+ "barbados": "BB",
526
+ "belarus": "BY",
527
+ "belgium": "BE",
528
+ "belize": "BZ",
529
+ "benin": "BJ",
530
+ "bermuda": "BM",
531
+ "bhutan": "BT",
532
+ "bolivia": "BO",
533
+ "bolivia, plurinational state of": "BO",
534
+ "bonaire, sint eustatius and saba": "BQ",
535
+ "bosnia & herzegovina": "BA",
536
+ "bosnia and herzegovina": "BA",
537
+ "botswana": "BW",
538
+ "bouvet island": "BV",
539
+ "brazil": "BR",
540
+ "british indian ocean territory": "IO",
541
+ "british virgin islands": "VG",
542
+ "brunei": "BN",
543
+ "brunei darussalam": "BN",
544
+ "bulgaria": "BG",
545
+ "burkina faso": "BF",
546
+ "burundi": "BI",
547
+ "cabo verde": "CV",
548
+ "cambodia": "KH",
549
+ "cameroon": "CM",
550
+ "canada": "CA",
551
+ "caribbean netherlands": "BQ",
552
+ "cayman islands": "KY",
553
+ "central african republic": "CF",
554
+ "chad": "TD",
555
+ "chile": "CL",
556
+ "china": "CN",
557
+ "christmas island": "CX",
558
+ "cocos (keeling) islands": "CC",
559
+ "colombia": "CO",
560
+ "comoros": "KM",
561
+ "congo": "CG",
562
+ "congo, the democratic republic of the": "CD",
563
+ "cook islands": "CK",
564
+ "costa rica": "CR",
565
+ "croatia": "HR",
566
+ "cuba": "CU",
567
+ "curaçao": "CW",
568
+ "cyprus": "CY",
569
+ "czechia": "CZ",
570
+ "côte d'ivoire": "CI",
571
+ "denmark": "DK",
572
+ "djibouti": "DJ",
573
+ "dominica": "DM",
574
+ "dominican rep.": "DO",
575
+ "dominican republic": "DO",
576
+ "dr congo": "CD",
577
+ "ecuador": "EC",
578
+ "egypt": "EG",
579
+ "el salvador": "SV",
580
+ "equatorial guinea": "GQ",
581
+ "eritrea": "ER",
582
+ "estonia": "EE",
583
+ "eswatini": "SZ",
584
+ "ethiopia": "ET",
585
+ "falkland islands": "FK",
586
+ "falkland islands (malvinas)": "FK",
587
+ "faroe islands": "FO",
588
+ "fiji": "FJ",
589
+ "finland": "FI",
590
+ "france": "FR",
591
+ "french guiana": "GF",
592
+ "french polynesia": "PF",
593
+ "french southern territories": "TF",
594
+ "gabon": "GA",
595
+ "gambia": "GM",
596
+ "georgia": "GE",
597
+ "germany": "DE",
598
+ "ghana": "GH",
599
+ "gibraltar": "GI",
600
+ "greece": "GR",
601
+ "greenland": "GL",
602
+ "grenada": "GD",
603
+ "guadeloupe": "GP",
604
+ "guam": "GU",
605
+ "guatemala": "GT",
606
+ "guernsey": "GG",
607
+ "guinea": "GN",
608
+ "guinea-bissau": "GW",
609
+ "guyana": "GY",
610
+ "haiti": "HT",
611
+ "heard island and mcdonald islands": "HM",
612
+ "holy see (vatican city state)": "VA",
613
+ "honduras": "HN",
614
+ "hong kong": "HK",
615
+ "hungary": "HU",
616
+ "iceland": "IS",
617
+ "india": "IN",
618
+ "indonesia": "ID",
619
+ "iran": "IR",
620
+ "iran, islamic republic of": "IR",
621
+ "iraq": "IQ",
622
+ "ireland": "IE",
623
+ "isle of man": "IM",
624
+ "israel": "IL",
625
+ "italy": "IT",
626
+ "ivory coast": "CI",
627
+ "jamaica": "JM",
628
+ "japan": "JP",
629
+ "jersey": "JE",
630
+ "jordan": "JO",
631
+ "kazakhstan": "KZ",
632
+ "kenya": "KE",
633
+ "kiribati": "KI",
634
+ "korea, democratic people's republic of": "KP",
635
+ "korea, republic of": "KR",
636
+ "kosovo": "XK",
637
+ "kuwait": "KW",
638
+ "kyrgyzstan": "KG",
639
+ "lao people's democratic republic": "LA",
640
+ "laos": "LA",
641
+ "latvia": "LV",
642
+ "lebanon": "LB",
643
+ "lesotho": "LS",
644
+ "liberia": "LR",
645
+ "libya": "LY",
646
+ "liechtenstein": "LI",
647
+ "lithuania": "LT",
648
+ "luxembourg": "LU",
649
+ "macao": "MO",
650
+ "madagascar": "MG",
651
+ "malawi": "MW",
652
+ "malaysia": "MY",
653
+ "maldives": "MV",
654
+ "mali": "ML",
655
+ "malta": "MT",
656
+ "marshall islands": "MH",
657
+ "martinique": "MQ",
658
+ "mauritania": "MR",
659
+ "mauritius": "MU",
660
+ "mayotte": "YT",
661
+ "mexico": "MX",
662
+ "micronesia": "FM",
663
+ "micronesia, federated states of": "FM",
664
+ "moldova": "MD",
665
+ "moldova, republic of": "MD",
666
+ "monaco": "MC",
667
+ "mongolia": "MN",
668
+ "montenegro": "ME",
669
+ "montserrat": "MS",
670
+ "morocco": "MA",
671
+ "mozambique": "MZ",
672
+ "myanmar": "MM",
673
+ "namibia": "NA",
674
+ "nauru": "NR",
675
+ "nepal": "NP",
676
+ "netherlands": "NL",
677
+ "new caledonia": "NC",
678
+ "new zealand": "NZ",
679
+ "nicaragua": "NI",
680
+ "niger": "NE",
681
+ "nigeria": "NG",
682
+ "niue": "NU",
683
+ "norfolk island": "NF",
684
+ "north korea": "KP",
685
+ "north macedonia": "MK",
686
+ "northern mariana is.": "MP",
687
+ "northern mariana islands": "MP",
688
+ "norway": "NO",
689
+ "oman": "OM",
690
+ "pakistan": "PK",
691
+ "palau": "PW",
692
+ "palestine": "PS",
693
+ "palestine, state of": "PS",
694
+ "panama": "PA",
695
+ "papua new guinea": "PG",
696
+ "paraguay": "PY",
697
+ "peru": "PE",
698
+ "philippines": "PH",
699
+ "pitcairn": "PN",
700
+ "poland": "PL",
701
+ "portugal": "PT",
702
+ "puerto rico": "PR",
703
+ "qatar": "QA",
704
+ "romania": "RO",
705
+ "russia": "RU",
706
+ "russian federation": "RU",
707
+ "rwanda": "RW",
708
+ "réunion": "RE",
709
+ "saint barthélemy": "BL",
710
+ "saint helena, ascension and tristan da cunha": "SH",
711
+ "saint kitts and nevis": "KN",
712
+ "saint lucia": "LC",
713
+ "saint martin": "MF",
714
+ "saint martin (french part)": "MF",
715
+ "saint pierre and miquelon": "PM",
716
+ "saint vincent and the grenadines": "VC",
717
+ "samoa": "WS",
718
+ "san marino": "SM",
719
+ "sao tome and principe": "ST",
720
+ "saudi arabia": "SA",
721
+ "senegal": "SN",
722
+ "serbia": "RS",
723
+ "seychelles": "SC",
724
+ "sierra leone": "SL",
725
+ "singapore": "SG",
726
+ "sint maarten": "SX",
727
+ "sint maarten (dutch part)": "SX",
728
+ "slovakia": "SK",
729
+ "slovenia": "SI",
730
+ "solomon islands": "SB",
731
+ "somalia": "SO",
732
+ "south africa": "ZA",
733
+ "south georgia & south sandwich is.": "GS",
734
+ "south georgia and the south sandwich islands": "GS",
735
+ "south korea": "KR",
736
+ "south sudan": "SS",
737
+ "spain": "ES",
738
+ "sri lanka": "LK",
739
+ "st. kitts & nevis": "KN",
740
+ "st. vincent & grenadines": "VC",
741
+ "sudan": "SD",
742
+ "suriname": "SR",
743
+ "svalbard and jan mayen": "SJ",
744
+ "sweden": "SE",
745
+ "switzerland": "CH",
746
+ "syria": "SY",
747
+ "syrian arab republic": "SY",
748
+ "são tomé & príncipe": "ST",
749
+ "taiwan": "TW",
750
+ "taiwan, province of china": "TW",
751
+ "tajikistan": "TJ",
752
+ "tanzania": "TZ",
753
+ "tanzania, united republic of": "TZ",
754
+ "thailand": "TH",
755
+ "timor-leste": "TL",
756
+ "togo": "TG",
757
+ "tokelau": "TK",
758
+ "tonga": "TO",
759
+ "trinidad & tobago": "TT",
760
+ "trinidad and tobago": "TT",
761
+ "tunisia": "TN",
762
+ "turkey": "TR",
763
+ "turkmenistan": "TM",
764
+ "turks & caicos islands": "TC",
765
+ "turks and caicos islands": "TC",
766
+ "tuvalu": "TV",
767
+ "türkiye": "TR",
768
+ "uganda": "UG",
769
+ "ukraine": "UA",
770
+ "united arab emirates": "AE",
771
+ "united kingdom": "GB",
772
+ "united states": "US",
773
+ "united states minor outlying islands": "UM",
774
+ "uruguay": "UY",
775
+ "us virgin islands": "VI",
776
+ "uzbekistan": "UZ",
777
+ "vanuatu": "VU",
778
+ "vatican city": "VA",
779
+ "venezuela": "VE",
780
+ "venezuela, bolivarian republic of": "VE",
781
+ "viet nam": "VN",
782
+ "vietnam": "VN",
783
+ "virgin islands, british": "VG",
784
+ "virgin islands, u.s.": "VI",
785
+ "wallis and futuna": "WF",
786
+ "western sahara": "EH",
787
+ "yemen": "YE",
788
+ "zambia": "ZM",
789
+ "zimbabwe": "ZW",
790
+ "åland islands": "AX"
791
+ }
792
+ },
793
+ "languages": {
794
+ "alpha3": {
795
+ "aar": "aa",
796
+ "abk": "ab",
797
+ "afr": "af",
798
+ "aka": "ak",
799
+ "alb": "sq",
800
+ "amh": "am",
801
+ "ara": "ar",
802
+ "arg": "an",
803
+ "arm": "hy",
804
+ "asm": "as",
805
+ "ava": "av",
806
+ "ave": "ae",
807
+ "aym": "ay",
808
+ "aze": "az",
809
+ "bak": "ba",
810
+ "bam": "bm",
811
+ "baq": "eu",
812
+ "bel": "be",
813
+ "ben": "bn",
814
+ "bis": "bi",
815
+ "bod": "bo",
816
+ "bos": "bs",
817
+ "bre": "br",
818
+ "bul": "bg",
819
+ "bur": "my",
820
+ "cat": "ca",
821
+ "ces": "cs",
822
+ "cha": "ch",
823
+ "che": "ce",
824
+ "chi": "zh",
825
+ "chu": "cu",
826
+ "chv": "cv",
827
+ "cor": "kw",
828
+ "cos": "co",
829
+ "cre": "cr",
830
+ "cym": "cy",
831
+ "cze": "cs",
832
+ "dan": "da",
833
+ "deu": "de",
834
+ "div": "dv",
835
+ "dut": "nl",
836
+ "dzo": "dz",
837
+ "ell": "el",
838
+ "eng": "en",
839
+ "epo": "eo",
840
+ "est": "et",
841
+ "eus": "eu",
842
+ "ewe": "ee",
843
+ "fao": "fo",
844
+ "fas": "fa",
845
+ "fij": "fj",
846
+ "fin": "fi",
847
+ "fra": "fr",
848
+ "fre": "fr",
849
+ "fry": "fy",
850
+ "ful": "ff",
851
+ "geo": "ka",
852
+ "ger": "de",
853
+ "gla": "gd",
854
+ "gle": "ga",
855
+ "glg": "gl",
856
+ "glv": "gv",
857
+ "gre": "el",
858
+ "grn": "gn",
859
+ "guj": "gu",
860
+ "hat": "ht",
861
+ "hau": "ha",
862
+ "heb": "he",
863
+ "her": "hz",
864
+ "hin": "hi",
865
+ "hmo": "ho",
866
+ "hrv": "hr",
867
+ "hun": "hu",
868
+ "hye": "hy",
869
+ "ibo": "ig",
870
+ "ice": "is",
871
+ "ido": "io",
872
+ "iii": "ii",
873
+ "iku": "iu",
874
+ "ile": "ie",
875
+ "ina": "ia",
876
+ "ind": "id",
877
+ "ipk": "ik",
878
+ "isl": "is",
879
+ "ita": "it",
880
+ "jav": "jv",
881
+ "jpn": "ja",
882
+ "kal": "kl",
883
+ "kan": "kn",
884
+ "kas": "ks",
885
+ "kat": "ka",
886
+ "kau": "kr",
887
+ "kaz": "kk",
888
+ "khm": "km",
889
+ "kik": "ki",
890
+ "kin": "rw",
891
+ "kir": "ky",
892
+ "kom": "kv",
893
+ "kon": "kg",
894
+ "kor": "ko",
895
+ "kua": "kj",
896
+ "kur": "ku",
897
+ "lao": "lo",
898
+ "lat": "la",
899
+ "lav": "lv",
900
+ "lim": "li",
901
+ "lin": "ln",
902
+ "lit": "lt",
903
+ "ltz": "lb",
904
+ "lub": "lu",
905
+ "lug": "lg",
906
+ "mac": "mk",
907
+ "mah": "mh",
908
+ "mal": "ml",
909
+ "mao": "mi",
910
+ "mar": "mr",
911
+ "may": "ms",
912
+ "mkd": "mk",
913
+ "mlg": "mg",
914
+ "mlt": "mt",
915
+ "mon": "mn",
916
+ "mri": "mi",
917
+ "msa": "ms",
918
+ "mya": "my",
919
+ "nau": "na",
920
+ "nav": "nv",
921
+ "nbl": "nr",
922
+ "nde": "nd",
923
+ "ndo": "ng",
924
+ "nep": "ne",
925
+ "nld": "nl",
926
+ "nno": "nn",
927
+ "nob": "nb",
928
+ "nor": "no",
929
+ "nya": "ny",
930
+ "oci": "oc",
931
+ "oji": "oj",
932
+ "ori": "or",
933
+ "orm": "om",
934
+ "oss": "os",
935
+ "pan": "pa",
936
+ "per": "fa",
937
+ "pli": "pi",
938
+ "pol": "pl",
939
+ "por": "pt",
940
+ "pus": "ps",
941
+ "que": "qu",
942
+ "roh": "rm",
943
+ "ron": "ro",
944
+ "rum": "ro",
945
+ "run": "rn",
946
+ "rus": "ru",
947
+ "sag": "sg",
948
+ "san": "sa",
949
+ "sin": "si",
950
+ "slk": "sk",
951
+ "slo": "sk",
952
+ "slv": "sl",
953
+ "sme": "se",
954
+ "smo": "sm",
955
+ "sna": "sn",
956
+ "snd": "sd",
957
+ "som": "so",
958
+ "sot": "st",
959
+ "spa": "es",
960
+ "sqi": "sq",
961
+ "srd": "sc",
962
+ "srp": "sr",
963
+ "ssw": "ss",
964
+ "sun": "su",
965
+ "swa": "sw",
966
+ "swe": "sv",
967
+ "tah": "ty",
968
+ "tam": "ta",
969
+ "tat": "tt",
970
+ "tel": "te",
971
+ "tgk": "tg",
972
+ "tgl": "tl",
973
+ "tha": "th",
974
+ "tib": "bo",
975
+ "tir": "ti",
976
+ "ton": "to",
977
+ "tsn": "tn",
978
+ "tso": "ts",
979
+ "tuk": "tk",
980
+ "tur": "tr",
981
+ "twi": "tw",
982
+ "uig": "ug",
983
+ "ukr": "uk",
984
+ "urd": "ur",
985
+ "uzb": "uz",
986
+ "ven": "ve",
987
+ "vie": "vi",
988
+ "vol": "vo",
989
+ "wel": "cy",
990
+ "wln": "wa",
991
+ "wol": "wo",
992
+ "xho": "xh",
993
+ "yid": "yi",
994
+ "yor": "yo",
995
+ "zha": "za",
996
+ "zho": "zh",
997
+ "zul": "zu"
998
+ },
999
+ "names": {
1000
+ "abkhazian": "ab",
1001
+ "achinese": "ace",
1002
+ "acoli": "ach",
1003
+ "adangme": "ada",
1004
+ "adygei": "ady",
1005
+ "adyghe": "ady",
1006
+ "afar": "aa",
1007
+ "afrihili": "afh",
1008
+ "afrikaans": "af",
1009
+ "afro-asiatic languages": "afa",
1010
+ "ainu": "ain",
1011
+ "akan": "ak",
1012
+ "akkadian": "akk",
1013
+ "albanian": "sq",
1014
+ "alemannic": "gsw",
1015
+ "aleut": "ale",
1016
+ "algonquian languages": "alg",
1017
+ "alsatian": "gsw",
1018
+ "altaic languages": "tut",
1019
+ "amharic": "am",
1020
+ "angika": "anp",
1021
+ "apache languages": "apa",
1022
+ "arabic": "ar",
1023
+ "aragonese": "an",
1024
+ "arapaho": "arp",
1025
+ "arawak": "arw",
1026
+ "armenian": "hy",
1027
+ "aromanian": "rup",
1028
+ "artificial languages": "art",
1029
+ "arumanian": "rup",
1030
+ "assamese": "as",
1031
+ "asturian": "ast",
1032
+ "asturleonese": "ast",
1033
+ "athapascan languages": "ath",
1034
+ "australian languages": "aus",
1035
+ "austronesian languages": "map",
1036
+ "avaric": "av",
1037
+ "avestan": "ae",
1038
+ "awadhi": "awa",
1039
+ "aymara": "ay",
1040
+ "azerbaijani": "az",
1041
+ "bable": "ast",
1042
+ "balinese": "ban",
1043
+ "baltic languages": "bat",
1044
+ "baluchi": "bal",
1045
+ "bambara": "bm",
1046
+ "bamileke languages": "bai",
1047
+ "banda languages": "bad",
1048
+ "bantu languages": "bnt",
1049
+ "basa": "bas",
1050
+ "bashkir": "ba",
1051
+ "basque": "eu",
1052
+ "batak languages": "btk",
1053
+ "bedawiyet": "bej",
1054
+ "beja": "bej",
1055
+ "belarusian": "be",
1056
+ "bemba": "bem",
1057
+ "bengali": "bn",
1058
+ "berber languages": "ber",
1059
+ "bhojpuri": "bho",
1060
+ "bihari languages": "bih",
1061
+ "bikol": "bik",
1062
+ "bilin": "byn",
1063
+ "bini": "bin",
1064
+ "bislama": "bi",
1065
+ "blin": "byn",
1066
+ "bliss": "zbl",
1067
+ "blissymbolics": "zbl",
1068
+ "blissymbols": "zbl",
1069
+ "bosnian": "bs",
1070
+ "braj": "bra",
1071
+ "breton": "br",
1072
+ "buginese": "bug",
1073
+ "bulgarian": "bg",
1074
+ "buriat": "bua",
1075
+ "burmese": "my",
1076
+ "caddo": "cad",
1077
+ "castilian": "es",
1078
+ "catalan": "ca",
1079
+ "caucasian languages": "cau",
1080
+ "cebuano": "ceb",
1081
+ "celtic languages": "cel",
1082
+ "central american indian languages": "cai",
1083
+ "central khmer": "km",
1084
+ "chagatai": "chg",
1085
+ "chamic languages": "cmc",
1086
+ "chamorro": "ch",
1087
+ "chechen": "ce",
1088
+ "cherokee": "chr",
1089
+ "chewa": "ny",
1090
+ "cheyenne": "chy",
1091
+ "chibcha": "chb",
1092
+ "chichewa": "ny",
1093
+ "chinese": "zh",
1094
+ "chinook jargon": "chn",
1095
+ "chipewyan": "chp",
1096
+ "choctaw": "cho",
1097
+ "chuang": "za",
1098
+ "church slavic": "cu",
1099
+ "church slavonic": "cu",
1100
+ "chuukese": "chk",
1101
+ "chuvash": "cv",
1102
+ "classical nepal bhasa": "nwc",
1103
+ "classical newari": "nwc",
1104
+ "classical syriac": "syc",
1105
+ "cook islands maori": "rar",
1106
+ "coptic": "cop",
1107
+ "cornish": "kw",
1108
+ "corsican": "co",
1109
+ "cree": "cr",
1110
+ "creek": "mus",
1111
+ "creoles and pidgins": "crp",
1112
+ "creoles and pidgins, english based": "cpe",
1113
+ "creoles and pidgins, french-based": "cpf",
1114
+ "creoles and pidgins, portuguese-based": "cpp",
1115
+ "crimean tatar": "crh",
1116
+ "crimean turkish": "crh",
1117
+ "croatian": "hr",
1118
+ "cushitic languages": "cus",
1119
+ "czech": "cs",
1120
+ "dakota": "dak",
1121
+ "danish": "da",
1122
+ "dargwa": "dar",
1123
+ "delaware": "del",
1124
+ "dene suline": "chp",
1125
+ "dhivehi": "dv",
1126
+ "dimili": "zza",
1127
+ "dimli": "zza",
1128
+ "dinka": "din",
1129
+ "divehi": "dv",
1130
+ "dogri": "doi",
1131
+ "dogrib": "dgr",
1132
+ "dravidian languages": "dra",
1133
+ "duala": "dua",
1134
+ "dutch": "nl",
1135
+ "dutch, middle (ca. 1050-1350)": "dum",
1136
+ "dyula": "dyu",
1137
+ "dzongkha": "dz",
1138
+ "eastern frisian": "frs",
1139
+ "edo": "bin",
1140
+ "efik": "efi",
1141
+ "egyptian (ancient)": "egy",
1142
+ "ekajuk": "eka",
1143
+ "elamite": "elx",
1144
+ "english": "en",
1145
+ "english, middle (1100-1500)": "enm",
1146
+ "english, old (ca. 450-1100)": "ang",
1147
+ "erzya": "myv",
1148
+ "esperanto": "eo",
1149
+ "estonian": "et",
1150
+ "ewe": "ee",
1151
+ "ewondo": "ewo",
1152
+ "fang": "fan",
1153
+ "fanti": "fat",
1154
+ "faroese": "fo",
1155
+ "fijian": "fj",
1156
+ "filipino": "fil",
1157
+ "finnish": "fi",
1158
+ "finno-ugrian languages": "fiu",
1159
+ "flemish": "nl",
1160
+ "fon": "fon",
1161
+ "french": "fr",
1162
+ "french, middle (ca. 1400-1600)": "frm",
1163
+ "french, old (842-ca. 1400)": "fro",
1164
+ "friulian": "fur",
1165
+ "fulah": "ff",
1166
+ "ga": "gaa",
1167
+ "gaelic": "gd",
1168
+ "galibi carib": "car",
1169
+ "galician": "gl",
1170
+ "ganda": "lg",
1171
+ "gayo": "gay",
1172
+ "gbaya": "gba",
1173
+ "geez": "gez",
1174
+ "georgian": "ka",
1175
+ "german": "de",
1176
+ "german, low": "nds",
1177
+ "german, middle high (ca. 1050-1500)": "gmh",
1178
+ "german, old high (ca. 750-1050)": "goh",
1179
+ "germanic languages": "gem",
1180
+ "gikuyu": "ki",
1181
+ "gilbertese": "gil",
1182
+ "gondi": "gon",
1183
+ "gorontalo": "gor",
1184
+ "gothic": "got",
1185
+ "grebo": "grb",
1186
+ "greek, ancient (to 1453)": "grc",
1187
+ "greek, modern (1453-)": "el",
1188
+ "greenlandic": "kl",
1189
+ "guarani": "gn",
1190
+ "gujarati": "gu",
1191
+ "gwich'in": "gwi",
1192
+ "haida": "hai",
1193
+ "haitian": "ht",
1194
+ "haitian creole": "ht",
1195
+ "hausa": "ha",
1196
+ "hawaiian": "haw",
1197
+ "hebrew": "he",
1198
+ "herero": "hz",
1199
+ "hiligaynon": "hil",
1200
+ "himachali languages": "him",
1201
+ "hindi": "hi",
1202
+ "hiri motu": "ho",
1203
+ "hittite": "hit",
1204
+ "hmong": "hmn",
1205
+ "hungarian": "hu",
1206
+ "hupa": "hup",
1207
+ "iban": "iba",
1208
+ "icelandic": "is",
1209
+ "ido": "io",
1210
+ "igbo": "ig",
1211
+ "ijo languages": "ijo",
1212
+ "iloko": "ilo",
1213
+ "imperial aramaic (700-300 bce)": "arc",
1214
+ "inari sami": "smn",
1215
+ "indic languages": "inc",
1216
+ "indo-european languages": "ine",
1217
+ "indonesian": "id",
1218
+ "ingush": "inh",
1219
+ "interlingua (international auxiliary language association)": "ia",
1220
+ "interlingue": "ie",
1221
+ "inuktitut": "iu",
1222
+ "inupiaq": "ik",
1223
+ "iranian languages": "ira",
1224
+ "irish": "ga",
1225
+ "irish, middle (900-1200)": "mga",
1226
+ "irish, old (to 900)": "sga",
1227
+ "iroquoian languages": "iro",
1228
+ "italian": "it",
1229
+ "japanese": "ja",
1230
+ "javanese": "jv",
1231
+ "jingpho": "kac",
1232
+ "judeo-arabic": "jrb",
1233
+ "judeo-persian": "jpr",
1234
+ "kabardian": "kbd",
1235
+ "kabyle": "kab",
1236
+ "kachin": "kac",
1237
+ "kalaallisut": "kl",
1238
+ "kalmyk": "xal",
1239
+ "kamba": "kam",
1240
+ "kannada": "kn",
1241
+ "kanuri": "kr",
1242
+ "kapampangan": "pam",
1243
+ "kara-kalpak": "kaa",
1244
+ "karachay-balkar": "krc",
1245
+ "karelian": "krl",
1246
+ "karen languages": "kar",
1247
+ "kashmiri": "ks",
1248
+ "kashubian": "csb",
1249
+ "kawi": "kaw",
1250
+ "kazakh": "kk",
1251
+ "khasi": "kha",
1252
+ "khoisan languages": "khi",
1253
+ "khotanese": "kho",
1254
+ "kikuyu": "ki",
1255
+ "kimbundu": "kmb",
1256
+ "kinyarwanda": "rw",
1257
+ "kirdki": "zza",
1258
+ "kirghiz": "ky",
1259
+ "kirmanjki": "zza",
1260
+ "klingon": "tlh",
1261
+ "komi": "kv",
1262
+ "kongo": "kg",
1263
+ "konkani": "kok",
1264
+ "korean": "ko",
1265
+ "kosraean": "kos",
1266
+ "kpelle": "kpe",
1267
+ "kru languages": "kro",
1268
+ "kuanyama": "kj",
1269
+ "kumyk": "kum",
1270
+ "kurdish": "ku",
1271
+ "kurukh": "kru",
1272
+ "kutenai": "kut",
1273
+ "kwanyama": "kj",
1274
+ "kyrgyz": "ky",
1275
+ "ladino": "lad",
1276
+ "lahnda": "lah",
1277
+ "lamba": "lam",
1278
+ "land dayak languages": "day",
1279
+ "lao": "lo",
1280
+ "latin": "la",
1281
+ "latvian": "lv",
1282
+ "leonese": "ast",
1283
+ "letzeburgesch": "lb",
1284
+ "lezghian": "lez",
1285
+ "limburgan": "li",
1286
+ "limburger": "li",
1287
+ "limburgish": "li",
1288
+ "lingala": "ln",
1289
+ "lithuanian": "lt",
1290
+ "lojban": "jbo",
1291
+ "low german": "nds",
1292
+ "low saxon": "nds",
1293
+ "lower sorbian": "dsb",
1294
+ "lozi": "loz",
1295
+ "luba-katanga": "lu",
1296
+ "luba-lulua": "lua",
1297
+ "luiseno": "lui",
1298
+ "lule sami": "smj",
1299
+ "lunda": "lun",
1300
+ "luo (kenya and tanzania)": "luo",
1301
+ "lushai": "lus",
1302
+ "luxembourgish": "lb",
1303
+ "macedo-romanian": "rup",
1304
+ "macedonian": "mk",
1305
+ "madurese": "mad",
1306
+ "magahi": "mag",
1307
+ "maithili": "mai",
1308
+ "makasar": "mak",
1309
+ "malagasy": "mg",
1310
+ "malay": "ms",
1311
+ "malayalam": "ml",
1312
+ "maldivian": "dv",
1313
+ "maltese": "mt",
1314
+ "manchu": "mnc",
1315
+ "mandar": "mdr",
1316
+ "mandingo": "man",
1317
+ "manipuri": "mni",
1318
+ "manobo languages": "mno",
1319
+ "manx": "gv",
1320
+ "maori": "mi",
1321
+ "mapuche": "arn",
1322
+ "mapudungun": "arn",
1323
+ "marathi": "mr",
1324
+ "mari": "chm",
1325
+ "marshallese": "mh",
1326
+ "marwari": "mwr",
1327
+ "masai": "mas",
1328
+ "mayan languages": "myn",
1329
+ "mende": "men",
1330
+ "mi'kmaq": "mic",
1331
+ "micmac": "mic",
1332
+ "minangkabau": "min",
1333
+ "mirandese": "mwl",
1334
+ "mohawk": "moh",
1335
+ "moksha": "mdf",
1336
+ "moldavian": "ro",
1337
+ "moldovan": "ro",
1338
+ "mon-khmer languages": "mkh",
1339
+ "mong": "hmn",
1340
+ "mongo": "lol",
1341
+ "mongolian": "mn",
1342
+ "montenegrin": "cnr",
1343
+ "mossi": "mos",
1344
+ "multiple languages": "mul",
1345
+ "munda languages": "mun",
1346
+ "n'ko": "nqo",
1347
+ "nahuatl languages": "nah",
1348
+ "nauru": "na",
1349
+ "navaho": "nv",
1350
+ "navajo": "nv",
1351
+ "ndonga": "ng",
1352
+ "neapolitan": "nap",
1353
+ "nepal bhasa": "new",
1354
+ "nepali": "ne",
1355
+ "newar": "new",
1356
+ "newari": "new",
1357
+ "nias": "nia",
1358
+ "niger-kordofanian languages": "nic",
1359
+ "nilo-saharan languages": "ssa",
1360
+ "niuean": "niu",
1361
+ "no linguistic content": "zxx",
1362
+ "nogai": "nog",
1363
+ "norse, old": "non",
1364
+ "north american indian languages": "nai",
1365
+ "north ndebele": "nd",
1366
+ "northern frisian": "frr",
1367
+ "northern sami": "se",
1368
+ "northern sotho": "nso",
1369
+ "norwegian": "no",
1370
+ "norwegian bokmål": "nb",
1371
+ "norwegian nynorsk": "nn",
1372
+ "not applicable": "zxx",
1373
+ "nubian languages": "nub",
1374
+ "nuosu": "ii",
1375
+ "nyamwezi": "nym",
1376
+ "nyanja": "ny",
1377
+ "nyankole": "nyn",
1378
+ "nyoro": "nyo",
1379
+ "nzima": "nzi",
1380
+ "occidental": "ie",
1381
+ "occitan (post 1500)": "oc",
1382
+ "occitan, old (to 1500)": "pro",
1383
+ "official aramaic (700-300 bce)": "arc",
1384
+ "oirat": "xal",
1385
+ "ojibwa": "oj",
1386
+ "old bulgarian": "cu",
1387
+ "old church slavonic": "cu",
1388
+ "old newari": "nwc",
1389
+ "old slavonic": "cu",
1390
+ "oriya": "or",
1391
+ "oromo": "om",
1392
+ "osage": "osa",
1393
+ "ossetian": "os",
1394
+ "ossetic": "os",
1395
+ "otomian languages": "oto",
1396
+ "pahlavi": "pal",
1397
+ "palauan": "pau",
1398
+ "pali": "pi",
1399
+ "pampanga": "pam",
1400
+ "pangasinan": "pag",
1401
+ "panjabi": "pa",
1402
+ "papiamento": "pap",
1403
+ "papuan languages": "paa",
1404
+ "pashto": "ps",
1405
+ "pedi": "nso",
1406
+ "persian": "fa",
1407
+ "persian, old (ca. 600-400 b.c.)": "peo",
1408
+ "philippine languages": "phi",
1409
+ "phoenician": "phn",
1410
+ "pilipino": "fil",
1411
+ "pohnpeian": "pon",
1412
+ "polish": "pl",
1413
+ "portuguese": "pt",
1414
+ "prakrit languages": "pra",
1415
+ "provençal, old (to 1500)": "pro",
1416
+ "punjabi": "pa",
1417
+ "pushto": "ps",
1418
+ "quechua": "qu",
1419
+ "rajasthani": "raj",
1420
+ "rapanui": "rap",
1421
+ "rarotongan": "rar",
1422
+ "reserved for local use": "qaa-qtz",
1423
+ "romance languages": "roa",
1424
+ "romanian": "ro",
1425
+ "romansh": "rm",
1426
+ "romany": "rom",
1427
+ "rundi": "rn",
1428
+ "russian": "ru",
1429
+ "sakan": "kho",
1430
+ "salishan languages": "sal",
1431
+ "samaritan aramaic": "sam",
1432
+ "sami languages": "smi",
1433
+ "samoan": "sm",
1434
+ "sandawe": "sad",
1435
+ "sango": "sg",
1436
+ "sanskrit": "sa",
1437
+ "santali": "sat",
1438
+ "sardinian": "sc",
1439
+ "sasak": "sas",
1440
+ "saxon, low": "nds",
1441
+ "scots": "sco",
1442
+ "scottish gaelic": "gd",
1443
+ "selkup": "sel",
1444
+ "semitic languages": "sem",
1445
+ "sepedi": "nso",
1446
+ "serbian": "sr",
1447
+ "serer": "srr",
1448
+ "shan": "shn",
1449
+ "shona": "sn",
1450
+ "sichuan yi": "ii",
1451
+ "sicilian": "scn",
1452
+ "sidamo": "sid",
1453
+ "sign languages": "sgn",
1454
+ "siksika": "bla",
1455
+ "sindhi": "sd",
1456
+ "sinhala": "si",
1457
+ "sinhalese": "si",
1458
+ "sino-tibetan languages": "sit",
1459
+ "siouan languages": "sio",
1460
+ "skolt sami": "sms",
1461
+ "slave (athapascan)": "den",
1462
+ "slavic languages": "sla",
1463
+ "slovak": "sk",
1464
+ "slovenian": "sl",
1465
+ "sogdian": "sog",
1466
+ "somali": "so",
1467
+ "songhai languages": "son",
1468
+ "soninke": "snk",
1469
+ "sorbian languages": "wen",
1470
+ "sotho, southern": "st",
1471
+ "south american indian languages": "sai",
1472
+ "south ndebele": "nr",
1473
+ "southern altai": "alt",
1474
+ "southern sami": "sma",
1475
+ "spanish": "es",
1476
+ "sranan tongo": "srn",
1477
+ "standard moroccan tamazight": "zgh",
1478
+ "sukuma": "suk",
1479
+ "sumerian": "sux",
1480
+ "sundanese": "su",
1481
+ "susu": "sus",
1482
+ "swahili": "sw",
1483
+ "swati": "ss",
1484
+ "swedish": "sv",
1485
+ "swiss german": "gsw",
1486
+ "syriac": "syr",
1487
+ "tagalog": "tl",
1488
+ "tahitian": "ty",
1489
+ "tai languages": "tai",
1490
+ "tajik": "tg",
1491
+ "tamashek": "tmh",
1492
+ "tamil": "ta",
1493
+ "tatar": "tt",
1494
+ "telugu": "te",
1495
+ "tereno": "ter",
1496
+ "tetum": "tet",
1497
+ "thai": "th",
1498
+ "tibetan": "bo",
1499
+ "tigre": "tig",
1500
+ "tigrinya": "ti",
1501
+ "timne": "tem",
1502
+ "tiv": "tiv",
1503
+ "tlhingan-hol": "tlh",
1504
+ "tlicho": "dgr",
1505
+ "tlingit": "tli",
1506
+ "tok pisin": "tpi",
1507
+ "tokelau": "tkl",
1508
+ "tonga (nyasa)": "tog",
1509
+ "tonga (tonga islands)": "to",
1510
+ "tsimshian": "tsi",
1511
+ "tsonga": "ts",
1512
+ "tswana": "tn",
1513
+ "tumbuka": "tum",
1514
+ "tupi languages": "tup",
1515
+ "turkish": "tr",
1516
+ "turkish, ottoman (1500-1928)": "ota",
1517
+ "turkmen": "tk",
1518
+ "tuvalu": "tvl",
1519
+ "tuvinian": "tyv",
1520
+ "twi": "tw",
1521
+ "udmurt": "udm",
1522
+ "ugaritic": "uga",
1523
+ "uighur": "ug",
1524
+ "ukrainian": "uk",
1525
+ "umbundu": "umb",
1526
+ "uncoded languages": "mis",
1527
+ "undetermined": "und",
1528
+ "upper sorbian": "hsb",
1529
+ "urdu": "ur",
1530
+ "uyghur": "ug",
1531
+ "uzbek": "uz",
1532
+ "vai": "vai",
1533
+ "valencian": "ca",
1534
+ "venda": "ve",
1535
+ "vietnamese": "vi",
1536
+ "volapük": "vo",
1537
+ "votic": "vot",
1538
+ "wakashan languages": "wak",
1539
+ "walloon": "wa",
1540
+ "waray": "war",
1541
+ "washo": "was",
1542
+ "welsh": "cy",
1543
+ "western frisian": "fy",
1544
+ "western pahari languages": "him",
1545
+ "wolaitta": "wal",
1546
+ "wolaytta": "wal",
1547
+ "wolof": "wo",
1548
+ "xhosa": "xh",
1549
+ "yakut": "sah",
1550
+ "yao": "yao",
1551
+ "yapese": "yap",
1552
+ "yiddish": "yi",
1553
+ "yoruba": "yo",
1554
+ "yupik languages": "ypk",
1555
+ "zande languages": "znd",
1556
+ "zapotec": "zap",
1557
+ "zaza": "zza",
1558
+ "zazaki": "zza",
1559
+ "zenaga": "zen",
1560
+ "zhuang": "za",
1561
+ "zulu": "zu",
1562
+ "zuni": "zun"
1563
+ }
1564
+ }
1565
+ }