diff options
| author | StefanVukovic99 <stefanvukovic44@gmail.com> | 2024-02-17 02:45:24 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-17 01:45:24 +0000 | 
| commit | 4aaa9f15d97668203741c1731f15e710ae8b8294 (patch) | |
| tree | d1885f7fbd7d1510a71176597169d6847ae26572 /ext/js/background | |
| parent | 4e77741d22778bd09b772fc53f1cbd64107e3d24 (diff) | |
add language select, abstract text transformations (#584)
* Copy functions from JapaneseUtil
* Remove JapaneseUtil
* Update usages of JapaneseUtil functions
* part1
* frotend done?
* fix tests
* offscreen and type complications
* add tests
* start fixing tests
* keep fixing tests
* fix tests
* Copy functions from JapaneseUtil
* Remove JapaneseUtil
* Update usages of JapaneseUtil functions
* delete pt
* renames
* add tests
* kebab-case filenames
* lint
* minor fixes
* merge
* fixes
* fix part of comments
* fix more comments
* delete unused types
* comment
* comment
* do backend
* other files
* move fetch utils to own file
* remove extra line
* add extra line
* remove unnecessary export
* simplify folder structure
* remove redundant async
* fix param type in api
* fix language index
* undo changes to cssStyleApplier
* undo changes to utilities.js
* undo changes to utilities.js
* simplify language util
* lint
* undo phantom changes to anki integration
* require textTransformations options
* explicit locale in localeCompare
* punctuate notes
* prefer early exit
* rename LanguageOptionsObjectMap
* rename to textPreprocessor
* tuple with names instead of boolean array
* safe data setting
* optional chaining
* simplify LanguageOptions
* encapsulate languages
* delete language util
* nullable language in text preprocessors controller
* rename transform to process
* remove settings
* make translation advanced again
* remove unused getTextTransformations api call
* comments
* change language types
* RIP flags
* comments
* fix tests
* lint
* Text preprocessor type changes (#10)
* Add types
* Update types
* Simplify type check
* Refactor typing and structuring of language definitions
* lint
* update translator benchmark
* undo markdown changes
* undo markdown changes
* undo markdown changes
* more merge
* simplify language controller
---------
Co-authored-by: toasted-nutbread <toasted-nutbread@users.noreply.github.com>
Co-authored-by: Darius Jahandarie <djahandarie@gmail.com>
Diffstat (limited to 'ext/js/background')
| -rw-r--r-- | ext/js/background/backend.js | 26 | 
1 files changed, 11 insertions, 15 deletions
| diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index e246f0bb..31191612 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -34,6 +34,7 @@ import {DictionaryDatabase} from '../dictionary/dictionary-database.js';  import {Environment} from '../extension/environment.js';  import {ObjectPropertyAccessor} from '../general/object-property-accessor.js';  import {distributeFuriganaInflected, isCodePointJapanese, isStringPartiallyJapanese, convertKatakanaToHiragana as jpConvertKatakanaToHiragana} from '../language/ja/japanese.js'; +import {getLanguageSummaries} from '../language/languages.js';  import {Translator} from '../language/translator.js';  import {AudioDownloader} from '../media/audio-downloader.js';  import {getFileExtensionFromAudioMediaType, getFileExtensionFromImageMediaType} from '../media/media-util.js'; @@ -183,7 +184,8 @@ export class Backend {              ['textHasJapaneseCharacters',    this._onApiTextHasJapaneseCharacters.bind(this)],              ['getTermFrequencies',           this._onApiGetTermFrequencies.bind(this)],              ['findAnkiNotes',                this._onApiFindAnkiNotes.bind(this)], -            ['openCrossFramePort',           this._onApiOpenCrossFramePort.bind(this)] +            ['openCrossFramePort',           this._onApiOpenCrossFramePort.bind(this)], +            ['getLanguageSummaries',         this._onApiGetLanguageSummaries.bind(this)]          ]);          /* eslint-enable @stylistic/no-multi-spaces */ @@ -906,6 +908,11 @@ export class Backend {          return {targetTabId, targetFrameId};      } +    /** @type {import('api').ApiHandler<'getLanguageSummaries'>} */ +    _onApiGetLanguageSummaries() { +        return getLanguageSummaries(); +    } +      // Command handlers      /** @@ -2361,15 +2368,9 @@ export class Backend {          if (typeof deinflect !== 'boolean') { deinflect = true; }          const enabledDictionaryMap = this._getTranslatorEnabledDictionaryMap(options);          const { -            general: {mainDictionary, sortFrequencyDictionary, sortFrequencyDictionaryOrder}, +            general: {mainDictionary, sortFrequencyDictionary, sortFrequencyDictionaryOrder, language},              scanning: {alphanumeric},              translation: { -                convertHalfWidthCharacters, -                convertNumericCharacters, -                convertAlphabeticCharacters, -                convertHiraganaToKatakana, -                convertKatakanaToHiragana, -                collapseEmphaticSequences,                  textReplacements: textReplacementsOptions,                  searchResolution              } @@ -2394,16 +2395,11 @@ export class Backend {              sortFrequencyDictionary,              sortFrequencyDictionaryOrder,              removeNonJapaneseCharacters: !alphanumeric, -            convertHalfWidthCharacters, -            convertNumericCharacters, -            convertAlphabeticCharacters, -            convertHiraganaToKatakana, -            convertKatakanaToHiragana, -            collapseEmphaticSequences,              searchResolution,              textReplacements,              enabledDictionaryMap, -            excludeDictionaryDefinitions +            excludeDictionaryDefinitions, +            language          };      } |