Improve dictionary sequence info (#1617)

* Ensure negative sequence is always -1

* Expose sequence on definition objects

* Update how sequence is exposed for definitions

* Update test data

* Update TS docs
This commit is contained in:
toasted-nutbread 2021-04-18 18:08:02 -04:00 committed by GitHub
parent 609d4fe334
commit f9774b4ce9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 132 additions and 22 deletions

View File

@ -296,6 +296,10 @@ namespace Translation {
* The name of the dictionary that the definition information originated from. * The name of the dictionary that the definition information originated from.
*/ */
dictionary: string; dictionary: string;
/**
* Database sequence number for the term. The value will be `-1` if there is no sequence.
*/
sequence: number;
/** /**
* Tags for the definition. * Tags for the definition.
*/ */

View File

@ -354,7 +354,7 @@ class AnkiNoteDataCreator {
const definitions = []; const definitions = [];
const definitionTags = []; const definitionTags = [];
for (const {tags, headwordIndices, entries, dictionary} of dictionaryEntry.definitions) { for (const {tags, headwordIndices, entries, dictionary, sequence} of dictionaryEntry.definitions) {
const definitionTags2 = []; const definitionTags2 = [];
for (const tag of tags) { for (const tag of tags) {
definitionTags.push(this._convertTag(tag)); definitionTags.push(this._convertTag(tag));
@ -362,7 +362,6 @@ class AnkiNoteDataCreator {
} }
if (!hasDefinitions) { continue; } if (!hasDefinitions) { continue; }
const only = merged ? DictionaryDataUtil.getDisambiguations(dictionaryEntry.headwords, headwordIndices, allTermsSet, allReadingsSet) : void 0; const only = merged ? DictionaryDataUtil.getDisambiguations(dictionaryEntry.headwords, headwordIndices, allTermsSet, allReadingsSet) : void 0;
const {sequence} = dictionaryEntry;
definitions.push({ definitions.push({
sequence, sequence,
dictionary, dictionary,

View File

@ -927,8 +927,8 @@ class Translator {
return {index, term, reading, sources, tags, wordClasses}; return {index, term, reading, sources, tags, wordClasses};
} }
_createTermDefinition(index, headwordIndices, dictionary, tags, entries) { _createTermDefinition(index, headwordIndices, dictionary, sequence, tags, entries) {
return {index, headwordIndices, dictionary, tags, entries}; return {index, headwordIndices, dictionary, sequence, tags, entries};
} }
_createTermPronunciation(index, headwordIndex, dictionary, dictionaryIndex, dictionaryPriority, pitches) { _createTermPronunciation(index, headwordIndex, dictionary, dictionaryIndex, dictionaryPriority, pitches) {
@ -960,12 +960,14 @@ class Translator {
} }
_createTermDictionaryEntryFromDatabaseEntry(databaseEntry, originalText, transformedText, deinflectedText, reasons, isPrimary, enabledDictionaryMap) { _createTermDictionaryEntryFromDatabaseEntry(databaseEntry, originalText, transformedText, deinflectedText, reasons, isPrimary, enabledDictionaryMap) {
const {term, reading: rawReading, definitionTags, termTags, definitions, score, dictionary, id, sequence, rules} = databaseEntry; const {term, reading: rawReading, definitionTags, termTags, definitions, score, dictionary, id, sequence: rawSequence, rules} = databaseEntry;
const reading = (rawReading.length > 0 ? rawReading : term); const reading = (rawReading.length > 0 ? rawReading : term);
const {index: dictionaryIndex, priority: dictionaryPriority} = this._getDictionaryOrder(dictionary, enabledDictionaryMap); const {index: dictionaryIndex, priority: dictionaryPriority} = this._getDictionaryOrder(dictionary, enabledDictionaryMap);
const sourceTermExactMatchCount = (isPrimary && deinflectedText === term ? 1 : 0); const sourceTermExactMatchCount = (isPrimary && deinflectedText === term ? 1 : 0);
const source = this._createSource(originalText, transformedText, deinflectedText, isPrimary); const source = this._createSource(originalText, transformedText, deinflectedText, isPrimary);
const maxTransformedTextLength = transformedText.length; const maxTransformedTextLength = transformedText.length;
const hasSequence = (rawSequence >= 0);
const sequence = hasSequence ? rawSequence : -1;
const headwordTagGroups = []; const headwordTagGroups = [];
const definitionTagGroups = []; const definitionTagGroups = [];
@ -976,7 +978,7 @@ class Translator {
id, id,
isPrimary, isPrimary,
sequence, sequence,
sequence >= 0 ? dictionary : null, hasSequence ? dictionary : null,
reasons, reasons,
score, score,
dictionaryIndex, dictionaryIndex,
@ -984,7 +986,7 @@ class Translator {
sourceTermExactMatchCount, sourceTermExactMatchCount,
maxTransformedTextLength, maxTransformedTextLength,
[this._createTermHeadword(0, term, reading, [source], headwordTagGroups, rules)], [this._createTermHeadword(0, term, reading, [source], headwordTagGroups, rules)],
[this._createTermDefinition(0, [0], dictionary, definitionTagGroups, definitions)] [this._createTermDefinition(0, [0], dictionary, sequence, definitionTagGroups, definitions)]
); );
} }
@ -1148,21 +1150,21 @@ class Translator {
} }
_addTermDefinitions(definitions, newDefinitions, headwordIndexMap) { _addTermDefinitions(definitions, newDefinitions, headwordIndexMap) {
for (const {headwordIndices, dictionary, tags, entries} of newDefinitions) { for (const {headwordIndices, dictionary, sequence, tags, entries} of newDefinitions) {
const headwordIndicesNew = []; const headwordIndicesNew = [];
for (const headwordIndex of headwordIndices) { for (const headwordIndex of headwordIndices) {
headwordIndicesNew.push(headwordIndexMap[headwordIndex]); headwordIndicesNew.push(headwordIndexMap[headwordIndex]);
} }
definitions.push(this._createTermDefinition(definitions.length, headwordIndicesNew, dictionary, tags, entries)); definitions.push(this._createTermDefinition(definitions.length, headwordIndicesNew, dictionary, sequence, tags, entries));
} }
} }
_addTermDefinitions2(definitions, definitionsMap, newDefinitions, headwordIndexMap) { _addTermDefinitions2(definitions, definitionsMap, newDefinitions, headwordIndexMap) {
for (const {headwordIndices, dictionary, tags, entries} of newDefinitions) { for (const {headwordIndices, dictionary, sequence, tags, entries} of newDefinitions) {
const key = this._createMapKey([dictionary, ...entries]); const key = this._createMapKey([dictionary, sequence, ...entries]);
let definition = definitionsMap.get(key); let definition = definitionsMap.get(key);
if (typeof definition === 'undefined') { if (typeof definition === 'undefined') {
definition = this._createTermDefinition(definitions.length, [], dictionary, [], [...entries]); definition = this._createTermDefinition(definitions.length, [], dictionary, sequence, [], [...entries]);
definitions.push(definition); definitions.push(definition);
definitionsMap.set(key, definition); definitionsMap.set(key, definition);
} }

View File

@ -8826,7 +8826,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1, "sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition13", "definition13",
@ -8854,7 +8854,7 @@
] ]
}, },
{ {
"sequence": -1, "sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition15", "definition15",
@ -9154,7 +9154,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1, "sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition17", "definition17",
@ -9182,7 +9182,7 @@
] ]
}, },
{ {
"sequence": -1, "sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition19", "definition19",
@ -9454,7 +9454,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1, "sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition5", "definition5",
@ -9482,7 +9482,7 @@
] ]
}, },
{ {
"sequence": -1, "sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition7", "definition7",
@ -9706,7 +9706,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1, "sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition9", "definition9",
@ -9734,7 +9734,7 @@
] ]
}, },
{ {
"sequence": -1, "sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition11", "definition11",
@ -9950,7 +9950,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1, "sequence": 1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition1", "definition1",
@ -10166,7 +10166,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1, "sequence": 2,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition3", "definition3",

View File

@ -324,6 +324,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -456,6 +457,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -596,6 +598,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -730,6 +733,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -864,6 +868,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -998,6 +1003,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -1130,6 +1136,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -1262,6 +1269,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -1402,6 +1410,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -1554,6 +1563,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -1702,6 +1712,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -1854,6 +1865,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2008,6 +2020,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2144,6 +2157,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2280,6 +2294,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2416,6 +2431,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2548,6 +2564,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2680,6 +2697,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2818,6 +2836,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 5,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -2946,6 +2965,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -3084,6 +3104,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -3224,6 +3245,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -3358,6 +3380,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -3498,6 +3521,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -3632,6 +3656,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -3772,6 +3797,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -3920,6 +3946,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -4074,6 +4101,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -4210,6 +4238,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -4350,6 +4379,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -4502,6 +4532,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -4656,6 +4687,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -4792,6 +4824,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -4930,6 +4963,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 5,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -5030,6 +5064,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition13", "definition13",
@ -5078,6 +5113,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition17", "definition17",
@ -5126,6 +5162,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition15", "definition15",
@ -5174,6 +5211,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition19", "definition19",
@ -5224,6 +5262,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition5", "definition5",
@ -5274,6 +5313,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition9", "definition9",
@ -5324,6 +5364,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition7", "definition7",
@ -5374,6 +5415,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition11", "definition11",
@ -5420,6 +5462,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition1", "definition1",
@ -5466,6 +5509,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [], "tags": [],
"entries": [ "entries": [
"definition3", "definition3",
@ -5582,6 +5626,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -5621,6 +5666,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -5773,6 +5819,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -5812,6 +5859,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -5966,6 +6014,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6005,6 +6054,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6141,6 +6191,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6180,6 +6231,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6312,6 +6364,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6444,6 +6497,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6663,6 +6717,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6702,6 +6757,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6741,6 +6797,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -6780,6 +6837,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7026,6 +7084,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7065,6 +7124,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7104,6 +7164,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7143,6 +7204,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7293,6 +7355,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7425,6 +7488,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7569,6 +7633,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7725,6 +7790,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -7877,6 +7943,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8033,6 +8100,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8187,6 +8255,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8323,6 +8392,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8459,6 +8529,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8595,6 +8666,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8727,6 +8799,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8859,6 +8932,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -8999,6 +9073,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -9151,6 +9226,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -9299,6 +9375,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -9451,6 +9528,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -9605,6 +9683,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -9741,6 +9820,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -9877,6 +9957,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -10013,6 +10094,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -10145,6 +10227,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -10277,6 +10360,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -10417,6 +10501,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -10569,6 +10654,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -10717,6 +10803,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -10869,6 +10956,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -11023,6 +11111,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -11159,6 +11248,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -11295,6 +11385,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -11431,6 +11522,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -11563,6 +11655,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 1,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -11695,6 +11788,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 2,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -11811,6 +11905,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 6,
"tags": [ "tags": [
{ {
"name": "popular", "name": "popular",
@ -11878,6 +11973,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 7,
"tags": [ "tags": [
{ {
"name": "popular", "name": "popular",
@ -11961,6 +12057,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 6,
"tags": [ "tags": [
{ {
"name": "popular", "name": "popular",
@ -12147,6 +12244,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -12186,6 +12284,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -12225,6 +12324,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -12264,6 +12364,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 4,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -12510,6 +12611,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -12549,6 +12651,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -12588,6 +12691,7 @@
0 0
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",
@ -12627,6 +12731,7 @@
1 1
], ],
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"sequence": 3,
"tags": [ "tags": [
{ {
"name": "tag1", "name": "tag1",