diff options
author | marv <rotrobmin@gmail.com> | 2023-12-18 01:57:14 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-18 09:57:14 +0000 |
commit | fef568b89db1517481f76b0acfcd6796da693d20 (patch) | |
tree | c6ba042ec7f9b6c8dd39c0fbe1328d8e0bfcc7eb | |
parent | d594d49ea81e1b546b6e39b7f85f098d9dc6fc48 (diff) |
Fix Non JP Scanning Option for Kanji Dictionaries (#372)
* Fix non JP scanning option for kanji dictionaries
* Fix trailing comma
* Add removeNonJapaneseCharacters to test inputs
-rw-r--r-- | ext/js/background/backend.js | 5 | ||||
-rw-r--r-- | ext/js/language/translator.js | 3 | ||||
-rw-r--r-- | test/data/translator-test-inputs.json | 3 | ||||
-rw-r--r-- | types/ext/translation.d.ts | 4 |
4 files changed, 13 insertions, 2 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 749c81a6..20c7a189 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -2635,7 +2635,10 @@ export class Backend { */ _getTranslatorFindKanjiOptions(options) { const enabledDictionaryMap = this._getTranslatorEnabledDictionaryMap(options); - return {enabledDictionaryMap}; + return { + enabledDictionaryMap, + removeNonJapaneseCharacters: !options.scanning.alphanumeric + }; } /** diff --git a/ext/js/language/translator.js b/ext/js/language/translator.js index aa1b71dd..e33ea4d4 100644 --- a/ext/js/language/translator.js +++ b/ext/js/language/translator.js @@ -125,6 +125,9 @@ export class Translator { * @returns {Promise<import('dictionary').KanjiDictionaryEntry[]>} An array of definitions. See the _createKanjiDefinition() function for structure details. */ async findKanji(text, options) { + if (options.removeNonJapaneseCharacters) { + text = this._getJapaneseOnlyText(text); + } const {enabledDictionaryMap} = options; const kanjiUnique = new Set(); for (const c of text) { diff --git a/test/data/translator-test-inputs.json b/test/data/translator-test-inputs.json index f6b5ea67..cf4b8f6a 100644 --- a/test/data/translator-test-inputs.json +++ b/test/data/translator-test-inputs.json @@ -9,7 +9,8 @@ "priority": 0 } ] - ] + ], + "removeNonJapaneseCharacters": false }, "default": { "matchType": "exact", diff --git a/types/ext/translation.d.ts b/types/ext/translation.d.ts index 3c41c9f3..3adfc673 100644 --- a/types/ext/translation.d.ts +++ b/types/ext/translation.d.ts @@ -29,6 +29,10 @@ export type FindKanjiOptions = { * The key is the dictionary name. */ enabledDictionaryMap: Map<string, FindKanjiDictionary>; + /** + * Whether or not non-Japanese characters should be searched. + */ + removeNonJapaneseCharacters: boolean; }; /** |