ochre-sdk 1.3.6 → 1.3.7

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.
package/README.md CHANGED
@@ -134,14 +134,14 @@ const result = await fetchWebsite("uchicago-node", { languages });
134
134
 
135
135
  ## Language Codes
136
136
 
137
- OCHRE publishes ISO 639-2/B language codes, the Library of Congress MARC convention, and every language the SDK reads or accepts uses them: the bibliographic code wherever ISO 639-2 has one (`per` for Persian, not ISO 639-3 `fas`; `fre`, `chi`, `ger`), the ISO 639-3 identifier where it has none (`yua`, `lzh`), and a few codes of its own for transliterations and vocabularies (`ota-xlt`, `rel`), some of which collide with unrelated ISO 639-3 languages. Requests in any other code are rejected, with the OCHRE code to use when one exists.
137
+ OCHRE publishes ISO 639-2 language codes in their bibliographic (B) form, the Library of Congress MARC convention, and every language the SDK reads or accepts uses them: `per` for Persian, not ISO 639-3 `fas`, and likewise `fre`, `chi` and `ger`. There are three exceptions: the ISO 639-3 identifier where ISO 639-2 has no code (`yua`, `lzh`), the terminology (T) form for Dutch (`nld`, not `dut`), and a few codes of OCHRE's own for transliterations and vocabularies (`ota-xlt`, `rel`), some of which collide with unrelated ISO 639-3 languages. Requests in any other code are rejected, with the OCHRE code to use when one exists.
138
138
 
139
- `OCHRE_LANGUAGES` maps every code OCHRE publishes to its name, what it tags (a `language`, a `transliteration`, a `vocabulary` or `non-linguistic` content), its ISO 639-3 identifier and the BCP 47 tag to give `Intl` or an HTML `lang` attribute. Either standard is `null` when none fits.
139
+ `OCHRE_LANGUAGES` maps every code OCHRE publishes to its name, what it tags (a `language`, a `transliteration`, a `vocabulary` or `non-linguistic` content), the standard the code itself is taken from (`iso639-2b`, or one of the exceptions: `iso639-3`, `iso639-2t`, `bcp47` or `ochre`), its ISO 639-3 identifier and the BCP 47 tag to give `Intl` or an HTML `lang` attribute. Either standard is `null` when none fits.
140
140
 
141
141
  ```ts
142
142
  import { getOchreLanguage, getOchreLanguageCode } from "ochre-sdk";
143
143
 
144
- getOchreLanguage("per"); // { name: "Persian", kind: "language", iso639_3: "fas", bcp47: "fa" }
144
+ getOchreLanguage("per"); // { name: "Persian", kind: "language", standard: "iso639-2b", iso639_3: "fas", bcp47: "fa" }
145
145
  getOchreLanguage("ota-xlt")?.bcp47; // "ota-Latn-t-ota-arab"
146
146
  getOchreLanguageCode("fas"); // "per"
147
147
  ```
package/dist/index.d.mts CHANGED
@@ -15,6 +15,6 @@ import { fetchWebsiteMetadata } from "./fetchers/website-metadata.mjs";
15
15
  import { fetchWebsite } from "./fetchers/website.mjs";
16
16
  import { PropertyOptions, PropertySelector, getLeafPropertyValues, getProperty, getPropertyValue, getPropertyValues, getUniqueProperties, getUniquePropertyVariableLabels, isPropertyMatchingFilter, normalizePropertyVariableLabel } from "./getters.mjs";
17
17
  import { flattenItemProperties } from "./helpers.mjs";
18
- import { OCHRE_LANGUAGES, OchreLanguage, OchreLanguageCode, OchreLanguageKind, getOchreLanguage, getOchreLanguageCode, isOchreLanguageCode } from "./languages.mjs";
18
+ import { OCHRE_LANGUAGES, OchreLanguage, OchreLanguageCode, OchreLanguageKind, OchreLanguageStandard, getOchreLanguage, getOchreLanguageCode, isOchreLanguageCode } from "./languages.mjs";
19
19
  import { defineLanguages } from "./parsers/languages.mjs";
