@atproto/ozone 0.2.9 → 0.2.11

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 (306) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/package.json +25 -21
  3. package/bin/migration-create.ts +0 -38
  4. package/jest.config.cjs +0 -22
  5. package/src/api/chat/getActorMetadata.ts +0 -23
  6. package/src/api/chat/getConvo.ts +0 -23
  7. package/src/api/chat/getConvoMembers.ts +0 -23
  8. package/src/api/chat/getConvos.ts +0 -23
  9. package/src/api/chat/getMessageContext.ts +0 -42
  10. package/src/api/chat/index.ts +0 -16
  11. package/src/api/communication/createTemplate.ts +0 -51
  12. package/src/api/communication/deleteTemplate.ts +0 -23
  13. package/src/api/communication/listTemplates.ts +0 -31
  14. package/src/api/communication/updateTemplate.ts +0 -51
  15. package/src/api/health.ts +0 -27
  16. package/src/api/index.ts +0 -146
  17. package/src/api/label/fetchLabels.ts +0 -32
  18. package/src/api/label/queryLabels.ts +0 -57
  19. package/src/api/label/subscribeLabels.ts +0 -25
  20. package/src/api/moderation/cancelScheduledActions.ts +0 -72
  21. package/src/api/moderation/emitEvent.ts +0 -475
  22. package/src/api/moderation/getAccountTimeline.ts +0 -160
  23. package/src/api/moderation/getEvent.ts +0 -19
  24. package/src/api/moderation/getRecord.ts +0 -40
  25. package/src/api/moderation/getRecords.ts +0 -50
  26. package/src/api/moderation/getRepo.ts +0 -34
  27. package/src/api/moderation/getReporterStats.ts +0 -18
  28. package/src/api/moderation/getRepos.ts +0 -41
  29. package/src/api/moderation/getSubjects.ts +0 -101
  30. package/src/api/moderation/listScheduledActions.ts +0 -45
  31. package/src/api/moderation/queryEvents.ts +0 -72
  32. package/src/api/moderation/queryStatuses.ts +0 -23
  33. package/src/api/moderation/scheduleAction.ts +0 -129
  34. package/src/api/moderation/searchRepos.ts +0 -46
  35. package/src/api/moderation/util.ts +0 -96
  36. package/src/api/proxied.ts +0 -327
  37. package/src/api/queue/assignModerator.ts +0 -31
  38. package/src/api/queue/createQueue.ts +0 -62
  39. package/src/api/queue/deleteQueue.ts +0 -56
  40. package/src/api/queue/getAssignments.ts +0 -19
  41. package/src/api/queue/listQueues.ts +0 -39
  42. package/src/api/queue/routeReports.ts +0 -44
  43. package/src/api/queue/unassignModerator.ts +0 -26
  44. package/src/api/queue/updateQueue.ts +0 -54
  45. package/src/api/report/assignModerator.ts +0 -36
  46. package/src/api/report/createActivity.ts +0 -57
  47. package/src/api/report/createReport.ts +0 -93
  48. package/src/api/report/getAssignments.ts +0 -20
  49. package/src/api/report/getHistoricalStats.ts +0 -41
  50. package/src/api/report/getLatestReport.ts +0 -44
  51. package/src/api/report/getLiveStats.ts +0 -26
  52. package/src/api/report/getReport.ts +0 -55
  53. package/src/api/report/listActivities.ts +0 -37
  54. package/src/api/report/queryActivities.ts +0 -64
  55. package/src/api/report/queryReports.ts +0 -44
  56. package/src/api/report/reassignQueue.ts +0 -68
  57. package/src/api/report/refreshStats.ts +0 -27
  58. package/src/api/report/unassignModerator.ts +0 -21
  59. package/src/api/safelink/addRule.ts +0 -48
  60. package/src/api/safelink/queryEvents.ts +0 -32
  61. package/src/api/safelink/queryRules.ts +0 -58
  62. package/src/api/safelink/removeRule.ts +0 -42
  63. package/src/api/safelink/updateRule.ts +0 -48
  64. package/src/api/server/getConfig.ts +0 -35
  65. package/src/api/set/addValues.ts +0 -28
  66. package/src/api/set/deleteSet.ts +0 -34
  67. package/src/api/set/deleteValues.ts +0 -31
  68. package/src/api/set/getValues.ts +0 -42
  69. package/src/api/set/querySets.ts +0 -36
  70. package/src/api/set/upsertSet.ts +0 -38
  71. package/src/api/setting/listOptions.ts +0 -44
  72. package/src/api/setting/removeOptions.ts +0 -64
  73. package/src/api/setting/upsertOption.ts +0 -156
  74. package/src/api/team/addMember.ts +0 -51
  75. package/src/api/team/deleteMember.ts +0 -29
  76. package/src/api/team/listMembers.ts +0 -20
  77. package/src/api/team/updateMember.ts +0 -47
  78. package/src/api/util.ts +0 -265
  79. package/src/api/verification/grantVerifications.ts +0 -90
  80. package/src/api/verification/listVerifications.ts +0 -44
  81. package/src/api/verification/revokeVerifications.ts +0 -43
  82. package/src/api/well-known.ts +0 -46
  83. package/src/assignment/index.ts +0 -728
  84. package/src/auth-verifier.ts +0 -227
  85. package/src/background.ts +0 -183
  86. package/src/communication-service/template.ts +0 -110
  87. package/src/communication-service/util.ts +0 -8
  88. package/src/config/config.ts +0 -211
  89. package/src/config/env.ts +0 -95
  90. package/src/config/index.ts +0 -3
  91. package/src/config/secrets.ts +0 -17
  92. package/src/context.ts +0 -399
  93. package/src/daemon/blob-diverter.ts +0 -186
  94. package/src/daemon/context.ts +0 -247
  95. package/src/daemon/event-pusher.ts +0 -363
  96. package/src/daemon/event-reverser.ts +0 -128
  97. package/src/daemon/index.ts +0 -33
  98. package/src/daemon/job-cursor.ts +0 -33
  99. package/src/daemon/materialized-view-refresher.ts +0 -33
  100. package/src/daemon/queue-router.ts +0 -101
  101. package/src/daemon/scheduled-action-processor.ts +0 -304
  102. package/src/daemon/stats-computer.ts +0 -101
  103. package/src/daemon/strike-expiry-processor.ts +0 -95
  104. package/src/daemon/team-profile-synchronizer.ts +0 -15
  105. package/src/daemon/verification-listener.ts +0 -169
  106. package/src/db/index.ts +0 -203
  107. package/src/db/migrations/20231219T205730722Z-init.ts +0 -170
  108. package/src/db/migrations/20240116T085607200Z-communication-template.ts +0 -23
  109. package/src/db/migrations/20240201T051104136Z-mod-event-blobs.ts +0 -15
  110. package/src/db/migrations/20240208T213404429Z-add-tags-column-to-moderation-subject.ts +0 -31
  111. package/src/db/migrations/20240228T003647759Z-add-label-sigs.ts +0 -25
  112. package/src/db/migrations/20240408T192432676Z-mute-reporting.ts +0 -15
  113. package/src/db/migrations/20240506T225055595Z-message-subject.ts +0 -21
  114. package/src/db/migrations/20240521T211332580Z-member.ts +0 -17
  115. package/src/db/migrations/20240814T003647759Z-event-created-at-index.ts +0 -13
  116. package/src/db/migrations/20240903T205730722Z-add-template-lang.ts +0 -12
  117. package/src/db/migrations/20240904T205730722Z-add-subject-did-index.ts +0 -13
  118. package/src/db/migrations/20241001T205730722Z-subject-status-review-state-index.ts +0 -15
  119. package/src/db/migrations/20241008T205730722Z-sets.ts +0 -53
  120. package/src/db/migrations/20241018T205730722Z-setting.ts +0 -27
  121. package/src/db/migrations/20241026T205730722Z-add-hosting-status-to-subject-status.ts +0 -57
  122. package/src/db/migrations/20241220T144630860Z-stats-materialized-views.ts +0 -215
  123. package/src/db/migrations/20250204T003647759Z-add-subject-priority-score.ts +0 -22
  124. package/src/db/migrations/20250211T003647759Z-add-reporter-stats-index.ts +0 -38
  125. package/src/db/migrations/20250211T132135150Z-moderation-event-message-partial-idx.ts +0 -26
  126. package/src/db/migrations/20250221T132135150Z-member-details.ts +0 -14
  127. package/src/db/migrations/20250404T201720309Z-subject-status-sort-idxs.ts +0 -18
  128. package/src/db/migrations/20250415T201720309Z-verification.ts +0 -34
  129. package/src/db/migrations/20250417T201720309Z-firehose-cursor.ts +0 -16
  130. package/src/db/migrations/20250609T110704000Z-safelink.ts +0 -53
  131. package/src/db/migrations/20250618T180246000Z-add-mod-tool-to-moderation-event.ts +0 -18
  132. package/src/db/migrations/20250701T000000000Z-add-age-assurance-state.ts +0 -25
  133. package/src/db/migrations/20250715T000000000Z-add-mod-event-external-id.ts +0 -15
  134. package/src/db/migrations/20250718T150931000Z-update-appeal-reason-stats.ts +0 -310
  135. package/src/db/migrations/20250813T000000000Z-mod-tool-batch-id-index.ts +0 -14
  136. package/src/db/migrations/20250923T000000000Z-scheduled-actions.ts +0 -56
  137. package/src/db/migrations/20251008T120000000Z-add-strike-system.ts +0 -87
  138. package/src/db/migrations/20260210T154806448Z-mod-event-created-by-indexes.ts +0 -22
  139. package/src/db/migrations/20260219T164523000Z-create-report-table.ts +0 -155
  140. package/src/db/migrations/20260219T165302248Z-moderator-assignment.ts +0 -42
  141. package/src/db/migrations/20260225T000000000Z-add-report-queue-table.ts +0 -41
  142. package/src/db/migrations/20260313T000000000Z-add-report-activity-table.ts +0 -48
  143. package/src/db/migrations/20260318T152058935Z-add-report-stat.ts +0 -35
  144. package/src/db/migrations/20260428T000000000Z-add-expiring-tag-table.ts +0 -32
  145. package/src/db/migrations/20260513T202941104Z-add-subject-convo-id.ts +0 -114
  146. package/src/db/migrations/20260602T120000000Z-add-report-activity-created-index.ts +0 -17
  147. package/src/db/migrations/index.ts +0 -44
  148. package/src/db/migrations/provider.ts +0 -26
  149. package/src/db/pagination.ts +0 -335
  150. package/src/db/schema/account_events_stats.ts +0 -16
  151. package/src/db/schema/account_record_events_stats.ts +0 -15
  152. package/src/db/schema/account_record_status_stats.ts +0 -15
  153. package/src/db/schema/account_strike.ts +0 -13
  154. package/src/db/schema/blob_push_event.ts +0 -21
  155. package/src/db/schema/communication_template.ts +0 -19
  156. package/src/db/schema/expiring_tag.ts +0 -18
  157. package/src/db/schema/firehose_cursor.ts +0 -13
  158. package/src/db/schema/index.ts +0 -60
  159. package/src/db/schema/job_cursor.ts +0 -13
  160. package/src/db/schema/label.ts +0 -22
  161. package/src/db/schema/member.ts +0 -22
  162. package/src/db/schema/moderation_event.ts +0 -61
  163. package/src/db/schema/moderation_subject_status.ts +0 -52
  164. package/src/db/schema/moderator_assignment.ts +0 -16
  165. package/src/db/schema/ozone_set.ts +0 -24
  166. package/src/db/schema/record_events_stats.ts +0 -15
  167. package/src/db/schema/record_push_event.ts +0 -21
  168. package/src/db/schema/repo_push_event.ts +0 -19
  169. package/src/db/schema/report.ts +0 -28
  170. package/src/db/schema/report_activity.ts +0 -22
  171. package/src/db/schema/report_queue.ts +0 -21
  172. package/src/db/schema/report_stat.ts +0 -27
  173. package/src/db/schema/safelink.ts +0 -39
  174. package/src/db/schema/scheduled-action.ts +0 -25
  175. package/src/db/schema/setting.ts +0 -24
  176. package/src/db/schema/signing_key.ts +0 -10
  177. package/src/db/schema/verification.ts +0 -21
  178. package/src/db/types.ts +0 -24
  179. package/src/error.ts +0 -12
  180. package/src/image-invalidator.ts +0 -7
  181. package/src/index.ts +0 -154
  182. package/src/jetstream/service.ts +0 -107
  183. package/src/logger.ts +0 -29
  184. package/src/mod-service/expiring-tags.ts +0 -104
  185. package/src/mod-service/index.ts +0 -1842
  186. package/src/mod-service/profile.ts +0 -139
  187. package/src/mod-service/report.ts +0 -429
  188. package/src/mod-service/status.ts +0 -549
  189. package/src/mod-service/strike.ts +0 -96
  190. package/src/mod-service/subject.ts +0 -311
  191. package/src/mod-service/types.ts +0 -96
  192. package/src/mod-service/util.ts +0 -99
  193. package/src/mod-service/views.ts +0 -912
  194. package/src/queue/service.ts +0 -603
  195. package/src/report/activity.ts +0 -281
  196. package/src/report/handle-report-update.ts +0 -209
  197. package/src/report/reassign.ts +0 -109
  198. package/src/report/stats.ts +0 -852
  199. package/src/report/views.ts +0 -239
  200. package/src/safelink/service.ts +0 -304
  201. package/src/scheduled-action/service.ts +0 -281
  202. package/src/scheduled-action/types.ts +0 -17
  203. package/src/sequencer/index.ts +0 -2
  204. package/src/sequencer/outbox.ts +0 -123
  205. package/src/sequencer/sequencer.ts +0 -147
  206. package/src/set/service.ts +0 -230
  207. package/src/setting/constants.ts +0 -3
  208. package/src/setting/service.ts +0 -148
  209. package/src/setting/types.ts +0 -3
  210. package/src/setting/validators.ts +0 -333
  211. package/src/tag-service/content-tagger.ts +0 -30
  212. package/src/tag-service/embed-tagger.ts +0 -70
  213. package/src/tag-service/index.ts +0 -70
  214. package/src/tag-service/language-data.ts +0 -561
  215. package/src/tag-service/language-tagger.ts +0 -101
  216. package/src/tag-service/util.ts +0 -13
  217. package/src/team/index.ts +0 -296
  218. package/src/util.ts +0 -230
  219. package/src/verification/issuer.ts +0 -146
  220. package/src/verification/service.ts +0 -208
  221. package/src/verification/util.ts +0 -53
  222. package/test.env +0 -2
  223. package/tests/3p-labeler.test.ts +0 -288
  224. package/tests/__snapshots__/account-strikes.test.ts.snap +0 -159
  225. package/tests/__snapshots__/age-assurance.test.ts.snap +0 -66
  226. package/tests/__snapshots__/blob-divert.test.ts.snap +0 -219
  227. package/tests/__snapshots__/get-account-timeline.test.ts.snap +0 -36
  228. package/tests/__snapshots__/get-record.test.ts.snap +0 -271
  229. package/tests/__snapshots__/get-records.test.ts.snap +0 -175
  230. package/tests/__snapshots__/get-repo.test.ts.snap +0 -91
  231. package/tests/__snapshots__/get-repos.test.ts.snap +0 -127
  232. package/tests/__snapshots__/get-starter-pack.test.ts.snap +0 -535
  233. package/tests/__snapshots__/get-subjects.test.ts.snap +0 -529
  234. package/tests/__snapshots__/moderation-events.test.ts.snap +0 -347
  235. package/tests/__snapshots__/moderation-statuses.test.ts.snap +0 -276
  236. package/tests/__snapshots__/moderation.test.ts.snap +0 -85
  237. package/tests/__snapshots__/report-reason.test.ts.snap +0 -14
  238. package/tests/__snapshots__/safelink.test.ts.snap +0 -179
  239. package/tests/__snapshots__/scheduled-action.test.ts.snap +0 -61
  240. package/tests/__snapshots__/sets.test.ts.snap +0 -46
  241. package/tests/__snapshots__/settings.test.ts.snap +0 -52
  242. package/tests/__snapshots__/team.test.ts.snap +0 -374
  243. package/tests/__snapshots__/verification-listener.test.ts.snap +0 -152
  244. package/tests/__snapshots__/verification.test.ts.snap +0 -302
  245. package/tests/_util.ts +0 -242
  246. package/tests/account-strikes.test.ts +0 -184
  247. package/tests/ack-all-subjects-of-account.test.ts +0 -177
  248. package/tests/age-assurance.test.ts +0 -372
  249. package/tests/blob-divert.test.ts +0 -106
  250. package/tests/communication-templates.test.ts +0 -149
  251. package/tests/content-tagger.test.ts +0 -170
  252. package/tests/db.test.ts +0 -184
  253. package/tests/expiring-label.test.ts +0 -72
  254. package/tests/expiring-tags.test.ts +0 -232
  255. package/tests/get-account-timeline.test.ts +0 -85
  256. package/tests/get-config.test.ts +0 -55
  257. package/tests/get-lists.test.ts +0 -111
  258. package/tests/get-profiles.test.ts +0 -70
  259. package/tests/get-record.test.ts +0 -130
  260. package/tests/get-records.test.ts +0 -91
  261. package/tests/get-repo.test.ts +0 -171
  262. package/tests/get-report.test.ts +0 -136
  263. package/tests/get-reporter-stats.test.ts +0 -132
  264. package/tests/get-repos.test.ts +0 -91
  265. package/tests/get-starter-pack.test.ts +0 -115
  266. package/tests/get-subjects.test.ts +0 -81
  267. package/tests/mod-tool.test.ts +0 -268
  268. package/tests/moderation-appeals.test.ts +0 -260
  269. package/tests/moderation-events.test.ts +0 -756
  270. package/tests/moderation-status-tags.test.ts +0 -140
  271. package/tests/moderation-statuses.test.ts +0 -495
  272. package/tests/moderation.test.ts +0 -992
  273. package/tests/protected-tags.test.ts +0 -218
  274. package/tests/query-labels.test.ts +0 -238
  275. package/tests/query-reports.test.ts +0 -608
  276. package/tests/queue-assignment.test.ts +0 -428
  277. package/tests/queue-router.test.ts +0 -306
  278. package/tests/queues.test.ts +0 -690
  279. package/tests/record-and-account-events.test.ts +0 -197
  280. package/tests/repo-search.test.ts +0 -136
  281. package/tests/report-action.test.ts +0 -308
  282. package/tests/report-activity.test.ts +0 -711
  283. package/tests/report-assignment.test.ts +0 -517
  284. package/tests/report-muting.test.ts +0 -100
  285. package/tests/report-reason.test.ts +0 -154
  286. package/tests/report-reassign-queue.test.ts +0 -340
  287. package/tests/report-routing.test.ts +0 -245
  288. package/tests/report-stats.test.ts +0 -545
  289. package/tests/revoke-account-credentials.test.ts +0 -54
  290. package/tests/safelink.test.ts +0 -534
  291. package/tests/scheduled-action-processor.test.ts +0 -488
  292. package/tests/scheduled-action.test.ts +0 -334
  293. package/tests/sequencer.test.ts +0 -227
  294. package/tests/server.test.ts +0 -62
  295. package/tests/sets.test.ts +0 -246
  296. package/tests/settings.test.ts +0 -308
  297. package/tests/strike-expiry-processor.test.ts +0 -299
  298. package/tests/subject-priority-score.test.ts +0 -96
  299. package/tests/takedown.test.ts +0 -105
  300. package/tests/team.test.ts +0 -216
  301. package/tests/verification-listener.test.ts +0 -129
  302. package/tests/verification.test.ts +0 -186
  303. package/tsconfig.build.json +0 -9
  304. package/tsconfig.build.tsbuildinfo +0 -1
  305. package/tsconfig.json +0 -7
  306. package/tsconfig.tests.json +0 -8
