From 90f7d5ba07340413aa7e43c3a0cc038690b32db3 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Fri, 26 Mar 2021 19:50:54 -0400 Subject: [PATCH] Add part of speech info (#1561) * Add part of speech info to headwords * Expose parts of speech to Anki template rendering * Expose parts of speech * Update pitch accent categories * Update docs * Add part-of-speech * Update options and tests * Update markers * Update test data --- README.md | 1 + docs/interfaces/dictionary-entry.ts | 4 + ...nki-field-templates-upgrade-v10.handlebars | 30 ++ .../default-anki-field-templates.handlebars | 31 ++ ext/js/data/anki-note-data-creator.js | 5 +- ext/js/data/options-util.js | 6 +- ext/js/display/display-generator.js | 26 +- ext/js/language/translator.js | 13 +- ext/js/pages/settings/anki-controller.js | 1 + ext/settings.html | 4 + test/data/anki-note-builder-test-results.json | 79 ++++ .../translator-test-results-note-data1.json | 375 ++++++++++++++---- test/data/translator-test-results.json | 297 ++++++++++++-- test/test-anki-note-builder.js | 1 + test/test-options-util.js | 8 +- 15 files changed, 753 insertions(+), 128 deletions(-) create mode 100644 ext/data/templates/anki-field-templates-upgrade-v10.handlebars diff --git a/README.md b/README.md index fb79fa13..922176bb 100644 --- a/README.md +++ b/README.md @@ -170,6 +170,7 @@ Flashcard fields can be configured with the following steps: `{glossary}` | List of definitions for the term (output format depends on whether running in *grouped* mode). `{glossary-brief}` | List of definitions for the term in a more compact format. `{glossary-no-dictionary}` | List of definitions for the term, except the dictionary tag is omitted. + `{part-of-speech}` | Part of speech information for the term. `{pitch-accents}` | List of pitch accent downstep notations for the term. `{pitch-accent-graphs}` | List of pitch accent graphs for the term. `{pitch-accent-positions}` | List of accent downstep positions for the term as a number. diff --git a/docs/interfaces/dictionary-entry.ts b/docs/interfaces/dictionary-entry.ts index 0b64908b..facca6e5 100644 --- a/docs/interfaces/dictionary-entry.ts +++ b/docs/interfaces/dictionary-entry.ts @@ -270,6 +270,10 @@ namespace Translation { * Tags for the headword. */ tags: Tag[]; + /** + * List of word classes (part of speech) for the headword. + */ + wordClasses: string[]; } /** diff --git a/ext/data/templates/anki-field-templates-upgrade-v10.handlebars b/ext/data/templates/anki-field-templates-upgrade-v10.handlebars new file mode 100644 index 00000000..8442a93c --- /dev/null +++ b/ext/data/templates/anki-field-templates-upgrade-v10.handlebars @@ -0,0 +1,30 @@ +{{#*inline "part-of-speech-pretty"}} + {{~#if (op "===" . "v1")~}}Ichidan verb + {{~else if (op "===" . "v5")~}}Godan verb + {{~else if (op "===" . "vk")~}}Kuru verb + {{~else if (op "===" . "vs")~}}Suru verb + {{~else if (op "===" . "vz")~}}Zuru verb + {{~else if (op "===" . "adj-i")~}}I-adjective + {{~else if (op "===" . "n")~}}Noun + {{~else~}}{{.}} + {{~/if~}} +{{/inline}} + +{{#*inline "part-of-speech"}} + {{~#scope~}} + {{~#if (op "!==" definition.type "kanji")~}} + {{~#set "first" true}}{{/set~}} + {{~#each definition.expressions~}} + {{~#each wordClasses~}} + {{~#unless (get (concat "used_" .))~}} + {{~> part-of-speech-pretty . ~}} + {{~#unless (get "first")}}, {{/unless~}} + {{~#set (concat "used_" .) true~}}{{~/set~}} + {{~#set "first" false~}}{{~/set~}} + {{~/unless~}} + {{~/each~}} + {{~/each~}} + {{~#if (get "first")~}}Unknown{{~/if~}} + {{~/if~}} + {{~/scope~}} +{{/inline}} diff --git a/ext/data/templates/default-anki-field-templates.handlebars b/ext/data/templates/default-anki-field-templates.handlebars index 0f390e8d..ec57a826 100644 --- a/ext/data/templates/default-anki-field-templates.handlebars +++ b/ext/data/templates/default-anki-field-templates.handlebars @@ -341,4 +341,35 @@ {{~/scope~}} {{/inline}} +{{#*inline "part-of-speech-pretty"}} + {{~#if (op "===" . "v1")~}}Ichidan verb + {{~else if (op "===" . "v5")~}}Godan verb + {{~else if (op "===" . "vk")~}}Kuru verb + {{~else if (op "===" . "vs")~}}Suru verb + {{~else if (op "===" . "vz")~}}Zuru verb + {{~else if (op "===" . "adj-i")~}}I-adjective + {{~else if (op "===" . "n")~}}Noun + {{~else~}}{{.}} + {{~/if~}} +{{/inline}} + +{{#*inline "part-of-speech"}} + {{~#scope~}} + {{~#if (op "!==" definition.type "kanji")~}} + {{~#set "first" true}}{{/set~}} + {{~#each definition.expressions~}} + {{~#each wordClasses~}} + {{~#unless (get (concat "used_" .))~}} + {{~> part-of-speech-pretty . ~}} + {{~#unless (get "first")}}, {{/unless~}} + {{~#set (concat "used_" .) true~}}{{~/set~}} + {{~#set "first" false~}}{{~/set~}} + {{~/unless~}} + {{~/each~}} + {{~/each~}} + {{~#if (get "first")~}}Unknown{{~/if~}} + {{~/if~}} + {{~/scope~}} +{{/inline}} + {{~> (lookup . "marker") ~}} diff --git a/ext/js/data/anki-note-data-creator.js b/ext/js/data/anki-note-data-creator.js index c7047633..fb9c8b8c 100644 --- a/ext/js/data/anki-note-data-creator.js +++ b/ext/js/data/anki-note-data-creator.js @@ -441,7 +441,7 @@ class AnkiNoteDataCreator { const results = []; const {headwords} = dictionaryEntry; for (let i = 0, ii = headwords.length; i < ii; ++i) { - const {term, reading, tags, sources: [{deinflectedText}]} = headwords[i]; + const {term, reading, tags, sources: [{deinflectedText}], wordClasses} = headwords[i]; const termTags = this.createCachedValue(this._convertTags.bind(this, tags)); const frequencies = this.createCachedValue(this._getTermExpressionFrequencies.bind(this, dictionaryEntry, i)); const pitches = this.createCachedValue(this._getTermExpressionPitches.bind(this, dictionaryEntry, i)); @@ -455,7 +455,8 @@ class AnkiNoteDataCreator { get frequencies() { return self.getCachedValue(frequencies); }, get pitches() { return self.getCachedValue(pitches); }, get furiganaSegments() { return self.getCachedValue(furiganaSegments); }, - get termFrequency() { return self.getCachedValue(termFrequency); } + get termFrequency() { return self.getCachedValue(termFrequency); }, + wordClasses }; results.push(item); } diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js index 334445c6..fd62a558 100644 --- a/ext/js/data/options-util.js +++ b/ext/js/data/options-util.js @@ -459,7 +459,7 @@ class OptionsUtil { {async: false, update: this._updateVersion7.bind(this)}, {async: true, update: this._updateVersion8.bind(this)}, {async: false, update: this._updateVersion9.bind(this)}, - {async: false, update: this._updateVersion10.bind(this)} + {async: true, update: this._updateVersion10.bind(this)} ]; } @@ -750,9 +750,11 @@ class OptionsUtil { return options; } - _updateVersion10(options) { + async _updateVersion10(options) { // Version 10 changes: // Removed global option useSettingsV2. + // Added part-of-speech field template. + await this._applyAnkiFieldTemplatesPatch(options, '/data/templates/anki-field-templates-upgrade-v10.handlebars'); delete options.global.useSettingsV2; return options; } diff --git a/ext/js/display/display-generator.js b/ext/js/display/display-generator.js index 19e88b8a..724bec9c 100644 --- a/ext/js/display/display-generator.js +++ b/ext/js/display/display-generator.js @@ -250,10 +250,14 @@ class DisplayGenerator { node.dataset.readingIsSame = `${reading === expression}`; node.dataset.frequency = DictionaryDataUtil.getTermFrequency(termTags); - const pitchAccentCategories = this._getPitchAccentCategories(reading, pronunciations, headwordIndex); + const {wordClasses} = headword; + const pitchAccentCategories = this._getPitchAccentCategories(reading, pronunciations, wordClasses, headwordIndex); if (pitchAccentCategories !== null) { node.dataset.pitchAccentCategories = pitchAccentCategories; } + if (wordClasses.length > 0) { + node.dataset.wordClasses = wordClasses.join(' '); + } this._setTextContent(node.querySelector('.expression-reading'), reading); @@ -762,13 +766,14 @@ class DisplayGenerator { } } - _getPitchAccentCategories(reading, pronunciations, headwordIndex) { + _getPitchAccentCategories(reading, pronunciations, wordClasses, headwordIndex) { if (pronunciations.length === 0) { return null; } + const isVerbOrAdjective = this._isVerbOrAdjective(wordClasses); const categories = new Set(); for (const pronunciation of pronunciations) { if (pronunciation.headwordIndex !== headwordIndex) { continue; } for (const {position} of pronunciation.pitches) { - const category = this._japaneseUtil.getPitchCategory(reading, position, false); + const category = this._japaneseUtil.getPitchCategory(reading, position, isVerbOrAdjective); if (category !== null) { categories.add(category); } @@ -776,4 +781,19 @@ class DisplayGenerator { } return categories.size > 0 ? [...categories].join(' ') : null; } + + _isVerbOrAdjective(wordClasses) { + for (const wordClass of wordClasses) { + switch (wordClass) { + case 'v1': + case 'v5': + case 'vs': + case 'vk': + case 'vz': + case 'adj-i': + return true; + } + } + return false; + } } diff --git a/ext/js/language/translator.js b/ext/js/language/translator.js index ad9689ee..e99ac8db 100644 --- a/ext/js/language/translator.js +++ b/ext/js/language/translator.js @@ -917,8 +917,8 @@ class Translator { return {originalText, transformedText, deinflectedText, isPrimary}; } - _createTermHeadword(index, term, reading, sources, tags) { - return {index, term, reading, sources, tags}; + _createTermHeadword(index, term, reading, sources, tags, wordClasses) { + return {index, term, reading, sources, tags, wordClasses}; } _createTermDefinition(index, headwordIndices, dictionary, tags, entries) { @@ -953,7 +953,7 @@ class Translator { } _createTermDictionaryEntryFromDatabaseEntry(databaseEntry, originalText, transformedText, deinflectedText, reasons, isPrimary, enabledDictionaryMap) { - const {expression, reading: rawReading, definitionTags, termTags, glossary, score, dictionary, id, sequence} = databaseEntry; + const {expression, reading: rawReading, definitionTags, termTags, glossary, score, dictionary, id, sequence, rules} = databaseEntry; const reading = (rawReading.length > 0 ? rawReading : expression); const {index: dictionaryIndex, priority: dictionaryPriority} = this._getDictionaryOrder(dictionary, enabledDictionaryMap); const sourceTermExactMatchCount = (isPrimary && deinflectedText === expression ? 1 : 0); @@ -975,7 +975,7 @@ class Translator { dictionaryPriority, sourceTermExactMatchCount, maxTransformedTextLength, - [this._createTermHeadword(0, expression, reading, [source], headwordTagGroups)], + [this._createTermHeadword(0, expression, reading, [source], headwordTagGroups, rules)], [this._createTermDefinition(0, [0], dictionary, definitionTagGroups, glossary)] ); } @@ -1100,15 +1100,16 @@ class Translator { _addTermHeadwords(headwordsMap, headwords) { const headwordIndexMap = []; - for (const {term, reading, sources, tags} of headwords) { + for (const {term, reading, sources, tags, wordClasses} of headwords) { const key = this._createMapKey([term, reading]); let headword = headwordsMap.get(key); if (typeof headword === 'undefined') { - headword = this._createTermHeadword(headwordsMap.size, term, reading, [], []); + headword = this._createTermHeadword(headwordsMap.size, term, reading, [], [], []); headwordsMap.set(key, headword); } this._addUniqueSources(headword.sources, sources); this._addUniqueTagGroups(headword.tags, tags); + this._addUniqueStrings(headword.wordClasses, wordClasses); headwordIndexMap.push(headword.index); } return headwordIndexMap; diff --git a/ext/js/pages/settings/anki-controller.js b/ext/js/pages/settings/anki-controller.js index 37ae2cf7..4e56594a 100644 --- a/ext/js/pages/settings/anki-controller.js +++ b/ext/js/pages/settings/anki-controller.js @@ -99,6 +99,7 @@ class AnkiController { 'glossary', 'glossary-brief', 'glossary-no-dictionary', + 'part-of-speech', 'pitch-accents', 'pitch-accent-graphs', 'pitch-accent-positions', diff --git a/ext/settings.html b/ext/settings.html index a9c29a73..2f8c012c 100644 --- a/ext/settings.html +++ b/ext/settings.html @@ -2651,6 +2651,10 @@ {glossary-no-dictionary} List of definitions for the term, except the dictionary tag is omitted. + + {part-of-speech} + Part of speech information for the term. + {pitch-accents} List of pitch accent downstep notations for the term. diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index cf80d6a6..bcf3eb6d 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -69,6 +69,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -95,6 +96,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -126,6 +128,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -152,6 +155,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -178,6 +182,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -204,6 +209,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -230,6 +236,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -256,6 +263,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -287,6 +295,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -313,6 +322,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -339,6 +349,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -365,6 +376,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -391,6 +403,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -417,6 +430,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -443,6 +457,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -469,6 +484,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -495,6 +511,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -521,6 +538,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -552,6 +570,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -583,6 +602,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -614,6 +634,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -645,6 +666,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -671,6 +693,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -702,6 +725,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -728,6 +752,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -759,6 +784,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -785,6 +811,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -811,6 +838,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -837,6 +865,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -868,6 +897,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -894,6 +924,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -920,6 +951,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -946,6 +978,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -977,6 +1010,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1020,6 +1054,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition13
    • definition14
  2. (tag1, tag2, Test Dictionary 2)
    • definition15
    • definition16
", "glossary-brief": "
    • definition13
    • definition14
    • definition15
    • definition16
", "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition13
    • definition14
  2. (tag1, tag2)
    • definition15
    • definition16
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1046,6 +1081,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition17
    • definition18
  2. (tag1, tag2, Test Dictionary 2)
    • definition19
    • definition20
", "glossary-brief": "
    • definition17
    • definition18
    • definition19
    • definition20
", "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition17
    • definition18
  2. (tag1, tag2)
    • definition19
    • definition20
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1072,6 +1108,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition5
    • definition6
  2. (tag1, tag2, Test Dictionary 2)
    • definition7
    • definition8
", "glossary-brief": "
    • definition5
    • definition6
    • definition7
    • definition8
", "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition5
    • definition6
  2. (tag1, tag2)
    • definition7
    • definition8
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1098,6 +1135,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition9
    • definition10
  2. (tag1, tag2, Test Dictionary 2)
    • definition11
    • definition12
", "glossary-brief": "
    • definition9
    • definition10
    • definition11
    • definition12
", "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition9
    • definition10
  2. (tag1, tag2)
    • definition11
    • definition12
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1124,6 +1162,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1150,6 +1189,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1181,6 +1221,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition19
    • definition20
", "glossary-brief": "
    • definition13
    • definition14
    • definition17
    • definition18
    • definition15
    • definition16
    • definition19
    • definition20
", "glossary-no-dictionary": "
  1. (tag1, tag2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2) (ぶちこむ only)
    • definition19
    • definition20
", + "part-of-speech": "Godan verb", "pitch-accents": "
  1. (うちこむ only)
  2. (うちこむ only)
  3. (ぶちこむ only)
  4. (ぶちこむ only)
", "pitch-accent-graphs": "
  1. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  3. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  4. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. (うちこむ only) [0]
  2. (うちこむ only) [3]
  3. (ぶちこむ only) [0]
  4. (ぶちこむ only) [3]
", @@ -1207,6 +1248,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition11
    • definition12
", "glossary-brief": "
    • definition5
    • definition6
    • definition9
    • definition10
    • definition7
    • definition8
    • definition11
    • definition12
", "glossary-no-dictionary": "
  1. (tag1, tag2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2) (ぶつ only)
    • definition11
    • definition12
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1233,6 +1275,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1259,6 +1302,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1290,6 +1334,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1316,6 +1361,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1342,6 +1388,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1368,6 +1415,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1394,6 +1442,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1420,6 +1469,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1446,6 +1496,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1472,6 +1523,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1498,6 +1550,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1524,6 +1577,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1555,6 +1609,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1581,6 +1636,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1607,6 +1663,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1633,6 +1690,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1659,6 +1717,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1685,6 +1744,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1711,6 +1771,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1737,6 +1798,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1763,6 +1825,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1789,6 +1852,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1820,6 +1884,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1846,6 +1911,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1872,6 +1938,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1898,6 +1965,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "
", "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. [0]
  2. [3]
", @@ -1924,6 +1992,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1950,6 +2019,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -1976,6 +2046,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -2002,6 +2073,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -2028,6 +2100,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -2054,6 +2127,7 @@ "glossary": "
(tag1, tag2, Test Dictionary 2)
", "glossary-brief": "
", "glossary-no-dictionary": "
(tag1, tag2)
", + "part-of-speech": "Unknown", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -2085,6 +2159,7 @@ "glossary": "
(popular, Test Dictionary 2) to read
", "glossary-brief": "
to read
", "glossary-no-dictionary": "
(popular) to read
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -2116,6 +2191,7 @@ "glossary": "
(popular, Test Dictionary 2) strong point
", "glossary-brief": "
strong point
", "glossary-no-dictionary": "
(popular) strong point
", + "part-of-speech": "Noun", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -2147,6 +2223,7 @@ "glossary": "
(popular, Test Dictionary 2) to read
", "glossary-brief": "
to read
", "glossary-no-dictionary": "
(popular) to read
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", @@ -2178,6 +2255,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition19
    • definition20
", "glossary-brief": "
    • definition13
    • definition14
    • definition17
    • definition18
    • definition15
    • definition16
    • definition19
    • definition20
", "glossary-no-dictionary": "
  1. (tag1, tag2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2) (ぶちこむ only)
    • definition19
    • definition20
", + "part-of-speech": "Godan verb", "pitch-accents": "
  1. (うちこむ only)
  2. (うちこむ only)
  3. (ぶちこむ only)
  4. (ぶちこむ only)
", "pitch-accent-graphs": "
  1. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  3. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  4. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
", "pitch-accent-positions": "
  1. (うちこむ only) [0]
  2. (うちこむ only) [3]
  3. (ぶちこむ only) [0]
  4. (ぶちこむ only) [3]
", @@ -2204,6 +2282,7 @@ "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition11
    • definition12
", "glossary-brief": "
    • definition5
    • definition6
    • definition9
    • definition10
    • definition7
    • definition8
    • definition11
    • definition12
", "glossary-no-dictionary": "
  1. (tag1, tag2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2) (ぶつ only)
    • definition11
    • definition12
", + "part-of-speech": "Godan verb", "pitch-accents": "No pitch accent data", "pitch-accent-graphs": "No pitch accent data", "pitch-accent-positions": "No pitch accent data", diff --git a/test/data/translator-test-results-note-data1.json b/test/data/translator-test-results-note-data1.json index dd2e0e02..f061ad94 100644 --- a/test/data/translator-test-results-note-data1.json +++ b/test/data/translator-test-results-note-data1.json @@ -388,7 +388,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -605,7 +606,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -831,7 +833,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -1056,7 +1061,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -1281,7 +1289,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -1506,7 +1517,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -1727,7 +1741,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -1944,7 +1959,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -2200,7 +2216,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -2511,7 +2530,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -2822,7 +2844,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -3133,7 +3158,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -3416,7 +3444,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -3643,7 +3674,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -3870,7 +3904,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -4097,7 +4134,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -4318,7 +4358,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -4535,7 +4576,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -4730,7 +4772,8 @@ "furigana": "がぞう" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -4934,7 +4977,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -5156,7 +5200,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -5382,7 +5427,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -5607,7 +5655,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -5837,7 +5888,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -6062,7 +6116,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -6322,7 +6379,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -6633,7 +6693,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -6916,7 +6979,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -7143,7 +7209,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -7403,7 +7472,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -7714,7 +7786,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -7997,7 +8072,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -8224,7 +8302,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -8423,7 +8504,8 @@ "furigana": "がぞう" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -8688,7 +8770,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "termTags": [ @@ -9028,7 +9113,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "termTags": [ @@ -9322,7 +9410,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "termTags": [ @@ -9568,7 +9659,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "termTags": [ @@ -9808,7 +9902,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "termTags": [ @@ -10021,7 +10116,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "termTags": [ @@ -10295,7 +10391,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] }, { "sourceTerm": "打ち込む", @@ -10399,7 +10498,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -10810,7 +10912,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] }, { "sourceTerm": "打つ", @@ -10884,7 +10989,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -11191,7 +11299,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "definitions": [ @@ -11379,7 +11488,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "definitions": [ @@ -11610,7 +11720,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -11925,7 +12038,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -12240,7 +12356,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -12555,7 +12674,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -12838,7 +12960,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -13065,7 +13190,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -13292,7 +13420,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -13519,7 +13650,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -13740,7 +13874,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -13957,7 +14092,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -14213,7 +14349,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -14524,7 +14663,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -14835,7 +14977,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -15146,7 +15291,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -15429,7 +15577,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -15656,7 +15807,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -15883,7 +16037,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -16110,7 +16267,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -16331,7 +16491,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -16548,7 +16709,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -16804,7 +16966,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -17115,7 +17280,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -17426,7 +17594,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -17737,7 +17908,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -18020,7 +18194,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -18247,7 +18424,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -18474,7 +18654,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -18701,7 +18884,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -18922,7 +19108,8 @@ "furigana": "だ" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -19139,7 +19326,8 @@ "furigana": "ダース" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [] } ], "glossary": [ @@ -19322,7 +19510,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -19442,7 +19633,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "n" + ] } ], "glossary": [ @@ -19564,7 +19758,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "glossary": [ @@ -19788,7 +19985,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] }, { "sourceTerm": "打ち込む", @@ -19892,7 +20092,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -20303,7 +20506,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] }, { "sourceTerm": "打つ", @@ -20377,7 +20583,10 @@ "furigana": "" } ], - "termFrequency": "normal" + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] } ], "definitions": [ diff --git a/test/data/translator-test-results.json b/test/data/translator-test-results.json index 51c4515f..1f583590 100644 --- a/test/data/translator-test-results.json +++ b/test/data/translator-test-results.json @@ -312,7 +312,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -442,7 +443,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -578,6 +580,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -708,6 +713,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -838,6 +846,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -968,6 +979,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -1098,7 +1112,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -1228,7 +1243,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -1364,6 +1380,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -1512,6 +1531,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -1656,6 +1678,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -1804,6 +1829,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -1954,6 +1982,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -2086,6 +2117,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -2218,6 +2252,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -2350,6 +2387,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -2480,7 +2520,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -2610,7 +2651,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -2746,7 +2788,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -2872,7 +2915,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -3008,7 +3052,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -3144,6 +3189,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -3274,6 +3322,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -3410,6 +3461,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -3540,6 +3594,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -3676,6 +3733,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -3820,6 +3880,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -3970,6 +4033,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -4102,6 +4168,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -4238,6 +4307,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -4386,6 +4458,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -4536,6 +4611,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -4668,6 +4746,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -4804,7 +4885,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -4900,7 +4982,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -4944,7 +5029,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -4988,7 +5076,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -5032,7 +5123,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -5078,7 +5172,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -5124,7 +5221,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -5170,7 +5270,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -5216,7 +5319,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "v5" + ] } ], "definitions": [ @@ -5260,7 +5366,8 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [] } ], "definitions": [ @@ -5304,7 +5411,8 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [] } ], "definitions": [ @@ -5416,6 +5524,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -5603,6 +5714,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -5792,6 +5906,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -5963,6 +6080,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -6132,7 +6252,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -6262,7 +6383,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -6420,6 +6542,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] }, { @@ -6474,6 +6599,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -6776,6 +6904,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] }, { @@ -6830,6 +6961,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -7095,7 +7229,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -7225,7 +7360,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -7365,6 +7501,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -7517,6 +7656,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -7665,6 +7807,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -7817,6 +7962,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -7967,6 +8115,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -8099,6 +8250,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -8231,6 +8385,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -8363,6 +8520,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -8493,7 +8653,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -8623,7 +8784,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -8759,6 +8921,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -8907,6 +9072,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -9051,6 +9219,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -9199,6 +9370,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -9349,6 +9523,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -9481,6 +9658,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -9613,6 +9793,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -9745,6 +9928,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -9875,7 +10061,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -10005,7 +10192,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -10141,6 +10329,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -10289,6 +10480,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -10433,6 +10627,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -10581,6 +10778,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -10731,6 +10931,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -10863,6 +11066,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -10995,6 +11201,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -11127,6 +11336,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -11257,7 +11469,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -11387,7 +11600,8 @@ ], "redundant": false } - ] + ], + "wordClasses": [] } ], "definitions": [ @@ -11499,6 +11713,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -11562,7 +11779,10 @@ "isPrimary": true } ], - "tags": [] + "tags": [], + "wordClasses": [ + "n" + ] } ], "definitions": [ @@ -11641,6 +11861,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -11766,6 +11989,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] }, { @@ -11820,6 +12046,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], @@ -12122,6 +12351,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] }, { @@ -12176,6 +12408,9 @@ ], "redundant": false } + ], + "wordClasses": [ + "v5" ] } ], diff --git a/test/test-anki-note-builder.js b/test/test-anki-note-builder.js index 73a967b1..aa2cf572 100644 --- a/test/test-anki-note-builder.js +++ b/test/test-anki-note-builder.js @@ -88,6 +88,7 @@ function getFieldMarkers(type) { 'glossary', 'glossary-brief', 'glossary-no-dictionary', + 'part-of-speech', 'pitch-accents', 'pitch-accent-graphs', 'pitch-accent-positions', diff --git a/test/test-options-util.js b/test/test-options-util.js index 16faf512..15f1481c 100644 --- a/test/test-options-util.js +++ b/test/test-options-util.js @@ -625,6 +625,7 @@ async function testFieldTemplatesUpdate(extDir) { const update4 = loadDataFile('data/templates/anki-field-templates-upgrade-v4.handlebars'); const update6 = loadDataFile('data/templates/anki-field-templates-upgrade-v6.handlebars'); const update8 = loadDataFile('data/templates/anki-field-templates-upgrade-v8.handlebars'); + const update10 = loadDataFile('data/templates/anki-field-templates-upgrade-v10.handlebars'); const data = [ // Standard format @@ -645,6 +646,7 @@ ${update2} ${update4} ${update6} ${update8} +${update10} {{~> (lookup . "marker") ~}}`.trimStart() }, // Non-standard marker format @@ -665,7 +667,8 @@ ${update8} ${update2} ${update4} ${update6} -${update8}`.trimStart() +${update8} +${update10}`.trimStart() }, // Empty test { @@ -677,6 +680,7 @@ ${update2} ${update4} ${update6} ${update8} +${update10} {{~> (lookup . "marker") ~}}`.trimStart() }, // Definition tags update @@ -750,6 +754,7 @@ ${update2} ${update4} ${update6} ${update8} +${update10} {{~> (lookup . "marker") ~}} `.trimStart() }, @@ -890,6 +895,7 @@ ${update8} {{/inline}} ${update8} +${update10} {{~> (lookup . "marker") ~}}`.trimStart() } ];