summaryrefslogtreecommitdiff
path: root/ext/bg/js/translator.js
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2019-09-05 20:21:07 -0700
committerAlex Yatskov <alex@foosoft.net>2019-09-05 20:21:07 -0700
commitcfc6363a01ee00e89866c54709006d6f55d093de (patch)
treea03b1f79ba220e93c248ad8284fb01dc95b676a9 /ext/bg/js/translator.js
parent5347da528bd07166b4686f45440d80a77f4888a3 (diff)
parentc53263158b22f4be8e54696c4675f360f1813de8 (diff)
Merge branch 'master' into testing
Diffstat (limited to 'ext/bg/js/translator.js')
-rw-r--r--ext/bg/js/translator.js17
1 files changed, 11 insertions, 6 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js
index c6af1f4e..c89b43ff 100644
--- a/ext/bg/js/translator.js
+++ b/ext/bg/js/translator.js
@@ -186,7 +186,7 @@ class Translator {
let deinflections = await this.findTermDeinflections(text, titles, cache);
const textHiragana = jpKatakanaToHiragana(text);
if (text !== textHiragana) {
- deinflections = deinflections.concat(await this.findTermDeinflections(textHiragana, titles, cache));
+ deinflections.push(...await this.findTermDeinflections(textHiragana, titles, cache));
}
let definitions = [];
@@ -235,7 +235,7 @@ class Translator {
let deinflections = [];
for (let i = text.length; i > 0; --i) {
const textSlice = text.slice(0, i);
- deinflections = deinflections.concat(await this.deinflector.deinflect(textSlice, definer));
+ deinflections.push(...await this.deinflector.deinflect(textSlice, definer));
}
return deinflections;
@@ -247,7 +247,7 @@ class Translator {
const titles = Object.keys(dictionaries);
for (const c of text) {
if (!processed[c]) {
- definitions = definitions.concat(await this.database.findKanji(c, titles));
+ definitions.push(...await this.database.findKanji(c, titles));
processed[c] = true;
}
}
@@ -277,7 +277,7 @@ class Translator {
async buildTermFrequencies(definition, titles) {
let terms = [];
if (definition.expressions) {
- terms = terms.concat(definition.expressions);
+ terms.push(...definition.expressions);
} else {
terms.push(definition);
}
@@ -299,7 +299,7 @@ class Translator {
async expandTags(names, title) {
const tags = [];
for (const name of names) {
- const base = name.split(':')[0];
+ const base = Translator.getNameBase(name);
const meta = await this.database.findTagForTitle(base, title);
const tag = {name};
@@ -318,7 +318,7 @@ class Translator {
async expandStats(items, title) {
const stats = {};
for (const name in items) {
- const base = name.split(':')[0];
+ const base = Translator.getNameBase(name);
const meta = await this.database.findTagForTitle(base, title);
const group = stats[meta.category] = stats[meta.category] || [];
@@ -346,4 +346,9 @@ class Translator {
return stats;
}
+
+ static getNameBase(name) {
+ const pos = name.indexOf(':');
+ return (pos >= 0 ? name.substr(0, pos) : name);
+ }
}