@@ -1,561 +0,0 @@
1
- // Also used in the client app https://github.com/bluesky-social/social-app/blob/main/src/locale/languages.ts
2
- interface Language {
3
- code3: string
4
- code2: string
5
- name: string
6
- }
7
-
8
- export const LANGUAGES: Language[] = [
9
- { code3: 'aar', code2: 'aa', name: 'Afar' },
10
- { code3: 'abk', code2: 'ab', name: 'Abkhazian' },
11
- { code3: 'ace', code2: '', name: 'Achinese' },
12
- { code3: 'ach', code2: '', name: 'Acoli' },
13
- { code3: 'ada', code2: '', name: 'Adangme' },
14
- { code3: 'ady', code2: '', name: 'Adyghe; Adygei' },
15
- { code3: 'afa', code2: '', name: 'Afro-Asiatic languages' },
16
- { code3: 'afh', code2: '', name: 'Afrihili' },
17
- { code3: 'afr', code2: 'af', name: 'Afrikaans' },
18
- { code3: 'ain', code2: '', name: 'Ainu' },
19
- { code3: 'aka', code2: 'ak', name: 'Akan' },
20
- { code3: 'akk', code2: '', name: 'Akkadian' },
21
- { code3: 'alb', code2: 'sq', name: 'Albanian' },
22
- { code3: 'ale', code2: '', name: 'Aleut' },
23
- { code3: 'alg', code2: '', name: 'Algonquian languages' },
24
- { code3: 'alt', code2: '', name: 'Southern Altai' },
25
- { code3: 'amh', code2: 'am', name: 'Amharic' },
26
- { code3: 'ang', code2: '', name: 'English, Old (ca.450-1100)' },
27
- { code3: 'anp ', code2: 'Angika', name: 'Angika' },
28
- { code3: 'apa', code2: '', name: 'Apache languages' },
29
- { code3: 'ara', code2: 'ar', name: 'Arabic' },
30
- {
31
- code3: 'arc',
32
- code2: '',
33
- name: 'Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)',
34
- },
35
- { code3: 'arg', code2: 'an', name: 'Aragonese' },
36
- { code3: 'arm', code2: 'hy', name: 'Armenian' },
37
- { code3: 'arn', code2: '', name: 'Mapudungun; Mapuche' },
38
- { code3: 'arp', code2: '', name: 'Arapaho' },
39
- { code3: 'art', code2: '', name: 'Artificial languages' },
40
- { code3: 'arw', code2: '', name: 'Arawak' },
41
- { code3: 'asm', code2: 'as', name: 'Assamese' },
42
- { code3: 'ast', code2: '', name: 'Asturian; Bable; Leonese; Asturleonese' },
43
- { code3: 'ath', code2: '', name: 'Athapascan languages' },
44
- { code3: 'aus', code2: '', name: 'Australian languages' },
45
- { code3: 'ava', code2: 'av', name: 'Avaric' },
46
- { code3: 'ave', code2: 'ae', name: 'Avestan' },
47
- { code3: 'awa', code2: '', name: 'Awadhi' },
48
- { code3: 'aym', code2: 'ay', name: 'Aymara' },
49
- { code3: 'aze', code2: 'az', name: 'Azerbaijani' },
50
- { code3: 'bad', code2: '', name: 'Banda languages' },
51
- { code3: 'bai', code2: '', name: 'Bamileke languages' },
52
- { code3: 'bak', code2: 'ba', name: 'Bashkir' },
53
- { code3: 'bal', code2: '', name: 'Baluchi' },
54
- { code3: 'bam', code2: 'bm', name: 'Bambara' },
55
- { code3: 'ban', code2: '', name: 'Balinese' },
56
- { code3: 'baq', code2: 'eu', name: 'Basque' },
57
- { code3: 'bas', code2: '', name: 'Basa' },
58
- { code3: 'bat', code2: '', name: 'Baltic languages' },
59
- { code3: 'bej', code2: '', name: 'Beja; Bedawiyet' },
60
- { code3: 'bel', code2: 'be', name: 'Belarusian' },
61
- { code3: 'bem', code2: '', name: 'Bemba' },
62
- { code3: 'ben', code2: 'bn', name: 'Bengali' },
63
- { code3: 'ber', code2: '', name: 'Berber languages' },
64
- { code3: 'bho', code2: '', name: 'Bhojpuri' },
65
- { code3: 'bih', code2: 'bh', name: 'Bihari languages' },
66
- { code3: 'bik', code2: '', name: 'Bikol' },
67
- { code3: 'bin', code2: '', name: 'Bini; Edo' },
68
- { code3: 'bis', code2: 'bi', name: 'Bislama' },
69
- { code3: 'bla', code2: '', name: 'Siksika' },
70
- { code3: 'bnt', code2: '', name: 'Bantu languages' },
71
- { code3: 'bod', code2: 'bo', name: 'Tibetan' },
72
- { code3: 'bos', code2: 'bs', name: 'Bosnian' },
73
- { code3: 'bra', code2: '', name: 'Braj' },
74
- { code3: 'bre', code2: 'br', name: 'Breton' },
75
- { code3: 'btk', code2: '', name: 'Batak languages' },
76
- { code3: 'bua', code2: '', name: 'Buriat' },
77
- { code3: 'bug', code2: '', name: 'Buginese' },
78
- { code3: 'bul', code2: 'bg', name: 'Bulgarian' },
79
- { code3: 'bur', code2: 'my', name: 'Burmese' },
80
- { code3: 'byn', code2: '', name: 'Blin; Bilin' },
81
- { code3: 'cad', code2: '', name: 'Caddo' },
82
- { code3: 'cai', code2: '', name: 'Central American Indian languages' },
83
- { code3: 'car', code2: '', name: 'Galibi Carib' },
84
- { code3: 'cat', code2: 'ca', name: 'Catalan; Valencian' },
85
- { code3: 'cau', code2: '', name: 'Caucasian languages' },
86
- { code3: 'ceb', code2: '', name: 'Cebuano' },
87
- { code3: 'cel', code2: '', name: 'Celtic languages' },
88
- { code3: 'ces', code2: 'cs', name: 'Czech' },
89
- { code3: 'cha', code2: 'ch', name: 'Chamorro' },
90
- { code3: 'chb', code2: '', name: 'Chibcha' },
91
- { code3: 'che', code2: 'ce', name: 'Chechen' },
92
- { code3: 'chg', code2: '', name: 'Chagatai' },
93
- { code3: 'chi', code2: 'zh', name: 'Chinese' },
94
- { code3: 'chk', code2: '', name: 'Chuukese' },
95
- { code3: 'chm', code2: '', name: 'Mari' },
96
- { code3: 'chn', code2: '', name: 'Chinook jargon' },
97
- { code3: 'cho', code2: '', name: 'Choctaw' },
98
- { code3: 'chp', code2: '', name: 'Chipewyan; Dene Suline' },
99
- { code3: 'chr', code2: '', name: 'Cherokee' },
100
- {
101
- code3: 'chu',
102
- code2: 'cu',
103
- name: 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic',
104
- },
105
- { code3: 'chv', code2: 'cv', name: 'Chuvash' },
106
- { code3: 'chy', code2: '', name: 'Cheyenne' },
107
- { code3: 'cmc', code2: '', name: 'Chamic languages' },
108
- { code3: 'cnr', code2: '', name: 'Montenegrin' },
109
- { code3: 'cop', code2: '', name: 'Coptic' },
110
- { code3: 'cor', code2: 'kw', name: 'Cornish' },
111
- { code3: 'cos', code2: 'co', name: 'Corsican' },
112
- { code3: 'cpe', code2: '', name: 'Creoles and pidgins, English based' },
113
- { code3: 'cpf', code2: '', name: 'Creoles and pidgins, French-based' },
114
- { code3: 'cpp', code2: '', name: 'Creoles and pidgins, Portuguese-based' },
115
- { code3: 'cre', code2: 'cr', name: 'Cree' },
116
- { code3: 'crh', code2: '', name: 'Crimean Tatar; Crimean Turkish' },
117
- { code3: 'crp', code2: '', name: 'Creoles and pidgins' },
118
- { code3: 'csb', code2: '', name: 'Kashubian' },
119
- { code3: 'cus', code2: '', name: 'Cushitic languages' },
120
- { code3: 'cym', code2: 'cy', name: 'Welsh' },
121
- { code3: 'cze', code2: 'cs', name: 'Czech' },
122
- { code3: 'dak', code2: '', name: 'Dakota' },
123
- { code3: 'dan', code2: 'da', name: 'Danish' },
124
- { code3: 'dar', code2: '', name: 'Dargwa' },
125
- { code3: 'day', code2: '', name: 'Land Dayak languages' },
126
- { code3: 'del', code2: '', name: 'Delaware' },
127
- { code3: 'den', code2: '', name: 'Slave (Athapascan)' },
128
- { code3: 'deu', code2: 'de', name: 'German' },
129
- { code3: 'dgr', code2: '', name: 'Dogrib' },
130
- { code3: 'din', code2: '', name: 'Dinka' },
131
- { code3: 'div', code2: 'dv', name: 'Divehi; Dhivehi; Maldivian' },
132
- { code3: 'doi', code2: '', name: 'Dogri' },
133
- { code3: 'dra', code2: '', name: 'Dravidian languages' },
134
- { code3: 'dsb', code2: '', name: 'Lower Sorbian' },
135
- { code3: 'dua', code2: '', name: 'Duala' },
136
- { code3: 'dum', code2: '', name: 'Dutch, Middle (ca.1050-1350)' },
137
- { code3: 'dut', code2: 'nl', name: 'Dutch; Flemish' },
138
- { code3: 'dyu', code2: '', name: 'Dyula' },
139
- { code3: 'dzo', code2: 'dz', name: 'Dzongkha' },
140
- { code3: 'efi', code2: '', name: 'Efik' },
141
- { code3: 'egy', code2: '', name: 'Egyptian (Ancient)' },
142
- { code3: 'eka', code2: '', name: 'Ekajuk' },
143
- { code3: 'ell', code2: 'el', name: 'Greek, Modern (1453-)' },
144
- { code3: 'elx', code2: '', name: 'Elamite' },
145
- { code3: 'eng', code2: 'en', name: 'English' },
146
- { code3: 'enm', code2: '', name: 'English, Middle (1100-1500)' },
147
- { code3: 'epo', code2: 'eo', name: 'Esperanto' },
148
- { code3: 'est', code2: 'et', name: 'Estonian' },
149
- { code3: 'eus', code2: 'eu', name: 'Basque' },
150
- { code3: 'ewe', code2: 'ee', name: 'Ewe' },
151
- { code3: 'ewo', code2: '', name: 'Ewondo' },
152
- { code3: 'fan', code2: '', name: 'Fang' },
153
- { code3: 'fao', code2: 'fo', name: 'Faroese' },
154
- { code3: 'fas', code2: 'fa', name: 'Persian' },
155
- { code3: 'fat', code2: '', name: 'Fanti' },
156
- { code3: 'fij', code2: 'fj', name: 'Fijian' },
157
- { code3: 'fil', code2: '', name: 'Filipino; Pilipino' },
158
- { code3: 'fin', code2: 'fi', name: 'Finnish' },
159
- { code3: 'fiu', code2: '', name: 'Finno-Ugrian languages' },
160
- { code3: 'fon', code2: '', name: 'Fon' },
161
- { code3: 'fra', code2: 'fr', name: 'French' },
162
- { code3: 'fre', code2: 'fr', name: 'French' },
163
- { code3: 'frm', code2: '', name: 'French, Middle (ca.1400-1600)' },
164
- { code3: 'fro', code2: '', name: 'French, Old (842-ca.1400)' },
165
- { code3: 'frr', code2: '', name: 'Northern Frisian' },
166
- { code3: 'frs', code2: '', name: 'Eastern Frisian' },
167
- { code3: 'fry', code2: 'fy', name: 'Western Frisian' },
168
- { code3: 'ful', code2: 'ff', name: 'Fulah' },
169
- { code3: 'fur', code2: '', name: 'Friulian' },
170
- { code3: 'gaa', code2: '', name: 'Ga' },
171
- { code3: 'gay', code2: '', name: 'Gayo' },
172
- { code3: 'gba', code2: '', name: 'Gbaya' },
173
- { code3: 'gem', code2: '', name: 'Germanic languages' },
174
- { code3: 'geo', code2: 'ka', name: 'Georgian' },
175
- { code3: 'ger', code2: 'de', name: 'German' },
176
- { code3: 'gez', code2: '', name: 'Geez' },
177
- { code3: 'gil', code2: '', name: 'Gilbertese' },
178
- { code3: 'gla', code2: 'gd', name: 'Gaelic; Scottish Gaelic' },
179
- { code3: 'gle', code2: 'ga', name: 'Irish' },
180
- { code3: 'glg', code2: 'gl', name: 'Galician' },
181
- { code3: 'glv', code2: 'gv', name: 'Manx' },
182
- { code3: 'gmh', code2: '', name: 'German, Middle High (ca.1050-1500)' },
183
- { code3: 'goh', code2: '', name: 'German, Old High (ca.750-1050)' },
184
- { code3: 'gon', code2: '', name: 'Gondi' },
185
- { code3: 'gor', code2: '', name: 'Gorontalo' },
186
- { code3: 'got', code2: '', name: 'Gothic' },
187
- { code3: 'grb', code2: '', name: 'Grebo' },
188
- { code3: 'grc', code2: '', name: 'Greek, Ancient (to 1453)' },
189
- { code3: 'gre', code2: 'el', name: 'Greek, Modern (1453-)' },
190
- { code3: 'grn', code2: 'gn', name: 'Guarani' },
191
- { code3: 'gsw', code2: '', name: 'Swiss German; Alemannic; Alsatian' },
192
- { code3: 'gujgu', code2: 'Gujarati', name: 'goudjrati' },
193
- { code3: 'gwi', code2: '', name: "Gwich'in" },
194
- { code3: 'hai', code2: '', name: 'Haida' },
195
- { code3: 'hat', code2: 'ht', name: 'Haitian; Haitian Creole' },
196
- { code3: 'hau', code2: 'ha', name: 'Hausa' },
197
- { code3: 'haw', code2: '', name: 'Hawaiian' },
198
- { code3: 'heb', code2: 'he', name: 'Hebrew' },
199
- { code3: 'her', code2: 'hz', name: 'Herero' },
200
- { code3: 'hil', code2: '', name: 'Hiligaynon' },
201
- {
202
- code3: 'him',
203
- code2: '',
204
- name: 'Himachali languages; Western Pahari languages',
205
- },
206
- { code3: 'hin', code2: 'hi', name: 'Hindi' },
207
- { code3: 'hit', code2: '', name: 'Hittite' },
208
- { code3: 'hmn', code2: '', name: 'Hmong; Mong' },
209
- { code3: 'hmo', code2: 'ho', name: 'Hiri Motu' },
210
- { code3: 'hrv', code2: 'hr', name: 'Croatian' },
211
- { code3: 'hsb', code2: '', name: 'Upper Sorbian' },
212
- { code3: 'hun', code2: 'hu', name: 'Hungarian' },
213
- { code3: 'hup', code2: '', name: 'Hupa' },
214
- { code3: 'hye', code2: 'hy', name: 'Armenian' },
215
- { code3: 'iba', code2: '', name: 'Iban' },
216
- { code3: 'ibo', code2: 'ig', name: 'Igbo' },
217
- { code3: 'ice', code2: 'is', name: 'Icelandic' },
218
- { code3: 'ido', code2: 'io', name: 'Ido' },
219
- { code3: 'iii', code2: 'ii', name: 'Sichuan Yi; Nuosu' },
220
- { code3: 'ijo', code2: '', name: 'Ijo languages' },
221
- { code3: 'iku', code2: 'iu', name: 'Inuktitut' },
222
- { code3: 'ile', code2: 'ie', name: 'Interlingue; Occidental' },
223
- { code3: 'ilo', code2: '', name: 'Iloko' },
224
- {
225
- code3: 'ina',
226
- code2: 'ia',
227
- name: 'Interlingua (International Auxiliary Language Association)',
228
- },
229
- { code3: 'inc', code2: '', name: 'Indic languages' },
230
- { code3: 'ind', code2: 'id', name: 'Indonesian' },
231
- { code3: 'ine', code2: '', name: 'Indo-European languages' },
232
- { code3: 'inh', code2: '', name: 'Ingush' },
233
- { code3: 'ipk', code2: 'ik', name: 'Inupiaq' },
234
- { code3: 'ira', code2: '', name: 'Iranian languages' },
235
- { code3: 'iro', code2: '', name: 'Iroquoian languages' },
236
- { code3: 'isl', code2: 'is', name: 'Icelandic' },
237
- { code3: 'ita', code2: 'it', name: 'Italian' },
238
- { code3: 'jav', code2: 'jv', name: 'Javanese' },
239
- { code3: 'jbo', code2: '', name: 'Lojban' },
240
- { code3: 'jpn', code2: 'ja', name: 'Japanese' },
241
- { code3: 'jpr', code2: '', name: 'Judeo-Persian' },
242
- { code3: 'jrb', code2: '', name: 'Judeo-Arabic' },
243
- { code3: 'kaa', code2: '', name: 'Kara-Kalpak' },
244
- { code3: 'kab', code2: '', name: 'Kabyle' },
245
- { code3: 'kac', code2: '', name: 'Kachin; Jingpho' },
246
- { code3: 'kal', code2: 'kl', name: 'Kalaallisut; Greenlandic' },
247
- { code3: 'kam', code2: '', name: 'Kamba' },
248
- { code3: 'kan', code2: 'kn', name: 'Kannada' },
249
- { code3: 'kar', code2: '', name: 'Karen languages' },
250
- { code3: 'kas', code2: 'ks', name: 'Kashmiri' },
251
- { code3: 'kat', code2: 'ka', name: 'Georgian' },
252
- { code3: 'kau', code2: 'kr', name: 'Kanuri' },
253
- { code3: 'kaw', code2: '', name: 'Kawi' },
254
- { code3: 'kaz', code2: 'kk', name: 'Kazakh' },
255
- { code3: 'kbd', code2: '', name: 'Kabardian' },
256
- { code3: 'kha', code2: '', name: 'Khasi' },
257
- { code3: 'khi', code2: '', name: 'Khoisan languages' },
258
- { code3: 'khm', code2: 'km', name: 'Central Khmer' },
259
- { code3: 'kho', code2: '', name: 'Khotanese; Sakan' },
260
- { code3: 'kik', code2: 'ki', name: 'Kikuyu; Gikuyu' },
261
- { code3: 'kin', code2: 'rw', name: 'Kinyarwanda' },
262
- { code3: 'kir', code2: 'ky', name: 'Kirghiz; Kyrgyz' },
263
- { code3: 'kmb', code2: '', name: 'Kimbundu' },
264
- { code3: 'kok', code2: '', name: 'Konkani' },
265
- { code3: 'kom', code2: 'kv', name: 'Komi' },
266
- { code3: 'kon', code2: 'kg', name: 'Kongo' },
267
- { code3: 'kor', code2: 'ko', name: 'Korean' },
268
- { code3: 'kos', code2: '', name: 'Kosraean' },
269
- { code3: 'kpe', code2: '', name: 'Kpelle' },
270
- { code3: 'krc', code2: '', name: 'Karachay-Balkar' },
271
- { code3: 'krl', code2: '', name: 'Karelian' },
272
- { code3: 'kro', code2: '', name: 'Kru languages' },
273
- { code3: 'kru', code2: '', name: 'Kurukh' },
274
- { code3: 'kua', code2: 'kj', name: 'Kuanyama; Kwanyama' },
275
- { code3: 'kum', code2: '', name: 'Kumyk' },
276
- { code3: 'kur', code2: 'ku', name: 'Kurdish' },
277
- { code3: 'kut', code2: '', name: 'Kutenai' },
278
- { code3: 'lad', code2: '', name: 'Ladino' },
279
- { code3: 'lah', code2: '', name: 'Lahnda' },
280
- { code3: 'lam', code2: '', name: 'Lamba' },
281
- { code3: 'lao', code2: 'lo', name: 'Lao' },
282
- { code3: 'lat', code2: 'la', name: 'Latin' },
283
- { code3: 'lav', code2: 'lv', name: 'Latvian' },
284
- { code3: 'lez', code2: '', name: 'Lezghian' },
285
- { code3: 'lim', code2: 'li', name: 'Limburgan; Limburger; Limburgish' },
286
- { code3: 'lin', code2: 'ln', name: 'Lingala' },
287
- { code3: 'lit', code2: 'lt', name: 'Lithuanian' },
288
- { code3: 'lol', code2: '', name: 'Mongo' },
289
- { code3: 'loz', code2: '', name: 'Lozi' },
290
- { code3: 'ltz', code2: 'lb', name: 'Luxembourgish; Letzeburgesch' },
291
- { code3: 'lua', code2: '', name: 'Luba-Lulua' },
292
- { code3: 'lub', code2: 'lu', name: 'Luba-Katanga' },
293
- { code3: 'lug', code2: 'lg', name: 'Ganda' },
294
- { code3: 'lui', code2: '', name: 'Luiseno' },
295
- { code3: 'lun', code2: '', name: 'Lunda' },
296
- {
297
- code3: 'luo',
298
- code2: ' Luo (Kenya and Tanzania)',
299
- name: 'luo (Kenya et Tanzanie)',
300
- },
301
- { code3: 'lus', code2: '', name: 'Lushai' },
302
- { code3: 'mac', code2: 'mk', name: 'Macedonian' },
303
- { code3: 'mad', code2: '', name: 'Madurese' },
304
- { code3: 'mag', code2: '', name: 'Magahi' },
305
- { code3: 'mah', code2: 'mh', name: 'Marshallese' },
306
- { code3: 'mai', code2: '', name: 'Maithili' },
307
- { code3: 'mak', code2: '', name: 'Makasar' },
308
- { code3: 'mal', code2: 'ml', name: 'Malayalam' },
309
- { code3: 'man', code2: '', name: 'Mandingo' },
310
- { code3: 'mao', code2: 'mi', name: 'Maori' },
311
- { code3: 'map', code2: '', name: 'Austronesian languages' },
312
- { code3: 'mar', code2: 'mr', name: 'Marathi' },
313
- { code3: 'mas', code2: '', name: 'Masai' },
314
- { code3: 'may', code2: 'ms', name: 'Malay' },
315
- { code3: 'mdf', code2: '', name: 'Moksha' },
316
- { code3: 'mdr', code2: '', name: 'Mandar' },
317
- { code3: 'men', code2: '', name: 'Mende' },
318
- { code3: 'mga', code2: '', name: 'Irish, Middle (900-1200)' },
319
- { code3: 'mic', code2: '', name: "Mi'kmaq; Micmac" },
320
- { code3: 'min', code2: '', name: 'Minangkabau' },
321
- { code3: 'mis', code2: '', name: 'Uncoded languages' },
322
- { code3: 'mkd', code2: 'mk', name: 'Macedonian' },
323
- { code3: 'mkh', code2: '', name: 'Mon-Khmer languages' },
324
- { code3: 'mlg', code2: 'mg', name: 'Malagasy' },
325
- { code3: 'mlt', code2: 'mt', name: 'Maltese' },
326
- { code3: 'mnc', code2: '', name: 'Manchu' },
327
- { code3: 'mni', code2: '', name: 'Manipuri' },
328
- { code3: 'mno', code2: '', name: 'Manobo languages' },
329
- { code3: 'moh', code2: '', name: 'Mohawk' },
330
- { code3: 'mon', code2: 'mn', name: 'Mongolian' },
331
- { code3: 'mos', code2: '', name: 'Mossi' },
332
- { code3: 'mri', code2: 'mi', name: 'Maori' },
333
- { code3: 'msa', code2: 'ms', name: 'Malay' },
334
- { code3: 'mul', code2: '', name: 'Multiple languages' },
335
- { code3: 'mun', code2: '', name: 'Munda languages' },
336
- { code3: 'mus', code2: '', name: 'Creek' },
337
- { code3: 'mwl', code2: '', name: 'Mirandese' },
338
- { code3: 'mwr', code2: '', name: 'Marwari' },
339
- { code3: 'mya', code2: 'my', name: 'Burmese' },
340
- { code3: 'myn', code2: '', name: 'Mayan languages' },
341
- { code3: 'myv', code2: '', name: 'Erzya' },
342
- { code3: 'nah', code2: '', name: 'Nahuatl languages' },
343
- { code3: 'nai', code2: '', name: 'North American Indian languages' },
344
- { code3: 'nap', code2: '', name: 'Neapolitan' },
345
- { code3: 'nau', code2: 'na', name: 'Nauru' },
346
- { code3: 'nav', code2: 'nv', name: 'Navajo; Navaho' },
347
- { code3: 'nbl', code2: 'nr', name: 'Ndebele, South; South Ndebele' },
348
- { code3: 'nde', code2: 'nd', name: 'Ndebele, North; North Ndebele' },
349
- { code3: 'ndo', code2: 'ng', name: 'Ndonga' },
350
- {
351
- code3: 'nds',
352
- code2: '',
353
- name: 'Low German; Low Saxon; German, Low; Saxon, Low',
354
- },
355
- { code3: 'nep', code2: 'ne', name: 'Nepali' },
356
- { code3: 'new', code2: '', name: 'Nepal Bhasa; Newari' },
357
- { code3: 'nia', code2: '', name: 'Nias' },
358
- { code3: 'nic', code2: '', name: 'Niger-Kordofanian languages' },
359
- { code3: 'niu', code2: '', name: 'Niuean' },
360
- { code3: 'nld', code2: 'nl', name: 'Dutch; Flemish' },
361
- { code3: 'nno', code2: 'nn', name: 'Norwegian Nynorsk; Nynorsk, Norwegian' },
362
- { code3: 'nob', code2: 'nb', name: 'Bokmål, Norwegian; Norwegian Bokmål' },
363
- { code3: 'nog', code2: '', name: 'Nogai' },
364
- { code3: 'non', code2: '', name: 'Norse, Old' },
365
- { code3: 'nor', code2: 'no', name: 'Norwegian' },
366
- { code3: 'nqo', code2: '', name: "N'Ko" },
367
- { code3: 'nso', code2: '', name: 'Pedi; Sepedi; Northern Sotho' },
368
- { code3: 'nub', code2: '', name: 'Nubian languages' },
369
- {
370
- code3: 'nwc',
371
- code2: '',
372
- name: 'Classical Newari; Old Newari; Classical Nepal Bhasa',
373
- },
374
- { code3: 'nya', code2: 'ny', name: 'Chichewa; Chewa; Nyanja' },
375
- { code3: 'nym', code2: '', name: 'Nyamwezi' },
376
- { code3: 'nyn', code2: '', name: 'Nyankole' },
377
- { code3: 'nyo', code2: '', name: 'Nyoro' },
378
- { code3: 'nzi', code2: '', name: 'Nzima' },
379
- { code3: 'oci', code2: 'oc', name: 'Occitan (post 1500)' },
380
- { code3: 'oji', code2: 'oj', name: 'Ojibwa' },
381
- { code3: 'ori', code2: 'or', name: 'Oriya' },
382
- { code3: 'orm', code2: 'om', name: 'Oromo' },
383
- { code3: 'osa', code2: '', name: 'Osage' },
384
- { code3: 'oss', code2: 'os', name: 'Ossetian; Ossetic' },
385
- { code3: 'ota', code2: '', name: 'Turkish, Ottoman (1500-1928)' },
386
- { code3: 'oto', code2: '', name: 'Otomian languages' },
387
- { code3: 'paa', code2: '', name: 'Papuan languages' },
388
- { code3: 'pag', code2: '', name: 'Pangasinan' },
389
- { code3: 'pal', code2: ' ', name: 'Pahlavi' },
390
- { code3: 'pam', code2: ' ', name: 'Pampanga; Kapampangan' },
391
- { code3: 'pan', code2: 'paPanjabi; Punjabi', name: 'pendjabi' },
392
- { code3: 'pap', code2: ' ', name: 'Papiamento' },
393
- { code3: 'pau', code2: ' ', name: 'Palauan' },
394
- { code3: 'peo', code2: ' ', name: 'Persian, Old (ca.600-400 B.C.)' },
395
- { code3: 'per', code2: 'fa', name: 'Persian' },
396
- { code3: 'phi', code2: ' ', name: 'Philippine languages' },
397
- { code3: 'phn', code2: ' ', name: 'Phoenician' },
398
- { code3: 'pli', code2: 'pi', name: 'Pali' },
399
- { code3: 'pol', code2: 'pl', name: 'Polish' },
400
- { code3: 'pon', code2: ' ', name: 'Pohnpeian' },
401
- { code3: 'por', code2: 'pt', name: 'Portuguese' },
402
- { code3: 'pra', code2: ' ', name: 'Prakrit languages' },
403
- {
404
- code3: 'pro',
405
- code2: ' ',
406
- name: 'Provençal, Old (to 1500);Occitan, Old (to 1500)',
407
- },
408
- { code3: 'pus', code2: 'ps', name: 'Pushto; Pashto' },
409
- { code3: 'que', code2: 'qu', name: 'Quechua' },
410
- { code3: 'raj', code2: ' ', name: 'Rajasthani' },
411
- { code3: 'rap', code2: ' ', name: 'Rapanui' },
412
- { code3: 'rar', code2: ' ', name: 'Rarotongan; Cook Islands Maori' },
413
- { code3: 'roa', code2: ' ', name: 'Romance languages' },
414
- { code3: 'roh', code2: 'rm', name: 'Romansh' },
415
- { code3: 'rom', code2: ' ', name: 'Romany' },
416
- { code3: 'rum', code2: 'ro', name: 'Romanian; Moldavian; Moldovan' },
417
- { code3: 'ron', code2: 'ro', name: 'Romanian; Moldavian; Moldovan' },
418
- { code3: 'run', code2: 'rn', name: 'Rundi' },
419
- { code3: 'rup', code2: ' ', name: 'Aromanian; Arumanian; Macedo-Romanian' },
420
- { code3: 'rus', code2: 'ru', name: 'Russian' },
421
- { code3: 'sad', code2: ' ', name: 'Sandawe' },
422
- { code3: 'sag', code2: 'sg', name: 'Sango' },
423
- { code3: 'sah', code2: ' ', name: 'Yakut' },
424
- { code3: 'sai', code2: ' ', name: 'South American Indian languages' },
425
- { code3: 'sal', code2: ' ', name: 'Salishan languages' },
426
- { code3: 'sam', code2: ' ', name: 'Samaritan Aramaic' },
427
- { code3: 'san', code2: 'sa', name: 'Sanskrit' },
428
- { code3: 'sas', code2: ' ', name: 'Sasak' },
429
- { code3: 'sat', code2: ' ', name: 'Santali' },
430
- { code3: 'scn', code2: ' ', name: 'Sicilian' },
431
- { code3: 'sco', code2: ' ', name: 'Scots' },
432
- { code3: 'sel', code2: ' ', name: 'Selkup' },
433
- { code3: 'sem', code2: ' ', name: 'Semitic languages' },
434
- { code3: 'sga', code2: ' ', name: 'Irish, Old (to 900)' },
435
- { code3: 'sgn', code2: ' ', name: 'Sign Languages' },
436
- { code3: 'shn', code2: ' ', name: 'Shan' },
437
- { code3: 'sid', code2: ' ', name: 'Sidamo' },
438
- { code3: 'sin', code2: 'si', name: 'Sinhala; Sinhalese' },
439
- { code3: 'sio', code2: ' ', name: 'Siouan languages' },
440
- { code3: 'sit', code2: ' ', name: 'Sino-Tibetan languages' },
441
- { code3: 'sla', code2: ' ', name: 'Slavic languages' },
442
- { code3: 'slo', code2: 'sk', name: 'Slovak' },
443
- { code3: 'slk', code2: 'sk', name: 'Slovak' },
444
- { code3: 'slv', code2: 'sl', name: 'Slovenian' },
445
- { code3: 'sma', code2: ' ', name: 'Southern Sami' },
446
- { code3: 'sme', code2: 'se', name: 'Northern Sami' },
447
- { code3: 'smi', code2: ' ', name: 'Sami languages' },
448
- { code3: 'smj', code2: ' ', name: 'Lule Sami' },
449
- { code3: 'smn', code2: ' ', name: 'Inari Sami' },
450
- { code3: 'smo', code2: 'sm', name: 'Samoan' },
451
- { code3: 'sms', code2: ' ', name: 'Skolt Sami' },
452
- { code3: 'sna', code2: 'sn', name: 'Shona' },
453
- { code3: 'snd', code2: 'sd', name: 'Sindhi' },
454
- { code3: 'snk', code2: ' ', name: 'Soninke' },
455
- { code3: 'sog', code2: ' ', name: 'Sogdian' },
456
- { code3: 'som', code2: 'so', name: 'Somali' },
457
- { code3: 'son', code2: ' ', name: 'Songhai languages' },
458
- { code3: 'sot', code2: 'st', name: 'Sotho, Southern' },
459
- { code3: 'spa', code2: 'es', name: 'Spanish' },
460
- { code3: 'sqi', code2: 'sq', name: 'Albanian' },
461
- { code3: 'srd', code2: 'sc', name: 'Sardinian' },
462
- { code3: 'srn', code2: ' ', name: 'Sranan Tongo' },
463
- { code3: 'srp', code2: 'sr', name: 'Serbian' },
464
- { code3: 'srr', code2: ' ', name: 'Serer' },
465
- { code3: 'ssa', code2: ' ', name: 'Nilo-Saharan languages' },
466
- { code3: 'ssw', code2: 'ss', name: 'Swati' },
467
- { code3: 'suk', code2: ' ', name: 'Sukuma' },
468
- { code3: 'sun', code2: 'su', name: 'Sundanese' },
469
- { code3: 'sus', code2: ' ', name: 'Susu' },
470
- { code3: 'sux', code2: ' ', name: 'Sumerian' },
471
- { code3: 'swa', code2: 'sw', name: 'Swahili' },
472
- { code3: 'swe', code2: 'sv', name: 'Swedish' },
473
- { code3: 'syc', code2: ' ', name: 'Classical Syriac' },
474
- { code3: 'syr', code2: ' ', name: 'Syriac' },
475
- { code3: 'tah', code2: 'ty', name: 'Tahitian' },
476
- { code3: 'tai', code2: ' ', name: 'Tai languages' },
477
- { code3: 'tam', code2: 'ta', name: 'Tamil' },
478
- { code3: 'tat', code2: 'tt', name: 'Tatar' },
479
- { code3: 'tel', code2: 'te', name: 'Telugu' },
480
- { code3: 'tem', code2: ' ', name: 'Timne' },
481
- { code3: 'ter', code2: ' ', name: 'Tereno' },
482
- { code3: 'tet', code2: ' ', name: 'Tetum' },
483
- { code3: 'tgk', code2: 'tg', name: 'Tajik' },
484
- { code3: 'tgl', code2: 'tl', name: 'Tagalog' },
485
- { code3: 'tha', code2: 'th', name: 'Thai' },
486
- { code3: 'tib', code2: 'bo', name: 'Tibetan' },
487
- { code3: 'tig', code2: ' ', name: 'Tigre' },
488
- { code3: 'tir', code2: 'ti', name: 'Tigrinya' },
489
- { code3: 'tiv', code2: ' ', name: 'Tiv' },
490
- { code3: 'tkl', code2: ' ', name: 'Tokelau' },
491
- { code3: 'tlh', code2: ' ', name: 'Klingon; tlhIngan-Hol' },
492
- { code3: 'tli', code2: ' ', name: 'Tlingit' },
493
- { code3: 'tmh', code2: ' ', name: 'Tamashek' },
494
- { code3: 'tog', code2: ' ', name: 'Tonga (Nyasa)' },
495
- { code3: 'ton', code2: 'to', name: 'Tonga (Tonga Islands)' },
496
- { code3: 'tpi', code2: ' ', name: 'Tok Pisin' },
497
- { code3: 'tsi', code2: ' ', name: 'Tsimshian' },
498
- { code3: 'tsn', code2: 'tn', name: 'Tswana' },
499
- { code3: 'tso', code2: 'ts', name: 'Tsonga' },
500
- { code3: 'tuk', code2: 'tk', name: 'Turkmen' },
501
- { code3: 'tum', code2: ' ', name: 'Tumbuka' },
502
- { code3: 'tup', code2: ' ', name: 'Tupi languages' },
503
- { code3: 'tur', code2: 'tr', name: 'Turkish' },
504
- { code3: 'tut', code2: ' ', name: 'Altaic languages' },
505
- { code3: 'tvl', code2: ' ', name: 'Tuvalu' },
506
- { code3: 'twi', code2: 'tw', name: 'Twi' },
507
- { code3: 'tyv', code2: ' ', name: 'Tuvinian' },
508
- { code3: 'udm', code2: ' ', name: 'Udmurt' },
509
- { code3: 'uga', code2: ' ', name: 'Ugaritic' },
510
- { code3: 'uig', code2: 'ug', name: 'Uighur; Uyghur' },
511
- { code3: 'ukr', code2: 'uk', name: 'Ukrainian' },
512
- { code3: 'umb', code2: ' ', name: 'Umbundu' },
513
- { code3: 'und', code2: ' ', name: 'Undetermined' },
514
- { code3: 'urd', code2: 'ur', name: 'Urdu' },
515
- { code3: 'uzb', code2: 'uz', name: 'Uzbek' },
516
- { code3: 'vai', code2: ' ', name: 'Vai' },
517
- { code3: 'ven', code2: 've', name: 'Venda' },
518
- { code3: 'vie', code2: 'vi', name: 'Vietnamese' },
519
- { code3: 'vol', code2: 'vo', name: 'Volapük' },
520
- { code3: 'vot', code2: ' ', name: 'Votic' },
521
- { code3: 'wak', code2: ' ', name: 'Wakashan languages' },
522
- { code3: 'wal', code2: ' ', name: 'Wolaitta; Wolaytta' },
523
- { code3: 'war', code2: ' ', name: 'Waray' },
524
- { code3: 'was', code2: ' ', name: 'Washo' },
525
- { code3: 'wel', code2: 'cy', name: 'Welsh' },
526
- { code3: 'wen', code2: ' ', name: 'Sorbian languages' },
527
- { code3: 'wln', code2: 'wa', name: 'Walloon' },
528
- { code3: 'wol', code2: 'wo', name: 'Wolof' },
529
- { code3: 'xal', code2: ' ', name: 'Kalmyk; Oirat' },
530
- { code3: 'xho', code2: 'xh', name: 'Xhosa' },
531
- { code3: 'yao', code2: ' ', name: 'Yao' },
532
- { code3: 'yap', code2: ' ', name: 'Yapese' },
533
- { code3: 'yid', code2: 'yi', name: 'Yiddish' },
534
- { code3: 'yor', code2: 'yo', name: 'Yoruba' },
535
- { code3: 'ypk', code2: ' ', name: 'Yupik languages' },
536
- { code3: 'zap', code2: ' ', name: 'Zapotec' },
537
- { code3: 'zbl', code2: ' ', name: 'Blissymbols; Blissymbolics; Bliss' },
538
- { code3: 'zen', code2: ' ', name: 'Zenaga' },
539
- { code3: 'zgh', code2: ' ', name: 'Standard Moroccan Tamazight' },
540
- { code3: 'zha', code2: 'za', name: 'Zhuang; Chuang' },
541
- { code3: 'zho', code2: 'zh', name: 'Chinese' },
542
- { code3: 'znd', code2: ' ', name: 'Zande languages' },
543
- { code3: 'zul', code2: 'zu', name: 'Zulu' },
544
- { code3: 'zun', code2: ' ', name: 'Zuni' },
545
- {
546
- code3: 'zza',
547
- code2: '',
548
- name: 'Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki',
549
- },
550
- ]
551
-
552
- export const LANGUAGES_MAP_CODE3 = Object.fromEntries(
553
- LANGUAGES.map((lang) => [lang.code3, lang]),
554
- )
555
-
556
- export function code3ToCode2(lang: string): string {
557
- if (lang.length === 3) {
558
- return LANGUAGES_MAP_CODE3[lang]?.code2 || lang
559
- }
560
- return lang
561
- }