Rene Koller
Rene Koller

Reputation: 415

Problems loading i18next.js with require.js

I'm pretty new to require.js and having problems loading i18next.js.

main.js

require(["lib/jquery", "lib/i18next", "config.i18next", "constants"],    
  function(util) {
     console.log("loaded javascript files");
});

and config.i18next.js

var option = {resGetPath: '../translations/__lng__.json' };
i18n.init(option, function(t) { 
    console.log("Language initialization successfull");
});

I always get the error

Uncaught ReferenceError: i18n is not defined            config.i18next.js:2

I know who to use i18next, and everything works fine when loading the javascript files traditionally.


EDIT:

Meanwhile I got it working with shim like this:

requirejs.config({
    shim: {
        'lib/i18next' : ['lib/jquery'],
    }
});

require(["lib/i18next"], function(i18n) {
    var options = {
        resGetPath: 'translations/__lng__.json',
        preload: ['de', 'en'] 
    };
    i18n.init(options, function(t) { 
    });
});

and I can translate in other files with $.t("key"); , but when now I can't change the language programatically with i18n.setLng() because the variable can't be found ReferenceError: Can't find variable: i18n.

Upvotes: 2

Views: 4611

Answers (1)

jamuhl
jamuhl

Reputation: 4498

--- i18next comes now with amd build ---

this should solve all issues using i18next with amd. you can grab it at http://i18next.com

Upvotes: 5

Related Questions