summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2021-01-03 12:12:55 -0500
committerGitHub <noreply@github.com>2021-01-03 12:12:55 -0500
commit8e304b83c685dde17a00d402877a21303b7c11f2 (patch)
tree0b2123575502c3e3cb5127582b03e9c196c9891d /test
parenteda8534e195d653ee0dea36f70caed0d8d49acf1 (diff)
Translator regex replacements (#1199)
* Add support for regex replacements during the translation process * Allow assignment of textReplacements * Rename * Set up test data * Write expected data * Set up options * Prevent infinite loop if regex matches empty string * Implement setting controller * Add support for testing pattern replacements
Diffstat (limited to 'test')
-rw-r--r--test/data/test-translator-data.json3845
-rw-r--r--test/test-options-util.js8
-rw-r--r--test/test-translator.js10
3 files changed, 3861 insertions, 2 deletions
diff --git a/test/data/test-translator-data.json b/test/data/test-translator-data.json
index cdc56455..2a568141 100644
--- a/test/data/test-translator-data.json
+++ b/test/data/test-translator-data.json
@@ -20,6 +20,9 @@
"convertHiraganaToKatakana": false,
"convertKatakanaToHiragana": false,
"collapseEmphaticSequences": false,
+ "textReplacements": [
+ null
+ ],
"enabledDictionaryMap": [
[
"${title}",
@@ -16874,6 +16877,3848 @@
}
]
}
+ },
+ {
+ "comment": "Ignore text inside parentheses",
+ "func": "findTerms",
+ "mode": "split",
+ "text": "打(う)ち込(こ)む",
+ "options": [
+ "default",
+ {
+ "alphanumeric": true,
+ "textReplacements": [
+ null,
+ [
+ {
+ "pattern": "\\(([^)]*)(?:\\)|$)",
+ "flags": "g",
+ "replacement": ""
+ }
+ ]
+ ]
+ }
+ ],
+ "expected": {
+ "length": 10,
+ "definitions": [
+ {
+ "type": "term",
+ "id": 7,
+ "source": "打ち込む",
+ "rawSource": "打(う)ち込(こ)む",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 10,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition13",
+ "definition14"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 9,
+ "source": "打ち込む",
+ "rawSource": "打(う)ち込(こ)む",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 10,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition17",
+ "definition18"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 8,
+ "source": "打ち込む",
+ "rawSource": "打(う)ち込(こ)む",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 1,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag6",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag7",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition15",
+ "definition16"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag6",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag7",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 10,
+ "source": "打ち込む",
+ "rawSource": "打(う)ち込(こ)む",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 1,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition19",
+ "definition20"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 3,
+ "source": "打ち",
+ "rawSource": "打(う)ち",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 10,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "うつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "うつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition5",
+ "definition6"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 5,
+ "source": "打ち",
+ "rawSource": "打(う)ち",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 10,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition9",
+ "definition10"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 4,
+ "source": "打ち",
+ "rawSource": "打(う)ち",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 1,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "うつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "うつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition7",
+ "definition8"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 6,
+ "source": "打ち",
+ "rawSource": "打(う)ち",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 1,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition11",
+ "definition12"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 1,
+ "source": "打",
+ "rawSource": "打",
+ "sourceTerm": "打",
+ "reasons": [],
+ "score": 1,
+ "sequence": 1,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打",
+ "reading": "だ",
+ "expressions": [
+ {
+ "sourceTerm": "打",
+ "expression": "打",
+ "reading": "だ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "だ"
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": true,
+ "frequency": 4
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "だ"
+ }
+ ],
+ "glossary": [
+ "definition1",
+ "definition2"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": true,
+ "frequency": 4
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 2,
+ "source": "打",
+ "rawSource": "打",
+ "sourceTerm": "打",
+ "reasons": [],
+ "score": 1,
+ "sequence": 2,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打",
+ "reading": "ダース",
+ "expressions": [
+ {
+ "sourceTerm": "打",
+ "expression": "打",
+ "reading": "ダース",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ダース"
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": true,
+ "frequency": 5
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ダース"
+ }
+ ],
+ "glossary": [
+ "definition3",
+ "definition4"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": true,
+ "frequency": 5
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ }
+ ]
+ }
+ },
+ {
+ "comment": "Remove parentheses around text",
+ "func": "findTerms",
+ "mode": "split",
+ "text": "(打)(ち)(込)(む)",
+ "options": [
+ "default",
+ {
+ "alphanumeric": true,
+ "textReplacements": [
+ null,
+ [
+ {
+ "pattern": "\\(([^)]*)(?:\\)|$)",
+ "flags": "g",
+ "replacement": "$1"
+ }
+ ]
+ ]
+ }
+ ],
+ "expected": {
+ "length": 12,
+ "definitions": [
+ {
+ "type": "term",
+ "id": 7,
+ "source": "打ち込む",
+ "rawSource": "(打)(ち)(込)(む)",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 10,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition13",
+ "definition14"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 9,
+ "source": "打ち込む",
+ "rawSource": "(打)(ち)(込)(む)",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 10,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition17",
+ "definition18"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 8,
+ "source": "打ち込む",
+ "rawSource": "(打)(ち)(込)(む)",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 1,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag6",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag7",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition15",
+ "definition16"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag6",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag7",
+ "category": "default",
+ "notes": "",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "hasReading": true,
+ "frequency": 8
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "うちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 10,
+ "source": "打ち込む",
+ "rawSource": "(打)(ち)(込)(む)",
+ "sourceTerm": "打ち込む",
+ "reasons": [],
+ "score": 1,
+ "sequence": 4,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "expressions": [
+ {
+ "sourceTerm": "打ち込む",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "ち",
+ "furigana": ""
+ },
+ {
+ "text": "込",
+ "furigana": "こ"
+ },
+ {
+ "text": "む",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition19",
+ "definition20"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": false,
+ "frequency": 3
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "hasReading": true,
+ "frequency": 9
+ }
+ ],
+ "pitches": [
+ {
+ "expression": "打ち込む",
+ "reading": "ぶちこむ",
+ "dictionary": "Test Dictionary 2",
+ "pitches": [
+ {
+ "position": 0,
+ "tags": []
+ },
+ {
+ "position": 3,
+ "tags": []
+ }
+ ]
+ }
+ ],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 3,
+ "source": "打ち",
+ "rawSource": "(打)(ち)(込)",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 10,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "うつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "うつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition5",
+ "definition6"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 5,
+ "source": "打ち",
+ "rawSource": "(打)(ち)(込)",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 10,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition9",
+ "definition10"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 4,
+ "source": "打ち",
+ "rawSource": "(打)(ち)(込)",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 1,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "うつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "うつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "う"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition7",
+ "definition8"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "うつ",
+ "hasReading": true,
+ "frequency": 6
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 6,
+ "source": "打ち",
+ "rawSource": "(打)(ち)(込)",
+ "sourceTerm": "打つ",
+ "reasons": [
+ "masu stem"
+ ],
+ "score": 1,
+ "sequence": 3,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "expressions": [
+ {
+ "sourceTerm": "打つ",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ぶ"
+ },
+ {
+ "text": "つ",
+ "furigana": ""
+ }
+ ],
+ "glossary": [
+ "definition11",
+ "definition12"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": false,
+ "frequency": 2
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打つ",
+ "reading": "ぶつ",
+ "hasReading": true,
+ "frequency": 7
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 1,
+ "source": "打",
+ "rawSource": "(打)(ち)",
+ "sourceTerm": "打",
+ "reasons": [],
+ "score": 1,
+ "sequence": 1,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打",
+ "reading": "だ",
+ "expressions": [
+ {
+ "sourceTerm": "打",
+ "expression": "打",
+ "reading": "だ",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "だ"
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": true,
+ "frequency": 4
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "だ"
+ }
+ ],
+ "glossary": [
+ "definition1",
+ "definition2"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "だ",
+ "hasReading": true,
+ "frequency": 4
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ },
+ {
+ "type": "term",
+ "id": 2,
+ "source": "打",
+ "rawSource": "(打)(ち)",
+ "sourceTerm": "打",
+ "reasons": [],
+ "score": 1,
+ "sequence": 2,
+ "dictionary": "Test Dictionary 2",
+ "dictionaryPriority": 0,
+ "dictionaryNames": [
+ "Test Dictionary 2"
+ ],
+ "expression": "打",
+ "reading": "ダース",
+ "expressions": [
+ {
+ "sourceTerm": "打",
+ "expression": "打",
+ "reading": "ダース",
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ダース"
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termFrequency": "normal",
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": true,
+ "frequency": 5
+ }
+ ],
+ "pitches": []
+ }
+ ],
+ "furiganaSegments": [
+ {
+ "text": "打",
+ "furigana": "ダース"
+ }
+ ],
+ "glossary": [
+ "definition3",
+ "definition4"
+ ],
+ "definitionTags": [
+ {
+ "name": "tag1",
+ "category": "category1",
+ "notes": "tag1 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag2",
+ "category": "category2",
+ "notes": "tag2 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "Test Dictionary 2",
+ "category": "dictionary",
+ "notes": "",
+ "order": 100,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "termTags": [
+ {
+ "name": "tag3",
+ "category": "category3",
+ "notes": "tag3 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag4",
+ "category": "category4",
+ "notes": "tag4 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ },
+ {
+ "name": "tag5",
+ "category": "category5",
+ "notes": "tag5 notes",
+ "order": 0,
+ "score": 0,
+ "dictionary": "Test Dictionary 2",
+ "redundant": false
+ }
+ ],
+ "frequencies": [
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": false,
+ "frequency": 1
+ },
+ {
+ "dictionary": "Test Dictionary 2",
+ "expression": "打",
+ "reading": "ダース",
+ "hasReading": true,
+ "frequency": 5
+ }
+ ],
+ "pitches": [],
+ "sourceTermExactMatchCount": 1
+ }
+ ]
+ }
}
]
} \ No newline at end of file
diff --git a/test/test-options-util.js b/test/test-options-util.js
index c78540cb..ca5f5065 100644
--- a/test/test-options-util.js
+++ b/test/test-options-util.js
@@ -394,7 +394,11 @@ function createProfileOptionsUpdatedTestData1() {
convertAlphabeticCharacters: 'false',
convertHiraganaToKatakana: 'false',
convertKatakanaToHiragana: 'variant',
- collapseEmphaticSequences: 'false'
+ collapseEmphaticSequences: 'false',
+ textReplacements: {
+ searchOriginal: true,
+ groups: []
+ }
},
dictionaries: {},
parsing: {
@@ -502,7 +506,7 @@ function createOptionsUpdatedTestData1() {
}
],
profileCurrent: 0,
- version: 7,
+ version: 8,
global: {
database: {
prefixWildcardsSupported: false
diff --git a/test/test-translator.js b/test/test-translator.js
index 892448a5..cee7fe16 100644
--- a/test/test-translator.js
+++ b/test/test-translator.js
@@ -107,6 +107,16 @@ function buildOptions(optionsPresets, optionsArray, dictionaryTitle) {
}
}
+ // Construct regex
+ if (Array.isArray(options.textReplacements)) {
+ options.textReplacements = options.textReplacements.map((value) => {
+ if (Array.isArray(value)) {
+ value = value.map(({pattern, flags, replacement}) => ({pattern: new RegExp(pattern, flags), replacement}));
+ }
+ return value;
+ });
+ }
+
// Update structure
const placeholder = '${title}';
if (options.mainDictionary === placeholder) {