japanese-db
Version:
Generate Japanese dictionary SQLite database from open source materials
122 lines (121 loc) • 4.8 kB
TypeScript
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[];
}