diff options
author | siikamiika <siikamiika@users.noreply.github.com> | 2017-11-09 17:25:28 +0200 |
---|---|---|
committer | siikamiika <siikamiika@users.noreply.github.com> | 2017-11-09 17:25:28 +0200 |
commit | 168285097004bcc99ecc1dae43e1429c05443d40 (patch) | |
tree | 4d898fe5308dd537f8c594037e1efa67c1fdc27f /ext/bg/js/translator.js | |
parent | 5f6830c7dd88520ebf41c24ab51e2c3240039939 (diff) |
merged mode: expand termTags earlier
Fixes errors with main dictionary other than JMdict
Diffstat (limited to 'ext/bg/js/translator.js')
-rw-r--r-- | ext/bg/js/translator.js | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 005dd5de..c6af1f4e 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -75,9 +75,11 @@ class Translator { const rawDefinitionsBySequence = await this.database.findTermsBySequence(Number(sequence), options.general.mainDictionary); for (const definition of rawDefinitionsBySequence) { - const tags = await this.expandTags(definition.definitionTags, definition.dictionary); - tags.push(dictTagBuildSource(definition.dictionary)); - definition.definitionTags = tags; + const definitionTags = await this.expandTags(definition.definitionTags, definition.dictionary); + definitionTags.push(dictTagBuildSource(definition.dictionary)); + definition.definitionTags = definitionTags; + const termTags = await this.expandTags(definition.termTags, definition.dictionary); + definition.termTags = termTags; } const definitionsByGloss = dictTermsMergeByGloss(result, rawDefinitionsBySequence); @@ -91,9 +93,11 @@ class Translator { for (const reading of result.expressions.get(expression).keys()) { for (const definition of await this.database.findTermsExact(expression, reading, secondarySearchTitles)) { - const tags = await this.expandTags(definition.definitionTags, definition.dictionary); - tags.push(dictTagBuildSource(definition.dictionary)); - definition.definitionTags = tags; + const definitionTags = await this.expandTags(definition.definitionTags, definition.dictionary); + definitionTags.push(dictTagBuildSource(definition.dictionary)); + definition.definitionTags = definitionTags; + const termTags = await this.expandTags(definition.termTags, definition.dictionary); + definition.termTags = termTags; secondarySearchResults.push(definition); } } @@ -113,11 +117,11 @@ class Translator { const expressions = []; for (const expression of result.expressions.keys()) { for (const reading of result.expressions.get(expression).keys()) { - const tags = await this.expandTags(result.expressions.get(expression).get(reading), result.dictionary); + const termTags = result.expressions.get(expression).get(reading); expressions.push({ expression: expression, reading: reading, - termTags: dictTagsSort(tags), + termTags: dictTagsSort(termTags), termFrequency: (score => { if (score > 0) { return 'popular'; @@ -126,7 +130,7 @@ class Translator { } else { return 'normal'; } - })(tags.map(tag => tag.score).reduce((p, v) => p + v, 0)) + })(termTags.map(tag => tag.score).reduce((p, v) => p + v, 0)) }); } } |