20
- export { type AccordionWebBlock, type AnyBibliography, type AnyConcept, type AnyItem, type AnyPeriod, type AnyPerson, type AnyPropertyValue, type AnyPropertyVariable, type AnyResource, type AnySet, type AnySpatialUnit, type AnyText, type AnyTree, type BaseItem, type BaseItemLink, type BelongsTo, type Bibliography, type BibliographyEntryInfo, type BibliographyItemLink, type BibliographySourceDocument, type Concept, type ConceptItemLink, type ContainedItemCategory, type ContainedItemCategoryFromOption, type ContainedItemCategoryOption, type Context, type ContextItem, type ContextItemCategory, type ContextNode, type ContextTree, type ContextTreeFilterLevel, type ContextTreeFilterVariant, type ContextTreeLevel, type ContextTreeLevelItem, type Coordinates, type CoordinatesSource, DEFAULT_PAGE_SIZE, type DictionaryUnitItemLink, type EmbeddedBibliography, type EmbeddedConcept, type EmbeddedItem, type EmbeddedPeriod, type EmbeddedPerson, type EmbeddedPropertyValue, type EmbeddedPropertyVariable, type EmbeddedResource, type EmbeddedSet, type EmbeddedSpatialUnit, type EmbeddedText, type EmbeddedTree, type Event, type Gallery, type Heading, type HeadingItemCategory, type Identification, type Image, type ImageMap, type ImageMapArea, type Interpretation, type Item, type ItemCategory, type ItemCategoryFromOption, type ItemCategoryOption, type ItemCategoryWithEmbeddedItems, type ItemContainerCategory, type ItemLink, type ItemLinkCategory, type ItemLinks, type ItemPayloadKind, type ItemProperty, type ItemWithoutEmbeddedItems, type LanguageCodes, type License, type Metadata, type MultilingualOptions, MultilingualString, type MultilingualStringEntries, type MultilingualStringEntry, type MultilingualStringInput, type MultilingualStringJSON, type MultilingualStringObject, type MultilingualStringText, type Note, OCHRE_LANGUAGES, type Observation, type OchreLanguage, type OchreLanguageCode, type OchreLanguageKind, type OcrString, type Period, type PeriodItemLink, type Person, type PersonItemLink, type Property, type PropertyLike, type PropertyOptions, type PropertyRelation, type PropertySelector, type PropertyValue, type PropertyValueContent, type PropertyValueDataType, type PropertyValueItemLink, type PropertyValueQueryItem, type PropertyVariable, type PropertyVariableItemLink, type ProtectedWebsite, type Query, type QueryGroup, type QueryLeaf, type QueryablePropertyValueDataType, type RecursiveItemCategory, type Resource, type ResourceItemLink, type ResponsiveStyles, type Scope, type Section, type Set, type SetAttributeValueQueryItem, type SetBibliography, type SetConcept, type SetItem, type SetItemCategory, type SetItemLink, type SetItemLocation, type SetItemProperty, type SetItemSimplifiedProperty, type SetItemsSort, type SetItemsSortDirection, type SetPeriod, type SetResource, type SetSpatialUnit, type SetStyle, type SetStyleProperty, type SetTree, type SimplifiedProperty, type SpatialUnit, type SpatialUnitItemLink, type Style, type StylesheetCategory, type StylesheetItem, type Text, type TextItemLink, type TopLevelItem, type Tree, type TreeItemCategory, type TreeItemLink, type WebAccordionItem, type WebBlock, type WebBlockByLayout, type WebBlockItem, type WebBlockLayout, type WebElement, type WebElementComponent, type WebElementComponentName, type WebElementComponentOf, type WebElementOf, type WebIiifViewer, type WebImage, type WebLoadingVariant, type WebOptions, type WebRelationVariant, type WebSectionDisplay, type WebSectionVariant, type WebSidebar, type WebTitle, type Webpage, type Website, type WebsiteMetadata, type WebsitePrivacy, type WebsitePropertyQuery, type WebsitePropertyQueryNode, type WebsiteSegment, type WebsiteType, defineLanguages, fetchGallery, fetchItem, fetchItemChildren, fetchItemLinks, fetchItemOcrData, fetchSetItemLocations, fetchSetItems, fetchSetPropertyValues, fetchTreeItems, fetchWebsite, fetchWebsiteMetadata, flattenItemProperties, getLeafPropertyValues, getOchreLanguage, getOchreLanguageCode, getProperty, getPropertyValue, getPropertyValues, getUniqueProperties, getUniquePropertyVariableLabels, isOchreLanguageCode, isPropertyMatchingFilter, normalizePropertyVariableLabel };
20
+ export { type AccordionWebBlock, type AnyBibliography, type AnyConcept, type AnyItem, type AnyPeriod, type AnyPerson, type AnyPropertyValue, type AnyPropertyVariable, type AnyResource, type AnySet, type AnySpatialUnit, type AnyText, type AnyTree, type BaseItem, type BaseItemLink, type BelongsTo, type Bibliography, type BibliographyEntryInfo, type BibliographyItemLink, type BibliographySourceDocument, type Concept, type ConceptItemLink, type ContainedItemCategory, type ContainedItemCategoryFromOption, type ContainedItemCategoryOption, type Context, type ContextItem, type ContextItemCategory, type ContextNode, type ContextTree, type ContextTreeFilterLevel, type ContextTreeFilterVariant, type ContextTreeLevel, type ContextTreeLevelItem, type Coordinates, type CoordinatesSource, DEFAULT_PAGE_SIZE, type DictionaryUnitItemLink, type EmbeddedBibliography, type EmbeddedConcept, type EmbeddedItem, type EmbeddedPeriod, type EmbeddedPerson, type EmbeddedPropertyValue, type EmbeddedPropertyVariable, type EmbeddedResource, type EmbeddedSet, type EmbeddedSpatialUnit, type EmbeddedText, type EmbeddedTree, type Event, type Gallery, type Heading, type HeadingItemCategory, type Identification, type Image, type ImageMap, type ImageMapArea, type Interpretation, type Item, type ItemCategory, type ItemCategoryFromOption, type ItemCategoryOption, type ItemCategoryWithEmbeddedItems, type ItemContainerCategory, type ItemLink, type ItemLinkCategory, type ItemLinks, type ItemPayloadKind, type ItemProperty, type ItemWithoutEmbeddedItems, type LanguageCodes, type License, type Metadata, type MultilingualOptions, MultilingualString, type MultilingualStringEntries, type MultilingualStringEntry, type MultilingualStringInput, type MultilingualStringJSON, type MultilingualStringObject, type MultilingualStringText, type Note, OCHRE_LANGUAGES, type Observation, type OchreLanguage, type OchreLanguageCode, type OchreLanguageKind, type OchreLanguageStandard, type OcrString, type Period, type PeriodItemLink, type Person, type PersonItemLink, type Property, type PropertyLike, type PropertyOptions, type PropertyRelation, type PropertySelector, type PropertyValue, type PropertyValueContent, type PropertyValueDataType, type PropertyValueItemLink, type PropertyValueQueryItem, type PropertyVariable, type PropertyVariableItemLink, type ProtectedWebsite, type Query, type QueryGroup, type QueryLeaf, type QueryablePropertyValueDataType, type RecursiveItemCategory, type Resource, type ResourceItemLink, type ResponsiveStyles, type Scope, type Section, type Set, type SetAttributeValueQueryItem, type SetBibliography, type SetConcept, type SetItem, type SetItemCategory, type SetItemLink, type SetItemLocation, type SetItemProperty, type SetItemSimplifiedProperty, type SetItemsSort, type SetItemsSortDirection, type SetPeriod, type SetResource, type SetSpatialUnit, type SetStyle, type SetStyleProperty, type SetTree, type SimplifiedProperty, type SpatialUnit, type SpatialUnitItemLink, type Style, type StylesheetCategory, type StylesheetItem, type Text, type TextItemLink, type TopLevelItem, type Tree, type TreeItemCategory, type TreeItemLink, type WebAccordionItem, type WebBlock, type WebBlockByLayout, type WebBlockItem, type WebBlockLayout, type WebElement, type WebElementComponent, type WebElementComponentName, type WebElementComponentOf, type WebElementOf, type WebIiifViewer, type WebImage, type WebLoadingVariant, type WebOptions, type WebRelationVariant, type WebSectionDisplay, type WebSectionVariant, type WebSidebar, type WebTitle, type Webpage, type Website, type WebsiteMetadata, type WebsitePrivacy, type WebsitePropertyQuery, type WebsitePropertyQueryNode, type WebsiteSegment, type WebsiteType, defineLanguages, fetchGallery, fetchItem, fetchItemChildren, fetchItemLinks, fetchItemOcrData, fetchSetItemLocations, fetchSetItems, fetchSetPropertyValues, fetchTreeItems, fetchWebsite, fetchWebsiteMetadata, flattenItemProperties, getLeafPropertyValues, getOchreLanguage, getOchreLanguageCode, getProperty, getPropertyValue, getPropertyValues, getUniqueProperties, getUniquePropertyVariableLabels, isOchreLanguageCode, isPropertyMatchingFilter, normalizePropertyVariableLabel };
@@ -9,6 +9,18 @@
9
9
  * labels that are not in any language
10
10
  */
11
11
  export type OchreLanguageKind = "language" | "transliteration" | "vocabulary" | "non-linguistic";
12
+ /**
13
+ * The standard an OCHRE language code is taken from
14
+ *
15
+ * - `iso639-2b`: the bibliographic ISO 639-2 code, which is OCHRE's rule
16
+ * - `iso639-2t`: the terminology ISO 639-2 code, which OCHRE uses for Dutch
17
+ * - `iso639-3`: the ISO 639-3 identifier, for languages ISO 639-2 has no
18
+ * code for
19
+ * - `bcp47`: a BCP 47 tag (`zh-Latn-pinyin`)
20
+ * - `ochre`: a code of OCHRE's own, which may collide with an unrelated
21
+ * ISO 639-3 language (`lmc` is OCHRE's Late Middle Chinese, ISO's Limilngan)
22
+ */
23
+ export type OchreLanguageStandard = "iso639-2b" | "iso639-2t" | "iso639-3" | "bcp47" | "ochre";
12
24
  /**
13
25
  * A language code OCHRE publishes, with the standard codes it stands for
14
26
  */
