diff options
author | StefanVukovic99 <stefanvukovic44@gmail.com> | 2024-02-27 13:16:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-27 12:16:21 +0000 |
commit | 0792954e345925b3e3b2ebb733367e138375978e (patch) | |
tree | a9f169cf7dc2de396d6e46c9d8c418f9870d9301 /ext/js/background | |
parent | c4fea2251606fb0b3d0d761a544dac578f3d9048 (diff) |
make deinflections language-specific (#720)
* abstract deinflections
* undo redundant changes
* remove cast
* MultiLanguageTransformer
* comments
* comments
Diffstat (limited to 'ext/js/background')
-rw-r--r-- | ext/js/background/backend.js | 13 | ||||
-rw-r--r-- | ext/js/background/offscreen-proxy.js | 6 | ||||
-rw-r--r-- | ext/js/background/offscreen.js | 4 |
3 files changed, 15 insertions, 8 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 6340d021..dbcbdd62 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -274,9 +274,16 @@ export class Backend { log.error(e); } - /** @type {import('language-transformer').LanguageTransformDescriptor} */ - const descriptor = await fetchJson('/data/language/japanese-transforms.json'); - void this._translator.prepare(descriptor); + /** @type {import('language-transformer').LanguageTransformDescriptor[]} */ + const descriptors = []; + const languageSummaries = getLanguageSummaries(); + for (const {languageTransformsFile} of languageSummaries) { + if (!languageTransformsFile) { continue; } + /** @type {import('language-transformer').LanguageTransformDescriptor} */ + const descriptor = await fetchJson(languageTransformsFile); + descriptors.push(descriptor); + } + void this._translator.prepare(descriptors); await this._optionsUtil.prepare(); this._defaultAnkiFieldTemplates = (await fetchText('/data/templates/default-anki-field-templates.handlebars')).trim(); diff --git a/ext/js/background/offscreen-proxy.js b/ext/js/background/offscreen-proxy.js index c888fe29..102a9eed 100644 --- a/ext/js/background/offscreen-proxy.js +++ b/ext/js/background/offscreen-proxy.js @@ -184,10 +184,10 @@ export class TranslatorProxy { } /** - * @param {import('language-transformer').LanguageTransformDescriptor} descriptor + * @param {import('language-transformer').LanguageTransformDescriptor[]} descriptors */ - async prepare(descriptor) { - await this._offscreen.sendMessagePromise({action: 'translatorPrepareOffscreen', params: {descriptor}}); + async prepare(descriptors) { + await this._offscreen.sendMessagePromise({action: 'translatorPrepareOffscreen', params: {descriptors}}); } /** diff --git a/ext/js/background/offscreen.js b/ext/js/background/offscreen.js index 3b8b6a3e..e38d4ba3 100644 --- a/ext/js/background/offscreen.js +++ b/ext/js/background/offscreen.js @@ -111,8 +111,8 @@ export class Offscreen { } /** @type {import('offscreen').ApiHandler<'translatorPrepareOffscreen'>} */ - _prepareTranslatorHandler({descriptor}) { - this._translator.prepare(descriptor); + _prepareTranslatorHandler({descriptors}) { + this._translator.prepare(descriptors); } /** @type {import('offscreen').ApiHandler<'findKanjiOffscreen'>} */ |