summaryrefslogtreecommitdiff
path: root/packages/langlib/src/types.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/langlib/src/types.ts')
-rw-r--r--packages/langlib/src/types.ts52
1 files changed, 52 insertions, 0 deletions
diff --git a/packages/langlib/src/types.ts b/packages/langlib/src/types.ts
new file mode 100644
index 0000000..b9b163e
--- /dev/null
+++ b/packages/langlib/src/types.ts
@@ -0,0 +1,52 @@
+// * Category of a language:
+// *
+// * * `'living'`
+// * — currently spoken language
+// * (example: `nhi` for `Zacatlán-Ahuacatlán-Tepetzintla Nahuatl`)
+// * * `'historical'`
+// * — extinct language distinct from modern languages that descended from it
+// * (example: `ofs` for `Old Frisian`)
+// * * `'extinct'`
+// * — language that went extinct recently
+// * (example: `rbp` for `Barababaraba`)
+// * * `'ancient'`
+// * — language that went extinct long ago
+// * (example: `got` for `Gothic`)
+// * * `'constructed'`
+// * — artificial languages, excluding programming languages
+// * (example: `epo` for `Esperanto`)
+// * * `'special'`
+// * — non-language codes
+// * (example: `und` for `Undetermined`)
+// *
+// * Scope of a language:
+// *
+// * * `'individual'`
+// * — normal, single language
+// * (example: `eng` for `English`)
+// * * `'macrolanguage'`
+// * — one-to-many grouping of languages, because older ISO 639s included them
+// * (example: `ara` for `Arabic`)
+// * * `'special'`
+// * — non-language codes
+// * (example: `und` for `Undetermined`)
+// *
+
+type ISO_6393_3_TYPE = string;
+export type ISO_6393_3 = {
+ // Script name.
+ name: string;
+ // Four character ISO 15924 code.
+ type: ISO_6393_3_TYPE;
+ // // * Three character ISO 15924 code.
+ scope: "individual" | "macrolanguage" | "special";
+ // * Property value alias.
+ iso6393: string;
+ // * ISO 639-2 (bibliographic) code (example: `'eng'`).
+ iso6392B?: string;
+ // * ISO 639-2 (terminologic) code (example: `'eng'`).
+ iso6392T?: string;
+ iso6391?: string;
+};
+
+export * from "./dbtypes";