diff --git a/ext/jp/deinflector.js b/ext/jp/deinflector.js index 8c23de81..03f9d40a 100644 --- a/ext/jp/deinflector.js +++ b/ext/jp/deinflector.js @@ -75,7 +75,8 @@ class Deinflection { searchTags(tag, tags) { for (const t of tags) { - if (tag === t) { + const re = new RegExp(tag); + if (re.test(t)) { return true; } } diff --git a/ext/jp/translator.js b/ext/jp/translator.js index 79f8515a..aef20f19 100644 --- a/ext/jp/translator.js +++ b/ext/jp/translator.js @@ -117,25 +117,25 @@ class Translator { const sl1 = v1.source.length; const sl2 = v2.source.length; if (sl1 > sl2) { - return 1; - } else if (sl1 > sl2) { return -1; + } else if (sl1 < sl2) { + return 1; } const p1 = v1.tags.indexOf('P') >= 0; const p2 = v2.tags.indexOf('P') >= 0; if (p1 && !p2) { - return 1; - } else if (!p1 && p2) { return -1; + } else if (!p1 && p2) { + return 1; } const rl1 = v1.rules.length; const rl2 = v2.rules.length; if (rl1 < rl2) { - return 1; - } else if (rl2 > rl1) { return -1; + } else if (rl2 > rl1) { + return 1; } return 0;