diff options
-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; }; /** |