diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 374c6087..bdd606b7 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -55,12 +55,7 @@ class Translator { for (const deinflection of deinflections) { for (const definition of deinflection.definitions) { const tags = definition.tags.map(tag => buildTag(tag, definition.tagMeta)); - tags.push(sanitizeTag({ - name: definition.dictionary, - category: 'dictionary', - order: 100 - })); - + tags.push(buildDictTag(definition.dictionary)); definitions.push({ source: deinflection.source, reasons: deinflection.reasons, @@ -96,7 +91,16 @@ class Translator { } } - return Promise.all(promises).then(sets => this.processKanji(sets.reduce((a, b) => a.concat(b), []))); + return Promise.all(promises).then(defSets => { + const definitions = defSets.reduce((a, b) => a.concat(b), []); + for (const definition of definitions) { + const tags = definition.tags.map(tag => buildTag(tag, definition.tagMeta)); + tags.push(buildDictTag(definition.dictionary)); + definition.tags = sortTags(tags); + } + + return definitions; + }); } findTermDeinflections(text, dictionaries, cache) { diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js index 059f3160..1212fa44 100644 --- a/ext/bg/js/util.js +++ b/ext/bg/js/util.js @@ -113,6 +113,10 @@ function undupeTermDefs(definitions) { return definitionsUnique; } +function buildDictTag(name) { + return sanitizeTag({name, category: 'dictionary', order: 100}); +} + function buildTag(name, meta) { const tag = {name}; const symbol = name.split(':')[0];