diff options
| author | Lyroxide <33834537+Lyroxide@users.noreply.github.com> | 2024-06-18 01:25:07 +0800 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-17 17:25:07 +0000 | 
| commit | 5b396c75d17771f7ccb43150c25544426b8e10f2 (patch) | |
| tree | 9b7d96ca0427aa1a39c44f2ad53b7d4626f7e39f /test | |
| parent | beaf5fbd47a93e608b9d666f1b9e83b490b9dfa7 (diff) | |
[ja] Refactor Japanese transforms names and add English descriptions (#1007)24.6.17.0
* add -rya -cha -n
* add tests
* fix typos
* resolve merge conflicts
* add tests
* change to -ya with chaining
* fix -ge and add -garu
* add descriptions
* descriptions done
* add back imperative negative
* fix description
* add string var
* remove form
* revert back to volitional
* -ku
* remove new causative
* revert to negative and clarify -n
* fix tests
* clarify some desc
* fix test
Diffstat (limited to 'test')
| -rw-r--r-- | test/data/anki-note-builder-test-results.json | 64 | ||||
| -rw-r--r-- | test/data/translator-test-results-note-data1.json | 160 | ||||
| -rw-r--r-- | test/data/translator-test-results.json | 172 | ||||
| -rw-r--r-- | test/language/japanese-transforms.test.js | 506 | 
4 files changed, 511 insertions, 391 deletions
| diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index b4badf10..4adbd436 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -580,7 +580,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -621,7 +621,7 @@          "cloze-body-kana": "ぶち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -662,7 +662,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -703,7 +703,7 @@          "cloze-body-kana": "ぶち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -1266,7 +1266,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -1307,7 +1307,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -1435,7 +1435,7 @@          "cloze-body-kana": "ぶち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -1476,7 +1476,7 @@          "cloze-body-kana": "ぶち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -1662,7 +1662,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -1703,7 +1703,7 @@          "cloze-body-kana": "ぶち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -1872,7 +1872,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2000,7 +2000,7 @@          "cloze-body-kana": "うちこんでいませんでした",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "-te « progressive or perfect « polite « negative « past", +        "conjugation": "-te « -teiru « -masu « negative « -ta",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打ち込む", @@ -2041,7 +2041,7 @@          "cloze-body-kana": "ぶちこんでいませんでした",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "-te « progressive or perfect « polite « negative « past", +        "conjugation": "-te « -teiru « -masu « negative « -ta",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打ち込む", @@ -2082,7 +2082,7 @@          "cloze-body-kana": "うちこんでいませんでした",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "-te « progressive or perfect « polite « negative « past", +        "conjugation": "-te « -teiru « -masu « negative « -ta",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打ち込む", @@ -2123,7 +2123,7 @@          "cloze-body-kana": "ぶちこんでいませんでした",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "-te « progressive or perfect « polite « negative « past", +        "conjugation": "-te « -teiru « -masu « negative « -ta",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打ち込む", @@ -2164,7 +2164,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2205,7 +2205,7 @@          "cloze-body-kana": "ぶち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2246,7 +2246,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2287,7 +2287,7 @@          "cloze-body-kana": "ぶち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2579,7 +2579,7 @@          "cloze-body-kana": "う(う)ち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2620,7 +2620,7 @@          "cloze-body-kana": "ぶ(う)ち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2661,7 +2661,7 @@          "cloze-body-kana": "う(う)ち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2702,7 +2702,7 @@          "cloze-body-kana": "ぶ(う)ち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -2994,7 +2994,7 @@          "cloze-body-kana": "(打)(ち)",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -3035,7 +3035,7 @@          "cloze-body-kana": "(打)(ち)",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -3076,7 +3076,7 @@          "cloze-body-kana": "(打)(ち)",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -3117,7 +3117,7 @@          "cloze-body-kana": "(打)(ち)",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -3245,7 +3245,7 @@          "cloze-body-kana": "test",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "読む", @@ -3337,7 +3337,7 @@          "cloze-body-kana": "testました",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "polite « past", +        "conjugation": "-masu « -ta",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "読む", @@ -3424,7 +3424,7 @@          "cloze-body-kana": "うち",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "masu stem", +        "conjugation": "continuative",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "打つ", @@ -3792,7 +3792,7 @@          "cloze-body-kana": "のたもうた",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "<ul><li>past</li><li>past « kansai-ben</li></ul>", +        "conjugation": "<ul><li>-ta</li><li>-ta « kansai-ben</li><li>past</li></ul>",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "のたまう", @@ -4283,7 +4283,7 @@          "cloze-body-kana": "すっっごーーい",          "cloze-prefix": "cloze-prefix",          "cloze-suffix": "cloze-suffix", -        "conjugation": "<ul><li>adv « kansai-ben</li></ul>", +        "conjugation": "<ul><li>-ku « kansai-ben</li></ul>",          "dictionary": "Test Dictionary 2",          "document-title": "title",          "expression": "凄い", diff --git a/test/data/translator-test-results-note-data1.json b/test/data/translator-test-results-note-data1.json index 81f98a77..1037412a 100644 --- a/test/data/translator-test-results-note-data1.json +++ b/test/data/translator-test-results-note-data1.json @@ -4580,7 +4580,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -4898,7 +4899,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -5216,7 +5218,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -5534,7 +5537,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -9727,7 +9731,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -10045,7 +10050,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -11212,7 +11218,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -11530,7 +11537,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -12916,7 +12924,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -13265,7 +13274,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -15024,7 +15034,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -16232,19 +16243,24 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "-te" +                  "name": "-te", +                  "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                  },                  { -                  "name": "progressive or perfect" +                  "name": "-teiru", +                  "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                  },                  { -                  "name": "polite" +                  "name": "-masu", +                  "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                  },                  { -                  "name": "negative" +                  "name": "negative", +                  "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                  },                  { -                  "name": "past" +                  "name": "-ta", +                  "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                  }                ]              } @@ -16670,19 +16686,24 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "-te" +                  "name": "-te", +                  "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                  },                  { -                  "name": "progressive or perfect" +                  "name": "-teiru", +                  "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                  },                  { -                  "name": "polite" +                  "name": "-masu", +                  "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                  },                  { -                  "name": "negative" +                  "name": "negative", +                  "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                  },                  { -                  "name": "past" +                  "name": "-ta", +                  "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                  }                ]              } @@ -17108,19 +17129,24 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "-te" +                  "name": "-te", +                  "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                  },                  { -                  "name": "progressive or perfect" +                  "name": "-teiru", +                  "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                  },                  { -                  "name": "polite" +                  "name": "-masu", +                  "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                  },                  { -                  "name": "negative" +                  "name": "negative", +                  "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                  },                  { -                  "name": "past" +                  "name": "-ta", +                  "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                  }                ]              } @@ -17546,19 +17572,24 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "-te" +                  "name": "-te", +                  "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                  },                  { -                  "name": "progressive or perfect" +                  "name": "-teiru", +                  "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                  },                  { -                  "name": "polite" +                  "name": "-masu", +                  "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                  },                  { -                  "name": "negative" +                  "name": "negative", +                  "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                  },                  { -                  "name": "past" +                  "name": "-ta", +                  "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                  }                ]              } @@ -17984,7 +18015,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -18302,7 +18334,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -18620,7 +18653,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -18938,7 +18972,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -21586,7 +21621,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -21904,7 +21940,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -22222,7 +22259,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -22540,7 +22578,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -25188,7 +25227,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -25506,7 +25546,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -25824,7 +25865,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -26142,7 +26184,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -27102,7 +27145,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -27426,10 +27470,12 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "polite" +                  "name": "-masu", +                  "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                  },                  { -                  "name": "past" +                  "name": "-ta", +                  "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                  }                ]              } @@ -28364,7 +28410,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "masu stem" +                  "name": "continuative", +                  "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                  }                ]              } @@ -30414,10 +30461,11 @@            "sourceTerm": "のたまう",            "inflectionRuleChainCandidates": [              { -              "source": "both", +              "source": "algorithm",                "inflectionRules": [                  { -                  "name": "past" +                  "name": "-ta", +                  "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                  }                ]              }, @@ -30425,13 +30473,22 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "past" +                  "name": "-ta", +                  "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                  },                  {                    "name": "kansai-ben",                    "description": "past form of kansai-ben terms"                  }                ] +            }, +            { +              "source": "dictionary", +              "inflectionRules": [ +                { +                  "name": "past" +                } +              ]              }            ],            "score": 1, @@ -32933,7 +32990,8 @@                "source": "algorithm",                "inflectionRules": [                  { -                  "name": "adv" +                  "name": "-ku", +                  "description": "Adverbial form of i-adjectives.\n"                  },                  {                    "name": "kansai-ben", diff --git a/test/data/translator-test-results.json b/test/data/translator-test-results.json index d63996c8..d93a8a66 100644 --- a/test/data/translator-test-results.json +++ b/test/data/translator-test-results.json @@ -2462,7 +2462,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -2636,7 +2637,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -2810,7 +2812,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -2984,7 +2987,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -5240,7 +5244,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -5414,7 +5419,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -5982,7 +5988,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -6156,7 +6163,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -6712,7 +6720,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -6778,7 +6787,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -6844,7 +6854,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -6910,7 +6921,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -7590,7 +7602,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -7812,7 +7825,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -8849,7 +8863,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -9621,19 +9636,24 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "-te" +                "name": "-te", +                "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                },                { -                "name": "progressive or perfect" +                "name": "-teiru", +                "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                },                { -                "name": "polite" +                "name": "-masu", +                "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                },                { -                "name": "negative" +                "name": "negative", +                "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                },                { -                "name": "past" +                "name": "-ta", +                "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                }              ]            } @@ -9831,19 +9851,24 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "-te" +                "name": "-te", +                "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                },                { -                "name": "progressive or perfect" +                "name": "-teiru", +                "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                },                { -                "name": "polite" +                "name": "-masu", +                "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                },                { -                "name": "negative" +                "name": "negative", +                "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                },                { -                "name": "past" +                "name": "-ta", +                "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                }              ]            } @@ -10041,19 +10066,24 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "-te" +                "name": "-te", +                "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                },                { -                "name": "progressive or perfect" +                "name": "-teiru", +                "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                },                { -                "name": "polite" +                "name": "-masu", +                "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                },                { -                "name": "negative" +                "name": "negative", +                "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                },                { -                "name": "past" +                "name": "-ta", +                "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                }              ]            } @@ -10251,19 +10281,24 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "-te" +                "name": "-te", +                "description": "te-form.\nIt has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\nUsage: Attach て to the continuative form (renyoukei) of verbs after euphonic change form, くて to the stem of i-adjectives."                },                { -                "name": "progressive or perfect" +                "name": "-teiru", +                "description": "1. Indicates an action continues or progresses to a point in time.\n2. Indicates an action is completed and remains as is.\n3. Indicates a state or condition that can be taken to be the result of undergoing some change.\nUsage: Attach いる to the te-form of verbs. い can be dropped in speech.\n(Slang) Attach おる to the te-form of verbs. Contracts to とる・でる in speech."                },                { -                "name": "polite" +                "name": "-masu", +                "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                },                { -                "name": "negative" +                "name": "negative", +                "description": "1. Negative form of verbs.\n2. Expresses a feeling of solicitation to the other party.\nUsage: Attach ない to the irrealis form (mizenkei) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません."                },                { -                "name": "past" +                "name": "-ta", +                "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                }              ]            } @@ -10461,7 +10496,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -10635,7 +10671,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -10809,7 +10846,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -10983,7 +11021,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -12288,7 +12327,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -12462,7 +12502,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -12636,7 +12677,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -12810,7 +12852,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -14115,7 +14158,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -14289,7 +14333,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -14463,7 +14508,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -14637,7 +14683,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -15166,7 +15213,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -15386,10 +15434,12 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "polite" +                "name": "-masu", +                "description": "Polite conjugation of verbs and adjectives.\nUsage: Attach ます to the continuative form (renyoukei) of verbs."                },                { -                "name": "past" +                "name": "-ta", +                "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                }              ]            } @@ -15961,7 +16011,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "masu stem" +                "name": "continuative", +                "description": "Used to indicate actions that are (being) carried out.\nRefers to the renyoukei, the part of the verb after conjugating with -masu and dropping masu."                }              ]            } @@ -17168,10 +17219,11 @@          "isPrimary": true,          "inflectionRuleChainCandidates": [            { -            "source": "both", +            "source": "algorithm",              "inflectionRules": [                { -                "name": "past" +                "name": "-ta", +                "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                }              ]            }, @@ -17179,13 +17231,22 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "past" +                "name": "-ta", +                "description": "1. Indicates a reality that has happened in the past.\n2. Indicates the completion of an action.\n3. Indicates the confirmation of a matter.\n4. Indicates the speaker's confidence that the action will definitely be fulfilled.\n5. Indicates the events that occur before the main clause are represented as relative past.\n6. Indicates a mild imperative/command.\nUsage: Attach た to the continuative form (renyoukei) of verbs after euphonic change form, かった to the stem of i-adjectives."                },                {                  "name": "kansai-ben",                  "description": "past form of kansai-ben terms"                }              ] +          }, +          { +            "source": "dictionary", +            "inflectionRules": [ +              { +                "name": "past" +              } +            ]            }          ],          "score": 1, @@ -18644,7 +18705,8 @@              "source": "algorithm",              "inflectionRules": [                { -                "name": "adv" +                "name": "-ku", +                "description": "Adverbial form of i-adjectives.\n"                },                {                  "name": "kansai-ben", diff --git a/test/language/japanese-transforms.test.js b/test/language/japanese-transforms.test.js index f62eef0f..4899038b 100644 --- a/test/language/japanese-transforms.test.js +++ b/test/language/japanese-transforms.test.js @@ -32,12 +32,12 @@ const tests = [              {term: '愛しい', source: '愛しかったら',           rule: 'adj-i', reasons: ['-tara']},              {term: '愛しい', source: '愛しかったり',           rule: 'adj-i', reasons: ['-tari']},              {term: '愛しい', source: '愛しくて',               rule: 'adj-i', reasons: ['-te']}, -            {term: '愛しい', source: '愛しく',                 rule: 'adj-i', reasons: ['adv']}, +            {term: '愛しい', source: '愛しく',                 rule: 'adj-i', reasons: ['-ku']},              {term: '愛しい', source: '愛しくない',             rule: 'adj-i', reasons: ['negative']}, -            {term: '愛しい', source: '愛しさ',                 rule: 'adj-i', reasons: ['noun']}, -            {term: '愛しい', source: '愛しかった',             rule: 'adj-i', reasons: ['past']}, -            {term: '愛しい', source: '愛しくありません',      rule: 'adj-i', reasons: ['polite', 'negative']}, -            {term: '愛しい', source: '愛しくありませんでした', rule: 'adj-i', reasons: ['polite', 'negative', 'past']}, +            {term: '愛しい', source: '愛しさ',                 rule: 'adj-i', reasons: ['-sa']}, +            {term: '愛しい', source: '愛しかった',             rule: 'adj-i', reasons: ['-ta']}, +            {term: '愛しい', source: '愛しくありません',      rule: 'adj-i', reasons: ['-masu', 'negative']}, +            {term: '愛しい', source: '愛しくありませんでした', rule: 'adj-i', reasons: ['-masu', 'negative', '-ta']},              {term: '愛しい', source: '愛しき',                 rule: 'adj-i', reasons: ['-ki']},              {term: '愛しい', source: '愛しげ',                 rule: 'adj-i', reasons: ['-ge']},              {term: '愛しい', source: '愛し気',                 rule: 'adj-i', reasons: ['-ge']}, @@ -49,9 +49,9 @@ const tests = [          valid: true,          tests: [              {term: '食べる', source: '食べる',           rule: 'v1', reasons: []}, -            {term: '食べる', source: '食べます',         rule: 'v1', reasons: ['polite']}, -            {term: '食べる', source: '食べた',           rule: 'v1', reasons: ['past']}, -            {term: '食べる', source: '食べました',       rule: 'v1', reasons: ['polite', 'past']}, +            {term: '食べる', source: '食べます',         rule: 'v1', reasons: ['-masu']}, +            {term: '食べる', source: '食べた',           rule: 'v1', reasons: ['-ta']}, +            {term: '食べる', source: '食べました',       rule: 'v1', reasons: ['-masu', '-ta']},              {term: '食べる', source: '食べて',           rule: 'v1', reasons: ['-te']},              {term: '食べる', source: '食べられる',       rule: 'v1', reasons: ['potential or passive']},              {term: '食べる', source: '食べられる',       rule: 'v1', reasons: ['potential or passive']}, @@ -59,16 +59,16 @@ const tests = [              {term: '食べる', source: '食べさせられる',   rule: 'v1', reasons: ['causative', 'potential or passive']},              {term: '食べる', source: '食べろ',           rule: 'v1', reasons: ['imperative']},              {term: '食べる', source: '食べない',         rule: 'v1', reasons: ['negative']}, -            {term: '食べる', source: '食べません',       rule: 'v1', reasons: ['polite', 'negative']}, -            {term: '食べる', source: '食べなかった',     rule: 'v1', reasons: ['negative', 'past']}, -            {term: '食べる', source: '食べませんでした', rule: 'v1', reasons: ['polite', 'negative', 'past']}, +            {term: '食べる', source: '食べません',       rule: 'v1', reasons: ['-masu', 'negative']}, +            {term: '食べる', source: '食べなかった',     rule: 'v1', reasons: ['negative', '-ta']}, +            {term: '食べる', source: '食べませんでした', rule: 'v1', reasons: ['-masu', 'negative', '-ta']},              {term: '食べる', source: '食べなくて',       rule: 'v1', reasons: ['negative', '-te']},              {term: '食べる', source: '食べられない',     rule: 'v1', reasons: ['potential or passive', 'negative']},              {term: '食べる', source: '食べられない',     rule: 'v1', reasons: ['potential or passive', 'negative']},              {term: '食べる', source: '食べさせない',     rule: 'v1', reasons: ['causative', 'negative']},              {term: '食べる', source: '食べさせられない', rule: 'v1', reasons: ['causative', 'potential or passive', 'negative']},              {term: '食べる', source: '食べるな',         rule: 'v1', reasons: ['imperative negative']}, -            {term: '食べる', source: '食べまして',        rule: 'v1', reasons: ['polite', '-te']}, +            {term: '食べる', source: '食べまして',        rule: 'v1', reasons: ['-masu', '-te']},              {term: '食べる', source: '食べれば',         rule: 'v1', reasons: ['-ba']},              {term: '食べる', source: '食べりゃ',         rule: 'v1', reasons: ['-ba', '-ya']}, @@ -87,15 +87,15 @@ const tests = [              {term: '食べる', source: '食べん',           rule: 'v1', reasons: ['-n']},              {term: '食べる', source: '食べざる',           rule: 'v1', reasons: ['-zaru']},              {term: '食べる', source: '食べねば',           rule: 'v1', reasons: ['-neba']}, -            {term: '食べる', source: '食べ',             rule: 'v1d', reasons: ['masu stem']}, -            {term: '食べる', source: '食べましょう',     rule: 'v1', reasons: ['polite', 'volitional']}, +            {term: '食べる', source: '食べ',             rule: 'v1d', reasons: ['continuative']}, +            {term: '食べる', source: '食べましょう',     rule: 'v1', reasons: ['-masu', 'volitional']},              {term: '食べる', source: '食べよう',         rule: 'v1', reasons: ['volitional']}, -            // ['causative passive'] +            // ['causative-passive']              {term: '食べる', source: '食べとく',         rule: 'v1', reasons: ['-toku']}, -            {term: '食べる', source: '食べている',       rule: 'v1', reasons: ['-te', 'progressive or perfect']}, -            {term: '食べる', source: '食べておる',       rule: 'v1', reasons: ['-te', 'progressive or perfect']}, -            {term: '食べる', source: '食べてる',         rule: 'v1', reasons: ['-te', 'progressive or perfect']}, -            {term: '食べる', source: '食べとる',         rule: 'v1', reasons: ['-te', 'progressive or perfect']}, +            {term: '食べる', source: '食べている',       rule: 'v1', reasons: ['-te', '-teiru']}, +            {term: '食べる', source: '食べておる',       rule: 'v1', reasons: ['-te', '-teiru']}, +            {term: '食べる', source: '食べてる',         rule: 'v1', reasons: ['-te', '-teiru']}, +            {term: '食べる', source: '食べとる',         rule: 'v1', reasons: ['-te', '-teiru']},              {term: '食べる', source: '食べてしまう',     rule: 'v1', reasons: ['-te', '-shimau']},          ],      }, @@ -104,9 +104,9 @@ const tests = [          valid: true,          tests: [              {term: '買う', source: '買う',             rule: 'v5', reasons: []}, -            {term: '買う', source: '買います',         rule: 'v5', reasons: ['polite']}, -            {term: '買う', source: '買った',           rule: 'v5', reasons: ['past']}, -            {term: '買う', source: '買いました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '買う', source: '買います',         rule: 'v5', reasons: ['-masu']}, +            {term: '買う', source: '買った',           rule: 'v5', reasons: ['-ta']}, +            {term: '買う', source: '買いました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '買う', source: '買って',           rule: 'v5', reasons: ['-te']},              {term: '買う', source: '買える',           rule: 'v5', reasons: ['potential']},              {term: '買う', source: '買われる',         rule: 'v5', reasons: ['passive']}, @@ -114,16 +114,16 @@ const tests = [              {term: '買う', source: '買わせられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '買う', source: '買え',             rule: 'v5', reasons: ['imperative']},              {term: '買う', source: '買わない',         rule: 'v5', reasons: ['negative']}, -            {term: '買う', source: '買いません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '買う', source: '買わなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '買う', source: '買いませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '買う', source: '買いません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '買う', source: '買わなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '買う', source: '買いませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '買う', source: '買わなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '買う', source: '買えない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '買う', source: '買われない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '買う', source: '買わせない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '買う', source: '買わせられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '買う', source: '買うな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '買う', source: '買いまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '買う', source: '買いまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '買う', source: '買えば',           rule: 'v5', reasons: ['-ba']},              {term: '買う', source: '買や',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -142,15 +142,15 @@ const tests = [              {term: '買う', source: '買わん',           rule: 'v5', reasons: ['-n']},              {term: '買う', source: '買わざる',           rule: 'v5', reasons: ['-zaru']},              {term: '買う', source: '買わねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '買う', source: '買い',             rule: 'v5', reasons: ['masu stem']}, -            {term: '買う', source: '買いましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '買う', source: '買い',             rule: 'v5', reasons: ['continuative']}, +            {term: '買う', source: '買いましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '買う', source: '買おう',           rule: 'v5', reasons: ['volitional']}, -            {term: '買う', source: '買わされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '買う', source: '買わされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '買う', source: '買っとく',         rule: 'v5', reasons: ['-toku']}, -            {term: '買う', source: '買っている',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '買う', source: '買っておる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '買う', source: '買ってる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '買う', source: '買っとる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '買う', source: '買っている',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '買う', source: '買っておる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '買う', source: '買ってる',         rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '買う', source: '買っとる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '買う', source: '買ってしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -159,9 +159,9 @@ const tests = [          valid: true,          tests: [              {term: '行く', source: '行く',             rule: 'v5', reasons: []}, -            {term: '行く', source: '行きます',         rule: 'v5', reasons: ['polite']}, -            {term: '行く', source: '行った',           rule: 'v5', reasons: ['past']}, -            {term: '行く', source: '行きました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '行く', source: '行きます',         rule: 'v5', reasons: ['-masu']}, +            {term: '行く', source: '行った',           rule: 'v5', reasons: ['-ta']}, +            {term: '行く', source: '行きました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '行く', source: '行って',           rule: 'v5', reasons: ['-te']},              {term: '行く', source: '行ける',           rule: 'v5', reasons: ['potential']},              {term: '行く', source: '行かれる',         rule: 'v5', reasons: ['passive']}, @@ -169,16 +169,16 @@ const tests = [              {term: '行く', source: '行かせられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '行く', source: '行け',             rule: 'v5', reasons: ['imperative']},              {term: '行く', source: '行かない',         rule: 'v5', reasons: ['negative']}, -            {term: '行く', source: '行きません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '行く', source: '行かなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '行く', source: '行きませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '行く', source: '行きません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '行く', source: '行かなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '行く', source: '行きませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '行く', source: '行かなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '行く', source: '行けない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '行く', source: '行かれない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '行く', source: '行かせない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '行く', source: '行かせられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '行く', source: '行くな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '行く', source: '行きまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '行く', source: '行きまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '行く', source: '行けば',           rule: 'v5', reasons: ['-ba']},              {term: '行く', source: '行きゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -197,15 +197,15 @@ const tests = [              {term: '行く', source: '行かん',           rule: 'v5', reasons: ['-n']},              {term: '行く', source: '行かざる',           rule: 'v5', reasons: ['-zaru']},              {term: '行く', source: '行かねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '行く', source: '行き',             rule: 'v5', reasons: ['masu stem']}, -            {term: '行く', source: '行きましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '行く', source: '行き',             rule: 'v5', reasons: ['continuative']}, +            {term: '行く', source: '行きましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '行く', source: '行こう',           rule: 'v5', reasons: ['volitional']}, -            {term: '行く', source: '行かされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '行く', source: '行かされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '行く', source: '行いとく',         rule: 'v5', reasons: ['-toku']}, -            {term: '行く', source: '行っている',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '行く', source: '行っておる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '行く', source: '行ってる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '行く', source: '行っとる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '行く', source: '行っている',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '行く', source: '行っておる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '行く', source: '行ってる',         rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '行く', source: '行っとる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '行く', source: '行ってしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -214,9 +214,9 @@ const tests = [          valid: true,          tests: [              {term: '泳ぐ', source: '泳ぐ',             rule: 'v5', reasons: []}, -            {term: '泳ぐ', source: '泳ぎます',         rule: 'v5', reasons: ['polite']}, -            {term: '泳ぐ', source: '泳いだ',           rule: 'v5', reasons: ['past']}, -            {term: '泳ぐ', source: '泳ぎました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '泳ぐ', source: '泳ぎます',         rule: 'v5', reasons: ['-masu']}, +            {term: '泳ぐ', source: '泳いだ',           rule: 'v5', reasons: ['-ta']}, +            {term: '泳ぐ', source: '泳ぎました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '泳ぐ', source: '泳いで',           rule: 'v5', reasons: ['-te']},              {term: '泳ぐ', source: '泳げる',           rule: 'v5', reasons: ['potential']},              {term: '泳ぐ', source: '泳がれる',         rule: 'v5', reasons: ['passive']}, @@ -224,16 +224,16 @@ const tests = [              {term: '泳ぐ', source: '泳がせられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '泳ぐ', source: '泳げ',             rule: 'v5', reasons: ['imperative']},              {term: '泳ぐ', source: '泳がない',         rule: 'v5', reasons: ['negative']}, -            {term: '泳ぐ', source: '泳ぎません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '泳ぐ', source: '泳がなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '泳ぐ', source: '泳ぎませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '泳ぐ', source: '泳ぎません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '泳ぐ', source: '泳がなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '泳ぐ', source: '泳ぎませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '泳ぐ', source: '泳がなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '泳ぐ', source: '泳げない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '泳ぐ', source: '泳がれない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '泳ぐ', source: '泳がせない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '泳ぐ', source: '泳がせられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '泳ぐ', source: '泳ぐな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '泳ぐ', source: '泳ぎまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '泳ぐ', source: '泳ぎまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '泳ぐ', source: '泳げば',           rule: 'v5', reasons: ['-ba']},              {term: '泳ぐ', source: '泳ぎゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -252,14 +252,14 @@ const tests = [              {term: '泳ぐ', source: '泳がん',           rule: 'v5', reasons: ['-n']},              {term: '泳ぐ', source: '泳がざる',           rule: 'v5', reasons: ['-zaru']},              {term: '泳ぐ', source: '泳がねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '泳ぐ', source: '泳ぎ',             rule: 'v5', reasons: ['masu stem']}, -            {term: '泳ぐ', source: '泳ぎましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '泳ぐ', source: '泳ぎ',             rule: 'v5', reasons: ['continuative']}, +            {term: '泳ぐ', source: '泳ぎましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '泳ぐ', source: '泳ごう',           rule: 'v5', reasons: ['volitional']}, -            {term: '泳ぐ', source: '泳がされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '泳ぐ', source: '泳がされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '泳ぐ', source: '泳いどく',         rule: 'v5', reasons: ['-toku']}, -            {term: '泳ぐ', source: '泳いでいる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '泳ぐ', source: '泳いでおる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '泳ぐ', source: '泳いでる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '泳ぐ', source: '泳いでいる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '泳ぐ', source: '泳いでおる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '泳ぐ', source: '泳いでる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '泳ぐ', source: '泳いでしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -268,9 +268,9 @@ const tests = [          valid: true,          tests: [              {term: '話す', source: '話す',             rule: 'v5', reasons: []}, -            {term: '話す', source: '話します',         rule: 'v5', reasons: ['polite']}, -            {term: '話す', source: '話した',           rule: 'v5', reasons: ['past']}, -            {term: '話す', source: '話しました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '話す', source: '話します',         rule: 'v5', reasons: ['-masu']}, +            {term: '話す', source: '話した',           rule: 'v5', reasons: ['-ta']}, +            {term: '話す', source: '話しました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '話す', source: '話して',           rule: 'v5', reasons: ['-te']},              {term: '話す', source: '話せる',           rule: 'v5', reasons: ['potential']},              {term: '話す', source: '話される',         rule: 'v5', reasons: ['passive']}, @@ -278,16 +278,16 @@ const tests = [              {term: '話す', source: '話させられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '話す', source: '話せ',             rule: 'v5', reasons: ['imperative']},              {term: '話す', source: '話さない',         rule: 'v5', reasons: ['negative']}, -            {term: '話す', source: '話しません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '話す', source: '話さなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '話す', source: '話しませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '話す', source: '話しません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '話す', source: '話さなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '話す', source: '話しませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '話す', source: '話さなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '話す', source: '話せない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '話す', source: '話されない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '話す', source: '話させない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '話す', source: '話させられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '話す', source: '話すな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '話す', source: '話しまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '話す', source: '話しまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '話す', source: '話せば',           rule: 'v5', reasons: ['-ba']},              {term: '話す', source: '話しゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -306,15 +306,15 @@ const tests = [              {term: '話す', source: '話さん',           rule: 'v5', reasons: ['-n']},              {term: '話す', source: '話さざる',           rule: 'v5', reasons: ['-zaru']},              {term: '話す', source: '話さねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '話す', source: '話し',             rule: 'v5', reasons: ['masu stem']}, -            {term: '話す', source: '話しましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '話す', source: '話し',             rule: 'v5', reasons: ['continuative']}, +            {term: '話す', source: '話しましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '話す', source: '話そう',           rule: 'v5', reasons: ['volitional']}, -            // ['causative passive'] +            // ['causative-passive']              {term: '話す', source: '話しとく',         rule: 'v5', reasons: ['-toku']}, -            {term: '話す', source: '話している',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '話す', source: '話しておる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '話す', source: '話してる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '話す', source: '話しとる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '話す', source: '話している',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '話す', source: '話しておる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '話す', source: '話してる',         rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '話す', source: '話しとる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '話す', source: '話してしまう',     rule: 'v5', reasons: ['-te', '-shimau']},              {term: '増す', source: '増せん',             rule: 'v5', reasons: ['potential', '-n']}, @@ -325,9 +325,9 @@ const tests = [          valid: true,          tests: [              {term: '待つ', source: '待つ',             rule: 'v5', reasons: []}, -            {term: '待つ', source: '待ちます',         rule: 'v5', reasons: ['polite']}, -            {term: '待つ', source: '待った',           rule: 'v5', reasons: ['past']}, -            {term: '待つ', source: '待ちました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '待つ', source: '待ちます',         rule: 'v5', reasons: ['-masu']}, +            {term: '待つ', source: '待った',           rule: 'v5', reasons: ['-ta']}, +            {term: '待つ', source: '待ちました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '待つ', source: '待って',           rule: 'v5', reasons: ['-te']},              {term: '待つ', source: '待てる',           rule: 'v5', reasons: ['potential']},              {term: '待つ', source: '待たれる',         rule: 'v5', reasons: ['passive']}, @@ -335,16 +335,16 @@ const tests = [              {term: '待つ', source: '待たせられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '待つ', source: '待て',             rule: 'v5', reasons: ['imperative']},              {term: '待つ', source: '待たない',         rule: 'v5', reasons: ['negative']}, -            {term: '待つ', source: '待ちません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '待つ', source: '待たなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '待つ', source: '待ちませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '待つ', source: '待ちません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '待つ', source: '待たなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '待つ', source: '待ちませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '待つ', source: '待たなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '待つ', source: '待てない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '待つ', source: '待たれない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '待つ', source: '待たせない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '待つ', source: '待たせられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '待つ', source: '待つな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '待つ', source: '待ちまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '待つ', source: '待ちまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '待つ', source: '待てば',           rule: 'v5', reasons: ['-ba']},              {term: '待つ', source: '待ちゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -363,15 +363,15 @@ const tests = [              {term: '待つ', source: '待たん',           rule: 'v5', reasons: ['-n']},              {term: '待つ', source: '待たざる',           rule: 'v5', reasons: ['-zaru']},              {term: '待つ', source: '待たねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '待つ', source: '待ち',             rule: 'v5', reasons: ['masu stem']}, -            {term: '待つ', source: '待ちましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '待つ', source: '待ち',             rule: 'v5', reasons: ['continuative']}, +            {term: '待つ', source: '待ちましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '待つ', source: '待とう',           rule: 'v5', reasons: ['volitional']}, -            {term: '待つ', source: '待たされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '待つ', source: '待たされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '待つ', source: '待っとく',         rule: 'v5', reasons: ['-toku']}, -            {term: '待つ', source: '待っている',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '待つ', source: '待っておる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '待つ', source: '待ってる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '待つ', source: '待っとる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '待つ', source: '待っている',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '待つ', source: '待っておる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '待つ', source: '待ってる',         rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '待つ', source: '待っとる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '待つ', source: '待ってしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -380,9 +380,9 @@ const tests = [          valid: true,          tests: [              {term: '死ぬ', source: '死ぬ',             rule: 'v5', reasons: []}, -            {term: '死ぬ', source: '死にます',         rule: 'v5', reasons: ['polite']}, -            {term: '死ぬ', source: '死んだ',           rule: 'v5', reasons: ['past']}, -            {term: '死ぬ', source: '死にました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '死ぬ', source: '死にます',         rule: 'v5', reasons: ['-masu']}, +            {term: '死ぬ', source: '死んだ',           rule: 'v5', reasons: ['-ta']}, +            {term: '死ぬ', source: '死にました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '死ぬ', source: '死んで',           rule: 'v5', reasons: ['-te']},              {term: '死ぬ', source: '死ねる',           rule: 'v5', reasons: ['potential']},              {term: '死ぬ', source: '死なれる',         rule: 'v5', reasons: ['passive']}, @@ -390,16 +390,16 @@ const tests = [              {term: '死ぬ', source: '死なせられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '死ぬ', source: '死ね',             rule: 'v5', reasons: ['imperative']},              {term: '死ぬ', source: '死なない',         rule: 'v5', reasons: ['negative']}, -            {term: '死ぬ', source: '死にません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '死ぬ', source: '死ななかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '死ぬ', source: '死にませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '死ぬ', source: '死にません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '死ぬ', source: '死ななかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '死ぬ', source: '死にませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '死ぬ', source: '死ななくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '死ぬ', source: '死ねない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '死ぬ', source: '死なれない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '死ぬ', source: '死なせない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '死ぬ', source: '死なせられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '死ぬ', source: '死ぬな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '死ぬ', source: '死にまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '死ぬ', source: '死にまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '死ぬ', source: '死ねば',           rule: 'v5', reasons: ['-ba']},              {term: '死ぬ', source: '死にゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -418,14 +418,14 @@ const tests = [              {term: '死ぬ', source: '死なん',           rule: 'v5', reasons: ['-n']},              {term: '死ぬ', source: '死なざる',           rule: 'v5', reasons: ['-zaru']},              {term: '死ぬ', source: '死なねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '死ぬ', source: '死に',             rule: 'v5', reasons: ['masu stem']}, -            {term: '死ぬ', source: '死にましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '死ぬ', source: '死に',             rule: 'v5', reasons: ['continuative']}, +            {term: '死ぬ', source: '死にましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '死ぬ', source: '死のう',           rule: 'v5', reasons: ['volitional']}, -            {term: '死ぬ', source: '死なされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '死ぬ', source: '死なされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '死ぬ', source: '死んどく',         rule: 'v5', reasons: ['-toku']}, -            {term: '死ぬ', source: '死んでいる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '死ぬ', source: '死んでおる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '死ぬ', source: '死んでる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '死ぬ', source: '死んでいる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '死ぬ', source: '死んでおる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '死ぬ', source: '死んでる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '死ぬ', source: '死んでしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -434,9 +434,9 @@ const tests = [          valid: true,          tests: [              {term: '遊ぶ', source: '遊ぶ',             rule: 'v5', reasons: []}, -            {term: '遊ぶ', source: '遊びます',         rule: 'v5', reasons: ['polite']}, -            {term: '遊ぶ', source: '遊んだ',           rule: 'v5', reasons: ['past']}, -            {term: '遊ぶ', source: '遊びました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '遊ぶ', source: '遊びます',         rule: 'v5', reasons: ['-masu']}, +            {term: '遊ぶ', source: '遊んだ',           rule: 'v5', reasons: ['-ta']}, +            {term: '遊ぶ', source: '遊びました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '遊ぶ', source: '遊んで',           rule: 'v5', reasons: ['-te']},              {term: '遊ぶ', source: '遊べる',           rule: 'v5', reasons: ['potential']},              {term: '遊ぶ', source: '遊ばれる',         rule: 'v5', reasons: ['passive']}, @@ -444,16 +444,16 @@ const tests = [              {term: '遊ぶ', source: '遊ばせられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '遊ぶ', source: '遊べ',             rule: 'v5', reasons: ['imperative']},              {term: '遊ぶ', source: '遊ばない',         rule: 'v5', reasons: ['negative']}, -            {term: '遊ぶ', source: '遊びません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '遊ぶ', source: '遊ばなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '遊ぶ', source: '遊びませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '遊ぶ', source: '遊びません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '遊ぶ', source: '遊ばなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '遊ぶ', source: '遊びませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '遊ぶ', source: '遊ばなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '遊ぶ', source: '遊べない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '遊ぶ', source: '遊ばれない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '遊ぶ', source: '遊ばせない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '遊ぶ', source: '遊ばせられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '遊ぶ', source: '遊ぶな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '遊ぶ', source: '遊びまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '遊ぶ', source: '遊びまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '遊ぶ', source: '遊べば',           rule: 'v5', reasons: ['-ba']},              {term: '遊ぶ', source: '遊びゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -472,14 +472,14 @@ const tests = [              {term: '遊ぶ', source: '遊ばん',           rule: 'v5', reasons: ['-n']},              {term: '遊ぶ', source: '遊ばざる',           rule: 'v5', reasons: ['-zaru']},              {term: '遊ぶ', source: '遊ばねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '遊ぶ', source: '遊び',             rule: 'v5', reasons: ['masu stem']}, -            {term: '遊ぶ', source: '遊びましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '遊ぶ', source: '遊び',             rule: 'v5', reasons: ['continuative']}, +            {term: '遊ぶ', source: '遊びましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '遊ぶ', source: '遊ぼう',           rule: 'v5', reasons: ['volitional']}, -            {term: '遊ぶ', source: '遊ばされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '遊ぶ', source: '遊ばされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '遊ぶ', source: '遊んどく',         rule: 'v5', reasons: ['-toku']}, -            {term: '遊ぶ', source: '遊んでいる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '遊ぶ', source: '遊んでおる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '遊ぶ', source: '遊んでる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '遊ぶ', source: '遊んでいる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '遊ぶ', source: '遊んでおる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '遊ぶ', source: '遊んでる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '遊ぶ', source: '遊んでしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -488,9 +488,9 @@ const tests = [          valid: true,          tests: [              {term: '飲む', source: '飲む',             rule: 'v5', reasons: []}, -            {term: '飲む', source: '飲みます',         rule: 'v5', reasons: ['polite']}, -            {term: '飲む', source: '飲んだ',           rule: 'v5', reasons: ['past']}, -            {term: '飲む', source: '飲みました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '飲む', source: '飲みます',         rule: 'v5', reasons: ['-masu']}, +            {term: '飲む', source: '飲んだ',           rule: 'v5', reasons: ['-ta']}, +            {term: '飲む', source: '飲みました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '飲む', source: '飲んで',           rule: 'v5', reasons: ['-te']},              {term: '飲む', source: '飲める',           rule: 'v5', reasons: ['potential']},              {term: '飲む', source: '飲まれる',         rule: 'v5', reasons: ['passive']}, @@ -498,16 +498,16 @@ const tests = [              {term: '飲む', source: '飲ませられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '飲む', source: '飲め',             rule: 'v5', reasons: ['imperative']},              {term: '飲む', source: '飲まない',         rule: 'v5', reasons: ['negative']}, -            {term: '飲む', source: '飲みません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '飲む', source: '飲まなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '飲む', source: '飲みませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '飲む', source: '飲みません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '飲む', source: '飲まなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '飲む', source: '飲みませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '飲む', source: '飲まなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '飲む', source: '飲めない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '飲む', source: '飲まれない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '飲む', source: '飲ませない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '飲む', source: '飲ませられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '飲む', source: '飲むな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '飲む', source: '飲みまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '飲む', source: '飲みまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '飲む', source: '飲めば',           rule: 'v5', reasons: ['-ba']},              {term: '飲む', source: '飲みゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -526,14 +526,14 @@ const tests = [              {term: '飲む', source: '飲まん',           rule: 'v5', reasons: ['-n']},              {term: '飲む', source: '飲まざる',           rule: 'v5', reasons: ['-zaru']},              {term: '飲む', source: '飲まねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '飲む', source: '飲み',             rule: 'v5', reasons: ['masu stem']}, -            {term: '飲む', source: '飲みましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '飲む', source: '飲み',             rule: 'v5', reasons: ['continuative']}, +            {term: '飲む', source: '飲みましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '飲む', source: '飲もう',           rule: 'v5', reasons: ['volitional']}, -            {term: '飲む', source: '飲まされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '飲む', source: '飲まされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '飲む', source: '飲んどく',         rule: 'v5', reasons: ['-toku']}, -            {term: '飲む', source: '飲んでいる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '飲む', source: '飲んでおる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '飲む', source: '飲んでる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '飲む', source: '飲んでいる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '飲む', source: '飲んでおる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '飲む', source: '飲んでる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '飲む', source: '飲んでしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -542,9 +542,9 @@ const tests = [          valid: true,          tests: [              {term: '作る', source: '作る',             rule: 'v5', reasons: []}, -            {term: '作る', source: '作ります',         rule: 'v5', reasons: ['polite']}, -            {term: '作る', source: '作った',           rule: 'v5', reasons: ['past']}, -            {term: '作る', source: '作りました',       rule: 'v5', reasons: ['polite', 'past']}, +            {term: '作る', source: '作ります',         rule: 'v5', reasons: ['-masu']}, +            {term: '作る', source: '作った',           rule: 'v5', reasons: ['-ta']}, +            {term: '作る', source: '作りました',       rule: 'v5', reasons: ['-masu', '-ta']},              {term: '作る', source: '作って',           rule: 'v5', reasons: ['-te']},              {term: '作る', source: '作れる',           rule: 'v5', reasons: ['potential']},              {term: '作る', source: '作られる',         rule: 'v5', reasons: ['passive']}, @@ -552,16 +552,16 @@ const tests = [              {term: '作る', source: '作らせられる',     rule: 'v5', reasons: ['causative', 'potential or passive']},              {term: '作る', source: '作れ',             rule: 'v5', reasons: ['imperative']},              {term: '作る', source: '作らない',         rule: 'v5', reasons: ['negative']}, -            {term: '作る', source: '作りません',       rule: 'v5', reasons: ['polite', 'negative']}, -            {term: '作る', source: '作らなかった',     rule: 'v5', reasons: ['negative', 'past']}, -            {term: '作る', source: '作りませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, +            {term: '作る', source: '作りません',       rule: 'v5', reasons: ['-masu', 'negative']}, +            {term: '作る', source: '作らなかった',     rule: 'v5', reasons: ['negative', '-ta']}, +            {term: '作る', source: '作りませんでした', rule: 'v5', reasons: ['-masu', 'negative', '-ta']},              {term: '作る', source: '作らなくて',       rule: 'v5', reasons: ['negative', '-te']},              {term: '作る', source: '作れない',         rule: 'v5', reasons: ['potential', 'negative']},              {term: '作る', source: '作られない',       rule: 'v5', reasons: ['passive', 'negative']},              {term: '作る', source: '作らせない',       rule: 'v5', reasons: ['causative', 'negative']},              {term: '作る', source: '作らせられない',   rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},              {term: '作る', source: '作るな',           rule: 'v5', reasons: ['imperative negative']}, -            {term: '作る', source: '作りまして',     rule: 'v5', reasons: ['polite', '-te']}, +            {term: '作る', source: '作りまして',     rule: 'v5', reasons: ['-masu', '-te']},              {term: '作る', source: '作れば',           rule: 'v5', reasons: ['-ba']},              {term: '作る', source: '作りゃ',           rule: 'v5', reasons: ['-ba', '-ya']}, @@ -580,15 +580,15 @@ const tests = [              {term: '作る', source: '作らん',           rule: 'v5', reasons: ['-n']},              {term: '作る', source: '作らざる',           rule: 'v5', reasons: ['-zaru']},              {term: '作る', source: '作らねば',           rule: 'v5', reasons: ['-neba']}, -            {term: '作る', source: '作り',             rule: 'v5', reasons: ['masu stem']}, -            {term: '作る', source: '作りましょう',     rule: 'v5', reasons: ['polite', 'volitional']}, +            {term: '作る', source: '作り',             rule: 'v5', reasons: ['continuative']}, +            {term: '作る', source: '作りましょう',     rule: 'v5', reasons: ['-masu', 'volitional']},              {term: '作る', source: '作ろう',           rule: 'v5', reasons: ['volitional']}, -            {term: '作る', source: '作らされる',       rule: 'v5', reasons: ['causative passive']}, +            {term: '作る', source: '作らされる',       rule: 'v5', reasons: ['causative-passive']},              {term: '作る', source: '作っとく',         rule: 'v5', reasons: ['-toku']}, -            {term: '作る', source: '作っている',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '作る', source: '作っておる',       rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '作る', source: '作ってる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, -            {term: '作る', source: '作っとる',         rule: 'v5', reasons: ['-te', 'progressive or perfect']}, +            {term: '作る', source: '作っている',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '作る', source: '作っておる',       rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '作る', source: '作ってる',         rule: 'v5', reasons: ['-te', '-teiru']}, +            {term: '作る', source: '作っとる',         rule: 'v5', reasons: ['-te', '-teiru']},              {term: '作る', source: '作ってしまう',     rule: 'v5', reasons: ['-te', '-shimau']},          ],      }, @@ -597,9 +597,9 @@ const tests = [          valid: true,          tests: [              {term: '為る', source: '為る',           rule: 'vs', reasons: []}, -            {term: '為る', source: '為ます',         rule: 'vs', reasons: ['polite']}, -            {term: '為る', source: '為た',           rule: 'vs', reasons: ['past']}, -            {term: '為る', source: '為ました',       rule: 'vs', reasons: ['polite', 'past']}, +            {term: '為る', source: '為ます',         rule: 'vs', reasons: ['-masu']}, +            {term: '為る', source: '為た',           rule: 'vs', reasons: ['-ta']}, +            {term: '為る', source: '為ました',       rule: 'vs', reasons: ['-masu', '-ta']},              {term: '為る', source: '為て',           rule: 'vs', reasons: ['-te']},              {term: '為る', source: '為られる',       rule: 'vs', reasons: ['potential or passive']},              {term: '為る', source: '為れる',         rule: 'vs', reasons: ['passive']}, @@ -609,9 +609,9 @@ const tests = [              {term: '為る', source: '為させられる',   rule: 'vs', reasons: ['causative', 'potential or passive']},              {term: '為る', source: '為ろ',           rule: 'vs', reasons: ['imperative']},              {term: '為る', source: '為ない',         rule: 'vs', reasons: ['negative']}, -            {term: '為る', source: '為ません',       rule: 'vs', reasons: ['polite', 'negative']}, -            {term: '為る', source: '為なかった',     rule: 'vs', reasons: ['negative', 'past']}, -            {term: '為る', source: '為ませんでした', rule: 'vs', reasons: ['polite', 'negative', 'past']}, +            {term: '為る', source: '為ません',       rule: 'vs', reasons: ['-masu', 'negative']}, +            {term: '為る', source: '為なかった',     rule: 'vs', reasons: ['negative', '-ta']}, +            {term: '為る', source: '為ませんでした', rule: 'vs', reasons: ['-masu', 'negative', '-ta']},              {term: '為る', source: '為なくて',       rule: 'vs', reasons: ['negative', '-te']},              {term: '為る', source: '為られない',     rule: 'vs', reasons: ['potential or passive', 'negative']},              {term: '為る', source: '為れない',       rule: 'vs', reasons: ['passive', 'negative']}, @@ -620,7 +620,7 @@ const tests = [              {term: '為る', source: '為せられない',   rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']},              {term: '為る', source: '為させられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']},              {term: '為る', source: '為るな',         rule: 'vs', reasons: ['imperative negative']}, -            {term: '為る', source: '為まして',     rule: 'vs', reasons: ['polite', '-te']}, +            {term: '為る', source: '為まして',     rule: 'vs', reasons: ['-masu', '-te']},              {term: '為る', source: '為れば',         rule: 'vs', reasons: ['-ba']},              {term: '為る', source: '為りゃ',         rule: 'vs', reasons: ['-ba', '-ya']}, @@ -639,21 +639,21 @@ const tests = [              {term: '為る', source: '為ん',           rule: 'vs', reasons: ['-n']},              {term: '為る', source: '為ざる',           rule: 'vs', reasons: ['-zaru']},              {term: '為る', source: '為ねば',           rule: 'vs', reasons: ['-neba']}, -            // ['masu stem'] -            {term: '為る', source: '為ましょう',     rule: 'vs', reasons: ['polite', 'volitional']}, +            // ['continuative'] +            {term: '為る', source: '為ましょう',     rule: 'vs', reasons: ['-masu', 'volitional']},              {term: '為る', source: '為よう',         rule: 'vs', reasons: ['volitional']}, -            // ['causative passive'] +            // ['causative-passive']              {term: '為る', source: '為とく',         rule: 'vs', reasons: ['-toku']}, -            {term: '為る', source: '為ている',       rule: 'vs', reasons: ['-te', 'progressive or perfect']}, -            {term: '為る', source: '為ておる',       rule: 'vs', reasons: ['-te', 'progressive or perfect']}, -            {term: '為る', source: '為てる',         rule: 'vs', reasons: ['-te', 'progressive or perfect']}, -            {term: '為る', source: '為とる',         rule: 'vs', reasons: ['-te', 'progressive or perfect']}, +            {term: '為る', source: '為ている',       rule: 'vs', reasons: ['-te', '-teiru']}, +            {term: '為る', source: '為ておる',       rule: 'vs', reasons: ['-te', '-teiru']}, +            {term: '為る', source: '為てる',         rule: 'vs', reasons: ['-te', '-teiru']}, +            {term: '為る', source: '為とる',         rule: 'vs', reasons: ['-te', '-teiru']},              {term: '為る', source: '為てしまう',     rule: 'vs', reasons: ['-te', '-shimau']},              {term: 'する', source: 'する',           rule: 'vs', reasons: []}, -            {term: 'する', source: 'します',         rule: 'vs', reasons: ['polite']}, -            {term: 'する', source: 'した',           rule: 'vs', reasons: ['past']}, -            {term: 'する', source: 'しました',       rule: 'vs', reasons: ['polite', 'past']}, +            {term: 'する', source: 'します',         rule: 'vs', reasons: ['-masu']}, +            {term: 'する', source: 'した',           rule: 'vs', reasons: ['-ta']}, +            {term: 'する', source: 'しました',       rule: 'vs', reasons: ['-masu', '-ta']},              {term: 'する', source: 'して',           rule: 'vs', reasons: ['-te']},              {term: 'する', source: 'できる',         rule: 'vs', reasons: ['potential']},              {term: 'する', source: '出来る',         rule: 'vs', reasons: ['potential']}, @@ -665,9 +665,9 @@ const tests = [              {term: 'する', source: 'せさせられる',   rule: 'vs', reasons: ['causative', 'potential or passive']},              {term: 'する', source: 'しろ',           rule: 'vs', reasons: ['imperative']},              {term: 'する', source: 'しない',         rule: 'vs', reasons: ['negative']}, -            {term: 'する', source: 'しません',       rule: 'vs', reasons: ['polite', 'negative']}, -            {term: 'する', source: 'しなかった',     rule: 'vs', reasons: ['negative', 'past']}, -            {term: 'する', source: 'しませんでした', rule: 'vs', reasons: ['polite', 'negative', 'past']}, +            {term: 'する', source: 'しません',       rule: 'vs', reasons: ['-masu', 'negative']}, +            {term: 'する', source: 'しなかった',     rule: 'vs', reasons: ['negative', '-ta']}, +            {term: 'する', source: 'しませんでした', rule: 'vs', reasons: ['-masu', 'negative', '-ta']},              {term: 'する', source: 'しなくて',       rule: 'vs', reasons: ['negative', '-te']},              {term: 'する', source: 'せられない',     rule: 'vs', reasons: ['potential or passive', 'negative']},              {term: 'する', source: 'されない',       rule: 'vs', reasons: ['passive', 'negative']}, @@ -676,7 +676,7 @@ const tests = [              {term: 'する', source: 'させられない',   rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']},              {term: 'する', source: 'せさせられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']},              {term: 'する', source: 'するな',         rule: 'vs', reasons: ['imperative negative']}, -            {term: 'する', source: 'しまして',     rule: 'vs', reasons: ['polite', '-te']}, +            {term: 'する', source: 'しまして',     rule: 'vs', reasons: ['-masu', '-te']},              {term: 'する', source: 'すれば',         rule: 'vs', reasons: ['-ba']},              {term: 'する', source: 'すりゃ',         rule: 'vs', reasons: ['-ba', '-ya']}, @@ -695,22 +695,22 @@ const tests = [              {term: 'する', source: 'せん',           rule: 'vs', reasons: ['-n']},              {term: 'する', source: 'せざる',           rule: 'vs', reasons: ['-zaru']},              {term: 'する', source: 'せねば',           rule: 'vs', reasons: ['-neba']}, -            {term: 'する', source: 'し',             rule: 'vs', reasons: ['masu stem']}, -            {term: 'する', source: 'しましょう',     rule: 'vs', reasons: ['polite', 'volitional']}, +            {term: 'する', source: 'し',             rule: 'vs', reasons: ['continuative']}, +            {term: 'する', source: 'しましょう',     rule: 'vs', reasons: ['-masu', 'volitional']},              {term: 'する', source: 'しよう',         rule: 'vs', reasons: ['volitional']},              {term: 'する', source: 'しなきゃ',        rule: 'vs', reasons: ['negative', '-ba', '-ya']}, -            // ['causative passive'] +            // ['causative-passive']              {term: 'する', source: 'しとく',         rule: 'vs', reasons: ['-toku']}, -            {term: 'する', source: 'している',       rule: 'vs', reasons: ['-te', 'progressive or perfect']}, -            {term: 'する', source: 'しておる',       rule: 'vs', reasons: ['-te', 'progressive or perfect']}, -            {term: 'する', source: 'してる',         rule: 'vs', reasons: ['-te', 'progressive or perfect']}, -            {term: 'する', source: 'しとる',         rule: 'vs', reasons: ['-te', 'progressive or perfect']}, +            {term: 'する', source: 'している',       rule: 'vs', reasons: ['-te', '-teiru']}, +            {term: 'する', source: 'しておる',       rule: 'vs', reasons: ['-te', '-teiru']}, +            {term: 'する', source: 'してる',         rule: 'vs', reasons: ['-te', '-teiru']}, +            {term: 'する', source: 'しとる',         rule: 'vs', reasons: ['-te', '-teiru']},              {term: 'する', source: 'してしまう',     rule: 'vs', reasons: ['-te', '-shimau']},              {term: '来る', source: '来る',           rule: 'vk', reasons: []}, -            {term: '来る', source: '来ます',         rule: 'vk', reasons: ['polite']}, -            {term: '来る', source: '来た',           rule: 'vk', reasons: ['past']}, -            {term: '来る', source: '来ました',       rule: 'vk', reasons: ['polite', 'past']}, +            {term: '来る', source: '来ます',         rule: 'vk', reasons: ['-masu']}, +            {term: '来る', source: '来た',           rule: 'vk', reasons: ['-ta']}, +            {term: '来る', source: '来ました',       rule: 'vk', reasons: ['-masu', '-ta']},              {term: '来る', source: '来て',           rule: 'vk', reasons: ['-te']},              {term: '来る', source: '来られる',       rule: 'vk', reasons: ['potential or passive']},              {term: '来る', source: '来られる',       rule: 'vk', reasons: ['potential or passive']}, @@ -718,16 +718,16 @@ const tests = [              {term: '来る', source: '来させられる',   rule: 'vk', reasons: ['causative', 'potential or passive']},              {term: '来る', source: '来い',           rule: 'vk', reasons: ['imperative']},              {term: '来る', source: '来ない',         rule: 'vk', reasons: ['negative']}, -            {term: '来る', source: '来ません',       rule: 'vk', reasons: ['polite', 'negative']}, -            {term: '来る', source: '来なかった',     rule: 'vk', reasons: ['negative', 'past']}, -            {term: '来る', source: '来ませんでした', rule: 'vk', reasons: ['polite', 'negative', 'past']}, +            {term: '来る', source: '来ません',       rule: 'vk', reasons: ['-masu', 'negative']}, +            {term: '来る', source: '来なかった',     rule: 'vk', reasons: ['negative', '-ta']}, +            {term: '来る', source: '来ませんでした', rule: 'vk', reasons: ['-masu', 'negative', '-ta']},              {term: '来る', source: '来なくて',       rule: 'vk', reasons: ['negative', '-te']},              {term: '来る', source: '来られない',     rule: 'vk', reasons: ['potential or passive', 'negative']},              {term: '来る', source: '来られない',     rule: 'vk', reasons: ['potential or passive', 'negative']},              {term: '来る', source: '来させない',     rule: 'vk', reasons: ['causative', 'negative']},              {term: '来る', source: '来させられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']},              {term: '来る', source: '来るな',         rule: 'vk', reasons: ['imperative negative']}, -            {term: '来る', source: '来まして',     rule: 'vk', reasons: ['polite', '-te']}, +            {term: '来る', source: '来まして',     rule: 'vk', reasons: ['-masu', '-te']},              {term: '来る', source: '来れば',         rule: 'vk', reasons: ['-ba']},              {term: '来る', source: '来りゃ',         rule: 'vk', reasons: ['-ba', '-ya']}, @@ -746,21 +746,21 @@ const tests = [              {term: '来る', source: '来ん',           rule: 'vk', reasons: ['-n']},              {term: '来る', source: '来ざる',           rule: 'vk', reasons: ['-zaru']},              {term: '来る', source: '来ねば',           rule: 'vk', reasons: ['-neba']}, -            {term: '来る', source: '来',             rule: 'vk', reasons: ['masu stem']}, -            {term: '来る', source: '来ましょう',     rule: 'vk', reasons: ['polite', 'volitional']}, +            {term: '来る', source: '来',             rule: 'vk', reasons: ['continuative']}, +            {term: '来る', source: '来ましょう',     rule: 'vk', reasons: ['-masu', 'volitional']},              {term: '来る', source: '来よう',         rule: 'vk', reasons: ['volitional']}, -            // ['causative passive'] +            // ['causative-passive']              {term: '来る', source: '来とく',         rule: 'vk', reasons: ['-toku']}, -            {term: '来る', source: '来ている',       rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: '来る', source: '来ておる',       rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: '来る', source: '来てる',         rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: '来る', source: '来とる',         rule: 'vk', reasons: ['-te', 'progressive or perfect']}, +            {term: '来る', source: '来ている',       rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: '来る', source: '来ておる',       rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: '来る', source: '来てる',         rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: '来る', source: '来とる',         rule: 'vk', reasons: ['-te', '-teiru']},              {term: '来る', source: '来てしまう',     rule: 'vk', reasons: ['-te', '-shimau']},              {term: '來る', source: '來る',           rule: 'vk', reasons: []}, -            {term: '來る', source: '來ます',         rule: 'vk', reasons: ['polite']}, -            {term: '來る', source: '來た',           rule: 'vk', reasons: ['past']}, -            {term: '來る', source: '來ました',       rule: 'vk', reasons: ['polite', 'past']}, +            {term: '來る', source: '來ます',         rule: 'vk', reasons: ['-masu']}, +            {term: '來る', source: '來た',           rule: 'vk', reasons: ['-ta']}, +            {term: '來る', source: '來ました',       rule: 'vk', reasons: ['-masu', '-ta']},              {term: '來る', source: '來て',           rule: 'vk', reasons: ['-te']},              {term: '來る', source: '來られる',       rule: 'vk', reasons: ['potential or passive']},              {term: '來る', source: '來られる',       rule: 'vk', reasons: ['potential or passive']}, @@ -768,16 +768,16 @@ const tests = [              {term: '來る', source: '來させられる',   rule: 'vk', reasons: ['causative', 'potential or passive']},              {term: '來る', source: '來い',           rule: 'vk', reasons: ['imperative']},              {term: '來る', source: '來ない',         rule: 'vk', reasons: ['negative']}, -            {term: '來る', source: '來ません',       rule: 'vk', reasons: ['polite', 'negative']}, -            {term: '來る', source: '來なかった',     rule: 'vk', reasons: ['negative', 'past']}, -            {term: '來る', source: '來ませんでした', rule: 'vk', reasons: ['polite', 'negative', 'past']}, +            {term: '來る', source: '來ません',       rule: 'vk', reasons: ['-masu', 'negative']}, +            {term: '來る', source: '來なかった',     rule: 'vk', reasons: ['negative', '-ta']}, +            {term: '來る', source: '來ませんでした', rule: 'vk', reasons: ['-masu', 'negative', '-ta']},              {term: '來る', source: '來なくて',       rule: 'vk', reasons: ['negative', '-te']},              {term: '來る', source: '來られない',     rule: 'vk', reasons: ['potential or passive', 'negative']},              {term: '來る', source: '來られない',     rule: 'vk', reasons: ['potential or passive', 'negative']},              {term: '來る', source: '來させない',     rule: 'vk', reasons: ['causative', 'negative']},              {term: '來る', source: '來させられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']},              {term: '來る', source: '來るな',         rule: 'vk', reasons: ['imperative negative']}, -            {term: '來る', source: '來まして',     rule: 'vk', reasons: ['polite', '-te']}, +            {term: '來る', source: '來まして',     rule: 'vk', reasons: ['-masu', '-te']},              {term: '來る', source: '來れば',         rule: 'vk', reasons: ['-ba']},              {term: '來る', source: '來りゃ',         rule: 'vk', reasons: ['-ba', '-ya']}, @@ -796,21 +796,21 @@ const tests = [              {term: '來る', source: '來ん',           rule: 'vk', reasons: ['-n']},              {term: '來る', source: '來ざる',           rule: 'vk', reasons: ['-zaru']},              {term: '來る', source: '來ねば',           rule: 'vk', reasons: ['-neba']}, -            {term: '來る', source: '來',             rule: 'vk', reasons: ['masu stem']}, -            {term: '來る', source: '來ましょう',     rule: 'vk', reasons: ['polite', 'volitional']}, +            {term: '來る', source: '來',             rule: 'vk', reasons: ['continuative']}, +            {term: '來る', source: '來ましょう',     rule: 'vk', reasons: ['-masu', 'volitional']},              {term: '來る', source: '來よう',         rule: 'vk', reasons: ['volitional']}, -            // ['causative passive'] +            // ['causative-passive']              {term: '來る', source: '來とく',         rule: 'vk', reasons: ['-toku']}, -            {term: '來る', source: '來ている',       rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: '來る', source: '來ておる',       rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: '來る', source: '來てる',         rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: '來る', source: '來とる',         rule: 'vk', reasons: ['-te', 'progressive or perfect']}, +            {term: '來る', source: '來ている',       rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: '來る', source: '來ておる',       rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: '來る', source: '來てる',         rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: '來る', source: '來とる',         rule: 'vk', reasons: ['-te', '-teiru']},              {term: '來る', source: '來てしまう',     rule: 'vk', reasons: ['-te', '-shimau']},              {term: 'くる', source: 'くる',           rule: 'vk', reasons: []}, -            {term: 'くる', source: 'きます',         rule: 'vk', reasons: ['polite']}, -            {term: 'くる', source: 'きた',           rule: 'vk', reasons: ['past']}, -            {term: 'くる', source: 'きました',       rule: 'vk', reasons: ['polite', 'past']}, +            {term: 'くる', source: 'きます',         rule: 'vk', reasons: ['-masu']}, +            {term: 'くる', source: 'きた',           rule: 'vk', reasons: ['-ta']}, +            {term: 'くる', source: 'きました',       rule: 'vk', reasons: ['-masu', '-ta']},              {term: 'くる', source: 'きて',           rule: 'vk', reasons: ['-te']},              {term: 'くる', source: 'こられる',       rule: 'vk', reasons: ['potential or passive']},              {term: 'くる', source: 'こられる',       rule: 'vk', reasons: ['potential or passive']}, @@ -818,16 +818,16 @@ const tests = [              {term: 'くる', source: 'こさせられる',   rule: 'vk', reasons: ['causative', 'potential or passive']},              {term: 'くる', source: 'こい',           rule: 'vk', reasons: ['imperative']},              {term: 'くる', source: 'こない',         rule: 'vk', reasons: ['negative']}, -            {term: 'くる', source: 'きません',       rule: 'vk', reasons: ['polite', 'negative']}, -            {term: 'くる', source: 'こなかった',     rule: 'vk', reasons: ['negative', 'past']}, -            {term: 'くる', source: 'きませんでした', rule: 'vk', reasons: ['polite', 'negative', 'past']}, +            {term: 'くる', source: 'きません',       rule: 'vk', reasons: ['-masu', 'negative']}, +            {term: 'くる', source: 'こなかった',     rule: 'vk', reasons: ['negative', '-ta']}, +            {term: 'くる', source: 'きませんでした', rule: 'vk', reasons: ['-masu', 'negative', '-ta']},              {term: 'くる', source: 'こなくて',       rule: 'vk', reasons: ['negative', '-te']},              {term: 'くる', source: 'こられない',     rule: 'vk', reasons: ['potential or passive', 'negative']},              {term: 'くる', source: 'こられない',     rule: 'vk', reasons: ['potential or passive', 'negative']},              {term: 'くる', source: 'こさせない',     rule: 'vk', reasons: ['causative', 'negative']},              {term: 'くる', source: 'こさせられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']},              {term: 'くる', source: 'くるな',         rule: 'vk', reasons: ['imperative negative']}, -            {term: 'くる', source: 'きまして',     rule: 'vk', reasons: ['polite', '-te']}, +            {term: 'くる', source: 'きまして',     rule: 'vk', reasons: ['-masu', '-te']},              {term: 'くる', source: 'くれば',         rule: 'vk', reasons: ['-ba']},              {term: 'くる', source: 'くりゃ',         rule: 'vk', reasons: ['-ba', '-ya']}, @@ -846,15 +846,15 @@ const tests = [              {term: 'くる', source: 'こん',           rule: 'vk', reasons: ['-n']},              {term: 'くる', source: 'こざる',           rule: 'vk', reasons: ['-zaru']},              {term: 'くる', source: 'こねば',           rule: 'vk', reasons: ['-neba']}, -            {term: 'くる', source: 'き',             rule: 'vk', reasons: ['masu stem']}, -            {term: 'くる', source: 'きましょう',     rule: 'vk', reasons: ['polite', 'volitional']}, +            {term: 'くる', source: 'き',             rule: 'vk', reasons: ['continuative']}, +            {term: 'くる', source: 'きましょう',     rule: 'vk', reasons: ['-masu', 'volitional']},              {term: 'くる', source: 'こよう',         rule: 'vk', reasons: ['volitional']}, -            // ['causative passive'] +            // ['causative-passive']              {term: 'くる', source: 'きとく',         rule: 'vk', reasons: ['-toku']}, -            {term: 'くる', source: 'きている',       rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: 'くる', source: 'きておる',       rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: 'くる', source: 'きてる',         rule: 'vk', reasons: ['-te', 'progressive or perfect']}, -            {term: 'くる', source: 'きとる',         rule: 'vk', reasons: ['-te', 'progressive or perfect']}, +            {term: 'くる', source: 'きている',       rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: 'くる', source: 'きておる',       rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: 'くる', source: 'きてる',         rule: 'vk', reasons: ['-te', '-teiru']}, +            {term: 'くる', source: 'きとる',         rule: 'vk', reasons: ['-te', '-teiru']},              {term: 'くる', source: 'きてしまう',     rule: 'vk', reasons: ['-te', '-shimau']},          ],      }, @@ -863,9 +863,9 @@ const tests = [          valid: true,          tests: [              {term: '論ずる', source: '論ずる',           rule: 'vz', reasons: []}, -            {term: '論ずる', source: '論じます',         rule: 'vz', reasons: ['polite']}, -            {term: '論ずる', source: '論じた',           rule: 'vz', reasons: ['past']}, -            {term: '論ずる', source: '論じました',       rule: 'vz', reasons: ['polite', 'past']}, +            {term: '論ずる', source: '論じます',         rule: 'vz', reasons: ['-masu']}, +            {term: '論ずる', source: '論じた',           rule: 'vz', reasons: ['-ta']}, +            {term: '論ずる', source: '論じました',       rule: 'vz', reasons: ['-masu', '-ta']},              {term: '論ずる', source: '論じて',           rule: 'vz', reasons: ['-te']},              {term: '論ずる', source: '論ぜられる',       rule: 'vz', reasons: ['potential or passive']},              {term: '論ずる', source: '論ざれる',         rule: 'vz', reasons: ['potential or passive']}, @@ -877,9 +877,9 @@ const tests = [              {term: '論ずる', source: '論ぜさせられる',   rule: 'vz', reasons: ['causative', 'potential or passive']},              {term: '論ずる', source: '論じろ',           rule: 'vz', reasons: ['imperative']},              {term: '論ずる', source: '論じない',         rule: 'vz', reasons: ['negative']}, -            {term: '論ずる', source: '論じません',       rule: 'vz', reasons: ['polite', 'negative']}, -            {term: '論ずる', source: '論じなかった',     rule: 'vz', reasons: ['negative', 'past']}, -            {term: '論ずる', source: '論じませんでした', rule: 'vz', reasons: ['polite', 'negative', 'past']}, +            {term: '論ずる', source: '論じません',       rule: 'vz', reasons: ['-masu', 'negative']}, +            {term: '論ずる', source: '論じなかった',     rule: 'vz', reasons: ['negative', '-ta']}, +            {term: '論ずる', source: '論じませんでした', rule: 'vz', reasons: ['-masu', 'negative', '-ta']},              {term: '論ずる', source: '論じなくて',       rule: 'vz', reasons: ['negative', '-te']},              {term: '論ずる', source: '論ぜられない',     rule: 'vz', reasons: ['potential or passive', 'negative']},              {term: '論ずる', source: '論じされない',     rule: 'vz', reasons: ['passive', 'negative']}, @@ -889,7 +889,7 @@ const tests = [              {term: '論ずる', source: '論じさせられない', rule: 'vz', reasons: ['causative', 'potential or passive', 'negative']},              {term: '論ずる', source: '論ぜさせられない', rule: 'vz', reasons: ['causative', 'potential or passive', 'negative']},              {term: '論ずる', source: '論ずるな',         rule: 'vz', reasons: ['imperative negative']}, -            {term: '論ずる', source: '論じまして',     rule: 'vz', reasons: ['polite', '-te']}, +            {term: '論ずる', source: '論じまして',     rule: 'vz', reasons: ['-masu', '-te']},              {term: '論ずる', source: '論ずれば',         rule: 'vz', reasons: ['-ba']},              {term: '論ずる', source: '論ずりゃ',         rule: 'vz', reasons: ['-ba', '-ya']}, @@ -908,15 +908,15 @@ const tests = [              {term: '論ずる', source: '論ぜん',           rule: 'vz', reasons: ['-n']},              {term: '論ずる', source: '論ぜざる',           rule: 'vz', reasons: ['-zaru']},              {term: '論ずる', source: '論ぜねば',           rule: 'vz', reasons: ['-neba']}, -            // ['masu stem'] -            {term: '論ずる', source: '論じましょう',     rule: 'vz', reasons: ['polite', 'volitional']}, +            // ['continuative'] +            {term: '論ずる', source: '論じましょう',     rule: 'vz', reasons: ['-masu', 'volitional']},              {term: '論ずる', source: '論じよう',         rule: 'vz', reasons: ['volitional']}, -            // ['causative passive'] +            // ['causative-passive']              {term: '論ずる', source: '論じとく',         rule: 'vz', reasons: ['-toku']}, -            {term: '論ずる', source: '論じている',       rule: 'vz', reasons: ['-te', 'progressive or perfect']}, -            {term: '論ずる', source: '論じておる',       rule: 'vz', reasons: ['-te', 'progressive or perfect']}, -            {term: '論ずる', source: '論じてる',         rule: 'vz', reasons: ['-te', 'progressive or perfect']}, -            {term: '論ずる', source: '論じとる',         rule: 'vz', reasons: ['-te', 'progressive or perfect']}, +            {term: '論ずる', source: '論じている',       rule: 'vz', reasons: ['-te', '-teiru']}, +            {term: '論ずる', source: '論じておる',       rule: 'vz', reasons: ['-te', '-teiru']}, +            {term: '論ずる', source: '論じてる',         rule: 'vz', reasons: ['-te', '-teiru']}, +            {term: '論ずる', source: '論じとる',         rule: 'vz', reasons: ['-te', '-teiru']},              {term: '論ずる', source: '論じてしまう',     rule: 'vz', reasons: ['-te', '-shimau']},          ],      }, @@ -1018,7 +1018,7 @@ const tests = [          valid: true,          tests: [              {term: 'のたまう', source: 'のたもうて',   rule: 'v5', reasons: ['-te']}, -            {term: 'のたまう', source: 'のたもうた',   rule: 'v5', reasons: ['past']}, +            {term: 'のたまう', source: 'のたもうた',   rule: 'v5', reasons: ['-ta']},              {term: 'のたまう', source: 'のたもうたら', rule: 'v5', reasons: ['-tara']},              {term: 'のたまう', source: 'のたもうたり', rule: 'v5', reasons: ['-tari']}, @@ -1036,19 +1036,19 @@ const tests = [              {term: '副う', source: '副うて', rule: 'v5', reasons: ['-te']},              {term: '厭う', source: '厭うて', rule: 'v5', reasons: ['-te']}, -            {term: 'おう', source: 'おうた', rule: 'v5', reasons: ['past']}, -            {term: 'こう', source: 'こうた', rule: 'v5', reasons: ['past']}, -            {term: 'そう', source: 'そうた', rule: 'v5', reasons: ['past']}, -            {term: 'とう', source: 'とうた', rule: 'v5', reasons: ['past']}, -            {term: '請う', source: '請うた', rule: 'v5', reasons: ['past']}, -            {term: '乞う', source: '乞うた', rule: 'v5', reasons: ['past']}, -            {term: '恋う', source: '恋うた', rule: 'v5', reasons: ['past']}, -            {term: '問う', source: '問うた', rule: 'v5', reasons: ['past']}, -            {term: '負う', source: '負うた', rule: 'v5', reasons: ['past']}, -            {term: '沿う', source: '沿うた', rule: 'v5', reasons: ['past']}, -            {term: '添う', source: '添うた', rule: 'v5', reasons: ['past']}, -            {term: '副う', source: '副うた', rule: 'v5', reasons: ['past']}, -            {term: '厭う', source: '厭うた', rule: 'v5', reasons: ['past']}, +            {term: 'おう', source: 'おうた', rule: 'v5', reasons: ['-ta']}, +            {term: 'こう', source: 'こうた', rule: 'v5', reasons: ['-ta']}, +            {term: 'そう', source: 'そうた', rule: 'v5', reasons: ['-ta']}, +            {term: 'とう', source: 'とうた', rule: 'v5', reasons: ['-ta']}, +            {term: '請う', source: '請うた', rule: 'v5', reasons: ['-ta']}, +            {term: '乞う', source: '乞うた', rule: 'v5', reasons: ['-ta']}, +            {term: '恋う', source: '恋うた', rule: 'v5', reasons: ['-ta']}, +            {term: '問う', source: '問うた', rule: 'v5', reasons: ['-ta']}, +            {term: '負う', source: '負うた', rule: 'v5', reasons: ['-ta']}, +            {term: '沿う', source: '沿うた', rule: 'v5', reasons: ['-ta']}, +            {term: '添う', source: '添うた', rule: 'v5', reasons: ['-ta']}, +            {term: '副う', source: '副うた', rule: 'v5', reasons: ['-ta']}, +            {term: '厭う', source: '厭うた', rule: 'v5', reasons: ['-ta']},              {term: 'おう', source: 'おうたら', rule: 'v5', reasons: ['-tara']},              {term: 'こう', source: 'こうたら', rule: 'v5', reasons: ['-tara']}, @@ -1083,10 +1083,10 @@ const tests = [          category: 'combinations',          valid: true,          tests: [ -            {term: '抱き抱える', source: '抱き抱えていなければ', rule: 'v1', reasons: ['-te', 'progressive or perfect', 'negative', '-ba']}, -            {term: '抱きかかえる', source: '抱きかかえていなければ', rule: 'v1', reasons: ['-te', 'progressive or perfect', 'negative', '-ba']}, -            {term: '打ち込む', source: '打ち込んでいませんでした', rule: 'v5', reasons: ['-te', 'progressive or perfect', 'polite', 'negative', 'past']}, -            {term: '食べる', source: '食べさせられたくなかった', rule: 'v1', reasons: ['causative', 'potential or passive', '-tai', 'negative', 'past']}, +            {term: '抱き抱える', source: '抱き抱えていなければ', rule: 'v1', reasons: ['-te', '-teiru', 'negative', '-ba']}, +            {term: '抱きかかえる', source: '抱きかかえていなければ', rule: 'v1', reasons: ['-te', '-teiru', 'negative', '-ba']}, +            {term: '打ち込む', source: '打ち込んでいませんでした', rule: 'v5', reasons: ['-te', '-teiru', '-masu', 'negative', '-ta']}, +            {term: '食べる', source: '食べさせられたくなかった', rule: 'v1', reasons: ['causative', 'potential or passive', '-tai', 'negative', '-ta']},          ],      },      { @@ -1102,9 +1102,9 @@ const tests = [          category: 'incorrect chains',          valid: false,          tests: [ -            {term: '食べる', source: '食べて', rule: null, reasons: ['-te', 'progressive or perfect', 'masu stem']}, +            {term: '食べる', source: '食べて', rule: null, reasons: ['-te', '-teiru', 'continuative']}, -            {term: 'なる', source: 'なりません', rule: null, reasons: ['polite', 'potential', '-n']}, +            {term: 'なる', source: 'なりません', rule: null, reasons: ['-masu', 'potential', '-n']},          ],      },      // Kansai-ben @@ -1112,10 +1112,10 @@ const tests = [          category: '-ku stem of kansai-ben adjectives',          valid: true,          tests: [ -            {term: '宜しい', source: '宜しゅう', rule: null, reasons: ['adv', 'kansai-ben -ku']}, -            {term: 'よろしい', source: 'よろしゅう', rule: null, reasons: ['adv', 'kansai-ben -ku']}, -            {term: '良い', source: '良う', rule: null, reasons: ['adv', 'kansai-ben -ku']}, -            {term: 'よい', source: 'よう', rule: null, reasons: ['adv', 'kansai-ben -ku']}, +            {term: '宜しい', source: '宜しゅう', rule: null, reasons: ['-ku', 'kansai-ben -ku']}, +            {term: 'よろしい', source: 'よろしゅう', rule: null, reasons: ['-ku', 'kansai-ben -ku']}, +            {term: '良い', source: '良う', rule: null, reasons: ['-ku', 'kansai-ben -ku']}, +            {term: 'よい', source: 'よう', rule: null, reasons: ['-ku', 'kansai-ben -ku']},          ],      },      { @@ -1143,7 +1143,7 @@ const tests = [          valid: true,          tests: [              {term: '食べる', source: '食べへん', rule: null, reasons: ['negative', 'kansai-ben negative']}, -            {term: '食べる', source: '食べへんかった', rule: null, reasons: ['negative', 'past', 'kansai-ben negative']}, +            {term: '食べる', source: '食べへんかった', rule: null, reasons: ['negative', '-ta', 'kansai-ben negative']},          ],      },      { @@ -1159,9 +1159,9 @@ const tests = [          category: 'past form of kansai-ben terms',          valid: true,          tests: [ -            {term: '買う', source: '買うた', rule: null, reasons: ['past', 'kansai-ben past']}, -            {term: 'かう', source: 'こうた', rule: null, reasons: ['past', 'kansai-ben past']}, -            {term: 'はう', source: 'ほうた', rule: null, reasons: ['past', 'kansai-ben past']}, +            {term: '買う', source: '買うた', rule: null, reasons: ['-ta', 'kansai-ben past']}, +            {term: 'かう', source: 'こうた', rule: null, reasons: ['-ta', 'kansai-ben past']}, +            {term: 'はう', source: 'ほうた', rule: null, reasons: ['-ta', 'kansai-ben past']},          ],      },      { |