Work on new dictionary format

This commit is contained in:
Alex Yatskov 2016-04-12 23:12:20 -07:00
parent bf28dea283
commit 972b945b4c
2 changed files with 29 additions and 12 deletions

View File

@ -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;
}
}

View File

@ -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':