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