Index: gc_core/js/ibdawg.js ================================================================== --- gc_core/js/ibdawg.js +++ gc_core/js/ibdawg.js @@ -1,11 +1,11 @@ //// IBDAWG "use strict"; -if (typeof(exports) !== 'undefined') { +if (typeof(require) !== 'undefined') { var str_transform = require("resource://grammalecte/str_transform.js"); var helpers = require("resource://grammalecte/helpers.js"); } @@ -18,14 +18,13 @@ class IBDAWG { // INDEXABLE BINARY DIRECT ACYCLIC WORD GRAPH constructor (sDicName) { try { - const dict = JSON.parse(helpers.loadFile("resource://grammalecte/_dictionaries/"+sDicName)); + let sURL = (typeof(browser) !== 'undefined') ? browser.extension.getURL("grammalecte/_dictionaries/"+sDicName) : "resource://grammalecte/_dictionaries/"+sDicName; + const dict = JSON.parse(helpers.loadFile(sURL)); Object.assign(this, dict); - //const dict = require("resource://grammalecte/"+sLang+"/dictionary.js"); - //Object.assign(this, dict.dictionary); } catch (e) { throw Error("# Error. File not found or not loadable.\n" + e.message + "\n"); } /* Index: gc_core/js/lang_core/gc_engine.js ================================================================== --- gc_core/js/lang_core/gc_engine.js +++ gc_core/js/lang_core/gc_engine.js @@ -3,12 +3,12 @@ ${string} ${regex} ${map} -if (typeof(exports) !== 'undefined') { - var ibdawg = require("resource://grammalecte/ibdawg.js"); +if (typeof(require) !== 'undefined') { + var IBDAWG = require("resource://grammalecte/ibdawg.js").IBDAWG; var helpers = require("resource://grammalecte/helpers.js"); var gc_options = require("resource://grammalecte/${lang}/gc_options.js"); var gc_rules = require("resource://grammalecte/${lang}/gc_rules.js"); var cregex = require("resource://grammalecte/${lang}/cregex.js"); var text = require("resource://grammalecte/text.js"); @@ -310,11 +310,11 @@ //// Initialization load: function (sContext="JavaScript") { try { - _oDict = new ibdawg.IBDAWG("${dic_name}.json"); + _oDict = new IBDAWG("${dic_name}.json"); _sAppContext = sContext; _dOptions = gc_options.getOptions(sContext).gl_shallowCopy(); // duplication necessary, to be able to reset to default } catch (e) { helpers.logerror(e); Index: gc_core/js/str_transform.js ================================================================== --- gc_core/js/str_transform.js +++ gc_core/js/str_transform.js @@ -1,10 +1,10 @@ //// STRING TRANSFORMATION // Note: 48 is the ASCII code for "0" -const str_transform = { +var str_transform = { getStemFromSuffixCode: function (sFlex, sSfxCode) { // Suffix only if (sSfxCode == "0") { return sFlex; } Index: gc_lang/fr/webext/gce_worker.js ================================================================== --- gc_lang/fr/webext/gce_worker.js +++ gc_lang/fr/webext/gce_worker.js @@ -28,13 +28,16 @@ helpers.echo(mfsp.getMasForm("emmerdeuse", true)); helpers.echo(mfsp.getMasForm("pointilleuse", false)); helpers.echo(phonet.getSimil("est")); +let oDict = new IBDAWG("French.json"); +helpers.echo(oDict.getMorph("merde")); + + let oTokenizer = null; -let oDict = null; let oLxg = null; function loadGrammarChecker (sGCOptions="", sContext="JavaScript") { if (gce === null) { try { Index: gc_lang/fr/webext/manifest.json ================================================================== --- gc_lang/fr/webext/manifest.json +++ gc_lang/fr/webext/manifest.json @@ -30,10 +30,12 @@ "browser_style": false }, "background": { "scripts": [ "grammalecte/helpers.js", + "grammalecte/str_transform.js", + "grammalecte/ibdawg.js", "grammalecte/text.js", "grammalecte/tokenizer.js", "grammalecte/fr/conj.js", "grammalecte/fr/mfsp.js", "grammalecte/fr/phonet.js",