diff options
author | Lyroxide <33834537+Lyroxide@users.noreply.github.com> | 2024-05-04 08:31:22 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-04 00:31:22 +0000 |
commit | 7e9eed6e1ca7814a42266ed2f4a32ff19b9a074e (patch) | |
tree | b3feb1bad667db416db2c3c0bf27e1ccc1801e44 | |
parent | cc08ab29e3c2c0a7511dd8dea225c28982eaa621 (diff) |
add some Japanese transforms (#833)
* add -rya -cha -n
* add tests
* fix typos
* resolve merge conflicts
* add tests
* change to -ya with chaining
-rw-r--r-- | ext/js/language/ja/japanese-transforms.js | 99 | ||||
-rw-r--r-- | test/language/japanese-transforms.test.js | 49 |
2 files changed, 138 insertions, 10 deletions
diff --git a/ext/js/language/ja/japanese-transforms.js b/ext/js/language/ja/japanese-transforms.js index f789d007..2d688ce5 100644 --- a/ext/js/language/ja/japanese-transforms.js +++ b/ext/js/language/ja/japanese-transforms.js @@ -117,6 +117,10 @@ export const japaneseTransforms = { name: 'Intermediate -te endings for progressive or perfect tense', isDictionaryForm: false }, + '-ba': { + name: 'Intermediate -ba endings for conditional contraction', + isDictionaryForm: false + }, 'adv': { name: 'Intermediate -ku endings for adverbs', isDictionaryForm: false @@ -138,16 +142,70 @@ export const japaneseTransforms = { } ], rules: [ - suffixInflection('ければ', 'い', [], ['adj-i']), - suffixInflection('えば', 'う', [], ['v5']), - suffixInflection('けば', 'く', [], ['v5']), - suffixInflection('げば', 'ぐ', [], ['v5']), - suffixInflection('せば', 'す', [], ['v5']), - suffixInflection('てば', 'つ', [], ['v5']), - suffixInflection('ねば', 'ぬ', [], ['v5']), - suffixInflection('べば', 'ぶ', [], ['v5']), - suffixInflection('めば', 'む', [], ['v5']), - suffixInflection('れば', 'る', [], ['v1', 'v5', 'vk', 'vs', 'vz']) + suffixInflection('ければ', 'い', ['-ba'], ['adj-i']), + suffixInflection('えば', 'う', ['-ba'], ['v5']), + suffixInflection('けば', 'く', ['-ba'], ['v5']), + suffixInflection('げば', 'ぐ', ['-ba'], ['v5']), + suffixInflection('せば', 'す', ['-ba'], ['v5']), + suffixInflection('てば', 'つ', ['-ba'], ['v5']), + suffixInflection('ねば', 'ぬ', ['-ba'], ['v5']), + suffixInflection('べば', 'ぶ', ['-ba'], ['v5']), + suffixInflection('めば', 'む', ['-ba'], ['v5']), + suffixInflection('れば', 'る', ['-ba'], ['v1', 'v5', 'vk', 'vs', 'vz']) + ] + }, + { + name: '-ya', + description: 'Conditional (Contraction)', + i18n: [ + { + language: 'ja', + name: '~ゃ', + description: '仮定形の縮約系' + } + ], + rules: [ + suffixInflection('けりゃ', 'ければ', [], ['-ba']), + suffixInflection('きゃ', 'ければ', [], ['-ba']), + suffixInflection('や', 'えば', [], ['-ba']), + suffixInflection('きゃ', 'けば', [], ['-ba']), + suffixInflection('ぎゃ', 'げば', [], ['-ba']), + suffixInflection('しゃ', 'せば', [], ['-ba']), + suffixInflection('ちゃ', 'てば', [], ['-ba']), + suffixInflection('にゃ', 'ねば', [], ['-ba']), + suffixInflection('びゃ', 'べば', [], ['-ba']), + suffixInflection('みゃ', 'めば', [], ['-ba']), + suffixInflection('りゃ', 'れば', [], ['-ba']) + ] + }, + { + name: '-cha', + description: 'Contraction of -teha', + i18n: [ + { + language: 'ja', + name: '~ちゃ', + description: '「~テハ」の縮約系' + } + ], + rules: [ + suffixInflection('ちゃ', 'る', ['v5'], ['v1']), + suffixInflection('いじゃ', 'ぐ', ['v5'], ['v5']), + suffixInflection('いちゃ', 'く', ['v5'], ['v5']), + suffixInflection('しちゃ', 'す', ['v5'], ['v5']), + suffixInflection('っちゃ', 'う', ['v5'], ['v5']), + suffixInflection('っちゃ', 'く', ['v5'], ['v5']), + suffixInflection('っちゃ', 'つ', ['v5'], ['v5']), + suffixInflection('っちゃ', 'る', ['v5'], ['v5']), + suffixInflection('んじゃ', 'ぬ', ['v5'], ['v5']), + suffixInflection('んじゃ', 'ぶ', ['v5'], ['v5']), + suffixInflection('んじゃ', 'む', ['v5'], ['v5']), + suffixInflection('じちゃ', 'ずる', ['v5'], ['vz']), + suffixInflection('しちゃ', 'する', ['v5'], ['vs']), + suffixInflection('為ちゃ', '為る', ['v5'], ['vs']), + suffixInflection('きちゃ', 'くる', ['v5'], ['vk']), + suffixInflection('来ちゃ', '来る', ['v5'], ['vk']), + suffixInflection('來ちゃ', '來る', ['v5'], ['vk']) ] }, { @@ -451,6 +509,27 @@ export const japaneseTransforms = { ] }, { + name: '-n', + rules: [ + suffixInflection('ん', 'る', [], ['v1']), + suffixInflection('かん', 'く', [], ['v5']), + suffixInflection('がん', 'ぐ', [], ['v5']), + suffixInflection('さん', 'す', [], ['v5']), + suffixInflection('たん', 'つ', [], ['v5']), + suffixInflection('なん', 'ぬ', [], ['v5']), + suffixInflection('ばん', 'ぶ', [], ['v5']), + suffixInflection('まん', 'む', [], ['v5']), + suffixInflection('らん', 'る', [], ['v5']), + suffixInflection('わん', 'う', [], ['v5']), + suffixInflection('ぜん', 'ずる', [], ['vz']), + suffixInflection('せん', 'する', [], ['vs']), + suffixInflection('為ん', '為る', [], ['vs']), + suffixInflection('こん', 'くる', [], ['vk']), + suffixInflection('来ん', '来る', [], ['vk']), + suffixInflection('來ん', '來る', [], ['vk']) + ] + }, + { name: '-mu', rules: [ suffixInflection('む', 'る', [], ['v1']), diff --git a/test/language/japanese-transforms.test.js b/test/language/japanese-transforms.test.js index 567cd239..45697a19 100644 --- a/test/language/japanese-transforms.test.js +++ b/test/language/japanese-transforms.test.js @@ -69,6 +69,8 @@ const tests = [ {term: '食べる', source: '食べまして', rule: 'v1', reasons: ['polite', '-te']}, {term: '食べる', source: '食べれば', rule: 'v1', reasons: ['-ba']}, + {term: '食べる', source: '食べりゃ', rule: 'v1', reasons: ['-ba', '-ya']}, + {term: '食べる', source: '食べちゃ', rule: 'v1', reasons: ['-cha']}, {term: '食べる', source: '食べちゃう', rule: 'v1', reasons: ['-chau']}, {term: '食べる', source: '食べちまう', rule: 'v1', reasons: ['-chimau']}, {term: '食べる', source: '食べなさい', rule: 'v1', reasons: ['-nasai']}, @@ -79,6 +81,7 @@ const tests = [ {term: '食べる', source: '食べたり', rule: 'v1', reasons: ['-tari']}, {term: '食べる', source: '食べず', rule: 'v1', reasons: ['-zu']}, {term: '食べる', source: '食べぬ', rule: 'v1', reasons: ['-nu']}, + {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']}, @@ -120,6 +123,8 @@ const tests = [ {term: '買う', source: '買いまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '買う', source: '買えば', rule: 'v5', reasons: ['-ba']}, + {term: '買う', source: '買や', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '買う', source: '買っちゃ', rule: 'v5', reasons: ['-cha']}, {term: '買う', source: '買っちゃう', rule: 'v5', reasons: ['-chau']}, {term: '買う', source: '買っちまう', rule: 'v5', reasons: ['-chimau']}, {term: '買う', source: '買いなさい', rule: 'v5', reasons: ['-nasai']}, @@ -130,6 +135,7 @@ const tests = [ {term: '買う', source: '買ったり', rule: 'v5', reasons: ['-tari']}, {term: '買う', source: '買わず', rule: 'v5', reasons: ['-zu']}, {term: '買う', source: '買わぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -171,6 +177,8 @@ const tests = [ {term: '行く', source: '行きまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '行く', source: '行けば', rule: 'v5', reasons: ['-ba']}, + {term: '行く', source: '行きゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '行く', source: '行っちゃ', rule: 'v5', reasons: ['-cha']}, {term: '行く', source: '行っちゃう', rule: 'v5', reasons: ['-chau']}, {term: '行く', source: '行っちまう', rule: 'v5', reasons: ['-chimau']}, {term: '行く', source: '行きなさい', rule: 'v5', reasons: ['-nasai']}, @@ -181,6 +189,7 @@ const tests = [ {term: '行く', source: '行いたり', rule: 'v5', reasons: ['-tari']}, {term: '行く', source: '行かず', rule: 'v5', reasons: ['-zu']}, {term: '行く', source: '行かぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -222,6 +231,8 @@ const tests = [ {term: '泳ぐ', source: '泳ぎまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '泳ぐ', source: '泳げば', rule: 'v5', reasons: ['-ba']}, + {term: '泳ぐ', source: '泳ぎゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '泳ぐ', source: '泳いじゃ', rule: 'v5', reasons: ['-cha']}, {term: '泳ぐ', source: '泳いじゃう', rule: 'v5', reasons: ['-chau']}, {term: '泳ぐ', source: '泳いじまう', rule: 'v5', reasons: ['-chimau']}, {term: '泳ぐ', source: '泳ぎなさい', rule: 'v5', reasons: ['-nasai']}, @@ -232,6 +243,7 @@ const tests = [ {term: '泳ぐ', source: '泳いだり', rule: 'v5', reasons: ['-tari']}, {term: '泳ぐ', source: '泳がず', rule: 'v5', reasons: ['-zu']}, {term: '泳ぐ', source: '泳がぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -272,6 +284,8 @@ const tests = [ {term: '話す', source: '話しまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '話す', source: '話せば', rule: 'v5', reasons: ['-ba']}, + {term: '話す', source: '話しゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '話す', source: '話しちゃ', rule: 'v5', reasons: ['-cha']}, {term: '話す', source: '話しちゃう', rule: 'v5', reasons: ['-chau']}, {term: '話す', source: '話しちまう', rule: 'v5', reasons: ['-chimau']}, {term: '話す', source: '話しなさい', rule: 'v5', reasons: ['-nasai']}, @@ -282,6 +296,7 @@ const tests = [ {term: '話す', source: '話したり', rule: 'v5', reasons: ['-tari']}, {term: '話す', source: '話さず', rule: 'v5', reasons: ['-zu']}, {term: '話す', source: '話さぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -323,6 +338,8 @@ const tests = [ {term: '待つ', source: '待ちまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '待つ', source: '待てば', rule: 'v5', reasons: ['-ba']}, + {term: '待つ', source: '待ちゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '待つ', source: '待っちゃ', rule: 'v5', reasons: ['-cha']}, {term: '待つ', source: '待っちゃう', rule: 'v5', reasons: ['-chau']}, {term: '待つ', source: '待っちまう', rule: 'v5', reasons: ['-chimau']}, {term: '待つ', source: '待ちなさい', rule: 'v5', reasons: ['-nasai']}, @@ -333,6 +350,7 @@ const tests = [ {term: '待つ', source: '待ったり', rule: 'v5', reasons: ['-tari']}, {term: '待つ', source: '待たず', rule: 'v5', reasons: ['-zu']}, {term: '待つ', source: '待たぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -374,6 +392,8 @@ const tests = [ {term: '死ぬ', source: '死にまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '死ぬ', source: '死ねば', rule: 'v5', reasons: ['-ba']}, + {term: '死ぬ', source: '死にゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '死ぬ', source: '死んじゃ', rule: 'v5', reasons: ['-cha']}, {term: '死ぬ', source: '死んじゃう', rule: 'v5', reasons: ['-chau']}, {term: '死ぬ', source: '死んじまう', rule: 'v5', reasons: ['-chimau']}, {term: '死ぬ', source: '死になさい', rule: 'v5', reasons: ['-nasai']}, @@ -384,6 +404,7 @@ const tests = [ {term: '死ぬ', source: '死んだり', rule: 'v5', reasons: ['-tari']}, {term: '死ぬ', source: '死なず', rule: 'v5', reasons: ['-zu']}, {term: '死ぬ', source: '死なぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -424,6 +445,8 @@ const tests = [ {term: '遊ぶ', source: '遊びまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '遊ぶ', source: '遊べば', rule: 'v5', reasons: ['-ba']}, + {term: '遊ぶ', source: '遊びゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '遊ぶ', source: '遊んじゃ', rule: 'v5', reasons: ['-cha']}, {term: '遊ぶ', source: '遊んじゃう', rule: 'v5', reasons: ['-chau']}, {term: '遊ぶ', source: '遊んじまう', rule: 'v5', reasons: ['-chimau']}, {term: '遊ぶ', source: '遊びなさい', rule: 'v5', reasons: ['-nasai']}, @@ -434,6 +457,7 @@ const tests = [ {term: '遊ぶ', source: '遊んだり', rule: 'v5', reasons: ['-tari']}, {term: '遊ぶ', source: '遊ばず', rule: 'v5', reasons: ['-zu']}, {term: '遊ぶ', source: '遊ばぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -474,6 +498,8 @@ const tests = [ {term: '飲む', source: '飲みまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '飲む', source: '飲めば', rule: 'v5', reasons: ['-ba']}, + {term: '飲む', source: '飲みゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '飲む', source: '飲んじゃ', rule: 'v5', reasons: ['-cha']}, {term: '飲む', source: '飲んじゃう', rule: 'v5', reasons: ['-chau']}, {term: '飲む', source: '飲んじまう', rule: 'v5', reasons: ['-chimau']}, {term: '飲む', source: '飲みなさい', rule: 'v5', reasons: ['-nasai']}, @@ -484,6 +510,7 @@ const tests = [ {term: '飲む', source: '飲んだり', rule: 'v5', reasons: ['-tari']}, {term: '飲む', source: '飲まず', rule: 'v5', reasons: ['-zu']}, {term: '飲む', source: '飲まぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -524,6 +551,8 @@ const tests = [ {term: '作る', source: '作りまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '作る', source: '作れば', rule: 'v5', reasons: ['-ba']}, + {term: '作る', source: '作りゃ', rule: 'v5', reasons: ['-ba', '-ya']}, + {term: '作る', source: '作っちゃ', rule: 'v5', reasons: ['-cha']}, {term: '作る', source: '作っちゃう', rule: 'v5', reasons: ['-chau']}, {term: '作る', source: '作っちまう', rule: 'v5', reasons: ['-chimau']}, {term: '作る', source: '作りなさい', rule: 'v5', reasons: ['-nasai']}, @@ -534,6 +563,7 @@ const tests = [ {term: '作る', source: '作ったり', rule: 'v5', reasons: ['-tari']}, {term: '作る', source: '作らず', rule: 'v5', reasons: ['-zu']}, {term: '作る', source: '作らぬ', rule: 'v5', reasons: ['-nu']}, + {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']}, @@ -579,6 +609,8 @@ const tests = [ {term: '為る', source: '為まして', rule: 'vs', reasons: ['polite', '-te']}, {term: '為る', source: '為れば', rule: 'vs', reasons: ['-ba']}, + {term: '為る', source: '為りゃ', rule: 'vs', reasons: ['-ba', '-ya']}, + {term: '為る', source: '為ちゃ', rule: 'vs', reasons: ['-cha']}, {term: '為る', source: '為ちゃう', rule: 'vs', reasons: ['-chau']}, {term: '為る', source: '為ちまう', rule: 'vs', reasons: ['-chimau']}, {term: '為る', source: '為なさい', rule: 'vs', reasons: ['-nasai']}, @@ -589,6 +621,7 @@ const tests = [ {term: '為る', source: '為たり', rule: 'vs', reasons: ['-tari']}, {term: '為る', source: '為ず', rule: 'vs', reasons: ['-zu']}, {term: '為る', source: '為ぬ', rule: 'vs', reasons: ['-nu']}, + {term: '為る', source: '為ん', rule: 'vs', reasons: ['-n']}, {term: '為る', source: '為ざる', rule: 'vs', reasons: ['-zaru']}, {term: '為る', source: '為ねば', rule: 'vs', reasons: ['-neba']}, // ['masu stem'] @@ -631,6 +664,8 @@ const tests = [ {term: 'する', source: 'しまして', rule: 'vs', reasons: ['polite', '-te']}, {term: 'する', source: 'すれば', rule: 'vs', reasons: ['-ba']}, + {term: 'する', source: 'すりゃ', rule: 'vs', reasons: ['-ba', '-ya']}, + {term: 'する', source: 'しちゃ', rule: 'vs', reasons: ['-cha']}, {term: 'する', source: 'しちゃう', rule: 'vs', reasons: ['-chau']}, {term: 'する', source: 'しちまう', rule: 'vs', reasons: ['-chimau']}, {term: 'する', source: 'しなさい', rule: 'vs', reasons: ['-nasai']}, @@ -641,11 +676,13 @@ const tests = [ {term: 'する', source: 'したり', rule: 'vs', reasons: ['-tari']}, {term: 'する', source: 'せず', rule: 'vs', reasons: ['-zu']}, {term: 'する', source: 'せぬ', rule: 'vs', reasons: ['-nu']}, + {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: ['volitional']}, + {term: 'する', source: 'しなきゃ', rule: 'vs', reasons: ['negative', '-ba', '-ya']}, // ['causative passive'] {term: 'する', source: 'しとく', rule: 'vs', reasons: ['-toku']}, {term: 'する', source: 'している', rule: 'vs', reasons: ['-te', 'progressive or perfect']}, @@ -677,6 +714,8 @@ const tests = [ {term: '来る', source: '来まして', rule: 'vk', reasons: ['polite', '-te']}, {term: '来る', source: '来れば', rule: 'vk', reasons: ['-ba']}, + {term: '来る', source: '来りゃ', rule: 'vk', reasons: ['-ba', '-ya']}, + {term: '来る', source: '来ちゃ', rule: 'vk', reasons: ['-cha']}, {term: '来る', source: '来ちゃう', rule: 'vk', reasons: ['-chau']}, {term: '来る', source: '来ちまう', rule: 'vk', reasons: ['-chimau']}, {term: '来る', source: '来なさい', rule: 'vk', reasons: ['-nasai']}, @@ -687,6 +726,7 @@ const tests = [ {term: '来る', source: '来たり', rule: 'vk', reasons: ['-tari']}, {term: '来る', source: '来ず', rule: 'vk', reasons: ['-zu']}, {term: '来る', source: '来ぬ', rule: 'vk', reasons: ['-nu']}, + {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']}, @@ -723,6 +763,8 @@ const tests = [ {term: '來る', source: '來まして', rule: 'vk', reasons: ['polite', '-te']}, {term: '來る', source: '來れば', rule: 'vk', reasons: ['-ba']}, + {term: '來る', source: '來りゃ', rule: 'vk', reasons: ['-ba', '-ya']}, + {term: '來る', source: '來ちゃ', rule: 'vk', reasons: ['-cha']}, {term: '來る', source: '來ちゃう', rule: 'vk', reasons: ['-chau']}, {term: '來る', source: '來ちまう', rule: 'vk', reasons: ['-chimau']}, {term: '來る', source: '來なさい', rule: 'vk', reasons: ['-nasai']}, @@ -733,6 +775,7 @@ const tests = [ {term: '來る', source: '來たり', rule: 'vk', reasons: ['-tari']}, {term: '來る', source: '來ず', rule: 'vk', reasons: ['-zu']}, {term: '來る', source: '來ぬ', rule: 'vk', reasons: ['-nu']}, + {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']}, @@ -769,6 +812,8 @@ const tests = [ {term: 'くる', source: 'きまして', rule: 'vk', reasons: ['polite', '-te']}, {term: 'くる', source: 'くれば', rule: 'vk', reasons: ['-ba']}, + {term: 'くる', source: 'くりゃ', rule: 'vk', reasons: ['-ba', '-ya']}, + {term: 'くる', source: 'きちゃ', rule: 'vk', reasons: ['-cha']}, {term: 'くる', source: 'きちゃう', rule: 'vk', reasons: ['-chau']}, {term: 'くる', source: 'きちまう', rule: 'vk', reasons: ['-chimau']}, {term: 'くる', source: 'きなさい', rule: 'vk', reasons: ['-nasai']}, @@ -779,6 +824,7 @@ const tests = [ {term: 'くる', source: 'きたり', rule: 'vk', reasons: ['-tari']}, {term: 'くる', source: 'こず', rule: 'vk', reasons: ['-zu']}, {term: 'くる', source: 'こぬ', rule: 'vk', reasons: ['-nu']}, + {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']}, @@ -827,6 +873,8 @@ const tests = [ {term: '論ずる', source: '論じまして', rule: 'vz', reasons: ['polite', '-te']}, {term: '論ずる', source: '論ずれば', rule: 'vz', reasons: ['-ba']}, + {term: '論ずる', source: '論ずりゃ', rule: 'vz', reasons: ['-ba', '-ya']}, + {term: '論ずる', source: '論じちゃ', rule: 'vz', reasons: ['-cha']}, {term: '論ずる', source: '論じちゃう', rule: 'vz', reasons: ['-chau']}, {term: '論ずる', source: '論じちまう', rule: 'vz', reasons: ['-chimau']}, {term: '論ずる', source: '論じなさい', rule: 'vz', reasons: ['-nasai']}, @@ -837,6 +885,7 @@ const tests = [ {term: '論ずる', source: '論じたり', rule: 'vz', reasons: ['-tari']}, {term: '論ずる', source: '論ぜず', rule: 'vz', reasons: ['-zu']}, {term: '論ずる', source: '論ぜぬ', rule: 'vz', reasons: ['-nu']}, + {term: '論ずる', source: '論ぜん', rule: 'vz', reasons: ['-n']}, {term: '論ずる', source: '論ぜざる', rule: 'vz', reasons: ['-zaru']}, {term: '論ずる', source: '論ぜねば', rule: 'vz', reasons: ['-neba']}, // ['masu stem'] |