diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2024-02-25 11:20:44 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-25 16:20:44 +0000 |
commit | 2e9ea19207a7410f929bb908759d48cb2340f29c (patch) | |
tree | a6bde1297d693bb8d50e4c93a963aa3179e5a2ce /ext/js/language/text-scanner.js | |
parent | 73169f06dff767020718a5715eba97d3575ba7e1 (diff) |
"isJapanese" check move (#730)
* Move isStringPartiallyJapanese out of ClipboardMonitor
* Create isStringPartiallyJapanese function
* Add textMayBeTranslatable
* Rename API function
* Rename internal function
* Add helper
* Update translatable check
* Pass language to TextScanner
* Pass language explicitly
* Use textMayBeTranslatable
* No redundant translatable check
* Update eslint
* Remove double newline
* Collapse
* Rename
Diffstat (limited to 'ext/js/language/text-scanner.js')
-rw-r--r-- | ext/js/language/text-scanner.js | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/js/language/text-scanner.js b/ext/js/language/text-scanner.js index 64333093..ad5ba12b 100644 --- a/ext/js/language/text-scanner.js +++ b/ext/js/language/text-scanner.js @@ -70,6 +70,8 @@ export class TextScanner extends EventDispatcher { this._includeSelector = null; /** @type {?string} */ this._excludeSelector = null; + /** @type {?string} */ + this._language = null; /** @type {?import('text-scanner').InputInfo} */ this._inputInfoCurrent = null; @@ -188,6 +190,10 @@ export class TextScanner extends EventDispatcher { this._excludeSelector = value; } + /** @type {?string} */ + get language() { return this._language; } + set language(value) { this._language = value; } + /** */ prepare() { this._isPrepared = true; @@ -449,7 +455,7 @@ export class TextScanner extends EventDispatcher { const result = await this._findDictionaryEntries(textSource, searchTerms, searchKanji, optionsContext); if (result !== null) { ({dictionaryEntries, sentence, type} = result); - } else if (textSource !== null && textSource instanceof TextSourceElement && await this._hasJapanese(textSource.fullContent)) { + } else if (textSource !== null && textSource instanceof TextSourceElement && await this._isTextLookupWorthy(textSource.fullContent)) { dictionaryEntries = []; sentence = {text: '', offset: 0}; } @@ -1549,9 +1555,9 @@ export class TextScanner extends EventDispatcher { * @param {string} text * @returns {Promise<boolean>} */ - async _hasJapanese(text) { + async _isTextLookupWorthy(text) { try { - return await this._api.textHasJapaneseCharacters(text); + return this._language !== null && await this._api.isTextLookupWorthy(text, this._language); } catch (e) { return false; } |