Work on new dictionary format
This commit is contained in:
parent
bf28dea283
commit
972b945b4c
@ -33,16 +33,33 @@ class Dictionary {
|
||||
|
||||
findTerm(term) {
|
||||
const results = [];
|
||||
return (this.termIndices[term] || []).map(index => {
|
||||
const [e, r, g, t] = this.terms[index];
|
||||
return {id: index, expression: e, reading: r, glossary: g, tags: t.split(' ')};
|
||||
});
|
||||
|
||||
for (const name in this.termDicts) {
|
||||
const dict = this.termDicts[name];
|
||||
const indices = dict.indices[term] || [];
|
||||
|
||||
results.push(
|
||||
indices.map(index => {
|
||||
const [e, r, t, ...g] = dict.defs[index];
|
||||
return {id: index, expression: e, reading: r, glossary: g.join('; '), tags: t.split(' ')};
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
findKanji(kanji) {
|
||||
return (this.kanjiIndices[kanji] || []).map(index => {
|
||||
const [c, k, o, g] = def;
|
||||
return {id: index, character: c, kunyomi: k, onyomi: o, glossary: g};
|
||||
});
|
||||
const results = [];
|
||||
|
||||
for (const name in this.termDicts) {
|
||||
const def = this.termDicts[name][kanji];
|
||||
if (def) {
|
||||
const [c, k, o, g] = def;
|
||||
results.push({id: index, character: c, kunyomi: k, onyomi: o, glossary: g});
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
}
|
||||
|
@ -22,9 +22,9 @@ class Translator {
|
||||
this.loaded = false;
|
||||
this.paths = {
|
||||
rules: 'bg/data/rules.json',
|
||||
edict: 'bg/data/edict.csv',
|
||||
enamdict: 'bg/data/enamdict.csv',
|
||||
kanjidic: 'bg/data/kanjidic.csv'
|
||||
edict: 'bg/data/edict.json',
|
||||
enamdict: 'bg/data/enamdict.json',
|
||||
kanjidic: 'bg/data/kanjidic.json'
|
||||
};
|
||||
|
||||
this.dictionary = new Dictionary();
|
||||
@ -46,7 +46,7 @@ class Translator {
|
||||
this.deinflector.setRules(JSON.parse(response));
|
||||
break;
|
||||
case 'kanjidic':
|
||||
this.dictionary.addKanjiDict('kanjidic', JSON.parse(response));
|
||||
this.dictionary.addKanjiDict(key, JSON.parse(response));
|
||||
break;
|
||||
case 'edict':
|
||||
case 'enamdict':
|
||||
|
Loading…
Reference in New Issue
Block a user