@@ -21,6 +33,10 @@ export type OchreLanguage = {
21
33
  * What the code tags
22
34
  */
23
35
  kind: OchreLanguageKind;
36
+ /**
37
+ * The standard the OCHRE code itself is taken from
38
+ */
39
+ standard: OchreLanguageStandard;
24
40
  /**
25
41
  * The ISO 639-3 identifier of the language, or null when the code tags
26
42
  * no language, or a language ISO 639-3 does not code
@@ -36,522 +52,608 @@ export type OchreLanguage = {
36
52
  * Every language code OCHRE publishes, mapped to the ISO 639-3 and BCP 47
37
53
  * codes it stands for
38
54
  *
39
- * OCHRE publishes ISO 639-2/B codes, the Library of Congress MARC
40
- * convention: the bibliographic code wherever ISO 639-2 has one (`per`,
41
- * not ISO 639-3 `fas`), the ISO 639-3 identifier where it has none
42
- * (`yua`), and a few codes of its own (`ota-xlt`, `rel`), some of which
43
- * collide with unrelated ISO 639-3 languages. Key everything by these codes,
44
- * because they are what OCHRE serves, and convert through this table when a
45
- * standard code is needed.
55
+ * OCHRE publishes ISO 639-2 codes in their bibliographic (B) form, the
56
+ * Library of Congress MARC convention (`per`, not ISO 639-3 `fas`), with
57
+ * three exceptions: the ISO 639-3 identifier where ISO 639-2 has no code
58
+ * (`yua`), the terminology (T) form for Dutch (`nld`, not `dut`), and codes
59
+ * of its own for transliterations and vocabularies (`ota-xlt`, `rel`), some
60
+ * of which collide with unrelated ISO 639-3 languages. Key everything by
61
+ * these codes, because they are what OCHRE serves, and convert through this
62
+ * table when a standard code is needed.
46
63
  */
47
64
  export declare const OCHRE_LANGUAGES: {
48
65
  readonly akk: {
49
66
  readonly name: "Akkadian";
50
67
  readonly kind: "language";
68
+ readonly standard: "iso639-2b";
51
69
  readonly iso639_3: "akk";
52
70
  readonly bcp47: "akk";
53
71
  };
54
72
  readonly xno: {
55
73
  readonly name: "Anglo-Norman";
56
74
  readonly kind: "language";
75
+ readonly standard: "iso639-3";
57
76
  readonly iso639_3: "xno";
58
77
  readonly bcp47: "xno";
59
78
  };
60
79
  readonly ara: {
61
80
  readonly name: "Arabic";
62
81
  readonly kind: "language";
82
+ readonly standard: "iso639-2b";
63
83
  readonly iso639_3: "ara";
64
84
  readonly bcp47: "ar";
65
85
  };
66
86
  readonly arc: {
67
87
  readonly name: "Aramaic";
68
88
  readonly kind: "language";
89
+ readonly standard: "iso639-2b";
69
90
  readonly iso639_3: "arc";
70
91
  readonly bcp47: "arc";
71
92
  };
72
93
  readonly arm: {
73
94
  readonly name: "Armenian";
74
95
  readonly kind: "language";
96
+ readonly standard: "iso639-2b";
75
97
  readonly iso639_3: "hye";
76
98
  readonly bcp47: "hy";
77
99
  };
78
100
  readonly bel: {
79
101
  readonly name: "Belarusian";
80
102
  readonly kind: "language";
103
+ readonly standard: "iso639-2b";
81
104
  readonly iso639_3: "bel";
82
105
  readonly bcp47: "be";
83
106
  };
84
107
  readonly ben: {
85
108
  readonly name: "Bengali";
86
109
  readonly kind: "language";
110
+ readonly standard: "iso639-2b";
87
111
  readonly iso639_3: "ben";
88
112
  readonly bcp47: "bn";
89
113
  };
90
114
  readonly btc: {
91
115
  readonly name: "Betacode";
92
116
  readonly kind: "vocabulary";
117
+ readonly standard: "ochre";
93
118
  readonly iso639_3: null;
94
119
  readonly bcp47: "grc-Latn-x-betacode";
95
120
  };
96
121
  readonly bos: {
97
122
  readonly name: "Bosnian";
98
123
  readonly kind: "language";
124
+ readonly standard: "iso639-2b";
99
125
  readonly iso639_3: "bos";
100
126
  readonly bcp47: "bs";
101
127
  };
102
128
  readonly bul: {
103
129
  readonly name: "Bulgarian";
104
130
  readonly kind: "language";
131
+ readonly standard: "iso639-2b";
105
132
  readonly iso639_3: "bul";
106
133
  readonly bcp47: "bg";
107
134
  };
108
135
  readonly cnn: {
109
136
  readonly name: "Canaanite";
110
137
  readonly kind: "language";
138
+ readonly standard: "ochre";
111
139
  readonly iso639_3: null;
112
140
  readonly bcp47: null;
113
141
  };
114
142
  readonly yue: {
115
143
  readonly name: "Cantonese";
116
144
  readonly kind: "language";
145
+ readonly standard: "iso639-3";
117
146
  readonly iso639_3: "yue";
118
147
  readonly bcp47: "yue";
119
148
  };
120
149
  readonly cat: {
121
150
  readonly name: "Catalan";
122
151
  readonly kind: "language";
152
+ readonly standard: "iso639-2b";
123
153
  readonly iso639_3: "cat";
124
154
  readonly bcp47: "ca";
125
155
  };
126
156
  readonly chi: {
127
157
  readonly name: "Chinese";
128
158
  readonly kind: "language";
159
+ readonly standard: "iso639-2b";
129
160
  readonly iso639_3: "zho";
130
161
  readonly bcp47: "zh";
131
162
  };
132
163
  readonly chu: {
133
164
  readonly name: "Church Slavonic";
134
165
  readonly kind: "language";
166
+ readonly standard: "iso639-2b";
135
167
  readonly iso639_3: "chu";
136
168
  readonly bcp47: "cu";
137
169
  };
138
170
  readonly lzh: {
139
171
  readonly name: "Classical Chinese";
140
172
  readonly kind: "language";
173
+ readonly standard: "iso639-3";
141
174
  readonly iso639_3: "lzh";
142
175
  readonly bcp47: "lzh";
143
176
  };
144
177
  readonly cop: {
145
178
  readonly name: "Coptic";
146
179
  readonly kind: "language";
180
+ readonly standard: "iso639-2b";
147
181
  readonly iso639_3: "cop";
148
182
  readonly bcp47: "cop";
149
183
  };
150
184
  readonly hrv: {
151
185
  readonly name: "Croatian";
152
186
  readonly kind: "language";
187
+ readonly standard: "iso639-2b";
153
188
  readonly iso639_3: "hrv";
154
189
  readonly bcp47: "hr";
155
190
  };
156
191
  readonly cze: {
157
192
  readonly name: "Czech";
158
193
  readonly kind: "language";
194
+ readonly standard: "iso639-2b";
159
195
  readonly iso639_3: "ces";
160
196
  readonly bcp47: "cs";
161
197
  };
162
198
  readonly egyd: {
163
199
  readonly name: "Demotic";
164
200
  readonly kind: "language";
201
+ readonly standard: "ochre";
165
202
  readonly iso639_3: "egy";
166
203
  readonly bcp47: "egy-Egyd";
167
204
  };
168
205
  readonly nld: {
169
206
  readonly name: "Dutch";
170
207
  readonly kind: "language";
208
+ readonly standard: "iso639-2t";
171
209
  readonly iso639_3: "nld";
172
210
  readonly bcp47: "nl";
173
211
  };
174
212
  readonly dum: {
175
213
  readonly name: "Dutch (Middle)";
176
214
  readonly kind: "language";
215
+ readonly standard: "iso639-2b";
177
216
  readonly iso639_3: "dum";
178
217
  readonly bcp47: "dum";
179
218
  };
180
219
  readonly egy: {
181
220
  readonly name: "Egyptian";
182
221
  readonly kind: "language";
222
+ readonly standard: "iso639-2b";
183
223
  readonly iso639_3: "egy";
184
224
  readonly bcp47: "egy";
185
225
  };
186
226
  readonly elx: {
187
227
  readonly name: "Elamite";
188
228
  readonly kind: "language";
229
+ readonly standard: "iso639-2b";
189
230
  readonly iso639_3: "elx";
190
231
  readonly bcp47: "elx";
191
232
  };
192
233
  readonly eng: {
193
234
  readonly name: "English";
194
235
  readonly kind: "language";
236
+ readonly standard: "iso639-2b";
195
237
  readonly iso639_3: "eng";
196
238
  readonly bcp47: "en";
197
239
  };
198
240
  readonly enm: {
199
241
  readonly name: "English (Middle)";
200
242
  readonly kind: "language";
243
+ readonly standard: "iso639-2b";
201
244
  readonly iso639_3: "enm";
202
245
  readonly bcp47: "enm";
203
246
  };
204
247
  readonly ecy: {
205
248
  readonly name: "Eteocypriot";
206
249
  readonly kind: "language";
250
+ readonly standard: "iso639-3";
207
251
  readonly iso639_3: "ecy";
208
252
  readonly bcp47: "ecy";
209
253
  };
210
254
  readonly fre: {
211
255
  readonly name: "French";
212
256
  readonly kind: "language";
257
+ readonly standard: "iso639-2b";
213
258
  readonly iso639_3: "fra";
214
259
  readonly bcp47: "fr";
215
260
  };
216
261
  readonly frm: {
217
262
  readonly name: "French (Middle)";
218
263
  readonly kind: "language";
264
+ readonly standard: "iso639-2b";
219
265
  readonly iso639_3: "frm";
220
266
  readonly bcp47: "frm";
221
267
  };
222
268
  readonly fro: {
223
269
  readonly name: "French (Old)";
224
270
  readonly kind: "language";
271
+ readonly standard: "iso639-2b";
225
272
  readonly iso639_3: "fro";
226
273
  readonly bcp47: "fro";
227
274
  };
228
275
  readonly geo: {
229
276
  readonly name: "Georgian";
230
277
  readonly kind: "language";
278
+ readonly standard: "iso639-2b";
231
279
  readonly iso639_3: "kat";
232
280
  readonly bcp47: "ka";
233
281
  };
234
282
  readonly ger: {
235
283
  readonly name: "German";
236
284
  readonly kind: "language";
285
+ readonly standard: "iso639-2b";
237
286
  readonly iso639_3: "deu";
238
287
  readonly bcp47: "de";
239
288
  };
240
289
  readonly nds: {
241
290
  readonly name: "German (Low)";
242
291
  readonly kind: "language";
292
+ readonly standard: "iso639-2b";
243
293
  readonly iso639_3: "nds";
244
294
  readonly bcp47: "nds";
245
295
  };
246
296
  readonly gmh: {
247
297
  readonly name: "German (Middle High)";
248
298
  readonly kind: "language";
299
+ readonly standard: "iso639-2b";
249
300
  readonly iso639_3: "gmh";
250
301
  readonly bcp47: "gmh";
251
302
  };
252
303
  readonly goh: {
253
304
  readonly name: "German (Old High)";
254
305
  readonly kind: "language";
306
+ readonly standard: "iso639-2b";
255
307
  readonly iso639_3: "goh";
256
308
  readonly bcp47: "goh";
257
309
  };
258
310
  readonly grc: {
259
311
  readonly name: "Greek";
260
312
  readonly kind: "language";
313
+ readonly standard: "iso639-2b";
261
314
  readonly iso639_3: "grc";
262
315
  readonly bcp47: "grc";
263
316
  };
264
317
  readonly guj: {
265
318
  readonly name: "Gujarati";
266
319
  readonly kind: "language";
320
+ readonly standard: "iso639-2b";
267
321
  readonly iso639_3: "guj";
268
322
  readonly bcp47: "gu";
269
323
  };
270
324
  readonly "zh-Latn-pinyin": {
271
325
  readonly name: "Hanyu Pinyin";
272
326
  readonly kind: "transliteration";
327
+ readonly standard: "bcp47";
273
328
  readonly iso639_3: "cmn";
274
329
  readonly bcp47: "zh-Latn-pinyin";
275
330
  };
276
331
  readonly htt: {
277
332
  readonly name: "Hattian";
278
333
  readonly kind: "language";
334
+ readonly standard: "ochre";
279
335
  readonly iso639_3: "xht";
280
336
  readonly bcp47: "xht";
281
337
  };
282
338
  readonly heb: {
283
339
  readonly name: "Hebrew";
284
340
  readonly kind: "language";
341
+ readonly standard: "iso639-2b";
285
342
  readonly iso639_3: "heb";
286
343
  readonly bcp47: "he";
287
344
  };
288
345
  readonly hin: {
289
346
  readonly name: "Hindi";
290
347
  readonly kind: "language";
348
+ readonly standard: "iso639-2b";
291
349
  readonly iso639_3: "hin";
292
350
  readonly bcp47: "hi";
293
351
  };
294
352
  readonly hit: {
295
353
  readonly name: "Hittite";
296
354
  readonly kind: "language";
355
+ readonly standard: "iso639-2b";
297
356
  readonly iso639_3: "hit";
298
357
  readonly bcp47: "hit";
299
358
  };
300
359
  readonly xhu: {
301
360
  readonly name: "Hurrian";
302
361
  readonly kind: "language";
362
+ readonly standard: "iso639-3";
303
363
  readonly iso639_3: "xhu";
304
364
  readonly bcp47: "xhu";
305
365
  };
306
366
  readonly ita: {
307
367
  readonly name: "Italian";
308
368
  readonly kind: "language";
369
+ readonly standard: "iso639-2b";
309
370
  readonly iso639_3: "ita";
310
371
  readonly bcp47: "it";
311
372
  };
312
373
  readonly jpn: {
313
374
  readonly name: "Japanese";
314
375
  readonly kind: "language";
376
+ readonly standard: "iso639-2b";
315
377
  readonly iso639_3: "jpn";
316
378
  readonly bcp47: "ja";
317
379
  };
318
380
  readonly "jpn-xlt": {
319
381
  readonly name: "Japanese XLit";
320
382
  readonly kind: "transliteration";
383
+ readonly standard: "ochre";
321
384
  readonly iso639_3: "jpn";
322
385
  readonly bcp47: "ja-Latn-t-ja";
323
386
  };
324
387
  readonly kaz: {
325
388
  readonly name: "Kazakh";
326
389
  readonly kind: "language";
390
+ readonly standard: "iso639-2b";
327
391
  readonly iso639_3: "kaz";
328
392
  readonly bcp47: "kk";
329
393
  };
330
394
  readonly kor: {
331
395
  readonly name: "Korean";
332
396
  readonly kind: "language";
397
+ readonly standard: "iso639-2b";
333
398
  readonly iso639_3: "kor";
334
399
  readonly bcp47: "ko";
335
400
  };
336
401
  readonly lmc: {
337
402
  readonly name: "Late Middle Chinese";
338
403
  readonly kind: "language";
404
+ readonly standard: "ochre";
339
405
  readonly iso639_3: "ltc";
340
406
  readonly bcp47: "ltc";
341
407
  };
342
408
  readonly lat: {
343
409
  readonly name: "Latin";
344
410
  readonly kind: "language";
411
+ readonly standard: "iso639-2b";
345
412
  readonly iso639_3: "lat";
346
413
  readonly bcp47: "la";
347
414
  };
348
415
  readonly xlt: {
349
416
  readonly name: "Latin XLit";
350
417
  readonly kind: "transliteration";
418
+ readonly standard: "ochre";
351
419
  readonly iso639_3: null;
352
420
  readonly bcp47: "und-Latn";
353
421
  };
354
422
  readonly luw: {
355
423
  readonly name: "Luwian";
356
424
  readonly kind: "language";
425
+ readonly standard: "ochre";
357
426
  readonly iso639_3: null;
358
427
  readonly bcp47: null;
359
428
  };
360
429
  readonly cmn: {
361
430
  readonly name: "Mandarin";
362
431
  readonly kind: "language";
432
+ readonly standard: "iso639-3";
363
433
  readonly iso639_3: "cmn";
364
434
  readonly bcp47: "cmn";
365
435
  };
366
436
  readonly mar: {
367
437
  readonly name: "Marathi";
368
438
  readonly kind: "language";
439
+ readonly standard: "iso639-2b";
369
440
  readonly iso639_3: "mar";
370
441
  readonly bcp47: "mr";
371
442
  };
372
443
  readonly met: {
373
444
  readonly name: "Metrical";
374
445
  readonly kind: "vocabulary";
446
+ readonly standard: "ochre";
375
447
  readonly iso639_3: null;
376
448
  readonly bcp47: null;
377
449
  };
378
450
  readonly zxx: {
379
451
  readonly name: "No linguistic content";
380
452
  readonly kind: "non-linguistic";
453
+ readonly standard: "iso639-2b";
381
454
  readonly iso639_3: "zxx";
382
455
  readonly bcp47: "zxx";
383
456
  };
384
457
  readonly och: {
385
458
  readonly name: "Old Chinese";
386
459
  readonly kind: "language";
460
+ readonly standard: "iso639-3";
387
461
  readonly iso639_3: "och";
388
462
  readonly bcp47: "och";
389
463
  };
390
464
  readonly peo: {
391
465
  readonly name: "Old Persian";
392
466
  readonly kind: "language";
467
+ readonly standard: "iso639-2b";
393
468
  readonly iso639_3: "peo";
394
469
  readonly bcp47: "peo";
395
470
  };
396
471
  readonly ota: {
397
472
  readonly name: "Ottoman Turkish";
398
473
  readonly kind: "language";
474
+ readonly standard: "iso639-2b";
399
475
  readonly iso639_3: "ota";
400
476
  readonly bcp47: "ota";
401
477
  };
402
478
  readonly "ota-xlt": {
403
479
  readonly name: "Ottoman Turkish XLit";
404
480
  readonly kind: "transliteration";
481
+ readonly standard: "ochre";
405
482
  readonly iso639_3: "ota";
406
483
  readonly bcp47: "ota-Latn-t-ota-arab";
407
484
  };
408
485
  readonly pla: {
409
486
  readonly name: "Palaic";
410
487
  readonly kind: "language";
488
+ readonly standard: "ochre";
411
489
  readonly iso639_3: "plq";
412
490
  readonly bcp47: "plq";
413
491
  };
414
492
  readonly per: {
415
493
  readonly name: "Persian";
416
494
  readonly kind: "language";
495
+ readonly standard: "iso639-2b";
417
496
  readonly iso639_3: "fas";
418
497
  readonly bcp47: "fa";
419
498
  };
420
499
  readonly phn: {
421
500
  readonly name: "Phoenician";
422
501
  readonly kind: "language";
502
+ readonly standard: "iso639-2b";
423
503
  readonly iso639_3: "phn";
424
504
  readonly bcp47: "phn";
425
505
  };
426
506
  readonly xpg: {
427
507
  readonly name: "Phrygian";
428
508
  readonly kind: "language";
509
+ readonly standard: "iso639-3";
429
510
  readonly iso639_3: "xpg";
430
511
  readonly bcp47: "xpg";
431
512
  };
432
513
  readonly pol: {
433
514
  readonly name: "Polish";
434
515
  readonly kind: "language";
516
+ readonly standard: "iso639-2b";
435
517
  readonly iso639_3: "pol";
436
518
  readonly bcp47: "pl";
437
519
  };
438
520
  readonly por: {
439
521
  readonly name: "Portuguese";
440
522
  readonly kind: "language";
523
+ readonly standard: "iso639-2b";
441
524
  readonly iso639_3: "por";
442
525
  readonly bcp47: "pt";
443
526
  };
444
527
  readonly pro: {
445
528
  readonly name: "Pronunciation";
446
529
  readonly kind: "vocabulary";
530
+ readonly standard: "iso639-2b";
447
531
  readonly iso639_3: null;
448
532
  readonly bcp47: null;
449
533
  };
450
534
  readonly rel: {
451
535
  readonly name: "Relator";
452
536
  readonly kind: "vocabulary";
537
+ readonly standard: "ochre";
453
538
  readonly iso639_3: null;
454
539
  readonly bcp47: "zxx";
455
540
  };
456
541
  readonly rus: {
457
542
  readonly name: "Russian";
458
543
  readonly kind: "language";
544
+ readonly standard: "iso639-2b";
459
545
  readonly iso639_3: "rus";
460
546
  readonly bcp47: "ru";
461
547
  };
462
548
  readonly san: {
463
549
  readonly name: "Sanskrit";
464
550
  readonly kind: "language";
551
+ readonly standard: "iso639-2b";
465
552
  readonly iso639_3: "san";
466
553
  readonly bcp47: "sa";
467
554
  };
468
555
  readonly srp: {
469
556
  readonly name: "Serbian";
470
557
  readonly kind: "language";
558
+ readonly standard: "iso639-2b";
471
559
  readonly iso639_3: "srp";
472
560
  readonly bcp47: "sr";
473
561
  };
474
562
  readonly spa: {
475
563
  readonly name: "Spanish";
476
564
  readonly kind: "language";
565
+ readonly standard: "iso639-2b";
477
566
  readonly iso639_3: "spa";
478
567
  readonly bcp47: "es";
479
568
  };
480
569
  readonly sux: {
481
570
  readonly name: "Sumerian";
482
571
  readonly kind: "language";
572
+ readonly standard: "iso639-2b";
483
573
  readonly iso639_3: "sux";
484
574
  readonly bcp47: "sux";
485
575
  };
486
576
  readonly sup: {
487
577
  readonly name: "Supplemental";
488
578
  readonly kind: "vocabulary";
579
+ readonly standard: "ochre";
489
580
  readonly iso639_3: null;
490
581
  readonly bcp47: null;
491
582
  };
492
583
  readonly syc: {
493
584
  readonly name: "Syriac";
494
585
  readonly kind: "language";
586
+ readonly standard: "iso639-2b";
495
587
  readonly iso639_3: "syc";
496
588
  readonly bcp47: "syc";
497
589
  };
498
590
  readonly tei: {
499
591
  readonly name: "TEI";
500
592
  readonly kind: "vocabulary";
593
+ readonly standard: "ochre";
501
594
  readonly iso639_3: null;
502
595
  readonly bcp47: null;
503
596
  };
504
597
  readonly tur: {
505
598
  readonly name: "Turkish";
506
599
  readonly kind: "language";
600
+ readonly standard: "iso639-2b";
507
601
  readonly iso639_3: "tur";
508
602
  readonly bcp47: "tr";
509
603
  };
510
604
  readonly uga: {
511
605
  readonly name: "Ugaritic";
512
606
  readonly kind: "language";
607
+ readonly standard: "iso639-2b";
513
608
  readonly iso639_3: "uga";
514
609
  readonly bcp47: "uga";
515
610
  };
516
611
  readonly ukr: {
517
612
  readonly name: "Ukrainian";
518
613
  readonly kind: "language";
614
+ readonly standard: "iso639-2b";
519
615
  readonly iso639_3: "ukr";
520
616
  readonly bcp47: "uk";
521
617
  };
522
618
  readonly urd: {
523
619
  readonly name: "Urdu";
524
620
  readonly kind: "language";
621
+ readonly standard: "iso639-2b";
525
622
  readonly iso639_3: "urd";
526
623
  readonly bcp47: "ur";
527
624
  };
528
625
  readonly uzb: {
529
626
  readonly name: "Uzbek";
530
627
  readonly kind: "language";
628
+ readonly standard: "iso639-2b";
531
629
  readonly iso639_3: "uzb";
532
630
  readonly bcp47: "uz";
533
631
  };
534
632
  readonly var: {
535
633
  readonly name: "Variation";
536
634
  readonly kind: "vocabulary";
635
+ readonly standard: "ochre";
537
636
  readonly iso639_3: null;
538
637
  readonly bcp47: null;
539
638
  };
540
639
  readonly was: {
541
640
  readonly name: "Washo";
542
641
  readonly kind: "language";
642
+ readonly standard: "iso639-2b";
543
643
  readonly iso639_3: "was";
544
644
  readonly bcp47: "was";
545
645
  };
546
646
  readonly yid: {
547
647
  readonly name: "Yiddish";
548
648
  readonly kind: "language";
649
+ readonly standard: "iso639-2b";
549
650
  readonly iso639_3: "yid";
550
651
  readonly bcp47: "yi";
551
652
  };
552
653
  readonly yua: {
553
654
  readonly name: "Yucatec Maya";
554
655
  readonly kind: "language";
656
+ readonly standard: "iso639-3";
555
657
  readonly iso639_3: "yua";
556
658
  readonly bcp47: "yua";
557
659
  };
@@ -3,522 +3,608 @@
3
3
  * Every language code OCHRE publishes, mapped to the ISO 639-3 and BCP 47
4
4
  * codes it stands for
5
5
  *
6
- * OCHRE publishes ISO 639-2/B codes, the Library of Congress MARC
7
- * convention: the bibliographic code wherever ISO 639-2 has one (`per`,
8
- * not ISO 639-3 `fas`), the ISO 639-3 identifier where it has none
9
- * (`yua`), and a few codes of its own (`ota-xlt`, `rel`), some of which
10
- * collide with unrelated ISO 639-3 languages. Key everything by these codes,
11
- * because they are what OCHRE serves, and convert through this table when a
12
- * standard code is needed.
6
+ * OCHRE publishes ISO 639-2 codes in their bibliographic (B) form, the
7
+ * Library of Congress MARC convention (`per`, not ISO 639-3 `fas`), with
8
+ * three exceptions: the ISO 639-3 identifier where ISO 639-2 has no code
9
+ * (`yua`), the terminology (T) form for Dutch (`nld`, not `dut`), and codes
10
+ * of its own for transliterations and vocabularies (`ota-xlt`, `rel`), some
11
+ * of which collide with unrelated ISO 639-3 languages. Key everything by
12
+ * these codes, because they are what OCHRE serves, and convert through this
13
+ * table when a standard code is needed.
13
14
  */
14
15
  const OCHRE_LANGUAGES = {
15
16
  akk: {
16
17
  name: "Akkadian",
17
18
  kind: "language",
19
+ standard: "iso639-2b",
18
20
  iso639_3: "akk",
19
21
  bcp47: "akk"
20
22
  },
21
23
  xno: {
22
24
  name: "Anglo-Norman",
23
25
  kind: "language",
26
+ standard: "iso639-3",
24
27
  iso639_3: "xno",
25
28
  bcp47: "xno"
26
29
  },
27
30
  ara: {
28
31
  name: "Arabic",
29
32
  kind: "language",
33
+ standard: "iso639-2b",
30
34
  iso639_3: "ara",
31
35
  bcp47: "ar"
32
36
  },
33
37
  arc: {
34
38
  name: "Aramaic",
35
39
  kind: "language",
40
+ standard: "iso639-2b",
36
41
  iso639_3: "arc",
37
42
  bcp47: "arc"
38
43
  },
39
44
  arm: {
40
45
  name: "Armenian",
41
46
  kind: "language",
47
+ standard: "iso639-2b",
42
48
  iso639_3: "hye",
43
49
  bcp47: "hy"
44
50
  },
45
51
  bel: {
46
52
  name: "Belarusian",
47
53
  kind: "language",
54
+ standard: "iso639-2b",
48
55
  iso639_3: "bel",
49
56
  bcp47: "be"
50
57
  },
51
58
  ben: {
52
59
  name: "Bengali",
53
60
  kind: "language",
61
+ standard: "iso639-2b",
54
62
  iso639_3: "ben",
55
63
  bcp47: "bn"
56
64
  },
57
65
  btc: {
58
66
  name: "Betacode",
59
67
  kind: "vocabulary",
68
+ standard: "ochre",
60
69
  iso639_3: null,
61
70
  bcp47: "grc-Latn-x-betacode"
62
71
  },
63
72
  bos: {
64
73
  name: "Bosnian",
65
74
  kind: "language",
75
+ standard: "iso639-2b",
66
76
  iso639_3: "bos",
67
77
  bcp47: "bs"
68
78
  },
69
79
  bul: {
70
80
  name: "Bulgarian",
71
81
  kind: "language",
82
+ standard: "iso639-2b",
72
83
  iso639_3: "bul",
73
84
  bcp47: "bg"
74
85
  },
75
86
  cnn: {
76
87
  name: "Canaanite",
77
88
  kind: "language",
89
+ standard: "ochre",
78
90
  iso639_3: null,
79
91
  bcp47: null
80
92
  },
81
93
  yue: {
82
94
  name: "Cantonese",
83
95
  kind: "language",
96
+ standard: "iso639-3",
84
97
  iso639_3: "yue",
85
98
  bcp47: "yue"
86
99
  },
87
100
  cat: {
88
101
  name: "Catalan",
89
102
  kind: "language",
103
+ standard: "iso639-2b",
90
104
  iso639_3: "cat",
91
105
  bcp47: "ca"
92
106
  },
93
107
  chi: {
94
108
  name: "Chinese",
95
109
  kind: "language",
110
+ standard: "iso639-2b",
96
111
  iso639_3: "zho",
97
112
  bcp47: "zh"
98
113
  },
99
114
  chu: {
100
115
  name: "Church Slavonic",
101
116
  kind: "language",
117
+ standard: "iso639-2b",
102
118
  iso639_3: "chu",
103
119
  bcp47: "cu"
104
120
  },
105
121
  lzh: {
106
122
  name: "Classical Chinese",
107
123
  kind: "language",
124
+ standard: "iso639-3",
108
125
  iso639_3: "lzh",
109
126
  bcp47: "lzh"
110
127
  },
111
128
  cop: {
112
129
  name: "Coptic",
113
130
  kind: "language",
131
+ standard: "iso639-2b",
114
132
  iso639_3: "cop",
115
133
  bcp47: "cop"
116
134
  },
117
135
  hrv: {
118
136
  name: "Croatian",
119
137
  kind: "language",
138
+ standard: "iso639-2b",
120
139
  iso639_3: "hrv",
121
140
  bcp47: "hr"
122
141
  },
123
142
  cze: {
124
143
  name: "Czech",
125
144
  kind: "language",
145
+ standard: "iso639-2b",
126
146
  iso639_3: "ces",
127
147
  bcp47: "cs"
128
148
  },
129
149
  egyd: {
130
150
  name: "Demotic",
131
151
  kind: "language",
152
+ standard: "ochre",
132
153
  iso639_3: "egy",
133
154
  bcp47: "egy-Egyd"
134
155
  },
135
156
  nld: {
136
157
  name: "Dutch",
137
158
  kind: "language",
159
+ standard: "iso639-2t",
138
160
  iso639_3: "nld",
139
161
  bcp47: "nl"
140
162
  },
141
163
  dum: {
142
164
  name: "Dutch (Middle)",
143
165
  kind: "language",
166
+ standard: "iso639-2b",
144
167
  iso639_3: "dum",
145
168
  bcp47: "dum"
146
169
  },
147
170
  egy: {
148
171
  name: "Egyptian",
149
172
  kind: "language",
173
+ standard: "iso639-2b",
150
174
  iso639_3: "egy",
151
175
  bcp47: "egy"
152
176
  },
153
177
  elx: {
154
178
  name: "Elamite",
155
179
  kind: "language",
180
+ standard: "iso639-2b",
156
181
  iso639_3: "elx",
157
182
  bcp47: "elx"
158
183
  },
159
184
  eng: {
160
185
  name: "English",
161
186
  kind: "language",
187
+ standard: "iso639-2b",
162
188
  iso639_3: "eng",
163
189
  bcp47: "en"
164
190
  },
165
191
  enm: {
166
192
  name: "English (Middle)",
167
193
  kind: "language",
194
+ standard: "iso639-2b",
168
195
  iso639_3: "enm",
169
196
  bcp47: "enm"
170
197
  },
171
198
  ecy: {
172
199
  name: "Eteocypriot",
173
200
  kind: "language",
201
+ standard: "iso639-3",
174
202
  iso639_3: "ecy",
175
203
  bcp47: "ecy"
176
204
  },
177
205
  fre: {
178
206
  name: "French",
179
207
  kind: "language",
208
+ standard: "iso639-2b",
180
209
  iso639_3: "fra",
181
210
  bcp47: "fr"
182
211
  },
183
212
  frm: {
184
213
  name: "French (Middle)",
185
214
  kind: "language",
215
+ standard: "iso639-2b",
186
216
  iso639_3: "frm",
187
217
  bcp47: "frm"
188
218
  },
189
219
  fro: {
190
220
  name: "French (Old)",
191
221
  kind: "language",
222
+ standard: "iso639-2b",
192
223
  iso639_3: "fro",
193
224
  bcp47: "fro"
194
225
  },
195
226
  geo: {
196
227
  name: "Georgian",
197
228
  kind: "language",
229
+ standard: "iso639-2b",
198
230
  iso639_3: "kat",
199
231
  bcp47: "ka"
200
232
  },
201
233
  ger: {
202
234
  name: "German",
203
235
  kind: "language",
236
+ standard: "iso639-2b",
204
237
  iso639_3: "deu",
205
238
  bcp47: "de"
206
239
  },
207
240
  nds: {
208
241
  name: "German (Low)",
209
242
  kind: "language",
243
+ standard: "iso639-2b",
210
244
  iso639_3: "nds",
211
245
  bcp47: "nds"
212
246
  },
213
247
  gmh: {
214
248
  name: "German (Middle High)",
215
249
  kind: "language",
250
+ standard: "iso639-2b",
216
251
  iso639_3: "gmh",
217
252
  bcp47: "gmh"
218
253
  },
219
254
  goh: {
220
255
  name: "German (Old High)",
221
256
  kind: "language",
257
+ standard: "iso639-2b",
222
258
  iso639_3: "goh",
223
259
  bcp47: "goh"
224
260
  },
225
261
  grc: {
226
262
  name: "Greek",
227
263
  kind: "language",
264
+ standard: "iso639-2b",
228
265
  iso639_3: "grc",
229
266
  bcp47: "grc"
230
267
  },
231
268
  guj: {
232
269
  name: "Gujarati",
233
270
  kind: "language",
271
+ standard: "iso639-2b",
234
272
  iso639_3: "guj",
235
273
  bcp47: "gu"
236
274
  },
237
275
  "zh-Latn-pinyin": {
238
276
  name: "Hanyu Pinyin",
239
277
  kind: "transliteration",
278
+ standard: "bcp47",
240
279
  iso639_3: "cmn",
241
280
  bcp47: "zh-Latn-pinyin"
242
281
  },
243
282
  htt: {
244
283
  name: "Hattian",
245
284
  kind: "language",
285
+ standard: "ochre",
246
286
  iso639_3: "xht",
247
287
  bcp47: "xht"
248
288
  },
249
289
  heb: {
250
290
  name: "Hebrew",
251
291
  kind: "language",
292
+ standard: "iso639-2b",
252
293
  iso639_3: "heb",
253
294
  bcp47: "he"
254
295
  },
255
296
  hin: {
256
297
  name: "Hindi",
257
298
  kind: "language",
299
+ standard: "iso639-2b",
258
300
  iso639_3: "hin",
259
301
  bcp47: "hi"
260
302
  },
261
303
  hit: {
262
304
  name: "Hittite",
263
305
  kind: "language",
306
+ standard: "iso639-2b",
264
307
  iso639_3: "hit",
265
308
  bcp47: "hit"
266
309
  },
267
310
  xhu: {
268
311
  name: "Hurrian",
269
312
  kind: "language",
313
+ standard: "iso639-3",
270
314
  iso639_3: "xhu",
271
315
  bcp47: "xhu"
272
316
  },
273
317
  ita: {
274
318
  name: "Italian",
275
319
  kind: "language",
320
+ standard: "iso639-2b",
276
321
  iso639_3: "ita",
277
322
  bcp47: "it"
278
323
  },
279
324
  jpn: {
280
325
  name: "Japanese",
281
326
  kind: "language",
327
+ standard: "iso639-2b",
282
328
  iso639_3: "jpn",
283
329
  bcp47: "ja"
284
330
  },
285
331
  "jpn-xlt": {
286
332
  name: "Japanese XLit",
287
333
  kind: "transliteration",
334
+ standard: "ochre",
288
335
  iso639_3: "jpn",
289
336
  bcp47: "ja-Latn-t-ja"
290
337
  },
291
338
  kaz: {
292
339
  name: "Kazakh",
293
340
  kind: "language",
341
+ standard: "iso639-2b",
294
342
  iso639_3: "kaz",
295
343
  bcp47: "kk"
296
344
  },
297
345
  kor: {
298
346
  name: "Korean",
299
347
  kind: "language",
348
+ standard: "iso639-2b",
300
349
  iso639_3: "kor",
301
350
  bcp47: "ko"
302
351
  },
303
352
  lmc: {
304
353
  name: "Late Middle Chinese",
305
354
  kind: "language",
355
+ standard: "ochre",
306
356
  iso639_3: "ltc",
307
357
  bcp47: "ltc"
308
358
  },
309
359
  lat: {
310
360
  name: "Latin",
311
361
  kind: "language",
362
+ standard: "iso639-2b",
312
363
  iso639_3: "lat",
313
364
  bcp47: "la"
314
365
  },
315
366
  xlt: {
316
367
  name: "Latin XLit",
317
368
  kind: "transliteration",
369
+ standard: "ochre",
318
370
  iso639_3: null,
319
371
  bcp47: "und-Latn"
320
372
  },
321
373
  luw: {
322
374
  name: "Luwian",
323
375
  kind: "language",
376
+ standard: "ochre",
324
377
  iso639_3: null,
325
378
  bcp47: null
326
379
  },
327
380
  cmn: {
328
381
  name: "Mandarin",
329
382
  kind: "language",
383
+ standard: "iso639-3",
330
384
  iso639_3: "cmn",
331
385
  bcp47: "cmn"
332
386
  },
333
387
  mar: {
334
388
  name: "Marathi",
335
389
  kind: "language",
390
+ standard: "iso639-2b",
336
391
  iso639_3: "mar",
337
392
  bcp47: "mr"
338
393
  },
339
394
  met: {
340
395
  name: "Metrical",
341
396
  kind: "vocabulary",
397
+ standard: "ochre",
342
398
  iso639_3: null,
343
399
  bcp47: null
344
400
  },
345
401
  zxx: {
346
402
  name: "No linguistic content",
347
403
  kind: "non-linguistic",
404
+ standard: "iso639-2b",
348
405
  iso639_3: "zxx",
349
406
  bcp47: "zxx"
350
407
  },
351
408
  och: {
352
409
  name: "Old Chinese",
353
410
  kind: "language",
411
+ standard: "iso639-3",
354
412
  iso639_3: "och",
355
413
  bcp47: "och"
356
414
  },
357
415
  peo: {
358
416
  name: "Old Persian",
359
417
  kind: "language",
418
+ standard: "iso639-2b",
360
419
  iso639_3: "peo",
361
420
  bcp47: "peo"
362
421
  },
363
422
  ota: {
364
423
  name: "Ottoman Turkish",
365
424
  kind: "language",
425
+ standard: "iso639-2b",
366
426
  iso639_3: "ota",
367
427
  bcp47: "ota"
368
428
  },
369
429
  "ota-xlt": {
370
430
  name: "Ottoman Turkish XLit",
371
431
  kind: "transliteration",
432
+ standard: "ochre",
372
433
  iso639_3: "ota",
373
434
  bcp47: "ota-Latn-t-ota-arab"
374
435
  },
375
436
  pla: {
376
437
  name: "Palaic",
377
438
  kind: "language",
439
+ standard: "ochre",
378
440
  iso639_3: "plq",
379
441
  bcp47: "plq"
380
442
  },
381
443
  per: {
382
444
  name: "Persian",
383
445
  kind: "language",
446
+ standard: "iso639-2b",
384
447
  iso639_3: "fas",
385
448
  bcp47: "fa"
386
449
  },
387
450
  phn: {
388
451
  name: "Phoenician",
389
452
  kind: "language",
453
+ standard: "iso639-2b",
390
454
  iso639_3: "phn",
391
455
  bcp47: "phn"
392
456
  },
393
457
  xpg: {
394
458
  name: "Phrygian",
395
459
  kind: "language",
460
+ standard: "iso639-3",
396
461
  iso639_3: "xpg",
397
462
  bcp47: "xpg"
398
463
  },
399
464
  pol: {
400
465
  name: "Polish",
401
466
  kind: "language",
467
+ standard: "iso639-2b",
402
468
  iso639_3: "pol",
403
469
  bcp47: "pl"
404
470
  },
405
471
  por: {
406
472
  name: "Portuguese",
407
473
  kind: "language",
474
+ standard: "iso639-2b",
408
475
  iso639_3: "por",
409
476
  bcp47: "pt"
410
477
  },
411
478
  pro: {
412
479
  name: "Pronunciation",
413
480
  kind: "vocabulary",
481
+ standard: "iso639-2b",
414
482
  iso639_3: null,
415
483
  bcp47: null
416
484
  },
417
485
  rel: {
418
486
  name: "Relator",
419
487
  kind: "vocabulary",
488
+ standard: "ochre",
420
489
  iso639_3: null,
421
490
  bcp47: "zxx"
422
491
  },
423
492
  rus: {
424
493
  name: "Russian",
425
494
  kind: "language",
495
+ standard: "iso639-2b",
426
496
  iso639_3: "rus",
427
497
  bcp47: "ru"
428
498
  },
429
499
  san: {
430
500
  name: "Sanskrit",
431
501
  kind: "language",
502
+ standard: "iso639-2b",
432
503
  iso639_3: "san",
433
504
  bcp47: "sa"
434
505
  },
435
506
  srp: {
436
507
  name: "Serbian",
437
508
  kind: "language",
509
+ standard: "iso639-2b",
438
510
  iso639_3: "srp",
439
511
  bcp47: "sr"
440
512
  },
441
513
  spa: {
442
514
  name: "Spanish",
443
515
  kind: "language",
516
+ standard: "iso639-2b",
444
517
  iso639_3: "spa",
445
518
  bcp47: "es"
446
519
  },
447
520
  sux: {
448
521
  name: "Sumerian",
449
522
  kind: "language",
523
+ standard: "iso639-2b",
450
524
  iso639_3: "sux",
451
525
  bcp47: "sux"
452
526
  },
453
527
  sup: {
454
528
  name: "Supplemental",
455
529
  kind: "vocabulary",
530
+ standard: "ochre",
456
531
  iso639_3: null,
457
532
  bcp47: null
458
533
  },
459
534
  syc: {
460
535
  name: "Syriac",
461
536
  kind: "language",
537
+ standard: "iso639-2b",
462
538
  iso639_3: "syc",
463
539
  bcp47: "syc"
464
540
  },
465
541
  tei: {
466
542
  name: "TEI",
467
543
  kind: "vocabulary",
544
+ standard: "ochre",
468
545
  iso639_3: null,
469
546
  bcp47: null
470
547
  },
471
548
  tur: {
472
549
  name: "Turkish",
473
550
  kind: "language",
551
+ standard: "iso639-2b",
474
552
  iso639_3: "tur",
475
553
  bcp47: "tr"
476
554
  },
477
555
  uga: {
478
556
  name: "Ugaritic",
479
557
  kind: "language",
558
+ standard: "iso639-2b",
480
559
  iso639_3: "uga",
481
560
  bcp47: "uga"
482
561
  },
483
562
  ukr: {
484
563
  name: "Ukrainian",
485
564
  kind: "language",
565
+ standard: "iso639-2b",
486
566
  iso639_3: "ukr",
487
567
  bcp47: "uk"
488
568
  },
489
569
  urd: {
490
570
  name: "Urdu",
491
571
  kind: "language",
572
+ standard: "iso639-2b",
492
573
  iso639_3: "urd",
493
574
  bcp47: "ur"
494
575
  },
495
576
  uzb: {
496
577
  name: "Uzbek",
497
578
  kind: "language",
579
+ standard: "iso639-2b",
498
580
  iso639_3: "uzb",
499
581
  bcp47: "uz"
500
582
  },
501
583
  var: {
502
584
  name: "Variation",
503
585
  kind: "vocabulary",
586
+ standard: "ochre",
504
587
  iso639_3: null,
505
588
  bcp47: null
506
589
  },
507
590
  was: {
508
591
  name: "Washo",
509
592
  kind: "language",
593
+ standard: "iso639-2b",
510
594
  iso639_3: "was",
511
595
  bcp47: "was"
512
596
  },
513
597
  yid: {
514
598
  name: "Yiddish",
515
599
  kind: "language",
600
+ standard: "iso639-2b",
516
601
  iso639_3: "yid",
517
602
  bcp47: "yi"
518
603
  },
519
604
  yua: {
520
605
  name: "Yucatec Maya",
521
606
  kind: "language",
607
+ standard: "iso639-3",
522
608
  iso639_3: "yua",
523
609
  bcp47: "yua"
524
610
  }
package/dist/schemas.mjs CHANGED
@@ -31,7 +31,7 @@ const uuidSchema = v.pipe(v.string(), v.check(isPseudoUuid, "Invalid pseudo-UUID
31
31
  const ochreLanguageCodeSchema = v.pipe(v.string("Language code must be a string"), v.check(isOchreLanguageCode, (issue) => {
32
32
  const input = issue.input;
33
33
  const ochreCode = getOchreLanguageCode(input);
34
- return ochreCode == null ? `Unknown OCHRE language code "${input}"` : `Unknown OCHRE language code "${input}"; OCHRE stores this language as "${ochreCode}"`;
34
+ return ochreCode == null ? `Unknown OCHRE language code "${input}"` : `Unknown OCHRE language code "${input}"; OCHRE publishes this language as "${ochreCode}"`;
35
35
  }));
36
36
  /**
37
37
  * Valid component types for web elements
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ochre-sdk",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Node.js library for working with OCHRE (Online Cultural and Historical Research Environment) data",