Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/core/string/locales.h
9896 views
1
/**************************************************************************/
2
/* locales.h */
3
/**************************************************************************/
4
/* This file is part of: */
5
/* GODOT ENGINE */
6
/* https://godotengine.org */
7
/**************************************************************************/
8
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
9
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
10
/* */
11
/* Permission is hereby granted, free of charge, to any person obtaining */
12
/* a copy of this software and associated documentation files (the */
13
/* "Software"), to deal in the Software without restriction, including */
14
/* without limitation the rights to use, copy, modify, merge, publish, */
15
/* distribute, sublicense, and/or sell copies of the Software, and to */
16
/* permit persons to whom the Software is furnished to do so, subject to */
17
/* the following conditions: */
18
/* */
19
/* The above copyright notice and this permission notice shall be */
20
/* included in all copies or substantial portions of the Software. */
21
/* */
22
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
23
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
24
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
25
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
26
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
27
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
28
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
29
/**************************************************************************/
30
31
#pragma once
32
33
// Windows has some weird locale identifiers which do not honor the ISO 639-1
34
// standardized nomenclature. Whenever those don't conflict with existing ISO
35
// identifiers, we override them.
36
//
37
// Reference:
38
// - https://msdn.microsoft.com/en-us/library/windows/desktop/ms693062(v=vs.85).aspx
39
40
static const char *locale_renames[][2] = {
41
{ "in", "id" }, // Indonesian
42
{ "iw", "he" }, // Hebrew
43
{ "no", "nb" }, // Norwegian Bokmål
44
{ "C", "en" }, // Locale is not set, fallback to English.
45
{ nullptr, nullptr }
46
};
47
48
// Additional script information to preferred scripts.
49
// Language code, script code, default country, supported countries.
50
// Reference:
51
// - https://lh.2xlibre.net/locales/
52
// - https://www.localeplanet.com/icu/index.html
53
// - https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f
54
55
static const char *locale_scripts[][4] = {
56
{ "az", "Latn", "", "AZ" },
57
{ "az", "Arab", "", "IR" },
58
{ "bs", "Latn", "", "BA" },
59
{ "ff", "Latn", "", "BF,CM,GH,GM,GN,GW,LR,MR,NE,NG,SL,SN" },
60
{ "pa", "Arab", "PK", "PK" },
61
{ "pa", "Guru", "IN", "IN" },
62
{ "sd", "Arab", "PK", "PK" },
63
{ "sd", "Deva", "IN", "IN" },
64
{ "shi", "Tfng", "", "MA" },
65
{ "sr", "Cyrl", "", "BA,RS,XK" },
66
{ "sr", "Latn", "", "ME" },
67
{ "uz", "Latn", "", "UZ" },
68
{ "uz", "Arab", "AF", "AF" },
69
{ "vai", "Vaii", "", "LR" },
70
{ "yue", "Hans", "CN", "CN" },
71
{ "yue", "Hant", "HK", "HK" },
72
{ "zh", "Hans", "CN", "CN,SG" },
73
{ "zh", "Hant", "TW", "HK,MO,TW" },
74
{ nullptr, nullptr, nullptr, nullptr }
75
};
76
77
// Additional mapping for outdated, temporary or exceptionally reserved country codes.
78
// Reference:
79
// - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
80
// - https://www.iso.org/obp/ui/#search/code/
81
82
static const char *country_renames[][2] = {
83
{ "BU", "MM" }, // Burma, name changed to Myanmar.
84
{ "KV", "XK" }, // Kosovo (temporary FIPS code to European Commission code), no official ISO code assigned.
85
{ "TP", "TL" }, // East Timor, name changed to Timor-Leste.
86
{ "UK", "GB" }, // United Kingdom, exceptionally reserved code.
87
{ nullptr, nullptr }
88
};
89
90
// Country code, country name.
91
// Reference:
92
// - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
93
// - https://www.iso.org/obp/ui/#search/code/
94
95
static const char *country_names[][2] = {
96
{ "AC", "Ascension Island" }, // Exceptionally reserved.
97
{ "AD", "Andorra" },
98
{ "AE", "United Arab Emirates" },
99
{ "AF", "Afghanistan" },
100
{ "AG", "Antigua and Barbuda" },
101
{ "AI", "Anguilla" },
102
{ "AL", "Albania" },
103
{ "AM", "Armenia" },
104
{ "AN", "Netherlands Antilles" }, // Transitionally reserved, divided into BQ, CW and SX.
105
{ "AO", "Angola" },
106
{ "AQ", "Antarctica" },
107
{ "AR", "Argentina" },
108
{ "AS", "American Samoa" },
109
{ "AT", "Austria" },
110
{ "AU", "Australia" },
111
{ "AW", "Aruba" },
112
{ "AX", "Åland Islands" },
113
{ "AZ", "Azerbaijan" },
114
{ "BA", "Bosnia and Herzegovina" },
115
{ "BB", "Barbados" },
116
{ "BD", "Bangladesh" },
117
{ "BE", "Belgium" },
118
{ "BF", "Burkina Faso" },
119
{ "BG", "Bulgaria" },
120
{ "BH", "Bahrain" },
121
{ "BI", "Burundi" },
122
{ "BJ", "Benin" },
123
{ "BL", "St. Barthélemy" },
124
{ "BM", "Bermuda" },
125
{ "BN", "Brunei" },
126
{ "BO", "Bolivia" },
127
{ "BQ", "Caribbean Netherlands" },
128
{ "BR", "Brazil" },
129
{ "BS", "Bahamas" },
130
{ "BT", "Bhutan" },
131
{ "BV", "Bouvet Island" },
132
{ "BW", "Botswana" },
133
{ "BY", "Belarus" },
134
{ "BZ", "Belize" },
135
{ "CA", "Canada" },
136
{ "CC", "Cocos (Keeling) Islands" },
137
{ "CD", "Congo - Kinshasa" },
138
{ "CF", "Central African Republic" },
139
{ "CG", "Congo - Brazzaville" },
140
{ "CH", "Switzerland" },
141
{ "CI", "Côte d'Ivoire" },
142
{ "CK", "Cook Islands" },
143
{ "CL", "Chile" },
144
{ "CM", "Cameroon" },
145
{ "CN", "China" },
146
{ "CO", "Colombia" },
147
{ "CP", "Clipperton Island" }, // Exceptionally reserved.
148
{ "CR", "Costa Rica" },
149
{ "CQ", "Island of Sark" }, // Exceptionally reserved.
150
{ "CU", "Cuba" },
151
{ "CV", "Cabo Verde" },
152
{ "CW", "Curaçao" },
153
{ "CX", "Christmas Island" },
154
{ "CY", "Cyprus" },
155
{ "CZ", "Czechia" },
156
{ "DE", "Germany" },
157
{ "DG", "Diego Garcia" }, // Exceptionally reserved.
158
{ "DJ", "Djibouti" },
159
{ "DK", "Denmark" },
160
{ "DM", "Dominica" },
161
{ "DO", "Dominican Republic" },
162
{ "DZ", "Algeria" },
163
{ "EA", "Ceuta and Melilla" }, // Exceptionally reserved.
164
{ "EC", "Ecuador" },
165
{ "EE", "Estonia" },
166
{ "EG", "Egypt" },
167
{ "EH", "Western Sahara" },
168
{ "ER", "Eritrea" },
169
{ "ES", "Spain" },
170
{ "ET", "Ethiopia" },
171
{ "EU", "European Union" }, // Exceptionally reserved.
172
{ "EZ", "Eurozone" }, // Exceptionally reserved.
173
{ "FI", "Finland" },
174
{ "FJ", "Fiji" },
175
{ "FK", "Falkland Islands" },
176
{ "FM", "Micronesia" },
177
{ "FO", "Faroe Islands" },
178
{ "FR", "France" },
179
{ "FX", "France, Metropolitan" }, // Exceptionally reserved.
180
{ "GA", "Gabon" },
181
{ "GB", "United Kingdom" },
182
{ "GD", "Grenada" },
183
{ "GE", "Georgia" },
184
{ "GF", "French Guiana" },
185
{ "GG", "Guernsey" },
186
{ "GH", "Ghana" },
187
{ "GI", "Gibraltar" },
188
{ "GL", "Greenland" },
189
{ "GM", "Gambia" },
190
{ "GN", "Guinea" },
191
{ "GP", "Guadeloupe" },
192
{ "GQ", "Equatorial Guinea" },
193
{ "GR", "Greece" },
194
{ "GS", "South Georgia and South Sandwich Islands" },
195
{ "GT", "Guatemala" },
196
{ "GU", "Guam" },
197
{ "GW", "Guinea-Bissau" },
198
{ "GY", "Guyana" },
199
{ "HK", "Hong Kong" },
200
{ "HM", "Heard Island and McDonald Islands" },
201
{ "HN", "Honduras" },
202
{ "HR", "Croatia" },
203
{ "HT", "Haiti" },
204
{ "HU", "Hungary" },
205
{ "IC", "Canary Islands" }, // Exceptionally reserved.
206
{ "ID", "Indonesia" },
207
{ "IE", "Ireland" },
208
{ "IL", "Israel" },
209
{ "IM", "Isle of Man" },
210
{ "IN", "India" },
211
{ "IO", "British Indian Ocean Territory" },
212
{ "IQ", "Iraq" },
213
{ "IR", "Iran" },
214
{ "IS", "Iceland" },
215
{ "IT", "Italy" },
216
{ "JE", "Jersey" },
217
{ "JM", "Jamaica" },
218
{ "JO", "Jordan" },
219
{ "JP", "Japan" },
220
{ "KE", "Kenya" },
221
{ "KG", "Kyrgyzstan" },
222
{ "KH", "Cambodia" },
223
{ "KI", "Kiribati" },
224
{ "KM", "Comoros" },
225
{ "KN", "St. Kitts and Nevis" },
226
{ "KP", "North Korea" },
227
{ "KR", "South Korea" },
228
{ "KW", "Kuwait" },
229
{ "KY", "Cayman Islands" },
230
{ "KZ", "Kazakhstan" },
231
{ "LA", "Laos" },
232
{ "LB", "Lebanon" },
233
{ "LC", "St. Lucia" },
234
{ "LI", "Liechtenstein" },
235
{ "LK", "Sri Lanka" },
236
{ "LR", "Liberia" },
237
{ "LS", "Lesotho" },
238
{ "LT", "Lithuania" },
239
{ "LU", "Luxembourg" },
240
{ "LV", "Latvia" },
241
{ "LY", "Libya" },
242
{ "MA", "Morocco" },
243
{ "MC", "Monaco" },
244
{ "MD", "Moldova" },
245
{ "ME", "Montenegro" },
246
{ "MF", "St. Martin" },
247
{ "MG", "Madagascar" },
248
{ "MH", "Marshall Islands" },
249
{ "MK", "North Macedonia" },
250
{ "ML", "Mali" },
251
{ "MM", "Myanmar" },
252
{ "MN", "Mongolia" },
253
{ "MO", "Macao" },
254
{ "MP", "Northern Mariana Islands" },
255
{ "MQ", "Martinique" },
256
{ "MR", "Mauritania" },
257
{ "MS", "Montserrat" },
258
{ "MT", "Malta" },
259
{ "MU", "Mauritius" },
260
{ "MV", "Maldives" },
261
{ "MW", "Malawi" },
262
{ "MX", "Mexico" },
263
{ "MY", "Malaysia" },
264
{ "MZ", "Mozambique" },
265
{ "NA", "Namibia" },
266
{ "NC", "New Caledonia" },
267
{ "NE", "Niger" },
268
{ "NF", "Norfolk Island" },
269
{ "NG", "Nigeria" },
270
{ "NI", "Nicaragua" },
271
{ "NL", "Netherlands" },
272
{ "NO", "Norway" },
273
{ "NP", "Nepal" },
274
{ "NR", "Nauru" },
275
{ "NU", "Niue" },
276
{ "NZ", "New Zealand" },
277
{ "OM", "Oman" },
278
{ "PA", "Panama" },
279
{ "PE", "Peru" },
280
{ "PF", "French Polynesia" },
281
{ "PG", "Papua New Guinea" },
282
{ "PH", "Philippines" },
283
{ "PK", "Pakistan" },
284
{ "PL", "Poland" },
285
{ "PM", "St. Pierre and Miquelon" },
286
{ "PN", "Pitcairn Islands" },
287
{ "PR", "Puerto Rico" },
288
{ "PS", "Palestine" },
289
{ "PT", "Portugal" },
290
{ "PW", "Palau" },
291
{ "PY", "Paraguay" },
292
{ "QA", "Qatar" },
293
{ "RE", "Réunion" },
294
{ "RO", "Romania" },
295
{ "RS", "Serbia" },
296
{ "RU", "Russia" },
297
{ "RW", "Rwanda" },
298
{ "SA", "Saudi Arabia" },
299
{ "SB", "Solomon Islands" },
300
{ "SC", "Seychelles" },
301
{ "SD", "Sudan" },
302
{ "SE", "Sweden" },
303
{ "SG", "Singapore" },
304
{ "SH", "St. Helena, Ascension and Tristan da Cunha" },
305
{ "SI", "Slovenia" },
306
{ "SJ", "Svalbard and Jan Mayen" },
307
{ "SK", "Slovakia" },
308
{ "SL", "Sierra Leone" },
309
{ "SM", "San Marino" },
310
{ "SN", "Senegal" },
311
{ "SO", "Somalia" },
312
{ "SR", "Suriname" },
313
{ "SS", "South Sudan" },
314
{ "ST", "Sao Tome and Principe" },
315
{ "SV", "El Salvador" },
316
{ "SX", "Sint Maarten" },
317
{ "SY", "Syria" },
318
{ "SZ", "Eswatini" },
319
{ "TA", "Tristan da Cunha" }, // Exceptionally reserved.
320
{ "TC", "Turks and Caicos Islands" },
321
{ "TD", "Chad" },
322
{ "TF", "French Southern Territories" },
323
{ "TG", "Togo" },
324
{ "TH", "Thailand" },
325
{ "TJ", "Tajikistan" },
326
{ "TK", "Tokelau" },
327
{ "TL", "Timor-Leste" },
328
{ "TM", "Turkmenistan" },
329
{ "TN", "Tunisia" },
330
{ "TO", "Tonga" },
331
{ "TR", "Turkey" },
332
{ "TT", "Trinidad and Tobago" },
333
{ "TV", "Tuvalu" },
334
{ "TW", "Taiwan" },
335
{ "TZ", "Tanzania" },
336
{ "UA", "Ukraine" },
337
{ "UG", "Uganda" },
338
{ "UM", "U.S. Outlying Islands" },
339
{ "US", "United States of America" },
340
{ "UY", "Uruguay" },
341
{ "UZ", "Uzbekistan" },
342
{ "VA", "Holy See" },
343
{ "VC", "St. Vincent and the Grenadines" },
344
{ "VE", "Venezuela" },
345
{ "VG", "British Virgin Islands" },
346
{ "VI", "U.S. Virgin Islands" },
347
{ "VN", "Viet Nam" },
348
{ "VU", "Vanuatu" },
349
{ "WF", "Wallis and Futuna" },
350
{ "WS", "Samoa" },
351
{ "XK", "Kosovo" }, // Temporary code, no official ISO code assigned.
352
{ "YE", "Yemen" },
353
{ "YT", "Mayotte" },
354
{ "ZA", "South Africa" },
355
{ "ZM", "Zambia" },
356
{ "ZW", "Zimbabwe" },
357
{ nullptr, nullptr }
358
};
359
360
// Languages code, language name.
361
// Reference:
362
// - https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
363
// - https://www.localeplanet.com/icu/index.html
364
// - https://lh.2xlibre.net/locales/
365
366
static const char *language_list[][2] = {
367
{ "aa", "Afar" },
368
{ "ab", "Abkhazian" },
369
{ "ace", "Achinese" },
370
{ "ach", "Acoli" },
371
{ "ada", "Adangme" },
372
{ "ady", "Adyghe" },
373
{ "ae", "Avestan" },
374
{ "aeb", "Tunisian Arabic" },
375
{ "af", "Afrikaans" },
376
{ "afh", "Afrihili" },
377
{ "agq", "Aghem" },
378
{ "ain", "Ainu" },
379
{ "agr", "Aguaruna" },
380
{ "ak", "Akan" },
381
{ "akk", "Akkadian" },
382
{ "akz", "Alabama" },
383
{ "ale", "Aleut" },
384
{ "aln", "Gheg Albanian" },
385
{ "alt", "Southern Altai" },
386
{ "am", "Amharic" },
387
{ "an", "Aragonese" },
388
{ "ang", "Old English" },
389
{ "anp", "Angika" },
390
{ "ar", "Arabic" },
391
{ "arc", "Aramaic" },
392
{ "arn", "Mapudungun" },
393
{ "aro", "Araona" },
394
{ "arp", "Arapaho" },
395
{ "arq", "Algerian Arabic" },
396
{ "ars", "Najdi Arabic" },
397
{ "arw", "Arawak" },
398
{ "ary", "Moroccan Arabic" },
399
{ "arz", "Egyptian Arabic" },
400
{ "as", "Assamese" },
401
{ "asa", "Asu" },
402
{ "ase", "American Sign Language" },
403
{ "ast", "Asturian" },
404
{ "av", "Avaric" },
405
{ "avk", "Kotava" },
406
{ "awa", "Awadhi" },
407
{ "ayc", "Southern Aymara" },
408
{ "ay", "Aymara" },
409
{ "az", "Azerbaijani" },
410
{ "ba", "Bashkir" },
411
{ "bal", "Baluchi" },
412
{ "ban", "Balinese" },
413
{ "bar", "Bavarian" },
414
{ "bas", "Bassa" },
415
{ "bax", "Bamun" },
416
{ "bbc", "Batak Toba" },
417
{ "bbj", "Ghomala" },
418
{ "be", "Belarusian" },
419
{ "bej", "Beja" },
420
{ "bem", "Bemba" },
421
{ "ber", "Berber" },
422
{ "bew", "Betawi" },
423
{ "bez", "Bena" },
424
{ "bfd", "Bafut" },
425
{ "bfq", "Badaga" },
426
{ "bg", "Bulgarian" },
427
{ "bhb", "Bhili" },
428
{ "bgn", "Western Balochi" },
429
{ "bho", "Bhojpuri" },
430
{ "bi", "Bislama" },
431
{ "bik", "Bikol" },
432
{ "bin", "Bini" },
433
{ "bjn", "Banjar" },
434
{ "bkm", "Kom" },
435
{ "bla", "Siksika" },
436
{ "bm", "Bambara" },
437
{ "bn", "Bengali" },
438
{ "bo", "Tibetan" },
439
{ "bpy", "Bishnupriya" },
440
{ "bqi", "Bakhtiari" },
441
{ "br", "Breton" },
442
{ "brh", "Brahui" },
443
{ "brx", "Bodo" },
444
{ "bs", "Bosnian" },
445
{ "bss", "Akoose" },
446
{ "bua", "Buriat" },
447
{ "bug", "Buginese" },
448
{ "bum", "Bulu" },
449
{ "byn", "Bilin" },
450
{ "byv", "Medumba" },
451
{ "ca", "Catalan" },
452
{ "cad", "Caddo" },
453
{ "car", "Carib" },
454
{ "cay", "Cayuga" },
455
{ "cch", "Atsam" },
456
{ "ccp", "Chakma" },
457
{ "ce", "Chechen" },
458
{ "ceb", "Cebuano" },
459
{ "cgg", "Chiga" },
460
{ "ch", "Chamorro" },
461
{ "chb", "Chibcha" },
462
{ "chg", "Chagatai" },
463
{ "chk", "Chuukese" },
464
{ "chm", "Mari" },
465
{ "chn", "Chinook Jargon" },
466
{ "cho", "Choctaw" },
467
{ "chp", "Chipewyan" },
468
{ "chr", "Cherokee" },
469
{ "chy", "Cheyenne" },
470
{ "cic", "Chickasaw" },
471
{ "ckb", "Central Kurdish" },
472
{ "csb", "Kashubian" },
473
{ "cmn", "Mandarin Chinese" },
474
{ "co", "Corsican" },
475
{ "cop", "Coptic" },
476
{ "cps", "Capiznon" },
477
{ "cr", "Cree" },
478
{ "crh", "Crimean Tatar" },
479
{ "crs", "Seselwa Creole French" },
480
{ "cs", "Czech" },
481
{ "csb", "Kashubian" },
482
{ "cu", "Church Slavic" },
483
{ "cv", "Chuvash" },
484
{ "cy", "Welsh" },
485
{ "da", "Danish" },
486
{ "dak", "Dakota" },
487
{ "dar", "Dargwa" },
488
{ "dav", "Taita" },
489
{ "de", "German" },
490
{ "del", "Delaware" },
491
{ "den", "Slave" },
492
{ "dgr", "Dogrib" },
493
{ "din", "Dinka" },
494
{ "dje", "Zarma" },
495
{ "doi", "Dogri" },
496
{ "dsb", "Lower Sorbian" },
497
{ "dtp", "Central Dusun" },
498
{ "dua", "Duala" },
499
{ "dum", "Middle Dutch" },
500
{ "dv", "Dhivehi" },
501
{ "dyo", "Jola-Fonyi" },
502
{ "dyu", "Dyula" },
503
{ "dz", "Dzongkha" },
504
{ "dzg", "Dazaga" },
505
{ "ebu", "Embu" },
506
{ "ee", "Ewe" },
507
{ "efi", "Efik" },
508
{ "egl", "Emilian" },
509
{ "egy", "Ancient Egyptian" },
510
{ "eka", "Ekajuk" },
511
{ "el", "Greek" },
512
{ "elx", "Elamite" },
513
{ "en", "English" },
514
{ "enm", "Middle English" },
515
{ "eo", "Esperanto" },
516
{ "es", "Spanish" },
517
{ "esu", "Central Yupik" },
518
{ "et", "Estonian" },
519
{ "eu", "Basque" },
520
{ "ewo", "Ewondo" },
521
{ "ext", "Extremaduran" },
522
{ "fa", "Persian" },
523
{ "fan", "Fang" },
524
{ "fat", "Fanti" },
525
{ "ff", "Fulah" },
526
{ "fi", "Finnish" },
527
{ "fil", "Filipino" },
528
{ "fit", "Tornedalen Finnish" },
529
{ "fj", "Fijian" },
530
{ "fo", "Faroese" },
531
{ "fon", "Fon" },
532
{ "fr", "French" },
533
{ "frc", "Cajun French" },
534
{ "frm", "Middle French" },
535
{ "fro", "Old French" },
536
{ "frp", "Arpitan" },
537
{ "frr", "Northern Frisian" },
538
{ "frs", "Eastern Frisian" },
539
{ "fur", "Friulian" },
540
{ "fy", "Western Frisian" },
541
{ "ga", "Irish" },
542
{ "gaa", "Ga" },
543
{ "gag", "Gagauz" },
544
{ "gan", "Gan Chinese" },
545
{ "gay", "Gayo" },
546
{ "gba", "Gbaya" },
547
{ "gbz", "Zoroastrian Dari" },
548
{ "gd", "Scottish Gaelic" },
549
{ "gez", "Geez" },
550
{ "gil", "Gilbertese" },
551
{ "gl", "Galician" },
552
{ "glk", "Gilaki" },
553
{ "gmh", "Middle High German" },
554
{ "gn", "Guarani" },
555
{ "goh", "Old High German" },
556
{ "gom", "Goan Konkani" },
557
{ "gon", "Gondi" },
558
{ "gor", "Gorontalo" },
559
{ "got", "Gothic" },
560
{ "grb", "Grebo" },
561
{ "grc", "Ancient Greek" },
562
{ "gsw", "Swiss German" },
563
{ "gu", "Gujarati" },
564
{ "guc", "Wayuu" },
565
{ "gur", "Frafra" },
566
{ "guz", "Gusii" },
567
{ "gv", "Manx" },
568
{ "gwi", "Gwichʼin" },
569
{ "ha", "Hausa" },
570
{ "hai", "Haida" },
571
{ "hak", "Hakka Chinese" },
572
{ "haw", "Hawaiian" },
573
{ "he", "Hebrew" },
574
{ "hi", "Hindi" },
575
{ "hif", "Fiji Hindi" },
576
{ "hil", "Hiligaynon" },
577
{ "hit", "Hittite" },
578
{ "hmn", "Hmong" },
579
{ "ho", "Hiri Motu" },
580
{ "hne", "Chhattisgarhi" },
581
{ "hr", "Croatian" },
582
{ "hsb", "Upper Sorbian" },
583
{ "hsn", "Xiang Chinese" },
584
{ "ht", "Haitian" },
585
{ "hu", "Hungarian" },
586
{ "hup", "Hupa" },
587
{ "hus", "Huastec" },
588
{ "hy", "Armenian" },
589
{ "hz", "Herero" },
590
{ "ia", "Interlingua" },
591
{ "iba", "Iban" },
592
{ "ibb", "Ibibio" },
593
{ "id", "Indonesian" },
594
{ "ie", "Interlingue" },
595
{ "ig", "Igbo" },
596
{ "ii", "Sichuan Yi" },
597
{ "ik", "Inupiaq" },
598
{ "ilo", "Iloko" },
599
{ "inh", "Ingush" },
600
{ "io", "Ido" },
601
{ "is", "Icelandic" },
602
{ "it", "Italian" },
603
{ "iu", "Inuktitut" },
604
{ "izh", "Ingrian" },
605
{ "ja", "Japanese" },
606
{ "jam", "Jamaican Creole English" },
607
{ "jbo", "Lojban" },
608
{ "jgo", "Ngomba" },
609
{ "jmc", "Machame" },
610
{ "jpr", "Judeo-Persian" },
611
{ "jrb", "Judeo-Arabic" },
612
{ "jut", "Jutish" },
613
{ "jv", "Javanese" },
614
{ "ka", "Georgian" },
615
{ "kaa", "Kara-Kalpak" },
616
{ "kab", "Kabyle" },
617
{ "kac", "Kachin" },
618
{ "kaj", "Jju" },
619
{ "kam", "Kamba" },
620
{ "kaw", "Kawi" },
621
{ "kbd", "Kabardian" },
622
{ "kbl", "Kanembu" },
623
{ "kcg", "Tyap" },
624
{ "kde", "Makonde" },
625
{ "kea", "Kabuverdianu" },
626
{ "ken", "Kenyang" },
627
{ "kfo", "Koro" },
628
{ "kg", "Kongo" },
629
{ "kgp", "Kaingang" },
630
{ "kha", "Khasi" },
631
{ "kho", "Khotanese" },
632
{ "khq", "Koyra Chiini" },
633
{ "khw", "Khowar" },
634
{ "ki", "Kikuyu" },
635
{ "kiu", "Kirmanjki" },
636
{ "kj", "Kuanyama" },
637
{ "kk", "Kazakh" },
638
{ "kkj", "Kako" },
639
{ "kl", "Kalaallisut" },
640
{ "kln", "Kalenjin" },
641
{ "km", "Central Khmer" },
642
{ "kmb", "Kimbundu" },
643
{ "kn", "Kannada" },
644
{ "ko", "Korean" },
645
{ "koi", "Komi-Permyak" },
646
{ "kok", "Konkani" },
647
{ "kos", "Kosraean" },
648
{ "kpe", "Kpelle" },
649
{ "kr", "Kanuri" },
650
{ "krc", "Karachay-Balkar" },
651
{ "kri", "Krio" },
652
{ "krj", "Kinaray-a" },
653
{ "krl", "Karelian" },
654
{ "kru", "Kurukh" },
655
{ "ks", "Kashmiri" },
656
{ "ksb", "Shambala" },
657
{ "ksf", "Bafia" },
658
{ "ksh", "Colognian" },
659
{ "ku", "Kurdish" },
660
{ "kum", "Kumyk" },
661
{ "kut", "Kutenai" },
662
{ "kv", "Komi" },
663
{ "kw", "Cornish" },
664
{ "ky", "Kirghiz" },
665
{ "lag", "Langi" },
666
{ "la", "Latin" },
667
{ "lad", "Ladino" },
668
{ "lag", "Langi" },
669
{ "lah", "Lahnda" },
670
{ "lam", "Lamba" },
671
{ "lb", "Luxembourgish" },
672
{ "lez", "Lezghian" },
673
{ "lfn", "Lingua Franca Nova" },
674
{ "lg", "Ganda" },
675
{ "li", "Limburgan" },
676
{ "lij", "Ligurian" },
677
{ "liv", "Livonian" },
678
{ "lkt", "Lakota" },
679
{ "lmo", "Lombard" },
680
{ "ln", "Lingala" },
681
{ "lo", "Lao" },
682
{ "lol", "Mongo" },
683
{ "lou", "Louisiana Creole" },
684
{ "loz", "Lozi" },
685
{ "lrc", "Northern Luri" },
686
{ "lt", "Lithuanian" },
687
{ "ltg", "Latgalian" },
688
{ "lu", "Luba-Katanga" },
689
{ "lua", "Luba-Lulua" },
690
{ "lui", "Luiseno" },
691
{ "lun", "Lunda" },
692
{ "luo", "Luo" },
693
{ "lus", "Mizo" },
694
{ "luy", "Luyia" },
695
{ "lv", "Latvian" },
696
{ "lzh", "Literary Chinese" },
697
{ "lzz", "Laz" },
698
{ "mad", "Madurese" },
699
{ "maf", "Mafa" },
700
{ "mag", "Magahi" },
701
{ "mai", "Maithili" },
702
{ "mak", "Makasar" },
703
{ "man", "Mandingo" },
704
{ "mas", "Masai" },
705
{ "mde", "Maba" },
706
{ "mdf", "Moksha" },
707
{ "mdr", "Mandar" },
708
{ "men", "Mende" },
709
{ "mer", "Meru" },
710
{ "mfe", "Morisyen" },
711
{ "mg", "Malagasy" },
712
{ "mga", "Middle Irish" },
713
{ "mgh", "Makhuwa-Meetto" },
714
{ "mgo", "Metaʼ" },
715
{ "mh", "Marshallese" },
716
{ "mhr", "Eastern Mari" },
717
{ "mi", "Māori" },
718
{ "mic", "Mi'kmaq" },
719
{ "min", "Minangkabau" },
720
{ "miq", "Mískito" },
721
{ "mjw", "Karbi" },
722
{ "mk", "Macedonian" },
723
{ "ml", "Malayalam" },
724
{ "mn", "Mongolian" },
725
{ "mnc", "Manchu" },
726
{ "mni", "Manipuri" },
727
{ "mnw", "Mon" },
728
{ "mos", "Mossi" },
729
{ "moh", "Mohawk" },
730
{ "mr", "Marathi" },
731
{ "mrj", "Western Mari" },
732
{ "ms", "Malay" },
733
{ "mt", "Maltese" },
734
{ "mua", "Mundang" },
735
{ "mus", "Muscogee" },
736
{ "mwl", "Mirandese" },
737
{ "mwr", "Marwari" },
738
{ "mwv", "Mentawai" },
739
{ "my", "Burmese" },
740
{ "mye", "Myene" },
741
{ "myv", "Erzya" },
742
{ "mzn", "Mazanderani" },
743
{ "na", "Nauru" },
744
{ "nah", "Nahuatl" },
745
{ "nan", "Min Nan Chinese" },
746
{ "nap", "Neapolitan" },
747
{ "naq", "Nama" },
748
{ "nan", "Min Nan Chinese" },
749
{ "nb", "Norwegian Bokmål" },
750
{ "nd", "North Ndebele" },
751
{ "nds", "Low German" },
752
{ "ne", "Nepali" },
753
{ "new", "Newari" },
754
{ "nhn", "Central Nahuatl" },
755
{ "ng", "Ndonga" },
756
{ "nia", "Nias" },
757
{ "niu", "Niuean" },
758
{ "njo", "Ao Naga" },
759
{ "nl", "Dutch" },
760
{ "nmg", "Kwasio" },
761
{ "nn", "Norwegian Nynorsk" },
762
{ "nnh", "Ngiemboon" },
763
{ "nog", "Nogai" },
764
{ "non", "Old Norse" },
765
{ "nov", "Novial" },
766
{ "nqo", "N'ko" },
767
{ "nr", "South Ndebele" },
768
{ "nso", "Pedi" },
769
{ "nus", "Nuer" },
770
{ "nv", "Navajo" },
771
{ "nwc", "Classical Newari" },
772
{ "ny", "Nyanja" },
773
{ "nym", "Nyamwezi" },
774
{ "nyn", "Nyankole" },
775
{ "nyo", "Nyoro" },
776
{ "nzi", "Nzima" },
777
{ "oc", "Occitan" },
778
{ "oj", "Ojibwa" },
779
{ "om", "Oromo" },
780
{ "or", "Odia" },
781
{ "os", "Ossetic" },
782
{ "osa", "Osage" },
783
{ "ota", "Ottoman Turkish" },
784
{ "pa", "Panjabi" },
785
{ "pag", "Pangasinan" },
786
{ "pal", "Pahlavi" },
787
{ "pam", "Pampanga" },
788
{ "pap", "Papiamento" },
789
{ "pau", "Palauan" },
790
{ "pcd", "Picard" },
791
{ "pcm", "Nigerian Pidgin" },
792
{ "pdc", "Pennsylvania German" },
793
{ "pdt", "Plautdietsch" },
794
{ "peo", "Old Persian" },
795
{ "pfl", "Palatine German" },
796
{ "phn", "Phoenician" },
797
{ "pi", "Pali" },
798
{ "pl", "Polish" },
799
{ "pms", "Piedmontese" },
800
{ "pnt", "Pontic" },
801
{ "pon", "Pohnpeian" },
802
{ "pr", "Pirate" },
803
{ "prg", "Prussian" },
804
{ "pro", "Old Provençal" },
805
{ "prs", "Dari" },
806
{ "ps", "Pushto" },
807
{ "pt", "Portuguese" },
808
{ "qu", "Quechua" },
809
{ "quc", "K'iche" },
810
{ "qug", "Chimborazo Highland Quichua" },
811
{ "quy", "Ayacucho Quechua" },
812
{ "quz", "Cusco Quechua" },
813
{ "raj", "Rajasthani" },
814
{ "rap", "Rapanui" },
815
{ "rar", "Rarotongan" },
816
{ "rgn", "Romagnol" },
817
{ "rif", "Riffian" },
818
{ "rm", "Romansh" },
819
{ "rn", "Rundi" },
820
{ "ro", "Romanian" },
821
{ "rof", "Rombo" },
822
{ "rom", "Romany" },
823
{ "rtm", "Rotuman" },
824
{ "ru", "Russian" },
825
{ "rue", "Rusyn" },
826
{ "rug", "Roviana" },
827
{ "rup", "Aromanian" },
828
{ "rw", "Kinyarwanda" },
829
{ "rwk", "Rwa" },
830
{ "sa", "Sanskrit" },
831
{ "sad", "Sandawe" },
832
{ "sah", "Sakha" },
833
{ "sam", "Samaritan Aramaic" },
834
{ "saq", "Samburu" },
835
{ "sas", "Sasak" },
836
{ "sat", "Santali" },
837
{ "saz", "Saurashtra" },
838
{ "sba", "Ngambay" },
839
{ "sbp", "Sangu" },
840
{ "sc", "Sardinian" },
841
{ "scn", "Sicilian" },
842
{ "sco", "Scots" },
843
{ "sd", "Sindhi" },
844
{ "sdc", "Sassarese Sardinian" },
845
{ "sdh", "Southern Kurdish" },
846
{ "se", "Northern Sami" },
847
{ "see", "Seneca" },
848
{ "seh", "Sena" },
849
{ "sei", "Seri" },
850
{ "sel", "Selkup" },
851
{ "ses", "Koyraboro Senni" },
852
{ "sg", "Sango" },
853
{ "sga", "Old Irish" },
854
{ "sgs", "Samogitian" },
855
{ "sh", "Serbo-Croatian" },
856
{ "shi", "Tachelhit" },
857
{ "shn", "Shan" },
858
{ "shs", "Shuswap" },
859
{ "shu", "Chadian Arabic" },
860
{ "si", "Sinhala" },
861
{ "sid", "Sidamo" },
862
{ "sk", "Slovak" },
863
{ "sl", "Slovenian" },
864
{ "sli", "Lower Silesian" },
865
{ "sly", "Selayar" },
866
{ "sm", "Samoan" },
867
{ "sma", "Southern Sami" },
868
{ "smj", "Lule Sami" },
869
{ "smn", "Inari Sami" },
870
{ "sms", "Skolt Sami" },
871
{ "sn", "Shona" },
872
{ "snk", "Soninke" },
873
{ "so", "Somali" },
874
{ "sog", "Sogdien" },
875
{ "son", "Songhai" },
876
{ "sq", "Albanian" },
877
{ "sr", "Serbian" },
878
{ "srn", "Sranan Tongo" },
879
{ "srr", "Serer" },
880
{ "ss", "Swati" },
881
{ "ssy", "Saho" },
882
{ "st", "Southern Sotho" },
883
{ "stq", "Saterland Frisian" },
884
{ "su", "Sundanese" },
885
{ "suk", "Sukuma" },
886
{ "sus", "Susu" },
887
{ "sux", "Sumerian" },
888
{ "sv", "Swedish" },
889
{ "sw", "Swahili" },
890
{ "swb", "Comorian" },
891
{ "swc", "Congo Swahili" },
892
{ "syc", "Classical Syriac" },
893
{ "syr", "Syriac" },
894
{ "szl", "Silesian" },
895
{ "ta", "Tamil" },
896
{ "tcy", "Tulu" },
897
{ "te", "Telugu" },
898
{ "tem", "Timne" },
899
{ "teo", "Teso" },
900
{ "ter", "Tereno" },
901
{ "tet", "Tetum" },
902
{ "tg", "Tajik" },
903
{ "th", "Thai" },
904
{ "the", "Chitwania Tharu" },
905
{ "ti", "Tigrinya" },
906
{ "tig", "Tigre" },
907
{ "tiv", "Tiv" },
908
{ "tk", "Turkmen" },
909
{ "tkl", "Tokelau" },
910
{ "tkr", "Tsakhur" },
911
{ "tl", "Tagalog" },
912
{ "tlh", "Klingon" },
913
{ "tli", "Tlingit" },
914
{ "tly", "Talysh" },
915
{ "tmh", "Tamashek" },
916
{ "tn", "Tswana" },
917
{ "to", "Tongan" },
918
{ "tog", "Nyasa Tonga" },
919
{ "tpi", "Tok Pisin" },
920
{ "tr", "Turkish" },
921
{ "tru", "Turoyo" },
922
{ "trv", "Taroko" },
923
{ "ts", "Tsonga" },
924
{ "tsd", "Tsakonian" },
925
{ "tsi", "Tsimshian" },
926
{ "tt", "Tatar" },
927
{ "ttt", "Muslim Tat" },
928
{ "tum", "Tumbuka" },
929
{ "tvl", "Tuvalu" },
930
{ "tw", "Twi" },
931
{ "twq", "Tasawaq" },
932
{ "ty", "Tahitian" },
933
{ "tyv", "Tuvinian" },
934
{ "tzm", "Central Atlas Tamazight" },
935
{ "udm", "Udmurt" },
936
{ "ug", "Uyghur" },
937
{ "uga", "Ugaritic" },
938
{ "uk", "Ukrainian" },
939
{ "umb", "Umbundu" },
940
{ "unm", "Unami" },
941
{ "ur", "Urdu" },
942
{ "uz", "Uzbek" },
943
{ "vai", "Vai" },
944
{ "ve", "Venda" },
945
{ "vec", "Venetian" },
946
{ "vep", "Veps" },
947
{ "vi", "Vietnamese" },
948
{ "vls", "West Flemish" },
949
{ "vmf", "Main-Franconian" },
950
{ "vo", "Volapük" },
951
{ "vot", "Votic" },
952
{ "vro", "Võro" },
953
{ "vun", "Vunjo" },
954
{ "wa", "Walloon" },
955
{ "wae", "Walser" },
956
{ "wal", "Wolaytta" },
957
{ "war", "Waray" },
958
{ "was", "Washo" },
959
{ "wbp", "Warlpiri" },
960
{ "wo", "Wolof" },
961
{ "wuu", "Wu Chinese" },
962
{ "xal", "Kalmyk" },
963
{ "xh", "Xhosa" },
964
{ "xmf", "Mingrelian" },
965
{ "xog", "Soga" },
966
{ "yao", "Yao" },
967
{ "yap", "Yapese" },
968
{ "yav", "Yangben" },
969
{ "ybb", "Yemba" },
970
{ "yi", "Yiddish" },
971
{ "yo", "Yoruba" },
972
{ "yrl", "Nheengatu" },
973
{ "yue", "Yue Chinese" },
974
{ "yuw", "Papua New Guinea" },
975
{ "za", "Zhuang" },
976
{ "zap", "Zapotec" },
977
{ "zbl", "Blissymbols" },
978
{ "zea", "Zeelandic" },
979
{ "zen", "Zenaga" },
980
{ "zgh", "Standard Moroccan Tamazight" },
981
{ "zh", "Chinese" },
982
{ "zu", "Zulu" },
983
{ "zun", "Zuni" },
984
{ "zza", "Zaza" },
985
{ nullptr, nullptr }
986
};
987
988
// Additional regional variants.
989
// Variant name, supported languages.
990
991
static const char *locale_variants[][2] = {
992
{ "valencia", "ca" },
993
{ "iqtelif", "tt" },
994
{ "saaho", "aa" },
995
{ "tradnl", "es" },
996
{ nullptr, nullptr },
997
};
998
999
// Script names and codes (excludes typographic variants, special codes, reserved codes and aliases for combined scripts).
1000
// Reference:
1001
// - https://en.wikipedia.org/wiki/ISO_15924
1002
1003
static const char *script_list[][2] = {
1004
{ "Adlam", "Adlm" },
1005
{ "Afaka", "Afak" },
1006
{ "Caucasian Albanian", "Aghb" },
1007
{ "Ahom", "Ahom" },
1008
{ "Arabic", "Arab" },
1009
{ "Imperial Aramaic", "Armi" },
1010
{ "Armenian", "Armn" },
1011
{ "Avestan", "Avst" },
1012
{ "Balinese", "Bali" },
1013
{ "Bamum", "Bamu" },
1014
{ "Bassa Vah", "Bass" },
1015
{ "Batak", "Batk" },
1016
{ "Bengali", "Beng" },
1017
{ "Bhaiksuki", "Bhks" },
1018
{ "Blissymbols", "Blis" },
1019
{ "Bopomofo", "Bopo" },
1020
{ "Brahmi", "Brah" },
1021
{ "Braille", "Brai" },
1022
{ "Buginese", "Bugi" },
1023
{ "Buhid", "Buhd" },
1024
{ "Chakma", "Cakm" },
1025
{ "Unified Canadian Aboriginal", "Cans" },
1026
{ "Carian", "Cari" },
1027
{ "Cham", "Cham" },
1028
{ "Cherokee", "Cher" },
1029
{ "Chorasmian", "Chrs" },
1030
{ "Cirth", "Cirt" },
1031
{ "Coptic", "Copt" },
1032
{ "Cypro-Minoan", "Cpmn" },
1033
{ "Cypriot", "Cprt" },
1034
{ "Cyrillic", "Cyrl" },
1035
{ "Devanagari", "Deva" },
1036
{ "Dives Akuru", "Diak" },
1037
{ "Dogra", "Dogr" },
1038
{ "Deseret", "Dsrt" },
1039
{ "Duployan", "Dupl" },
1040
{ "Egyptian demotic", "Egyd" },
1041
{ "Egyptian hieratic", "Egyh" },
1042
{ "Egyptian hieroglyphs", "Egyp" },
1043
{ "Elbasan", "Elba" },
1044
{ "Elymaic", "Elym" },
1045
{ "Ethiopic", "Ethi" },
1046
{ "Khutsuri", "Geok" },
1047
{ "Georgian", "Geor" },
1048
{ "Glagolitic", "Glag" },
1049
{ "Gunjala Gondi", "Gong" },
1050
{ "Masaram Gondi", "Gonm" },
1051
{ "Gothic", "Goth" },
1052
{ "Grantha", "Gran" },
1053
{ "Greek", "Grek" },
1054
{ "Gujarati", "Gujr" },
1055
{ "Gurmukhi", "Guru" },
1056
{ "Hangul", "Hang" },
1057
{ "Han", "Hani" },
1058
{ "Hanunoo", "Hano" },
1059
{ "Simplified Han", "Hans" },
1060
{ "Traditional Han", "Hant" },
1061
{ "Hatran", "Hatr" },
1062
{ "Hebrew", "Hebr" },
1063
{ "Hiragana", "Hira" },
1064
{ "Anatolian Hieroglyphs", "Hluw" },
1065
{ "Pahawh Hmong", "Hmng" },
1066
{ "Nyiakeng Puachue Hmong", "Hmnp" },
1067
{ "Old Hungarian", "Hung" },
1068
{ "Indus", "Inds" },
1069
{ "Old Italic", "Ital" },
1070
{ "Javanese", "Java" },
1071
{ "Jurchen", "Jurc" },
1072
{ "Kayah Li", "Kali" },
1073
{ "Katakana", "Kana" },
1074
{ "Kawi", "Kawi" },
1075
{ "Kharoshthi", "Khar" },
1076
{ "Khmer", "Khmr" },
1077
{ "Khojki", "Khoj" },
1078
{ "Khitan large script", "Kitl" },
1079
{ "Khitan small script", "Kits" },
1080
{ "Kannada", "Knda" },
1081
{ "Kpelle", "Kpel" },
1082
{ "Kaithi", "Kthi" },
1083
{ "Tai Tham", "Lana" },
1084
{ "Lao", "Laoo" },
1085
{ "Latin", "Latn" },
1086
{ "Leke", "Leke" },
1087
{ "Lepcha", "Lepc" },
1088
{ "Limbu", "Limb" },
1089
{ "Linear A", "Lina" },
1090
{ "Linear B", "Linb" },
1091
{ "Lisu", "Lisu" },
1092
{ "Loma", "Loma" },
1093
{ "Lycian", "Lyci" },
1094
{ "Lydian", "Lydi" },
1095
{ "Mahajani", "Mahj" },
1096
{ "Makasar", "Maka" },
1097
{ "Mandaic", "Mand" },
1098
{ "Manichaean", "Mani" },
1099
{ "Marchen", "Marc" },
1100
{ "Mayan Hieroglyphs", "Maya" },
1101
{ "Medefaidrin", "Medf" },
1102
{ "Mende Kikakui", "Mend" },
1103
{ "Meroitic Cursive", "Merc" },
1104
{ "Meroitic Hieroglyphs", "Mero" },
1105
{ "Malayalam", "Mlym" },
1106
{ "Modi", "Modi" },
1107
{ "Mongolian", "Mong" },
1108
{ "Moon", "Moon" },
1109
{ "Mro", "Mroo" },
1110
{ "Meitei Mayek", "Mtei" },
1111
{ "Multani", "Mult" },
1112
{ "Myanmar / Burmese", "Mymr" },
1113
{ "Nag Mundari", "Nagm" },
1114
{ "Nandinagari", "Nand" },
1115
{ "Old North Arabian", "Narb" },
1116
{ "Nabataean", "Nbat" },
1117
{ "Newa", "Newa" },
1118
{ "Naxi Dongba", "Nkdb" },
1119
{ "Nakhi Geba", "Nkgb" },
1120
{ "N'ko", "Nkoo" },
1121
{ "Nüshu", "Nshu" },
1122
{ "Ogham", "Ogam" },
1123
{ "Ol Chiki", "Olck" },
1124
{ "Old Turkic", "Orkh" },
1125
{ "Oriya", "Orya" },
1126
{ "Osage", "Osge" },
1127
{ "Osmanya", "Osma" },
1128
{ "Old Uyghur", "Ougr" },
1129
{ "Palmyrene", "Palm" },
1130
{ "Pau Cin Hau", "Pauc" },
1131
{ "Proto-Cuneiform", "Pcun" },
1132
{ "Proto-Elamite", "Pelm" },
1133
{ "Old Permic", "Perm" },
1134
{ "Phags-pa", "Phag" },
1135
{ "Inscriptional Pahlavi", "Phli" },
1136
{ "Psalter Pahlavi", "Phlp" },
1137
{ "Book Pahlavi", "Phlv" },
1138
{ "Phoenician", "Phnx" },
1139
{ "Klingon", "Piqd" },
1140
{ "Miao", "Plrd" },
1141
{ "Inscriptional Parthian", "Prti" },
1142
{ "Proto-Sinaitic", "Psin" },
1143
{ "Ranjana", "Ranj" },
1144
{ "Rejang", "Rjng" },
1145
{ "Hanifi Rohingya", "Rohg" },
1146
{ "Rongorongo", "Roro" },
1147
{ "Runic", "Runr" },
1148
{ "Samaritan", "Samr" },
1149
{ "Sarati", "Sara" },
1150
{ "Old South Arabian", "Sarb" },
1151
{ "Saurashtra", "Saur" },
1152
{ "SignWriting", "Sgnw" },
1153
{ "Shavian", "Shaw" },
1154
{ "Sharada", "Shrd" },
1155
{ "Shuishu", "Shui" },
1156
{ "Siddham", "Sidd" },
1157
{ "Khudawadi", "Sind" },
1158
{ "Sinhala", "Sinh" },
1159
{ "Sogdian", "Sogd" },
1160
{ "Old Sogdian", "Sogo" },
1161
{ "Sora Sompeng", "Sora" },
1162
{ "Soyombo", "Soyo" },
1163
{ "Sundanese", "Sund" },
1164
{ "Syloti Nagri", "Sylo" },
1165
{ "Syriac", "Syrc" },
1166
{ "Tagbanwa", "Tagb" },
1167
{ "Takri", "Takr" },
1168
{ "Tai Le", "Tale" },
1169
{ "New Tai Lue", "Talu" },
1170
{ "Tamil", "Taml" },
1171
{ "Tangut", "Tang" },
1172
{ "Tai Viet", "Tavt" },
1173
{ "Telugu", "Telu" },
1174
{ "Tengwar", "Teng" },
1175
{ "Tifinagh", "Tfng" },
1176
{ "Tagalog", "Tglg" },
1177
{ "Thaana", "Thaa" },
1178
{ "Thai", "Thai" },
1179
{ "Tibetan", "Tibt" },
1180
{ "Tirhuta", "Tirh" },
1181
{ "Tangsa", "Tnsa" },
1182
{ "Toto", "Toto" },
1183
{ "Ugaritic", "Ugar" },
1184
{ "Vai", "Vaii" },
1185
{ "Visible Speech", "Visp" },
1186
{ "Vithkuqi", "Vith" },
1187
{ "Warang Citi", "Wara" },
1188
{ "Wancho", "Wcho" },
1189
{ "Woleai", "Wole" },
1190
{ "Old Persian", "Xpeo" },
1191
{ "Cuneiform", "Xsux" },
1192
{ "Yezidi", "Yezi" },
1193
{ "Yi", "Yiii" },
1194
{ "Zanabazar Square", "Zanb" },
1195
{ nullptr, nullptr }
1196
};
1197
1198