Use entity data from dictionary
This commit is contained in:
parent
08d92a4ddb
commit
9468797b87
@ -19,7 +19,7 @@
|
||||
|
||||
class Dictionary {
|
||||
constructor() {
|
||||
this.termDicts = {};
|
||||
this.termDicts = {};
|
||||
this.kanjiDicts = {};
|
||||
}
|
||||
|
||||
@ -36,22 +36,21 @@ class Dictionary {
|
||||
|
||||
for (let name in this.termDicts) {
|
||||
const dict = this.termDicts[name];
|
||||
const indexStr = dict.i[term] || null;
|
||||
if (indexStr === null) {
|
||||
if (!(term in dict.i)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const indices = indexStr.split(' ').map(Number);
|
||||
const indices = dict.i[term].split(' ').map(Number);
|
||||
results = results.concat(
|
||||
indices.map(index => {
|
||||
const [e, r, t, ...g] = dict.d[index];
|
||||
const addons = [];
|
||||
const tags = t.split(' ');
|
||||
const tags = t.split(' ');
|
||||
|
||||
//
|
||||
// TODO: Handle addons through data.
|
||||
//
|
||||
|
||||
const addons = [];
|
||||
for (let tag of tags) {
|
||||
if (tag.startsWith('v5') && tag !== 'v5') {
|
||||
addons.push('v5');
|
||||
@ -66,6 +65,7 @@ class Dictionary {
|
||||
reading: r,
|
||||
glossary: g,
|
||||
tags: tags.concat(addons),
|
||||
entities: dict.e,
|
||||
addons: addons
|
||||
};
|
||||
})
|
||||
|
@ -168,16 +168,26 @@ class Translator {
|
||||
let popular = false;
|
||||
let tagItems = [];
|
||||
for (let tag of entry.tags) {
|
||||
const tagItem = this.tags[tag];
|
||||
if (tagItem && entry.addons.indexOf(tag) === -1) {
|
||||
tagItems.push({
|
||||
class: tagItem.class || 'default',
|
||||
order: tagItem.order || Number.MAX_SAFE_INTEGER,
|
||||
desc: tagItem.desc,
|
||||
name: tag
|
||||
});
|
||||
if (entry.addons.indexOf(tag) !== -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const tagItem = {
|
||||
class: 'default',
|
||||
order: Number.MAX_SAFE_INTEGER,
|
||||
desc: entry.entities[tag] || '',
|
||||
name: tag
|
||||
};
|
||||
|
||||
const tagMeta = this.tags[tag];
|
||||
if (tagMeta) {
|
||||
for (const key in tagMeta) {
|
||||
tagItem[key] = tagMeta[key] || tagItem[key];
|
||||
}
|
||||
}
|
||||
|
||||
tagItems.push(tagItem);
|
||||
|
||||
//
|
||||
// TODO: Handle tagging as popular through data.
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user