UNPKG

japanese-db

Version:

Generate Japanese dictionary SQLite database from open source materials

122 lines (121 loc) 4.8 kB
import * as JMdict from './jmdict'; export interface JMnedict { JMnedict: [{ /** * Array of entry * * Entries consist of kanji elements, reading elements * name translation elements. Each entry must have at * least one reading element and one sense element. Others are optional. */ entry: entry[]; }]; } /** * Entries consist of kanji elements, reading elements * name translation elements. Each entry must have at * least one reading element and one sense element. Others are optional. */ export interface entry { /** * A unique numeric sequence number for each entry */ ent_seq: [number]; /** * Array of k_ele * * The kanji element, or in its absence, the reading element, is * the defining component of each entry. * The overwhelming majority of entries will have a single kanji * element associated with an entity name in Japanese. Where there are * multiple kanji elements within an entry, they will be orthographical * variants of the same word, either using variations in okurigana, or * alternative and equivalent kanji. Common "mis-spellings" may be * included, provided they are associated with appropriate information * fields. Synonyms are not included; they may be indicated in the * cross-reference field associated with the sense element. */ k_ele?: k_ele[]; /** * Array of r_ele * * The reading element typically contains the valid readings * of the word(s) in the kanji element using modern kanadzukai. * Where there are multiple reading elements, they will typically be * alternative readings of the kanji element. In the absence of a * kanji element, i.e. in the case of a word or phrase written * entirely in kana, these elements will define the entry. */ r_ele: r_ele[]; /** * Array of trans * * The trans element will record the translational equivalent * of the Japanese name, plus other related information. */ trans: trans[]; } /** * The kanji element, or in its absence, the reading element, is * the defining component of each entry. * The overwhelming majority of entries will have a single kanji * element associated with an entity name in Japanese. Where there are * multiple kanji elements within an entry, they will be orthographical * variants of the same word, either using variations in okurigana, or * alternative and equivalent kanji. Common "mis-spellings" may be * included, provided they are associated with appropriate information * fields. Synonyms are not included; they may be indicated in the * cross-reference field associated with the sense element. */ export interface k_ele extends JMdict.k_ele { /** * This element will contain a word or short phrase in Japanese * which is written using at least one non-kana character (usually kanji, * but can be other characters). The valid characters are * kanji, kana, related characters such as chouon and kurikaeshi, and * in exceptional cases, letters from other alphabets. */ keb: [string]; } /** * The reading element typically contains the valid readings * of the word(s) in the kanji element using modern kanadzukai. * Where there are multiple reading elements, they will typically be * alternative readings of the kanji element. In the absence of a * kanji element, i.e. in the case of a word or phrase written * entirely in kana, these elements will define the entry. */ export interface r_ele { /** * this element content is restricted to kana and related * characters such as chouon and kurikaeshi. Kana usage will be * consistent between the keb and reb elements; e.g. if the keb * contains katakana, so too will the reb. */ reb: [string]; } /** * The trans element will record the translational equivalent * of the Japanese name, plus other related information. */ export interface trans { /** * The type of name, recorded in the appropriate entity codes. */ name_type?: string[]; /** * This element is used to indicate a cross-reference to another * entry with a similar or related meaning or sense. The content of * this element is typically a keb or reb element in another entry. In some * cases a keb will be followed by a reb and/or a sense number to provide * a precise target for the cross-reference. Where this happens, a JIS * "centre-dot" (0x2126) is placed between the components of the * cross-reference. */ xref?: string[]; /** * The actual translations of the name, usually as a transcription * into the target language. */ trans_det?: string[]; }